]> Creatis software - clitk.git/blobdiff - common/clitkDicomRT_Contour.h
Merge branch 'master' of /home/dsarrut/clitk3.server
[clitk.git] / common / clitkDicomRT_Contour.h
index 940f25a7371e609d3b0186d054958e566ecd52fc..0484da6c3c0301517089e37874f3f30c0f46b938 100644 (file)
@@ -4,7 +4,7 @@
 
   Authors belongs 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
 #define CLITKDICOMRT_CONTOUR_H
 
 #include "clitkCommon.h" 
-#include "clitkDicomRT_Contour.h"
+#include <gdcmFile.h>
+#if GDCM_MAJOR_VERSION == 2
+#else
 #include <gdcm.h>
 #include <gdcmSQItem.h>
+#endif
 #include <vtkPoints.h>
 #include <vtkPolyData.h>
+#include <vtkSmartPointer.h>
 
 namespace clitk {
 
-  //--------------------------------------------------------------------
-  class DicomRT_Contour {
-    
-  public:
-    DicomRT_Contour();
-    ~DicomRT_Contour();
-
-    void Print(std::ostream & os = std::cout) const;
-    bool Read(gdcm::SQItem * item);
-    vtkPolyData * GetMesh();
-    vtkPoints * GetPoints() {return mData;}
-    double GetZ() const {return mZ;}
-    
-  protected:
-    void ComputeMesh();
-    unsigned int mNbOfPoints;
-    std::string mType;
-    vtkPoints * mData;
-    vtkPolyData * mMesh;
-    bool mMeshIsUpToDate;
-    ///Z location of the contour
-    double mZ;
-
-  };
-  //--------------------------------------------------------------------
+//--------------------------------------------------------------------
+class DicomRT_Contour : public itk::LightObject{
+  
+public:
+  typedef DicomRT_Contour Self;
+  typedef itk::SmartPointer<Self> Pointer;
+  itkNewMacro(Self);
+
+  void Print(std::ostream & os = std::cout) const;
+#if GDCM_MAJOR_VERSION == 2
+  bool Read(gdcm::Item const & item);
+#else
+  bool Read(gdcm::SQItem * item);
+#endif
+  vtkPolyData * GetMesh();
+  vtkPoints * GetPoints() {return mData;}
+  double GetZ() const {return mZ;}
+  
+protected:
+  void ComputeMesh();
+  unsigned int mNbOfPoints;
+  std::string mType;
+  vtkSmartPointer<vtkPoints> mData;
+  vtkSmartPointer<vtkPolyData> mMesh;
+  vtkSmartPointer<vtkPoints> mPoints;
+  bool mMeshIsUpToDate;
+  ///Z location of the contour
+  double mZ;
+
+private:
+  DicomRT_Contour();
+  ~DicomRT_Contour();
+};
+//--------------------------------------------------------------------