X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkDicomRT_Contour.h;h=88100f4f9ee213d40ce2c7d869c4251fdac77e14;hb=8ba069c89cddf44e9bd529b781bb5ddfd8d21adf;hp=b59976969eaac0d6ce3808f25ef0bf88c2f60189;hpb=163fa80ef3873595f3e3cf75fb03e53536d1a6ee;p=clitk.git diff --git a/common/clitkDicomRT_Contour.h b/common/clitkDicomRT_Contour.h index b599769..88100f4 100644 --- a/common/clitkDicomRT_Contour.h +++ b/common/clitkDicomRT_Contour.h @@ -21,63 +21,45 @@ #define CLITKDICOMRT_CONTOUR_H #include "clitkCommon.h" -#include "clitkDicomRT_Contour.h" #include #include #include #include +#include namespace clitk { - //-------------------------------------------------------------------- - class DicomRT_Contour { - - public: - DicomRT_Contour(); - ~DicomRT_Contour(); +//-------------------------------------------------------------------- +class DicomRT_Contour : public itk::LightObject{ + +public: + typedef DicomRT_Contour Self; + typedef itk::SmartPointer Pointer; + itkNewMacro(Self); - void Print(std::ostream & os = std::cout) const; - bool Read(gdcm::SQItem * item); - vtkPolyData * GetMesh(); - - protected: - void ComputeMesh(); - unsigned int mNbOfPoints; - std::string mType; - vtkPoints * mData; - vtkPolyData * mMesh; - bool mMeshIsUpToDate; + 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; + vtkSmartPointer mData; + vtkSmartPointer mMesh; + vtkSmartPointer mPoints; + bool mMeshIsUpToDate; + ///Z location of the contour + double mZ; - }; - //-------------------------------------------------------------------- +private: + DicomRT_Contour(); + ~DicomRT_Contour(); +}; +//-------------------------------------------------------------------- - //-------------------------------------------------------------------- - template - ElementType parse_value(std::string str) - { - std::istringstream parser(str); - ElementType value; - parser >> value; - if (parser.fail()) { - DD(str); - DD(value); - } - assert(!parser.fail()); - return value; - } - - template - std::vector parse_string(std::string str,char delim) { - std::istringstream ss(str); - std::string token; - std::vector result; - while (getline(ss,token,delim)) - { - result.push_back(parse_value(token)); - } - return result; - } - //-------------------------------------------------------------------- } // end namespace clitk