X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSlicer.h;h=5b317b40c74b4df4c312e7d3bcd691a95388c03a;hb=8dc75d1449323b08bf7378cded6f0bec24b2016f;hp=7cb4036d97a5a9bcd08b557d803c9edb9017b82a;hpb=9ac2232043d7a08735edf00572ccb6565919fd3d;p=clitk.git diff --git a/vv/vvSlicer.h b/vv/vvSlicer.h index 7cb4036..5b317b4 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,7 +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(); @@ -275,18 +279,28 @@ protected: double mVFColor[3]; bool mUseReducedExtent; int * mReducedExtent; - int * mInitialExtent; + int * mRegisterExtent; bool mLinkOverlayWindowLevel; bool showFusionLegend; private: void UpdateOrientation(); void UpdateDisplayExtent(); + void ConvertImageToImageDisplayExtent(vtkInformation *sourceImage, const int sourceExtent[6], + vtkImageData *targetImage, int targetExtent[6]); void ConvertImageToImageDisplayExtent(vtkImageData *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