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

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

#include <Bnd_Box2d.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Real.hxx>
#include <Standard_Integer.hxx>
class Standard_OutOfRange;
class Bnd_Box2d;
class gp_Pnt2d;


//! Describes the necessary polygon information to compute
//! the interferences.
class Intf_Polygon2d 
{
public:

  DEFINE_STANDARD_ALLOC

  
  //! Returns the bounding box of the polygon.
     const  Bnd_Box2d& Bounding()  const;
  
  //! Returns True if the polyline is closed.
  Standard_EXPORT virtual   Standard_Boolean Closed()  const;
  virtual ~Intf_Polygon2d() {}
  
  //! Returns the tolerance of the polygon.
  Standard_EXPORT virtual   Standard_Real DeflectionOverEstimation()  const = 0;
  
  //! Returns the number of Segments in the polyline.
  Standard_EXPORT virtual   Standard_Integer NbSegments()  const = 0;
  
  //! Returns the points of the segment <Index> in the Polygon.
  Standard_EXPORT virtual   void Segment (const Standard_Integer theIndex, gp_Pnt2d& theBegin, gp_Pnt2d& theEnd)  const = 0;




protected:



  Bnd_Box2d myBox;


private:





};


#include <Intf_Polygon2d.lxx>





#endif // _Intf_Polygon2d_HeaderFile
