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=0cc1383dff9255c9929097bbe9f44a6f4f31c97a;hp=8a54048f12789f0c81e7c438597ad5f2f6494764;hpb=7efcf8b7c62b77ababdaf2c52c2b862597b0b129;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h index 8a54048..86c6aae 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h @@ -17,8 +17,11 @@ #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_*/