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=f9901e756bb82bd333310b47607875331616bb29;hp=33a3e74cefb8c6ecc881c5b45e555cf40b736c1c;hpb=ed6f960acce2ed63b0d6b964aee7ee243d8c6446;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h index 33a3e74..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,9 +61,10 @@ public: 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); @@ -68,56 +73,63 @@ public: 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* 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,61 +137,67 @@ public: //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 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; + 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 greyValuesTransferenceFVector; - std::vector intensityValuesTransferenceFVector; - std::vector redColorsOfColorTransferenceFVector; - std::vector greenColorsOfColorTransferenceFVector; - std::vector blueColorsOfColorTransferenceFVector; - std::vector greyValueColorsOfColorTransferenceFVector; + std::vector greyValuesTransferenceFVector; + std::vector intensityValuesTransferenceFVector; + std::vector redColorsOfColorTransferenceFVector; + std::vector greenColorsOfColorTransferenceFVector; + 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;