-class vtkClipping3DDataViewer {
-public:
- //----------------------
- //Constructo-Destructor
- //----------------------
- vtkClipping3DDataViewer();
- ~vtkClipping3DDataViewer();
-
-// vtkImageActor* GetImageActor(int id);
- vtkActor* GetOutlineActor();
- vtkClipPolyData* GetTissueClipper(int id);
- vtkPolyDataMapper* GetTissueMapper(int id);
- vtkPlanes* GetTissuePlanes(int id);
- vtkStripper* GetTissueStripper(int id);
-// vtkGlyph3D* GetGlyph(int id);
- vtkLODActor* GetMaceActor(int id);
-
- vtkMarchingCubes *GetMCubes(int idTissue);
-
- virtual void Refresh();
- void RefreshSurface();
-
- virtual void Configure();
- void Configure_Tissue();
- void Configure_Volume();
-
- void SetIsovalue(int idTissue, int isoValue);
- double GetIsovalue(int idTissue);
-
- vtkVolume *GetVolumeActor();
- vtkVolumeRayCastMapper *GetVolumeMapper();
- vtkPlanes *GetVolumePlanes();
-
- void SetVtkMPRBaseData(vtkMPRBaseData *vtkmprbasedata);
- vtkMPRBaseData* GetVtkMPRBaseData();
-
- vtkActor *GetTissueActor(int id);
- void SetVisibleTissue(int idTissue, bool visible);
- bool GetVisibleTissue(int idTissue);
- bool GetVisibleVolume();
- void SetVisibleVolume(bool visibleVolume);
-
- void SetRepresentationType(int idTissue, bool representationType);
- bool GetRepresentationType(int idTissue);
-
- boxSurfaceObserver *GetObserverS(int idObserverS);
- boxSurfaceObserver *GetObserverV();
-
- //void ReadVolumeFunctions(char *namefile);
- void ReadVolumeFunctions();
- void ReadMeshVTK(char *namefile);
-
-
- //-------------------
- //Getters Vectors
- //-------------------
-
- std::vector<double>* GetGreyValuesTransferenceFVector();
- std::vector<double>* GetIntensityValuesTransferenceFVector();
- std::vector<double>* GetRedColorsOfColorTransferenceFVector();
- std::vector<double>* GetGreenColorsOfColorTransferenceFVector();
- std::vector<double>* GetBlueColorsOfColorTransferenceFVector();
- std::vector<double>* GetGreyValueColorsOfColorTransferenceFVector();
-
- //--------------------------------------
- //Getters transference function
- //and color of the transference function
- //---------------------------------------
- vtkPiecewiseFunction *GetTransferencefunction();
- vtkColorTransferFunction *GetColorTransferenceFunction();
-
-
-
-private:
-
- vtkMarchingCubes *_mCubes[ VTKMPRDATA_MAXTISSUE ];
- vtkStripper *_tissueStripper[ VTKMPRDATA_MAXTISSUE ];
- vtkPolyDataMapper *_tissueMapper[ VTKMPRDATA_MAXTISSUE ];
- vtkPlanes *_tissuePlanes[ VTKMPRDATA_MAXTISSUE ];
- vtkClipPolyData *_tissueClipper[ VTKMPRDATA_MAXTISSUE ];
-
- // outline
- vtkOutlineFilter *_outlineData;
- vtkPolyDataMapper *_mapOutline;
- vtkActor *_outline;
-
- /// Volume
- vtkPiecewiseFunction *_tfun;
- vtkColorTransferFunction *_ctfun;
- vtkVolumeRayCastCompositeFunction *_compositeFunction;
- vtkPlanes *_volumePlanes;
- vtkVolumeRayCastMapper *_volumeMapper;
- vtkVolumeProperty *_volumeProperty;
- vtkVolume *_newvol;
-
- vtkMPRBaseData *_vtkmprbasedata;
-
- bool _visibleVolume;
- bool _representationType[VTKMPRDATA_MAXTISSUE];
- bool _visibleTissue[VTKMPRDATA_MAXTISSUE];
- vtkActor *_tissue[VTKMPRDATA_MAXTISSUE];
- boxSurfaceObserver *_observerV;
- boxSurfaceObserver *_observerS[VTKMPRDATA_MAXTISSUE];
-
- std::vector<double> greyValuesTransferenceFVector;
- std::vector<double> intensityValuesTransferenceFVector;
- std::vector<double> redColorsOfColorTransferenceFVector;
- std::vector<double> greenColorsOfColorTransferenceFVector;
- std::vector<double> blueColorsOfColorTransferenceFVector;
- std::vector<double> greyValueColorsOfColorTransferenceFVector;
-};