Fraxinus  2023.01.05-dev+develop.0da12
An IGT application
cxVideoSourceGraphics.h
Go to the documentation of this file.
1 /*=========================================================================
2 This file is part of CustusX, an Image Guided Therapy Application.
3 
4 Copyright (c) SINTEF Department of Medical Technology.
5 All rights reserved.
6 
7 CustusX is released under a BSD 3-Clause license.
8 
9 See Lisence.txt (https://github.com/SINTEFMedtek/CustusX/blob/master/License.txt) for details.
10 =========================================================================*/
11 
12 
13 #ifndef CXVIDEOSOURCEGRAPHICS_H_
14 #define CXVIDEOSOURCEGRAPHICS_H_
15 
16 #include "cxResourceVisualizationExport.h"
17 
18 #include "cxForwardDeclarations.h"
19 #include "cxProbeSector.h"
20 
21 namespace cx
22 {
23 typedef boost::shared_ptr<class VideoGraphics> VideoGraphicsPtr;
24 typedef boost::shared_ptr<class VideoSourceGraphics> VideoSourceGraphicsPtr;
25 typedef boost::shared_ptr<class SpaceProvider> SpaceProviderPtr;
26 
37 class cxResourceVisualization_EXPORT VideoSourceGraphics : public QObject
38 {
39  Q_OBJECT
40 public:
41  explicit VideoSourceGraphics(SpaceProviderPtr spaceProvider, bool useMaskFilter=false);
42  virtual ~VideoSourceGraphics();
43 
44  void setRealtimeStream(VideoSourcePtr data);
45  void setTool(ToolPtr tool);
46  ToolPtr getTool();
47  ProbeSector getProbeDefinition();
48  void setClipToSector(bool on);
49  void setShowInToolSpace(bool on);
50  vtkActorPtr getActor();
51 
52 signals:
53  void newData();
54 
55 private slots:
56  void newDataSlot();
57  void receiveTransforms(Transform3D matrix, double timestamp);
58  void probeSectorChanged();
59 
60 private:
61  bool mClipToSector;
62  VideoGraphicsPtr mPipeline;
63  bool mShowInToolSpace;
64  ToolPtr mTool;
65  ProbeSector mProbeDefinition;
66  VideoSourcePtr mData;
67  SpaceProviderPtr mSpaceProvider;
68 };
69 
70 } // namespace cx
71 
72 #endif // CXVIDEOSOURCEGRAPHICS_H_
boost::shared_ptr< class SpaceProvider > SpaceProviderPtr
vtkSmartPointer< class vtkActor > vtkActorPtr
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
boost::shared_ptr< VideoGraphics > VideoGraphicsPtr
Helper class for displaying a VideoSource.
boost::shared_ptr< class VideoSource > VideoSourcePtr
boost::shared_ptr< class VideoSourceGraphics > VideoSourceGraphicsPtr
Utility functions for drawing an US Probe sector.
Definition: cxProbeSector.h:38
Namespace for all CustusX production code.
boost::shared_ptr< class Tool > ToolPtr