NorMIT-nav  22.09
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_
cx::VideoSourceGraphics
Helper class for displaying a VideoSource.
Definition: cxVideoSourceGraphics.h:37
cx
Namespace for all CustusX production code.
Definition: cx_dev_group_definitions.h:13
cxForwardDeclarations.h
cx::VideoSourcePtr
boost::shared_ptr< class VideoSource > VideoSourcePtr
Definition: cxForwardDeclarations.h:109
cx::VideoSourceGraphicsPtr
boost::shared_ptr< class VideoSourceGraphics > VideoSourceGraphicsPtr
Definition: cxVideoGraphics.h:28
cx::Transform3D
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
Definition: cxLandmarkPatientRegistrationWidget.h:33
cx::VideoGraphicsPtr
boost::shared_ptr< VideoGraphics > VideoGraphicsPtr
Definition: cxVideoGraphics.h:105
vtkActorPtr
vtkSmartPointer< class vtkActor > vtkActorPtr
Definition: vtkForwardDeclarations.h:31
cx::ProbeSector
Utility functions for drawing an US Probe sector.
Definition: cxProbeSector.h:38
cx::ToolPtr
boost::shared_ptr< class Tool > ToolPtr
Definition: cxVideoConnectionWidget.h:43
cxProbeSector.h
cx::SpaceProviderPtr
boost::shared_ptr< class SpaceProvider > SpaceProviderPtr
Definition: cxLogicManager.h:23