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

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

#include <Standard_Boolean.hxx>
#include <Handle_Geom_Curve.hxx>
#include <TopoDS_Face.hxx>
#include <Handle_Geom2d_Curve.hxx>
#include <gp_Pnt.hxx>
#include <Standard_Real.hxx>
class Geom_Curve;
class Geom2d_Curve;
class Standard_DomainError;
class TopoDS_Face;
class gp_Pnt;



class Draft_EdgeInfo 
{
public:

  DEFINE_STANDARD_ALLOC

  
  Standard_EXPORT Draft_EdgeInfo();
  
  Standard_EXPORT Draft_EdgeInfo(const Standard_Boolean HasNewGeometry);
  
  Standard_EXPORT   void Add (const TopoDS_Face& F) ;
  
  Standard_EXPORT   void RootFace (const TopoDS_Face& F) ;
  
  Standard_EXPORT   void Tangent (const gp_Pnt& P) ;
  
  Standard_EXPORT   Standard_Boolean IsTangent (gp_Pnt& P)  const;
  
  Standard_EXPORT   Standard_Boolean NewGeometry()  const;
  
  Standard_EXPORT   void SetNewGeometry (const Standard_Boolean NewGeom) ;
  
  Standard_EXPORT  const  Handle(Geom_Curve)& Geometry()  const;
  
  Standard_EXPORT  const  TopoDS_Face& FirstFace()  const;
  
  Standard_EXPORT  const  TopoDS_Face& SecondFace()  const;
  
  Standard_EXPORT  const  Handle(Geom2d_Curve)& FirstPC()  const;
  
  Standard_EXPORT  const  Handle(Geom2d_Curve)& SecondPC()  const;
  
  Standard_EXPORT   Handle(Geom_Curve)& ChangeGeometry() ;
  
  Standard_EXPORT   Handle(Geom2d_Curve)& ChangeFirstPC() ;
  
  Standard_EXPORT   Handle(Geom2d_Curve)& ChangeSecondPC() ;
  
  Standard_EXPORT  const  TopoDS_Face& RootFace()  const;
  
  Standard_EXPORT   void Tolerance (const Standard_Real tol) ;
  
  Standard_EXPORT   Standard_Real Tolerance()  const;




protected:





private:



  Standard_Boolean myNewGeom;
  Handle(Geom_Curve) myGeom;
  TopoDS_Face myFirstF;
  TopoDS_Face mySeconF;
  Handle(Geom2d_Curve) myFirstPC;
  Handle(Geom2d_Curve) mySeconPC;
  TopoDS_Face myRootFace;
  Standard_Boolean myTgt;
  gp_Pnt myPt;
  Standard_Real myTol;


};







#endif // _Draft_EdgeInfo_HeaderFile
