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

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

#include <TopoDS_Shape.hxx>
#include <TopoDS_Wire.hxx>
#include <Standard_Boolean.hxx>
#include <TopTools_MapOfShape.hxx>
#include <BRepOffsetAPI_SequenceOfSequenceOfShape.hxx>
#include <BRepBuilderAPI_MakeShape.hxx>
class TopoDS_Shape;


//! Describes functions to build a middle path of a
//! pipe-like shape
class BRepOffsetAPI_MiddlePath  : public BRepBuilderAPI_MakeShape
{
public:

  DEFINE_STANDARD_ALLOC

  
  //! General constructor.
  //! StartShape and EndShape may be
  //! a wire or a face
  Standard_EXPORT BRepOffsetAPI_MiddlePath(const TopoDS_Shape& aShape, const TopoDS_Shape& StartShape, const TopoDS_Shape& EndShape);
  
  Standard_EXPORT virtual   void Build() ;




protected:





private:



  TopoDS_Shape myInitialShape;
  TopoDS_Wire myStartWire;
  TopoDS_Wire myEndWire;
  Standard_Boolean myClosedSection;
  Standard_Boolean myClosedRing;
  TopTools_MapOfShape myStartWireEdges;
  TopTools_MapOfShape myEndWireEdges;
  BRepOffsetAPI_SequenceOfSequenceOfShape myPaths;


};







#endif // _BRepOffsetAPI_MiddlePath_HeaderFile
