X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSlicer.h;h=43e08541386109a9f0e0b0b520dae4b51f337ced;hb=c86c03213cb8bb9f5c4830d1f96e792a13a34efe;hp=7746331a21d3ad2f337f63bdb7df79b44c011dab;hpb=cf891024f9fed4d9ee3eabf13f2114a1d724df43;p=clitk.git diff --git a/vv/vvSlicer.h b/vv/vvSlicer.h index 7746331..43e0854 100644 --- a/vv/vvSlicer.h +++ b/vv/vvSlicer.h @@ -62,7 +62,7 @@ class vvSlicer: public vtkImageViewer2 { public: static vvSlicer *New(); - vtkTypeRevisionMacro(vvSlicer,vtkImageViewer2); + vtkTypeMacro(vvSlicer,vtkImageViewer2); void PrintSelf(ostream& os, vtkIndent indent); void SetImage(vvImage::Pointer inputImages); @@ -148,7 +148,6 @@ public: double* GetCursorPosition() { return mCursor; } - vtkTransform * GetSlicingTransform() { return mSlicingTransform; } vtkTransform * GetConcatenatedTransform() { return mConcatenatedTransform; } vtkTransform * GetConcatenatedFusionTransform() { return mConcatenatedFusionTransform; } @@ -197,7 +196,7 @@ public: void EnableReducedExtent(bool b); void SetReducedExtent(int * ext); - void ClipDisplayedExtent(int extent[6], int refExtent[6]); + bool ClipDisplayedExtent(int extent[6], int refExtent[6]); int GetOrientation(); int * GetExtent(); @@ -205,9 +204,12 @@ public: return mVFColor; } void SetVFColor(double r, double g, double b); - + //necessary to flag the secondary sequence void SetFusionSequenceCode(int code) {mFusionSequenceCode=code;} + void SetRegisterExtent(int [6]); + void GetRegisterExtent(int [6]); + protected: vvSlicer(); ~vvSlicer(); @@ -277,18 +279,26 @@ protected: double mVFColor[3]; bool mUseReducedExtent; int * mReducedExtent; - int * mInitialExtent; + int * mRegisterExtent; bool mLinkOverlayWindowLevel; bool showFusionLegend; private: void UpdateOrientation(); void UpdateDisplayExtent(); - void ConvertImageToImageDisplayExtent(vtkImageData *sourceImage, const int sourceExtent[6], + void ConvertImageToImageDisplayExtent(vtkInformation *sourceImage, const int sourceExtent[6], vtkImageData *targetImage, int targetExtent[6]); ///Sets the surfaces to be cut on the image slice: update the vtkCutter void SetContourSlice(); - + // Visibility of the different elements that can be set from outside the object. + // Note that vvSlicer also check if the element is to be displayed according to + // the extent of the displayed object. + // These members have been introduced to fix Bug #1883. + bool mImageVisibility; + bool mOverlayVisibility; + bool mFusionVisibility; + bool mVFVisibility; + bool mFirstSetSliceOrientation; }; #endif