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

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_AIS_BadEdgeFilter_HeaderFile
#include <Handle_AIS_BadEdgeFilter.hxx>
#endif

#ifndef _TopTools_DataMapOfIntegerListOfShape_HeaderFile
#include <TopTools_DataMapOfIntegerListOfShape.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _SelectMgr_Filter_HeaderFile
#include <SelectMgr_Filter.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _TopAbs_ShapeEnum_HeaderFile
#include <TopAbs_ShapeEnum.hxx>
#endif
#ifndef _Handle_SelectMgr_EntityOwner_HeaderFile
#include <Handle_SelectMgr_EntityOwner.hxx>
#endif
class SelectMgr_EntityOwner;
class TopoDS_Edge;


//! A Class <br>
class AIS_BadEdgeFilter : public SelectMgr_Filter {

public:

  //! Constructs an empty filter object for bad edges. <br>
  Standard_EXPORT   AIS_BadEdgeFilter();
  
  Standard_EXPORT   virtual  Standard_Boolean ActsOn(const TopAbs_ShapeEnum aType) const;
  
  Standard_EXPORT   virtual  Standard_Boolean IsOk(const Handle(SelectMgr_EntityOwner)& EO) const;
  //! sets  <myContour> with  current  contour. used  by <br>
//!          IsOk. <br>
  Standard_EXPORT     void SetContour(const Standard_Integer Index) ;
  //!  Adds an  edge  to the list  of non-selectionnable <br>
//!          edges. <br>
  Standard_EXPORT     void AddEdge(const TopoDS_Edge& anEdge,const Standard_Integer Index) ;
  //! removes from the  list of non-selectionnable edges <br>
//!          all edges in the contour <Index>. <br>
  Standard_EXPORT     void RemoveEdges(const Standard_Integer Index) ;




  DEFINE_STANDARD_RTTI(AIS_BadEdgeFilter)

protected:




private: 


TopTools_DataMapOfIntegerListOfShape myBadEdges;
Standard_Integer myContour;


};





// other Inline functions and methods (like "C++: function call" methods)


#endif
