00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __frePointSetToXMLStreamObject_h
00023 #define __frePointSetToXMLStreamObject_h
00024
00025 #include "freXMLStreamObject.h"
00026
00027 namespace FREE
00028 {
00029
00030 freXMLTagMacro(PointSet, "PointSet");
00031 freXMLTagMacro(Point, "Point");
00032 freXMLTagMacro(PointSetDim, "PointSetDim");
00033
00039 template <class TPointSet>
00040 class ITK_EXPORT PointSetToXMLStreamObject:
00041 public XMLStreamObject
00042 {
00043 public:
00045 typedef PointSetToXMLStreamObject Self;
00046 typedef XMLStreamObject Superclass;
00047 typedef TPointSet PointSetType;
00048 typedef typename PointSetType::Pointer PointSetPointer;
00049 typedef typename PointSetType::PointType PointType;
00050
00051
00053 itkTypeMacro(PointSetToXMLStreamObject, XMLStreamObject);
00054
00055 PointSetType* GetPointSet();
00056 void SetPointSet(PointSetType* pSet);
00057
00058 PointSetToXMLStreamObject();
00059
00060 protected:
00062 virtual void SubElementLoadProcessing(const std::string& rsXMLSubTag, const std::string& rsXMLSubElement, const std::string& rsXMLSubData);
00063
00064 virtual std::string SaveData(const unsigned int& iDepth, bool& bHasSubElements) const;
00065
00066 virtual void AttributesLoadProcessing(const AttributesType& rAttributes);
00067
00068 virtual void SaveAttributes(AttributesSaveListType& rAttributes) const;
00069
00070 PointSetPointer m_PointSet;
00071 };
00072
00073
00074 }
00075
00076 #ifndef ITK_MANUAL_INSTANTIATION
00077 #include "frePointSetToXMLStreamObject.txx"
00078 #endif
00079
00080 #endif