Computer Assited Medical Intervention Tool Kit  version 4.0
InterfaceBitMap.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * $CAMITK_LICENCE_BEGIN$
3  *
4  * CamiTK - Computer Assisted Medical Intervention ToolKit
5  * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO)
6  *
7  * Visit http://camitk.imag.fr for more information
8  *
9  * This file is part of CamiTK.
10  *
11  * CamiTK is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * CamiTK is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU Lesser General Public License version 3 for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public License
21  * version 3 along with CamiTK. If not, see <http://www.gnu.org/licenses/>.
22  *
23  * $CAMITK_LICENCE_END$
24  ****************************************************************************/
25 
26 #ifndef INTERFACEBITMAP_H
27 #define INTERFACEBITMAP_H
28 
29 // -- vtk stuff
30 #include <vtkSmartPointer.h>
31 #include <vtkProp.h>
32 #include <QMap>
33 #include <QString>
34 
35 // -- vtk stuff Classes
36 class vtkImageActor;
37 class vtkActor;
38 class vtkAxesActor;
39 class vtkImageData;
40 class vtkWindowLevelLookupTable;
41 class vtkTransform;
42 
43 namespace camitk {
44 // -- Core stuff Classes
45 class Component;
46 
63 class InterfaceBitMap {
64 
65 public:
66 
86  enum PossibleOrientation {
87  AXIAL_ORIENTATION,
88  CORONAL_ORIENTATION,
89  SAGITTAL_ORIENTATION,
90  ARBITRARY_ORIENTATION
91  };
92 
94  virtual ~InterfaceBitMap() {};
95 
97  virtual void setOriginalVolume(vtkSmartPointer<vtkImageData>) = 0;
98 
100  virtual void setImageWorldTransform(vtkSmartPointer<vtkTransform>)=0;
101 
103  virtual vtkSmartPointer<vtkImageActor> get2DImageActor() const = 0;
104 
106  virtual vtkSmartPointer<vtkImageActor> get3DImageActor() const = 0;
107 
109  virtual vtkSmartPointer<vtkActor> getPickPlaneActor() const = 0;
110 
112  virtual vtkSmartPointer<vtkActor> getPixelActor() = 0;
113 
115 // virtual vtkSmartPointer<vtkAxesActor> get2DAxesActor() = 0;
116 
117 
121  virtual void pixelPicked(double, double, double) = 0;
122 
123  virtual void updatePickPlane() = 0;
124 
126  virtual int getNumberOfSlices() const = 0;
127 
129  virtual int getSlice() const = 0;
130 
135  virtual void setSlice(int s) = 0;
136 
138  virtual void setSlice(double x, double y, double z) = 0;
139 
143  virtual int getNumberOfColors() const = 0;
144 
146  virtual void setPixelRealPosition(double, double, double) = 0;
147 
148 
150  // TODO CAMITK_DEPRECATED. This section list all the methods marked as deprecated. They are to be removed in CamiTK 4.0
153  virtual vtkSmartPointer<vtkImageData> getImageData() const = 0;
156  virtual double getRotationX() const = 0;
157  virtual double getRotationY() const = 0;
158  virtual double getRotationZ() const = 0;
159 
162  virtual void setRotationX(double angle) = 0;
163  virtual void setRotationY(double angle) = 0;
164  virtual void setRotationZ(double angle) = 0;
166 
167 
168 
169  // TODO : put all of this into a dedicated interface
171  QMap<QString, vtkSmartPointer<vtkProp> > extraProp;
172 
174  virtual vtkSmartPointer<vtkProp> getProp(const QString &) = 0;
175 
177  virtual unsigned int getNumberOfProp() const = 0;
178 
180  virtual vtkSmartPointer<vtkProp> getProp(unsigned int) = 0;
181 
185  virtual bool addProp(const QString &, vtkSmartPointer<vtkProp>) = 0;
186 
190  virtual bool removeProp(const QString &) = 0;
191  // END TODO
192 
193 };
194 
195 }
196 
197 #endif
Definition: Action.cpp:40
A component is something that composed something and could also be a part of something.
Definition: modeling/libraries/pml/Component.h:48