CustusX  22.04-rc5
An IGT application
cxSlices3DRep.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 #ifndef CXSLICES3DREP_H_
13 #define CXSLICES3DREP_H_
14 
15 #include "cxResourceVisualizationExport.h"
16 
17 #include "cxRepImpl.h"
18 #include <vector>
19 #include "cxTransform3D.h"
20 #include "cxBoundingBox3D.h"
21 #include "cxDefinitions.h"
22 
23 #include "vtkForwardDeclarations.h"
24 #include "cxForwardDeclarations.h"
25 
26 //---------------------------------------------------------
27 namespace cx
28 {
29 typedef boost::shared_ptr<class Slices3DRep> Slices3DRepPtr;
30 typedef boost::shared_ptr<class Texture3DSlicerProxy> Texture3DSlicerProxyPtr;
31 
47 class cxResourceVisualization_EXPORT Slices3DRep: public RepImpl
48 {
49 Q_OBJECT
50 public:
51  static Slices3DRepPtr New(SharedOpenGLContextPtr context, const QString& uid);
52  virtual ~Slices3DRep();
53  virtual QString getType() const { return "Slices3DRep"; }
54 
55  void setShaderPath(QString path);
56  void setImages(std::vector<ImagePtr> images);
57  void addPlane(PLANE_TYPE plane, PatientModelServicePtr dataManager);
58  void setTool(ToolPtr tool);
59 
60 protected:
62  virtual void addRepActorsToViewRenderer(ViewPtr view);
63  virtual void removeRepActorsFromViewRenderer(ViewPtr view);
64 
65 private:
66  std::vector<Texture3DSlicerProxyPtr> mProxy;
67  SharedOpenGLContextPtr mSharedOpenGLContext;
68 };
69 //---------------------------------------------------------
70 }//end namespace
71 //---------------------------------------------------------
72 
73 #endif /* CXSLICES3DREP_H_ */
Display several slices through volumes in 3D.
Definition: cxSlices3DRep.h:47
boost::shared_ptr< class View > ViewPtr
boost::shared_ptr< class SharedOpenGLContext > SharedOpenGLContextPtr
boost::shared_ptr< class Slices3DRep > Slices3DRepPtr
boost::shared_ptr< class PatientModelService > PatientModelServicePtr
Default implementation of Rep.
Definition: cxRepImpl.h:42
virtual QString getType() const
Definition: cxSlices3DRep.h:53
boost::shared_ptr< class Texture3DSlicerProxy > Texture3DSlicerProxyPtr
Namespace for all CustusX production code.
boost::shared_ptr< class Tool > ToolPtr