1 #ifndef VTKCLIPPING3DDATAVIEWER_H_
2 #define VTKCLIPPING3DDATAVIEWER_H_
4 #include "wxMPRBaseData.h"
6 class vtkClipping3DDataViewer {
8 //----------------------
9 //Constructo-Destructor
10 //----------------------
11 vtkClipping3DDataViewer();
12 virtual ~vtkClipping3DDataViewer();
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);
23 vtkMarchingCubes *GetMCubes(int idTissue);
25 virtual void Refresh();
26 void RefreshSurface();
28 virtual void Configure();
29 void Configure_Tissue();
30 void Configure_Volume();
32 void SetIsovalue(int idTissue, int isoValue);
33 double GetIsovalue(int idTissue);
35 vtkVolume *GetVolumeActor();
36 vtkVolumeRayCastMapper *GetVolumeMapper();
37 vtkPlanes *GetVolumePlanes();
39 void SetVtkMPRBaseData(vtkMPRBaseData *vtkmprbasedata);
40 vtkMPRBaseData* GetVtkMPRBaseData();
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);
48 void SetRepresentationType(int idTissue, bool representationType);
49 bool GetRepresentationType(int idTissue);
51 boxSurfaceObserver *GetObserverS(int idObserverS);
52 boxSurfaceObserver *GetObserverV();
54 //void ReadVolumeFunctions(char *namefile);
55 void ReadVolumeFunctions();
56 void ReadMeshVTK(char *namefile);
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();
70 //--------------------------------------
71 //Getters transference function
72 //and color of the transference function
73 //---------------------------------------
74 vtkPiecewiseFunction *GetTransferencefunction();
75 vtkColorTransferFunction *GetColorTransferenceFunction();
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 ];
88 vtkOutlineFilter *_outlineData;
89 vtkPolyDataMapper *_mapOutline;
93 vtkPiecewiseFunction *_tfun;
94 vtkColorTransferFunction *_ctfun;
95 vtkVolumeRayCastCompositeFunction *_compositeFunction;
96 vtkPlanes *_volumePlanes;
97 vtkVolumeRayCastMapper *_volumeMapper;
98 vtkVolumeProperty *_volumeProperty;
101 vtkMPRBaseData *_vtkmprbasedata;
104 bool _representationType[VTKMPRDATA_MAXTISSUE];
105 bool _visibleTissue[VTKMPRDATA_MAXTISSUE];
106 vtkActor *_tissue[VTKMPRDATA_MAXTISSUE];
107 boxSurfaceObserver *_observerV;
108 boxSurfaceObserver *_observerS[VTKMPRDATA_MAXTISSUE];
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;
118 #endif /*VTKCLIPPING3DDATAVIEWER_H_*/