]> Creatis software - clitk.git/blobdiff - common/clitkDicomRT_Contour.h
Comment snoutID
[clitk.git] / common / clitkDicomRT_Contour.h
index 8596702eeb84edb2f3e086601b968c3e23cc1449..ab6db0d27d37565f99dc4dacb6db80e3b04a9948 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>
+#include <vtkMatrix4x4.h>
 
 namespace clitk {
 
@@ -38,20 +43,39 @@ public:
   itkNewMacro(Self);
 
   void Print(std::ostream & os = std::cout) const;
+
+#if GDCM_MAJOR_VERSION >= 2
+  bool Read(gdcm::Item * item);
+  void UpdateDicomItem();
+#else
   bool Read(gdcm::SQItem * item);
+#endif
+
   vtkPolyData * GetMesh();
+  void SetMesh(vtkPolyData * mesh);
   vtkPoints * GetPoints() {return mData;}
   double GetZ() const {return mZ;}
+  void SetTransformMatrix(vtkMatrix4x4* matrix);
+  
   
 protected:
-  void ComputeMesh();
+  void ComputeMeshFromDataPoints();
+  void ComputeDataPointsFromMesh();
   unsigned int mNbOfPoints;
   std::string mType;
-  vtkPoints * mData;
-  vtkPolyData * mMesh;
+  vtkSmartPointer<vtkPoints> mData;
+  vtkSmartPointer<vtkPolyData> mMesh;
+  vtkSmartPointer<vtkPoints> mPoints;
+  vtkSmartPointer<vtkMatrix4x4> mTransformMatrix;
   bool mMeshIsUpToDate;
   ///Z location of the contour
   double mZ;
+  
+#if GDCM_MAJOR_VERSION >= 2
+  gdcm::Item * mItem;
+#else
+  gdcm::SQItem * mItem;
+#endif
 
 private:
   DicomRT_Contour();