#include "vtkStripper.h"
#include "vtkLODActor.h"
#include "vtkMarchingCubes.h"
-#include "vtkVolumeRayCastMapper.h"
+#if (VTK_MAJOR_VERSION <= 7)
+ #include "vtkVolumeRayCastCompositeFunction.h"
+ #include "vtkVolumeRayCastMIPFunction.h"
+ #include "vtkVolumeRayCastMapper.h"
+#else
+ #include <vtkFixedPointVolumeRayCastMapper.h>
+#endif
#include "boxSurfaceObserver.h"
-#include "vtkVolumeRayCastCompositeFunction.h"
#include <vtkPiecewiseFunction.h>
#include "vtkVolumeProperty.h"
#include "vtkPolyDataMapper.h"
#include "vtkOutlineFilter.h"
#include "vtkRenderWindowInteractor.h"
-#include "vtkVolumeRayCastMIPFunction.h"
#include "volumerendererdata.h"
virtual ~vtkClipping3DDataViewer();
// vtkImageActor* GetImageActor(int id);
- vtkActor* GetOutlineActor();
+
+
vtkClipPolyData* GetTissueClipper(int id);
- vtkPolyDataMapper* GetTissueMapper(int id);
+ vtkPolyDataMapper* GetTissueMapper(int id);
vtkPlanes* GetTissuePlanes(int id);
vtkStripper* GetTissueStripper(int id);
// vtkGlyph3D* GetGlyph(int id);
vtkMarchingCubes *GetMCubes(int idTissue);
virtual void Refresh();
- void RefreshSurface();
+ void RefreshSurface();
virtual void Configure();
- void Configure_Tissue();
- void Configure_Volume();
-
- void SetIsovalue(int idTissue, int isoValue);
+ void Configure_Tissue();
+ void Configure_Volume();
+ void SetImage();
+
+ void SetIsovalue(int idTissue, int isoValue);
double GetIsovalue(int idTissue);
vtkVolume *GetVolumeActor();
- vtkVolumeRayCastMapper *GetVolumeMapper();
+
+#if (VTK_MAJOR_VERSION <= 7)
+ vtkVolumeRayCastMapper *GetVolumeMapper();
+#else
+ vtkFixedPointVolumeRayCastMapper *GetVolumeMapper();
+#endif
+
vtkPlanes *GetVolumePlanes();
- void SetVtkMPRBaseData(vtkMPRBaseData *vtkmprbasedata);
- vtkMPRBaseData* GetVtkMPRBaseData();
+ 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);
+ vtkActor *GetTissueActor(int id);
+ void SetVisibleTissue(int idTissue, bool visible);
+ bool GetVisibleTissue(int idTissue);
+ bool GetVisibleVolume();
+ void SetVisibleVolume(bool visibleVolume);
- bool GetVisibleVolumeBox();
- void SetVisibleVolumeBox(bool visibleBox);
+ bool GetVisibleVolumeBox();
+ void SetVisibleVolumeBox(bool visibleBox);
- void SetRepresentationType(int idTissue, bool representationType);
- bool GetRepresentationType(int idTissue);
+ void SetRepresentationType(int idTissue, bool representationType);
+ bool GetRepresentationType(int idTissue);
- boxSurfaceObserver *GetObserverS(int idObserverS);
- boxSurfaceObserver *GetObserverV();
+ boxSurfaceObserver *GetObserverS(int idObserverS);
+ boxSurfaceObserver *GetObserverV();
//void ReadVolumeFunctions(char *namefile);
- void ReadVolumeFunctions();
- void ReadMeshVTK(char *namefile);
+ void ReadVolumeFunctions();
+ void ReadMeshVTK(char *namefile);
- void Configure_VolumeBox();
- void SetInteractor(vtkRenderWindowInteractor* interactor);
- void SetRenderer(vtkRenderer* renderer);
+ void Configure_VolumeBox();
+ void SetInteractor(vtkRenderWindowInteractor* interactor);
+ void SetRenderer(vtkRenderer* renderer);
//-------------------
//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();
+ std::vector<double>* GetGreyValuesTransferenceFVector();
+ std::vector<double>* GetIntensityValuesTransferenceFVector();
+ std::vector<double>* GetRedColorsOfColorTransferenceFVector();
+ std::vector<double>* GetGreenColorsOfColorTransferenceFVector();
+ std::vector<double>* GetBlueColorsOfColorTransferenceFVector();
+ std::vector<double>* GetGreyValueColorsOfColorTransferenceFVector();
void setColorTransferFunction(vtkColorTransferFunction* colortable);
//Getters transference function
//and color of the transference function
//---------------------------------------
- vtkPiecewiseFunction *GetTransferencefunction();
+ vtkPiecewiseFunction *GetTransferencefunction();
vtkColorTransferFunction *GetColorTransferenceFunction();
- void SetRayCasting(bool active);
- void SetMIPActive(bool active);
- void SetInterpolation(bool active);
- void SetShade(bool active);
- void updateVolume();
- void BoxActorChanged(bool changed);
- void UpdateVolumeBox(vector<double> gf, vector<double> vf, vtkColorTransferFunction* ctfun);
+ void SetRayCasting(bool active);
+ void SetMIPActive(bool active);
+ void SetInterpolation(bool active);
+ void SetShade(bool active);
+ void updateVolume();
+ void BoxActorChanged(bool changed);
+ void UpdateVolumeBox(vector<double> gf, vector<double> vf, vtkColorTransferFunction* ctfun);
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;
+ vtkMarchingCubes *_mCubes[ VTKMPRDATA_MAXTISSUE ];
+ vtkStripper *_tissueStripper[ VTKMPRDATA_MAXTISSUE ];
+ vtkPolyDataMapper *_tissueMapper[ VTKMPRDATA_MAXTISSUE ];
+ vtkPlanes *_tissuePlanes[ VTKMPRDATA_MAXTISSUE ];
+ vtkClipPolyData *_tissueClipper[ VTKMPRDATA_MAXTISSUE ];
/// Volume
- vtkPiecewiseFunction *_tfun;
- vtkColorTransferFunction *_ctfun;
+ vtkPiecewiseFunction *_tfun;
+ vtkColorTransferFunction *_ctfun;
// vtkVolumeRayCastCompositeFunction *_compositeFunction;
- vtkPlanes *_volumePlanes;
- vtkVolumeRayCastMapper *_volumeMapper;
- vtkVolumeProperty *_volumeProperty;
- vtkVolume *_newvol;
- vtkMPRBaseData *_vtkmprbasedata;
+ vtkPlanes *_volumePlanes;
+
+#if (VTK_MAJOR_VERSION <= 7)
+ vtkVolumeRayCastMapper *_volumeMapper;
+#else
+ vtkFixedPointVolumeRayCastMapper *_volumeMapper;
+#endif
+
+
+ vtkVolumeProperty *_volumeProperty;
+ vtkVolume *_newvol;
+ vtkMPRBaseData *_vtkmprbasedata;
bool _visibleVolume;
- bool _visibleVolumeBox;
+ bool _visibleVolumeBox;
bool _representationType[VTKMPRDATA_MAXTISSUE];
bool _visibleTissue[VTKMPRDATA_MAXTISSUE];
vtkActor *_tissue[VTKMPRDATA_MAXTISSUE];
- boxSurfaceObserver *_observerV;
- boxSurfaceObserver *_observerS[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;
+ std::vector<double> greyValuesTransferenceFVector;
+ std::vector<double> intensityValuesTransferenceFVector;
+ std::vector<double> redColorsOfColorTransferenceFVector;
+ std::vector<double> greenColorsOfColorTransferenceFVector;
+ std::vector<double> blueColorsOfColorTransferenceFVector;
+ std::vector<double> greyValueColorsOfColorTransferenceFVector;
+#if (VTK_MAJOR_VERSION <= 7)
vtkVolumeRayCastCompositeFunction *_compositeFunction;
vtkVolumeRayCastMIPFunction *_compositeFunctionMIP ;
+#else
+ // ..
+#endif
+
bool _isRayCasting;
- bool _isMIP;
+ bool _isMIP;
bool _interpolation;
bool _shade;