X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FvtkClipping3DDataViewer.h;h=4a75a62a35fe8bd8988adc630db3776a690042d1;hb=25e3adf442d6a8d357d52410267445c54426c525;hp=236aa3c57361c2a63cf1d5dfd0466c8ee2f9ee24;hpb=e4ef2b5df5aac431ff3b806f83b7dd5e55e89d86;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h index 236aa3c..4a75a62 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h @@ -32,9 +32,14 @@ #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 +#endif #include "boxSurfaceObserver.h" -#include "vtkVolumeRayCastCompositeFunction.h" #include #include "vtkVolumeProperty.h" #include "vtkPolyDataMapper.h" @@ -44,7 +49,6 @@ #include "vtkOutlineFilter.h" #include "vtkRenderWindowInteractor.h" -#include "vtkVolumeRayCastMIPFunction.h" #include "volumerendererdata.h" @@ -57,7 +61,8 @@ public: virtual ~vtkClipping3DDataViewer(); // vtkImageActor* GetImageActor(int id); - vtkActor* GetOutlineActor(); + + vtkClipPolyData* GetTissueClipper(int id); vtkPolyDataMapper* GetTissueMapper(int id); vtkPlanes* GetTissuePlanes(int id); @@ -68,17 +73,24 @@ public: vtkMarchingCubes *GetMCubes(int idTissue); virtual void Refresh(); - void RefreshSurface(); + void RefreshSurface(); virtual void Configure(); 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); @@ -90,7 +102,7 @@ public: bool GetVisibleVolume(); void SetVisibleVolume(bool visibleVolume); - bool GetVisibleVolumeBox(); + bool GetVisibleVolumeBox(); void SetVisibleVolumeBox(bool visibleBox); void SetRepresentationType(int idTissue, bool representationType); @@ -104,20 +116,20 @@ public: 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* GetGreyValuesTransferenceFVector(); - std::vector* GetIntensityValuesTransferenceFVector(); - std::vector* GetRedColorsOfColorTransferenceFVector(); - std::vector* GetGreenColorsOfColorTransferenceFVector(); - std::vector* GetBlueColorsOfColorTransferenceFVector(); - std::vector* GetGreyValueColorsOfColorTransferenceFVector(); + std::vector* GetGreyValuesTransferenceFVector(); + std::vector* GetIntensityValuesTransferenceFVector(); + std::vector* GetRedColorsOfColorTransferenceFVector(); + std::vector* GetGreenColorsOfColorTransferenceFVector(); + std::vector* GetBlueColorsOfColorTransferenceFVector(); + std::vector* GetGreyValueColorsOfColorTransferenceFVector(); void setColorTransferFunction(vtkColorTransferFunction* colortable); @@ -125,49 +137,44 @@ public: //Getters transference function //and color of the transference function //--------------------------------------- - vtkPiecewiseFunction *GetTransferencefunction(); - vtkColorTransferFunction *GetColorTransferenceFunction(); + 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 gf, vector 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 gf, vector 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; - /// Volume vtkPiecewiseFunction *_tfun; vtkColorTransferFunction *_ctfun; // vtkVolumeRayCastCompositeFunction *_compositeFunction; 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]; @@ -181,11 +188,16 @@ private: std::vector blueColorsOfColorTransferenceFVector; std::vector greyValueColorsOfColorTransferenceFVector; +#if (VTK_MAJOR_VERSION <= 7) vtkVolumeRayCastCompositeFunction *_compositeFunction; vtkVolumeRayCastMIPFunction *_compositeFunctionMIP ; +#else + // .. +#endif + bool _isRayCasting; - bool _isMIP; + bool _isMIP; bool _interpolation; bool _shade;