#ifndef _ShapePersistent_HSequence_HeaderFile
#define _ShapePersistent_HSequence_HeaderFile
+#include <Standard_NotImplemented.hxx>
+
#include <StdObjMgt_Persistent.hxx>
#include <StdObject_gp_Vectors.hxx>
//! Read persistent data from a file.
Standard_EXPORT virtual void Read (StdObjMgt_ReadData& theReadData);
+ //! Write persistent data to a file.
+ Standard_EXPORT virtual void Write (StdObjMgt_WriteData& theWriteData) const;
+
+ //! Gets persistent objects
+ Standard_EXPORT virtual void PChildren (SequenceOfPersistent& theChildren) const
+ {
+ theChildren.Append(this->myPreviuos);
+ theChildren.Append(this->myNext);
+ }
+
+ //! Returns persistent type name
+ Standard_EXPORT virtual Standard_CString PName() const
+ {
+ Standard_NotImplemented::Raise("ShapePersistent_HSequence::node::PName - not implemented");
+ return "";
+ }
+
const Handle(node)& Previuos() const { return myPreviuos; }
const Handle(node)& Next() const { return myNext; }
const ItemType& Item() const { return myItem; }
//! Read persistent data from a file.
Standard_EXPORT virtual void Read (StdObjMgt_ReadData& theReadData);
+ //! Write persistent data to a file.
+ Standard_EXPORT virtual void Write (StdObjMgt_WriteData& theWriteData) const;
+
+ //! Gets persistent objects
+ Standard_EXPORT virtual void PChildren(SequenceOfPersistent& theChildren) const
+ {
+ theChildren.Append(this->myFirst);
+ theChildren.Append(this->myLast);
+ }
+
+ //! Returns persistent type name
+ Standard_EXPORT virtual Standard_CString PName() const
+ {
+ Standard_NotImplemented::Raise("ShapePersistent_HSequence::instance::PName - not implemented");
+ return "";
+ }
+
//! Import transient object from the persistent data.
Standard_EXPORT Handle(SequenceClass) Import() const;
typedef instance<TColgp_HSequenceOfVec> Vec;
};
+//=======================================================================
+// XYZ
+//=======================================================================
+template<>
+Standard_CString ShapePersistent_HSequence::instance<TColgp_HSequenceOfXYZ>
+ ::PName() const;
+
+template<>
+Standard_CString ShapePersistent_HSequence::node<TColgp_HSequenceOfXYZ>
+ ::PName() const;
+
+//=======================================================================
+// Pnt
+//=======================================================================
+template<>
+Standard_CString ShapePersistent_HSequence::instance<TColgp_HSequenceOfPnt>
+ ::PName() const;
+
+template<>
+Standard_CString ShapePersistent_HSequence::node<TColgp_HSequenceOfPnt>
+ ::PName() const;
+
+//=======================================================================
+// Dir
+//=======================================================================
+template<>
+Standard_CString ShapePersistent_HSequence::instance<TColgp_HSequenceOfDir>
+ ::PName() const;
+
+template<>
+Standard_CString ShapePersistent_HSequence::node<TColgp_HSequenceOfDir>
+ ::PName() const;
+
+//=======================================================================
+// Vec
+//=======================================================================
+template<>
+Standard_CString ShapePersistent_HSequence::instance<TColgp_HSequenceOfVec>
+ ::PName() const;
+
+template<>
+Standard_CString ShapePersistent_HSequence::node<TColgp_HSequenceOfVec>
+ ::PName() const;
+
#endif