]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingManagerDataMhd.h
236dab0f093b47611c9e631fb20127edb6803683
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxMaracasSurfaceRenderingManagerDataMhd.h
1 #ifndef WXMARACASSURFACERENDERINGMANAGERDATAMHD_H_
2 #define WXMARACASSURFACERENDERINGMANAGERDATAMHD_H_
3
4
5 #include "wxMaracasSurfaceRenderingManagerData.h"
6
7 #include "vtkMetaImageReader.h"
8 #include "vtkMarchingCubes.h"
9 #include "vtkCleanPolyData.h"
10 #include "vtkImageData.h"
11 #include "vtkClipPolyData.h"
12 #include "vtkPlanes.h"
13
14 class wxMaracasSurfaceRenderingManagerDataMhd : public wxMaracasSurfaceRenderingManagerData  {
15
16 public:
17         
18         wxMaracasSurfaceRenderingManagerDataMhd(vtkImageData* imagedata, std::string dataname="", vtkRenderWindowInteractor*  interactor=0);
19         ~wxMaracasSurfaceRenderingManagerDataMhd();
20
21         
22         /**
23         **      Adds a prop3D to the world of the application
24         **/
25         void setVtkImageData(vtkImageData* imagedata);
26         
27         /**
28         **      changes the isovalue in a prop3D
29         **/
30         void changeIsoValue(double value);      
31         /**
32         **      Check if the variables are setted correctly
33         **/
34         void checkInvariant();  
35         
36         /**
37         **      Returns the grey max level of the image
38         **/
39
40         int getMaxGreyLevel();
41
42         /**
43         **      creates the image 
44         **/
45         void contourExtractor(int isovalue);            
46         
47         /**
48         ** Updates surface
49         **/
50         void UpdateSurface();
51
52 private:        
53         
54         vtkImageData* _imagedata;
55         int _maxgreylevel;
56
57         /**
58         ** to the image render
59         **/
60         vtkMarchingCubes* _cubesFilter;
61         vtkCleanPolyData* _cleanFilter; 
62         vtkPolyDataMapper* _dataMapper;
63         vtkClipPolyData* _tissueClipper;
64         vtkPlanes* _tissuePlanes;
65         
66         /**
67         ** Get's the max grey level of the image
68         **/
69         int getMaxLevel(vtkImageData* img);
70         
71
72         
73 };
74
75 #endif /*WXMARACASSURFACERENDERINGMANAGERDATAMHD_H_*/