X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxMPRBaseData.h;h=dedb16648d753b0458531d220d86011c38b9545f;hb=79a4c48d9c84813a60df432d3c7eb8092b3a24af;hp=87031dcd38ec5fd0b5dd84e28686467376bb5761;hpb=206564e24c5c40e1f8830bfd17ebb4cc99175ec2;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMPRBaseData.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMPRBaseData.h index 87031dc..dedb166 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMPRBaseData.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMPRBaseData.h @@ -2,13 +2,13 @@ #ifndef __WX__MPR__BASE__DATA__H #define __WX__MPR__BASE__DATA__H -#include +/*#include #include "vtkRenderWindow.h" #include -#include "vtkImageActor.h" + #include "vtkProp.h" -#include "vtkActor.h" -#include "vtkPolyDataMapper.h" + + #include "vtkStripper.h" #include #include "vtkLODActor.h" @@ -18,24 +18,25 @@ #include #include -#include "vtkOutlineFilter.h" + #include -#include + #include #include #include #include -#include +#include */ + -#include "vtkImageData.h" -#include "vtkLookupTable.h" + +//#include "vtkLookupTable.h" //#include "vtkImageActor.h" -#include -#include -#include "marImageData.h" +//#include + + //#include "./pPlotter/HistogramDialog.h" - +#include "vtkTransform.h" #include "marTypes.h" //------------------------------------------------------------------ @@ -48,32 +49,19 @@ //------------------------------------------------------------------ //------------------------------------------------------------------ -class MARACASVISULIB_EXPORTS vtkBaseData { -public: - vtkBaseData(); - virtual ~vtkBaseData(); - vtkImageData* GetImageData(); - marImageData* GetMarImageData(); - void SetMarImageData(marImageData *marimagedata); - virtual void Configure(); - double GetZ(); - void SetZ(double z); - - int GetT(); - void SetT(double t); - -protected: - marImageData *_marImageData; - double _z; - int _t; -}; - +#include "vtkBaseData.h" +//#include "boxSurfaceObserver.h" //------------------------------------------------------------------ //------------------------------------------------------------------ //------------------------------------------------------------------ - -class MARACASVISULIB_EXPORTS vtkMPRBaseData: public vtkBaseData{ +#ifdef _DEBUG +#include +#define DEBUG_NEW new(_NORMAL_BLOCK ,__FILE__, __LINE__) +#else +#define DEBUG_NEW new +#endif +class creaMaracasVisu_EXPORT vtkMPRBaseData: public vtkBaseData{ public: vtkMPRBaseData(); virtual ~vtkMPRBaseData(); @@ -103,61 +91,6 @@ private: //------------------------------------------------------------------ //------------------------------------------------------------------ -class MARACASVISULIB_EXPORTS vtkMPR3DDataViewer { -public: - vtkMPR3DDataViewer(); - virtual ~vtkMPR3DDataViewer(); - vtkImageActor* GetImageActor(int id); - vtkActor* GetOutlineActor(); - virtual void Refresh(); - virtual void Configure(); - void SetVisiblePosition(int idPosition, bool visible); - bool GetVisiblePosition(int idPosition); - vtkImageActor* GetvtkActor_saggital(); - vtkImageActor* GetvtkActor_axial(); - vtkImageActor* GetvtkActor_coronal(); - void SetPositionX(int pos); - void SetPositionY(int pos); - void SetPositionZ(int pos); - void SetVtkMPRBaseData(vtkMPRBaseData *vtkmprbasedata); - vtkMPRBaseData* GetVtkMPRBaseData(); - - vtkColorTransferFunction *GetvtkColorTransferFunction(); - std::vector *GetctFunVectorPoint(); - std::vector *GetctFunVectorRed(); - std::vector *GetctFunVectorGreen(); - std::vector *GetctFunVectorBlue(); - -private: - - bool _visiblePosition[3]; - - // outline - vtkOutlineFilter *_outlineData; - vtkPolyDataMapper *_mapOutline; - vtkActor *_outline; - - // - vtkColorTransferFunction *_ctfun; - std::vector _ctFunVectorPoint; - std::vector _ctFunVectorRed; - std::vector _ctFunVectorGreen; - std::vector _ctFunVectorBlue; - -// vtkLookupTable *_bwLut; -// vtkLookupTable *_hueLut; -// vtkLookupTable *_satLut; - - vtkImageMapToColors *_saggitalColors; - vtkImageActor *_saggital; - vtkImageMapToColors *_axialColors; - vtkImageActor *_axial; - vtkImageMapToColors *_coronalColors; - vtkImageActor *_coronal; - vtkMPRBaseData *_vtkmprbasedata; - - -}; @@ -193,150 +126,11 @@ private: //------------------------------------------------------------------ //------------------------------------------------------------------ -// Callback for the interaction -class boxSurfaceObserver : public vtkCommand -{ - public: - vtkPlanes *_planes; - vtkProp *_actor; - vtkVolumeRayCastMapper *_vtkVolumeRayCastMapper; - - boxSurfaceObserver() - { - _vtkVolumeRayCastMapper = NULL; - } - - virtual char const *GetClassName() const { return "boxSurfaceObserver";} - - static boxSurfaceObserver *New(){ - boxSurfaceObserver * result; - result = new boxSurfaceObserver(); - return result; - } - - virtual void Execute(vtkObject *wdg, unsigned long eventId, void* calldata) ; - void SetPlanes(vtkPlanes *planes); - void SetActor(vtkProp *actor); - void SetvtkVolumeRayCastMapper(vtkVolumeRayCastMapper *vtkvolumeraycastmapper); -}; - - //------------------------------------------------------------------ //------------------------------------------------------------------ //------------------------------------------------------------------ -class vtkClipping3DDataViewer { -public: - //---------------------- - //Constructo-Destructor - //---------------------- - vtkClipping3DDataViewer(); - virtual ~vtkClipping3DDataViewer(); - -// vtkImageActor* GetImageActor(int id); - vtkActor* GetOutlineActor(); - vtkClipPolyData* GetTissueClipper(int id); - vtkPolyDataMapper* GetTissueMapper(int id); - vtkPlanes* GetTissuePlanes(int id); - vtkStripper* GetTissueStripper(int id); -// vtkGlyph3D* GetGlyph(int id); - vtkLODActor* GetMaceActor(int id); - - vtkMarchingCubes *GetMCubes(int idTissue); - - virtual void Refresh(); - void RefreshSurface(); - - virtual void Configure(); - void Configure_Tissue(); - void Configure_Volume(); - - void SetIsovalue(int idTissue, int isoValue); - double GetIsovalue(int idTissue); - - vtkVolume *GetVolumeActor(); - vtkVolumeRayCastMapper *GetVolumeMapper(); - vtkPlanes *GetVolumePlanes(); - - 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); - - 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); - - - //------------------- - //Getters Vectors - //------------------- - - std::vector* GetGreyValuesTransferenceFVector(); - std::vector* GetIntensityValuesTransferenceFVector(); - std::vector* GetRedColorsOfColorTransferenceFVector(); - std::vector* GetGreenColorsOfColorTransferenceFVector(); - std::vector* GetBlueColorsOfColorTransferenceFVector(); - std::vector* GetGreyValueColorsOfColorTransferenceFVector(); - - //-------------------------------------- - //Getters transference function - //and color of the transference function - //--------------------------------------- - vtkPiecewiseFunction *GetTransferencefunction(); - vtkColorTransferFunction *GetColorTransferenceFunction(); - - - -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; - vtkVolumeRayCastMapper *_volumeMapper; - vtkVolumeProperty *_volumeProperty; - vtkVolume *_newvol; - - vtkMPRBaseData *_vtkmprbasedata; - - bool _visibleVolume; - bool _representationType[VTKMPRDATA_MAXTISSUE]; - bool _visibleTissue[VTKMPRDATA_MAXTISSUE]; - vtkActor *_tissue[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; -}; #endif // __WX__MPR__BASE__DATA__H