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

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

#include <TopoDS_Shape.hxx>
#include <HLRTopoBRep_Data.hxx>
#include <MMgt_TShared.hxx>
#include <Standard_Integer.hxx>
class TopoDS_Shape;
class HLRTopoBRep_Data;
class HLRAlgo_Projector;
class BRepTopAdaptor_MapOfShapeTool;
class TopoDS_Face;



class HLRTopoBRep_OutLiner : public MMgt_TShared
{

public:

  
  Standard_EXPORT HLRTopoBRep_OutLiner();
  
  Standard_EXPORT HLRTopoBRep_OutLiner(const TopoDS_Shape& OriSh);
  
  Standard_EXPORT HLRTopoBRep_OutLiner(const TopoDS_Shape& OriS, const TopoDS_Shape& OutS);
  
      void OriginalShape (const TopoDS_Shape& OriS) ;
  
      TopoDS_Shape& OriginalShape() ;
  
      void OutLinedShape (const TopoDS_Shape& OutS) ;
  
      TopoDS_Shape& OutLinedShape() ;
  
      HLRTopoBRep_Data& DataStructure() ;
  
  Standard_EXPORT   void Fill (const HLRAlgo_Projector& P, BRepTopAdaptor_MapOfShapeTool& MST, const Standard_Integer nbIso) ;




  DEFINE_STANDARD_RTTI(HLRTopoBRep_OutLiner)

protected:




private: 

  
  //! Builds faces from F and add them to S.
  Standard_EXPORT   void ProcessFace (const TopoDS_Face& F, TopoDS_Shape& S, BRepTopAdaptor_MapOfShapeTool& M) ;
  
  Standard_EXPORT   void BuildShape (BRepTopAdaptor_MapOfShapeTool& M) ;

  TopoDS_Shape myOriginalShape;
  TopoDS_Shape myOutLinedShape;
  HLRTopoBRep_Data myDS;


};


#include <HLRTopoBRep_OutLiner.lxx>





#endif // _HLRTopoBRep_OutLiner_HeaderFile
