// 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 _MgtPoly_HeaderFile
#define _MgtPoly_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>

#include <Handle_Poly_Triangulation.hxx>
#include <Handle_PPoly_Triangulation.hxx>
#include <Handle_Poly_Polygon3D.hxx>
#include <Handle_PPoly_Polygon3D.hxx>
#include <Handle_Poly_Polygon2D.hxx>
#include <Handle_PPoly_Polygon2D.hxx>
#include <Handle_Poly_PolygonOnTriangulation.hxx>
#include <Handle_PPoly_PolygonOnTriangulation.hxx>
class Poly_Triangle;
class PPoly_Triangle;
class Poly_Triangulation;
class PPoly_Triangulation;
class PTColStd_PersistentTransientMap;
class PTColStd_TransientPersistentMap;
class Poly_Polygon3D;
class PPoly_Polygon3D;
class Poly_Polygon2D;
class PPoly_Polygon2D;
class Poly_PolygonOnTriangulation;
class PPoly_PolygonOnTriangulation;


//! This  package   provides   methods  to   translate
//! transient objects from Poly to  persistent objects
//! from PPoly and vice-versa.
//! As far as objects can be shared (just as Geometry),
//! a map is given as translate argument.
class MgtPoly 
{
public:

  DEFINE_STANDARD_ALLOC

  
  //! translates Transient -> Persistent
  Standard_EXPORT static   Poly_Triangle Translate (const PPoly_Triangle& POjb) ;
  
  //! translates Persistent -> Transient
  Standard_EXPORT static   PPoly_Triangle Translate (const Poly_Triangle& TObj) ;
  
  //! translates Persistent -> Transient
  Standard_EXPORT static   Handle(Poly_Triangulation) Translate (const Handle(PPoly_Triangulation)& PObj, PTColStd_PersistentTransientMap& aMap) ;
  
  //! translates Transient -> Persistent
  Standard_EXPORT static   Handle(PPoly_Triangulation) Translate (const Handle(Poly_Triangulation)& TObj, PTColStd_TransientPersistentMap& aMap) ;
  
  //! translates Persistent -> Transient
  Standard_EXPORT static   Handle(Poly_Polygon3D) Translate (const Handle(PPoly_Polygon3D)& PObj, PTColStd_PersistentTransientMap& aMap) ;
  
  //! translates Transient -> Persistent
  Standard_EXPORT static   Handle(PPoly_Polygon3D) Translate (const Handle(Poly_Polygon3D)& TObj, PTColStd_TransientPersistentMap& aMap) ;
  
  //! translates Persistent -> Transient
  Standard_EXPORT static   Handle(Poly_Polygon2D) Translate (const Handle(PPoly_Polygon2D)& PObj, PTColStd_PersistentTransientMap& aMap) ;
  
  //! translates Transient -> Persistent
  Standard_EXPORT static   Handle(PPoly_Polygon2D) Translate (const Handle(Poly_Polygon2D)& TObj, PTColStd_TransientPersistentMap& aMap) ;
  
  //! translates Persistent -> Transient
  Standard_EXPORT static   Handle(Poly_PolygonOnTriangulation) Translate (const Handle(PPoly_PolygonOnTriangulation)& PObj, PTColStd_PersistentTransientMap& aMap) ;
  
  //! translates Transient -> Persistent
  Standard_EXPORT static   Handle(PPoly_PolygonOnTriangulation) Translate (const Handle(Poly_PolygonOnTriangulation)& TObj, PTColStd_TransientPersistentMap& aMap) ;




protected:





private:





};







#endif // _MgtPoly_HeaderFile
