]> Creatis software - clitk.git/blobdiff - vv/vvSlicerManager.h
Romulo:
[clitk.git] / vv / vvSlicerManager.h
index 345bab8febbe94691d8c62304b45c55622da2cf6..eda2d227a2ead7e85b76b7f7be4a82e22ae430d5 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;
@@ -166,6 +168,10 @@ class vvSlicerManager : public QObject {
   void RemoveLink(std::string oldId) {
     mLinkedId.remove(oldId); 
   }
+  
+  bool IsLinked() {
+    return mLinkedId.size() > 0;
+  }
 
   ///Remove the actor defined by its type and index (example: 3rd contour)
   void RemoveActor(const std::string& actor_type, int overlay_index);
@@ -205,20 +211,20 @@ signals :
   void UpdateSliceRange(int slice, int min, int max, int tmin, int tmax);
   void WindowLevelChanged(double window, double level, int preset, int colormap);
   void UpdateLinkManager(std::string, int slicer, double x, double y, double z, int temps);
-  void UpdateLinkedNavigation(std::string, vvSlicerManager*);
+  void UpdateLinkedNavigation(std::string, vvSlicerManager*, vvSlicer*);
   void LandmarkAdded();
   void ChangeImageWithIndexOffset(vvSlicerManager *sm, int slicer, int offset);
   void LeftButtonReleaseSignal(int slicer);
   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;