]> Creatis software - creaMaracasVisu.git/blob - lib/GUI/Base/VolumeRenderer/volumerendererdata.h
4fe94865b1b2d25ea9bfb4374e766e4a0a684f24
[creaMaracasVisu.git] / lib / GUI / Base / VolumeRenderer / volumerendererdata.h
1 #ifndef VOLUMERENDERERDATA_H
2 #define VOLUMERENDERERDATA_H
3
4
5 #include "volumerenderermanager.h"
6 #include "vtkRenderWindowInteractor.h"
7 #include "vtkObject.h"
8
9 using namespace std;
10
11 class VolumeRendererData : public vtkObject
12 {
13 public:
14     static VolumeRendererData *New();
15     vtkTypeRevisionMacro(VolumeRendererData,vtkObject);
16     //
17
18     vtkSetObjectMacro(ImageData, vtkImageData);
19     //vtkSetMacro(ImageDataSeparateComponents, bool);
20
21     vtkSetObjectMacro(Renderer, vtkRenderer);
22     vtkSetObjectMacro(LookUpTable, vtkLookupTable);
23     vtkSetObjectMacro(Interactor, vtkRenderWindowInteractor);
24
25
26
27     void BoundingBoxChanged(bool checked);
28      void ShowVolume(bool enable);
29      void OpacityChanged(vector<double> greyvalues, vector<double> values);
30
31      /**
32        chages the ray cast function type
33        function = 0 composite
34        function = 1 MIP (maximum intensity pixel)
35        */
36     void changeCompositeMIPFunction(int function);
37
38     /**
39       changes the interoplation type of the volume
40       type = 0 linear
41       type = 1 nearest
42        */
43     void changeInterpolationType(int type);
44
45
46 protected:
47     VolumeRendererData();
48     VolumeRendererManager               *VolRendManager;
49     vtkImageData                                *ImageData;
50     vtkRenderer                                 *Renderer;
51     vtkLookupTable                              *LookUpTable;
52     vtkRenderWindowInteractor   *Interactor;
53
54 //    bool ImageDataSeparateComponents;
55
56
57 private:
58
59     void invariant();
60 };
61
62 #endif // VOLUMERENDERERDATA_H