X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FvtkClipping3DDataViewer.h;h=86c6aae04465aa8e76605cf996e005a0e63ed2cc;hb=0cc1383dff9255c9929097bbe9f44a6f4f31c97a;hp=8620269878941fc877a8d84e08453d7ee64ff677;hpb=a4ee3758aa0477f677fb981e2c4d6e29995e8db8;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h index 8620269..86c6aae 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h @@ -3,6 +3,26 @@ #include "wxMPRBaseData.h" +#include "vtkClipPolyData.h" +#include "vtkStripper.h" +#include "vtkLODActor.h" +#include "vtkMarchingCubes.h" +#include "vtkVolumeRayCastMapper.h" +#include "boxSurfaceObserver.h" +#include "vtkVolumeRayCastCompositeFunction.h" +#include +#include "vtkVolumeProperty.h" +#include "vtkPolyDataMapper.h" +#include "vtkColorTransferFunction.h" +#include "vtkVolume.h" +#include "vtkActor.h" +#include "vtkOutlineFilter.h" +#include "vtkRenderWindowInteractor.h" + +#include "vtkVolumeRayCastMIPFunction.h" + +#include "volumerendererdata.h" + class vtkClipping3DDataViewer { public: //---------------------- @@ -45,17 +65,24 @@ 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 //------------------- @@ -67,6 +94,8 @@ public: std::vector* GetBlueColorsOfColorTransferenceFVector(); std::vector* GetGreyValueColorsOfColorTransferenceFVector(); + void setColorTransferFunction(vtkColorTransferFunction* colortable); + //-------------------------------------- //Getters transference function //and color of the transference function @@ -74,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 ]; @@ -92,7 +131,7 @@ private: /// Volume vtkPiecewiseFunction *_tfun; vtkColorTransferFunction *_ctfun; - vtkVolumeRayCastCompositeFunction *_compositeFunction; +// vtkVolumeRayCastCompositeFunction *_compositeFunction; vtkPlanes *_volumePlanes; vtkVolumeRayCastMapper *_volumeMapper; vtkVolumeProperty *_volumeProperty; @@ -101,6 +140,9 @@ private: vtkMPRBaseData *_vtkmprbasedata; bool _visibleVolume; + + bool _visibleVolumeBox; + bool _representationType[VTKMPRDATA_MAXTISSUE]; bool _visibleTissue[VTKMPRDATA_MAXTISSUE]; vtkActor *_tissue[VTKMPRDATA_MAXTISSUE]; @@ -113,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_*/