]> Creatis software - clitk.git/blobdiff - vv/vvSlicerManager.h
Use smart pointers for vvSlicers
[clitk.git] / vv / vvSlicerManager.h
index 427289102e7e9a070279c8b666b269bbca05257f..ea079c426bb359dd6ebf1d41282d1d8f31e7ce6c 100644 (file)
@@ -40,6 +40,8 @@ class vtkPolyData;
 #include "clitkCommon.h"
 #include "vvImage.h"
 #include "vvMesh.h"
+#include "vvImageReader.h"
+
 class vvSlicer;
 class vvInteractorStyleNavigator;
 class vvImageReader;
@@ -154,7 +156,7 @@ class vvSlicerManager : public QObject {
     return mFusionLevel;
   }
 
-  void SetCursorVisibility(int s);
+  void SetCursorAndCornerAnnotationVisibility(int s);
   void UpdateViews(int current, int slicer);
   void UpdateLinked(int slicer);
   void UpdateLinkedNavigation(vvSlicer *slicer, bool bPropagate=false);
@@ -176,6 +178,7 @@ class vvSlicerManager : public QObject {
   void ReloadVF();
 
   void Activated();
+  void Picked();
   void UpdateInfoOnCursorPosition(int slicer);
   void UpdateWindowLevel();
   void UpdateSlice(int slicer);
@@ -189,9 +192,11 @@ class vvSlicerManager : public QObject {
   void PrevImage(int slicer);
   void LeftButtonReleaseEvent(int slicer);
   void VerticalSliderHasChanged(int slicer, int slice);
+  double GetScalarComponentAsDouble(vtkImageData *image, double X, double Y, double Z, int component=0);
 
 signals :
   void currentImageChanged(std::string id);
+  void currentPickedImageChanged(std::string id);
   void UpdatePosition(int visibility,double x, double y, double z, double X, double Y, double Z, double value);
   void UpdateVector(int display, double x, double y, double z, double value);
   void UpdateOverlay(int display, double valueOver, double valueRef);
@@ -209,13 +214,13 @@ signals :
   void AVerticalSliderHasChanged(int slicer, int slice);
 
 protected:
-  std::vector<vvSlicer*> mSlicers;
-  vvImageReader* mReader;
-  vvImageReader* mOverlayReader;
-  vvImageReader* mFusionReader;
+  std::vector< vtkSmartPointer<vvSlicer> > mSlicers;
+  vvImageReader::Pointer mReader;
+  vvImageReader::Pointer mOverlayReader;
+  vvImageReader::Pointer mFusionReader;
+  vvImageReader::Pointer mVectorReader;
   vvImage::Pointer mImage;
   vvImage::Pointer mVF;
-  vvImageReader* mVectorReader;
   int mColorMap;
   int mOverlayColor;