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