X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FThresholdImageView%2FLayerImageBase.h;h=3d27d31b71145cda4a3316a17861719214340247;hb=78a76d83140ed2adf38b8906f5d9fbfde1186c9a;hp=c96d748736c6114b56cfa864d4d5799bf383a055;hpb=5b719def16348e415f421444c87437db92302a05;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/LayerImageBase.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/LayerImageBase.h index c96d748..3d27d31 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/LayerImageBase.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/LayerImageBase.h @@ -42,25 +42,31 @@ #include #include #include "wxVtkBaseView.h" +#include "vtkScalarBarActor.h" #include "InteractorStyleMaracas.h" +#include "vtkImageChangeInformation.h" + //---------------------------------------------------------------------------------- //---------------------------------------------------------------------------------- //---------------------------------------------------------------------------------- class LayerImageBase; -class ColorLayerImageBasevtkInteractor : public InteractorStyleMaracas { +class ColorLayerImageBasevtkInteractor : public InteractorStyleMaracas +{ public: ColorLayerImageBasevtkInteractor(LayerImageBase* layerImageBase); virtual ~ColorLayerImageBasevtkInteractor(); - virtual bool OnMouseMove(); - virtual bool OnRightButtonDown(); - virtual bool OnRightButtonUp(); + virtual bool OnChar(); + virtual bool OnMouseMove(); + virtual bool OnRightButtonDown(); + virtual bool OnRightButtonUp(); private: - bool _state; + bool _state; + bool _stateKey; LayerImageBase* _layerImageBase; protected: @@ -75,13 +81,19 @@ protected: class LayerImageBase - { + { public: LayerImageBase(); virtual ~LayerImageBase(); - void SetZ(int z); - void SetImage(vtkImageData* image); - void SetwxVtkBaseView(wxVtkBaseView *baseview); + void SetX(int x); + void SetY(int y); + void SetZ(int z); + void SetImage(vtkImageData* image); + vtkImageData* GetImage(); + void SetRangeForColorBar(std::vector &range); + void GetRangeForColorBar(double &minRange, double &maxRange); + void SetColorBarPosition(std::vector &colorbarposition); + void SetwxVtkBaseView(wxVtkBaseView *baseview); void onThreshold(); void onThresholdChange(); @@ -92,26 +104,49 @@ class LayerImageBase void Refresh(); vtkLookupTable *GetvtkLookupTable(); vtkImageReslice *GetvtkImageReslice(); + virtual int GetX(); + virtual int GetY(); virtual int GetZ(); - - private: - int _Z; - bool _actorPresent; - vtkImageData *_image; - vtkImageReslice *_imageReslicer; - vtkLookupTable *_thresholdTable; - vtkImageMapToColors *_thresholdMapper; - vtkImageActor *_thresholdActor; - wxVtkBaseView *_baseView; - - virtual void ConfigLookupTable() = 0; bool GetActorPresent(); - int CleanZ(int z); + void GetImageScalarRange(); + + void SetDimensionOriginalLayer(int dim[3]); + void SetDimensionBase(int dim[3]); + void SetSpcOriginalLayer(double spc[3]); + void SetNewSpacingLayer(double spc[3]); + void SetSpcBase(double spc[3]); + void GetDimensionOriginalLayer(int *dim); + void GetDimensionBase(int *dim); + void GetSpcOriginalLayer(double *spc); + void GetSpcBase(double *spc); + private: + int _X; + int _Y; + int _Z; + bool _actorPresent; + int _dimOriginalLayer[3]; + double _spcOriginalLayer[3]; + double _newSpcLayer[3]; + int _dimBase[3]; + double _spcBase[3]; + + vtkImageData *_image; + vtkImageChangeInformation *_imageChangeInformation; + vtkImageReslice *_imageReslicer; + vtkLookupTable *_thresholdTable; + vtkImageMapToColors *_thresholdMapper; + vtkImageActor *_thresholdActor; + wxVtkBaseView *_baseView; + vtkScalarBarActor *_scalarbarActor; + virtual void ConfigLookupTable() = 0; + void CleanXYZ(double &x, double &y, double &z); protected: - vtkLookupTable* GetThresholdTable(); - vtkImageData* GetImage(); + vtkLookupTable *GetThresholdTable(); + double _range[2]; + std::vector _rangeForColorBar; + std::vector _colorBarPosition; };