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

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

#include <MAT_SequenceOfArc.hxx>
#include <Standard_Boolean.hxx>
#include <MMgt_TShared.hxx>
#include <Handle_MAT_BasicElt.hxx>
#include <Standard_Integer.hxx>
#include <Handle_MAT_Arc.hxx>
#include <Handle_MAT_Node.hxx>
#include <MAT_Side.hxx>
class MAT_BasicElt;
class MAT_Arc;
class MAT_Node;



//! Definition of Zone of Proximity of a BasicElt :
//! ----------------------------------------------
//! A Zone of proximity is the set of the points which are
//! more near from the BasicElt than any other.
class MAT_Zone : public MMgt_TShared
{

public:

  
  Standard_EXPORT MAT_Zone();
  
  //! Compute the frontier of the Zone of proximity.
  Standard_EXPORT MAT_Zone(const Handle(MAT_BasicElt)& aBasicElt);
  
  //! Compute the frontier of the Zone of proximity.
  Standard_EXPORT   void Perform (const Handle(MAT_BasicElt)& aBasicElt) ;
  
  //! Return the number Of Arcs On the frontier of <me>.
  Standard_EXPORT   Standard_Integer NumberOfArcs()  const;
  
  //! Return the  Arc number <Index>  on the frontier.
  //! of  <me>.
  Standard_EXPORT   Handle(MAT_Arc) ArcOnFrontier (const Standard_Integer Index)  const;
  
  //! Return TRUE if <me> is not empty .
  Standard_EXPORT   Standard_Boolean NoEmptyZone()  const;
  
  //! Return TRUE if <me> is Limited.
  Standard_EXPORT   Standard_Boolean Limited()  const;




  DEFINE_STANDARD_RTTI(MAT_Zone)

protected:




private: 

  
  Standard_EXPORT   Handle(MAT_Node) NodeForTurn (const Handle(MAT_Arc)& anArc, const Handle(MAT_BasicElt)& aBasicElt, const MAT_Side aSide)  const;

  MAT_SequenceOfArc frontier;
  Standard_Boolean limited;


};







#endif // _MAT_Zone_HeaderFile
