X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FvtkClipping3DDataViewer.h;h=86c6aae04465aa8e76605cf996e005a0e63ed2cc;hb=8efe1d6e29dc7ec7436779b9290b86552df7877f;hp=e520ddfe7ea247b6260fe614809ce17892014630;hpb=fa62829e9a53b389933687e6baea92c0a0dafa1b;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h index e520ddf..86c6aae 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h @@ -17,9 +17,12 @@ #include "vtkVolume.h" #include "vtkActor.h" #include "vtkOutlineFilter.h" +#include "vtkRenderWindowInteractor.h" #include "vtkVolumeRayCastMIPFunction.h" +#include "volumerendererdata.h" + class vtkClipping3DDataViewer { public: //---------------------- @@ -62,16 +65,23 @@ public: bool GetVisibleVolume(); void SetVisibleVolume(bool visibleVolume); + bool GetVisibleVolumeBox(); + void SetVisibleVolumeBox(bool visibleBox); + 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); + //void ReadVolumeFunctions(char *namefile); + void ReadVolumeFunctions(); + void ReadMeshVTK(char *namefile); + + void Configure_VolumeBox(); + void SetInteractor(vtkRenderWindowInteractor* interactor); + void SetRenderer(vtkRenderer* renderer); //------------------- //Getters Vectors @@ -93,10 +103,20 @@ public: 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); + private: - + vtkMarchingCubes *_mCubes[ VTKMPRDATA_MAXTISSUE ]; vtkStripper *_tissueStripper[ VTKMPRDATA_MAXTISSUE ]; vtkPolyDataMapper *_tissueMapper[ VTKMPRDATA_MAXTISSUE ]; @@ -111,7 +131,7 @@ private: /// Volume vtkPiecewiseFunction *_tfun; vtkColorTransferFunction *_ctfun; - vtkVolumeRayCastCompositeFunction *_compositeFunction; +// vtkVolumeRayCastCompositeFunction *_compositeFunction; vtkPlanes *_volumePlanes; vtkVolumeRayCastMapper *_volumeMapper; vtkVolumeProperty *_volumeProperty; @@ -120,6 +140,9 @@ private: vtkMPRBaseData *_vtkmprbasedata; bool _visibleVolume; + + bool _visibleVolumeBox; + bool _representationType[VTKMPRDATA_MAXTISSUE]; bool _visibleTissue[VTKMPRDATA_MAXTISSUE]; vtkActor *_tissue[VTKMPRDATA_MAXTISSUE]; @@ -132,6 +155,16 @@ private: std::vector greenColorsOfColorTransferenceFVector; std::vector blueColorsOfColorTransferenceFVector; std::vector greyValueColorsOfColorTransferenceFVector; + + vtkVolumeRayCastCompositeFunction *_compositeFunction; + vtkVolumeRayCastMIPFunction *_compositeFunctionMIP ; + + bool _isRayCasting; + bool _isMIP; + bool _interpolation; + bool _shade; + + VolumeRendererData* _volumerendererdata; }; #endif /*VTKCLIPPING3DDATAVIEWER_H_*/