]> Creatis software - clitk.git/blobdiff - vv/vvSlicer.h
Add clitkMergeRootFiles
[clitk.git] / vv / vvSlicer.h
index e647a19ac8ea768390a64a94b97cd9332a5318d8..0bffd1f36abcc46f92d5b43a3c51aab519685e59 100644 (file)
@@ -81,7 +81,7 @@ public:
   vtkActor* GetVFActor() ;
   vtkCornerAnnotation* GetAnnotation();
     
-  void SetFusion(vvImage::Pointer inputFusion, bool fusionSequenceFlag = false);
+  void SetFusion(vvImage::Pointer inputFusion, int fusionSequenceCode = -1);
   vvImage::Pointer GetFusion() {
     return mFusion;
   }
@@ -197,7 +197,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();
 
@@ -206,6 +206,8 @@ public:
   }
   void SetVFColor(double r, double g, double b);
 
+  //necessary to flag the secondary sequence
+  void SetFusionSequenceCode(int code) {mFusionSequenceCode=code;}
 protected:
   vvSlicer();
   ~vvSlicer();
@@ -218,7 +220,7 @@ protected:
 
   vvLandmarks* mLandmarks;
 
-  bool mFusionSequenceFlag; //flag used to indicate whether the 'fusion' data is actually a 'fusionSequence'
+  int mFusionSequenceCode; //-1: not involved in a fusion sequence, 0: main sequence (CT), 1: secondary sequence (US)
 
   //                         __________ Image coordinates accounting for spacing and origin
   //                            Λ  Λ
@@ -287,6 +289,14 @@ private:
   ///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