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

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

#include <BOPAlgo_PWireEdgeSet.hxx>
#include <BOPTools_ListOfConnexityBlock.hxx>
#include <BOPAlgo_Algo.hxx>
#include <BOPCol_BaseAllocator.hxx>
#include <BOPCol_ListOfShape.hxx>
#include <BOPTools_ConnexityBlock.hxx>
class BOPAlgo_WireEdgeSet;
class TopoDS_Wire;
class TopoDS_Face;



class BOPAlgo_WireSplitter  : public BOPAlgo_Algo
{
public:

  DEFINE_STANDARD_ALLOC

  
  Standard_EXPORT BOPAlgo_WireSplitter();
Standard_EXPORT virtual ~BOPAlgo_WireSplitter();
  
  Standard_EXPORT BOPAlgo_WireSplitter(const BOPCol_BaseAllocator& theAllocator);
  
  Standard_EXPORT   void SetWES (const BOPAlgo_WireEdgeSet& theWES) ;
  
  Standard_EXPORT   BOPAlgo_WireEdgeSet& WES() ;
  
  Standard_EXPORT virtual   void Perform() ;
  
    static   void MakeWire (BOPCol_ListOfShape& theLE, TopoDS_Wire& theW) ;
  
  Standard_EXPORT static   void SplitBlock (const TopoDS_Face& theF, BOPTools_ConnexityBlock& theCB) ;




protected:

  
  Standard_EXPORT virtual   void CheckData() ;
  
  Standard_EXPORT   void MakeConnexityBlocks() ;
  
  Standard_EXPORT   void MakeWires() ;


  BOPAlgo_PWireEdgeSet myWES;
  BOPTools_ListOfConnexityBlock myLCB;


private:





};


#include <BOPAlgo_WireSplitter.lxx>





#endif // _BOPAlgo_WireSplitter_HeaderFile
