]> Creatis software - clitk.git/blobdiff - vv/vvROIActor.h
Debug RTStruct conversion with empty struc
[clitk.git] / vv / vvROIActor.h
index bb5c16b740c4e8f2d40e5e8b43da729593973b7d..799d339288fa52e82e0b9a2178f71d45a833bc58 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
 
   - BSD        See included LICENSE.txt file
   - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
-======================================================================-====*/
+===========================================================================**/
 
 #ifndef VVROIACTOR_H
 #define VVROIACTOR_H
 
+#include "vvBinaryImageOverlayActor.h"
+#include "vvImageContour.h"
 #include "clitkDicomRT_ROI.h"
+
 #include <QObject>
+#include <QSharedPointer>
 
 class vvSlicerManager;
-class vvImageContour;
-class vvBinaryImageOverlayActor;
 class vtkActor;
 
 //------------------------------------------------------------------------------
@@ -37,27 +39,46 @@ class vvROIActor: public QObject {
   void SetROI(clitk::DicomRT_ROI * r);
   clitk::DicomRT_ROI * GetROI() { return mROI; }
   void SetSlicerManager(vvSlicerManager * s);
-  void Update();
-  void Initialize();
+  void Update(bool force=false);
+  void Initialize(double d=1.0, bool IsVisible=true);
   void SetVisible(bool b);
+  void SetContourVisible(bool b);
   bool IsVisible();
+  bool IsContourVisible();
   void SetOpacity(double x);
   double GetOpacity();
   void SetSelected(bool b);
+  void SetContourWidth(int n);
+  int GetContourWidth() { return mContourWidth; }
+  void SetContourColor(double r, double v, double b);
+  std::vector<double> & GetContourColor();  
+  void SetOverlayColor(double r, double v, double b);
+  std::vector<double> & GetOverlayColor();
+  void SetBGMode(bool b) { m_modeBG = b; }
+  void SetDepth(double d);
+  double GetDepth() { return mDepth; }
+  void CopyParameters(QSharedPointer<vvROIActor> roi);
+  void RemoveActors();
 
 public slots:
-  void UpdateSlice(int slicer, int slices);
+  void UpdateSlice(int slicer, int slices, int force=0);
   void UpdateColor();
+  void UpdateImage();
 
  protected:
-  clitk::DicomRT_ROI * mROI;
+  clitk::DicomRT_ROI::Pointer mROI;
   vvSlicerManager * mSlicerManager;
-  std::vector<vvImageContour *> mImageContour;
-  std::vector<vvBinaryImageOverlayActor *> mOverlayActors;
-  
+  std::vector<vvImageContour::Pointer> mImageContour;
+  std::vector< vvBinaryImageOverlayActor::Pointer > mOverlayActors;
+
   bool mIsVisible;
+  bool mIsContourVisible;
   double mOpacity;
   bool mIsSelected;
+  int mContourWidth;
+  std::vector<double> mContourColor;
+  bool m_modeBG;
+  double mDepth;
 
 }; // end class vvROIActor
 //------------------------------------------------------------------------------