// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _TDataXtd_Position_HeaderFile
#define _TDataXtd_Position_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_TDataXtd_Position.hxx>

#include <gp_Pnt.hxx>
#include <TDF_Attribute.hxx>
#include <Standard_Boolean.hxx>
#include <Handle_TDF_Attribute.hxx>
#include <Handle_TDF_RelocationTable.hxx>
class TDF_Label;
class gp_Pnt;
class Standard_GUID;
class TDF_Attribute;
class TDF_RelocationTable;


//! Position of a Label
class TDataXtd_Position : public TDF_Attribute
{

public:

  
  //! Create if not found the TDataXtd_Position attribute set its position to <aPos>
  Standard_EXPORT static   void Set (const TDF_Label& aLabel, const gp_Pnt& aPos) ;
  
  //! Find an existing, or create an empty, Position.
  //! the Position attribute is returned.
  Standard_EXPORT static   Handle(TDataXtd_Position) Set (const TDF_Label& aLabel) ;
  
  //! Search label <aLabel) for the TDataXtd_Position attribute and get its position
  //! if found returns True
  Standard_EXPORT static   Standard_Boolean Get (const TDF_Label& aLabel, gp_Pnt& aPos) ;
  
  Standard_EXPORT TDataXtd_Position();
  
  //! Returns the ID of the attribute.
  Standard_EXPORT  const  Standard_GUID& ID()  const;
  
  //! Returns the ID of the attribute.
  Standard_EXPORT static  const  Standard_GUID& GetID() ;
  
  //! Restores the contents from <anAttribute> into this
  //! one. It is used when aborting a transaction.
  Standard_EXPORT virtual   void Restore (const Handle(TDF_Attribute)& anAttribute) ;
  
  //! Returns an new empty attribute from the good end
  //! type. It is used by the copy algorithm.
  Standard_EXPORT virtual   Handle(TDF_Attribute) NewEmpty()  const;
  
  //! This method is different from the "Copy" one,
  //! because it is used when copying an attribute from
  //! a source structure into a target structure. This
  //! method pastes the current attribute to the label
  //! corresponding to the insertor. The pasted
  //! attribute may be a brand new one or a new version
  //! of the previous one.
  Standard_EXPORT virtual   void Paste (const Handle(TDF_Attribute)& intoAttribute, const Handle(TDF_RelocationTable)& aRelocTationable)  const;
  
  Standard_EXPORT  const  gp_Pnt& GetPosition()  const;
  
  Standard_EXPORT   void SetPosition (const gp_Pnt& aPos) ;




  DEFINE_STANDARD_RTTI(TDataXtd_Position)

protected:




private: 


  gp_Pnt myPosition;


};







#endif // _TDataXtd_Position_HeaderFile
