]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h
*** empty log message ***
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / vtkClipping3DDataViewer.h
1 #ifndef VTKCLIPPING3DDATAVIEWER_H_
2 #define VTKCLIPPING3DDATAVIEWER_H_
3
4 #include "wxMPRBaseData.h"
5
6 class vtkClipping3DDataViewer {
7 public:
8         //----------------------
9         //Constructo-Destructor
10         //----------------------
11         vtkClipping3DDataViewer();
12         virtual ~vtkClipping3DDataViewer();
13
14 //      vtkImageActor*                  GetImageActor(int id);
15         vtkActor*                               GetOutlineActor();
16         vtkClipPolyData*                GetTissueClipper(int id);
17         vtkPolyDataMapper*              GetTissueMapper(int id);
18         vtkPlanes*                              GetTissuePlanes(int id);
19         vtkStripper*                    GetTissueStripper(int id);
20 //      vtkGlyph3D*                             GetGlyph(int id);
21         vtkLODActor*                    GetMaceActor(int id);
22
23         vtkMarchingCubes                *GetMCubes(int idTissue);
24
25         virtual void                    Refresh();
26                         void                    RefreshSurface();
27
28         virtual void                    Configure();
29         void                                    Configure_Tissue();
30         void                                    Configure_Volume();
31
32         void                                    SetIsovalue(int idTissue, int isoValue);
33         double                                  GetIsovalue(int idTissue);
34
35         vtkVolume                               *GetVolumeActor();
36         vtkVolumeRayCastMapper  *GetVolumeMapper();
37         vtkPlanes                               *GetVolumePlanes();
38
39         void                                    SetVtkMPRBaseData(vtkMPRBaseData *vtkmprbasedata);
40         vtkMPRBaseData*                 GetVtkMPRBaseData();
41
42         vtkActor                                *GetTissueActor(int id);
43         void                                    SetVisibleTissue(int idTissue, bool visible);
44         bool                                    GetVisibleTissue(int idTissue);
45         bool                                    GetVisibleVolume();
46         void                                    SetVisibleVolume(bool visibleVolume);
47
48         void                                    SetRepresentationType(int idTissue, bool representationType);
49         bool                                    GetRepresentationType(int idTissue);
50
51         boxSurfaceObserver              *GetObserverS(int idObserverS);
52         boxSurfaceObserver              *GetObserverV();
53
54         //void                                  ReadVolumeFunctions(char *namefile); 
55         void                                    ReadVolumeFunctions(); 
56         void                                    ReadMeshVTK(char *namefile); 
57
58
59         //-------------------
60         //Getters Vectors
61         //-------------------
62
63         std::vector<double>*                                    GetGreyValuesTransferenceFVector();
64         std::vector<double>*                                    GetIntensityValuesTransferenceFVector();
65         std::vector<double>*                                    GetRedColorsOfColorTransferenceFVector();
66         std::vector<double>*                                    GetGreenColorsOfColorTransferenceFVector();
67         std::vector<double>*                                    GetBlueColorsOfColorTransferenceFVector();
68         std::vector<double>*                                    GetGreyValueColorsOfColorTransferenceFVector();
69
70         //--------------------------------------
71         //Getters transference function
72         //and color of the transference function
73         //---------------------------------------
74         vtkPiecewiseFunction                            *GetTransferencefunction();
75         vtkColorTransferFunction                        *GetColorTransferenceFunction();
76
77
78
79 private:
80         
81         vtkMarchingCubes                                        *_mCubes[ VTKMPRDATA_MAXTISSUE ];
82         vtkStripper                                                     *_tissueStripper[ VTKMPRDATA_MAXTISSUE ];
83         vtkPolyDataMapper                                       *_tissueMapper[ VTKMPRDATA_MAXTISSUE ];
84         vtkPlanes                                                       *_tissuePlanes[ VTKMPRDATA_MAXTISSUE ];
85         vtkClipPolyData                                         *_tissueClipper[ VTKMPRDATA_MAXTISSUE ];
86
87         // outline
88         vtkOutlineFilter                                        *_outlineData;
89         vtkPolyDataMapper                                       *_mapOutline;
90         vtkActor                                                        *_outline;
91
92         /// Volume
93         vtkPiecewiseFunction                            *_tfun;
94         vtkColorTransferFunction                        *_ctfun;
95         vtkVolumeRayCastCompositeFunction       *_compositeFunction;
96         vtkPlanes                                                       *_volumePlanes;
97         vtkVolumeRayCastMapper                          *_volumeMapper;
98         vtkVolumeProperty                                       *_volumeProperty;
99         vtkVolume                                                       *_newvol;
100
101         vtkMPRBaseData                                          *_vtkmprbasedata;
102
103         bool                                                            _visibleVolume;
104         bool                                                            _representationType[VTKMPRDATA_MAXTISSUE];
105         bool                                                            _visibleTissue[VTKMPRDATA_MAXTISSUE];
106         vtkActor                                                        *_tissue[VTKMPRDATA_MAXTISSUE];
107         boxSurfaceObserver                                      *_observerV;
108         boxSurfaceObserver                                      *_observerS[VTKMPRDATA_MAXTISSUE];
109
110         std::vector<double>                                     greyValuesTransferenceFVector;
111         std::vector<double>                                     intensityValuesTransferenceFVector;
112         std::vector<double>                                     redColorsOfColorTransferenceFVector;
113         std::vector<double>                                     greenColorsOfColorTransferenceFVector;
114         std::vector<double>                                     blueColorsOfColorTransferenceFVector;
115         std::vector<double>                                     greyValueColorsOfColorTransferenceFVector;
116 };
117
118 #endif /*VTKCLIPPING3DDATAVIEWER_H_*/