]> Creatis software - clitk.git/blobdiff - vv/vvImageContour.h
Correct LR or S1. Add Post S1 S3P. Add Post S1 and Ant S2RL
[clitk.git] / vv / vvImageContour.h
index 66473d37320063b456d9481c379f32e9f77d0476..2c92abb07551028e6d0794dd99379ee2ceb6ec6f 100644 (file)
@@ -3,7 +3,7 @@
 
   Authors belong to: 
   - University of LYON              http://www.universite-lyon.fr/
-  - Léon Bérard cancer center       http://oncora1.lyon.fnclcc.fr
+  - Léon Bérard cancer center       http://www.centreleonberard.fr
   - CREATIS CNRS laboratory         http://www.creatis.insa-lyon.fr
 
   This software is distributed WITHOUT ANY WARRANTY; without even
@@ -14,7 +14,7 @@
 
   - BSD        See included LICENSE.txt file
   - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
-======================================================================-====*/
+===========================================================================**/
 #ifndef VVIMAGECONTOUR_H
 #define VVIMAGECONTOUR_H
 
@@ -27,12 +27,13 @@ class vtkActor;
 class vvImage;
 
 //------------------------------------------------------------------------------
-class vvImageContour
+class vvImageContour: public itk::LightObject
 {
   //  Q_OBJECT
- public:
-  vvImageContour();
-  ~vvImageContour();
+public:
+  typedef vvImageContour Self;
+  typedef itk::SmartPointer<Self> Pointer;
+  itkNewMacro(Self);
 
   void SetSlicer(vvSlicer * slicer);
   void Update(double value);
@@ -42,8 +43,9 @@ class vvImageContour
   void SetLineWidth(double w);
   void SetImage(vvImage * image);
   void SetPreserveMemoryModeEnabled(bool b);
+  void SetDepth(double d) { mDepth = d; }
 
- protected:
+protected:
   vvSlicer * mSlicer;
   int mSlice;
   int mTSlice;
@@ -53,11 +55,13 @@ class vvImageContour
   bool mHiddenImageIsUsed;
   vvImage * mHiddenImage;
   bool mDisplayModeIsPreserveMemory;
+  double mDepth;
 
   // For preserveMemory mode
+  std::vector<vtkSmartPointer<vtkActor> > mSquaresActorList;
   std::vector<vtkSmartPointer<vtkImageClip> > mClipperList;
   std::vector<vtkSmartPointer<vtkMarchingSquares> > mSquaresList;
-  std::vector<vtkSmartPointer<vtkActor> > mSquaresActorList;
+  std::vector<vtkSmartPointer<vtkPolyDataMapper> > mSquaresMapperList;
 
   // For fast cache mode
   int mPreviousSlice;
@@ -68,17 +72,16 @@ class vvImageContour
   void InitializeCacheMode();
   void UpdateWithPreserveMemoryMode();
   void UpdateWithFastCacheMode();
-  void CreateNewActor(vtkActor ** actor, 
-                     vtkMarchingSquares ** squares, 
-                      vtkImageClip ** clipper, 
-                      int numImage);
-  void UpdateActor(vtkActor * actor, 
-                  vtkMarchingSquares * squares,
-                  vtkImageClip * clipper, 
-                  double threshold, int orientation, int slice);
+  void CreateNewActor(int numImage);
+  void UpdateActor(vtkActor * actor, vtkPolyDataMapper * mapper, vtkMarchingSquares * squares, vtkImageClip * clipper,
+                   double threshold, int orientation, int slice);
   void CreateActor(int orientation, int slice);
   int ComputeCurrentOrientation();
-  
+
+private:
+  vvImageContour();
+  ~vvImageContour();
+    int mPreviousTslice;
 }; // end class vvImageContour
 //------------------------------------------------------------------------------