1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
|
// 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 _BRepFill_Pipe_HeaderFile
#define _BRepFill_Pipe_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>
#include <TopoDS_Wire.hxx>
#include <TopoDS_Shape.hxx>
#include <gp_Trsf.hxx>
#include <Handle_BRepFill_LocationLaw.hxx>
#include <Handle_TopTools_HArray2OfShape.hxx>
#include <TopTools_MapOfShape.hxx>
#include <BRepFill_DataMapOfShapeHArray2OfShape.hxx>
#include <Standard_Integer.hxx>
#include <GeomAbs_Shape.hxx>
#include <GeomFill_Trihedron.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Real.hxx>
class BRepFill_LocationLaw;
class TopTools_HArray2OfShape;
class Standard_DomainError;
class StdFail_NotDone;
class TopoDS_Wire;
class TopoDS_Shape;
class TopoDS_Face;
class TopoDS_Edge;
class TopoDS_Vertex;
class gp_Pnt;
//! Create a shape by sweeping a shape (the profile)
//! along a wire (the spine).
//!
//! For each edge or vertex from the spine the user
//! may ask for the shape generated from each subshape
//! of the profile.
class BRepFill_Pipe
{
public:
DEFINE_STANDARD_ALLOC
Standard_EXPORT BRepFill_Pipe();
Standard_EXPORT BRepFill_Pipe(const TopoDS_Wire& Spine, const TopoDS_Shape& Profile, const GeomFill_Trihedron aMode = GeomFill_IsCorrectedFrenet, const Standard_Boolean ForceApproxC1 = Standard_False, const Standard_Boolean GeneratePartCase = Standard_False);
Standard_EXPORT void Perform (const TopoDS_Wire& Spine, const TopoDS_Shape& Profile, const Standard_Boolean GeneratePartCase = Standard_False) ;
Standard_EXPORT const TopoDS_Shape& Spine() const;
Standard_EXPORT const TopoDS_Shape& Profile() const;
Standard_EXPORT const TopoDS_Shape& Shape() const;
Standard_EXPORT Standard_Real ErrorOnSurface() const;
Standard_EXPORT const TopoDS_Shape& FirstShape() const;
Standard_EXPORT const TopoDS_Shape& LastShape() const;
//! Returns the face created from an edge of the spine
//! and an edge of the profile.
//! if the edges are not in the spine or the profile
Standard_EXPORT TopoDS_Face Face (const TopoDS_Edge& ESpine, const TopoDS_Edge& EProfile) ;
//! Returns the edge created from an edge of the spine
//! and a vertex of the profile.
//! if the edge or the vertex are not in the spine or
//! the profile.
Standard_EXPORT TopoDS_Edge Edge (const TopoDS_Edge& ESpine, const TopoDS_Vertex& VProfile) ;
//! Returns the shape created from the profile at the
//! position of the vertex VSpine.
//! if the vertex is not in the Spine
Standard_EXPORT TopoDS_Shape Section (const TopoDS_Vertex& VSpine) const;
//! Create a Wire by sweeping the Point along the <spine>
//! if the <Spine> is undefined
Standard_EXPORT TopoDS_Wire PipeLine (const gp_Pnt& Point) ;
protected:
private:
//! Auxiliary recursive method used to build the
//! result.
Standard_EXPORT TopoDS_Shape MakeShape (const TopoDS_Shape& S, const TopoDS_Shape& FirstShape, const TopoDS_Shape& LastShape) ;
//! Auxiliary recursive method used to find the edge's index
Standard_EXPORT Standard_Integer FindEdge (const TopoDS_Shape& S, const TopoDS_Edge& E, Standard_Integer& Init) const;
Standard_EXPORT Standard_Integer FindVertex (const TopoDS_Shape& S, const TopoDS_Vertex& V, Standard_Integer& Init) const;
Standard_EXPORT void DefineRealSegmax() ;
Standard_EXPORT void RebuildTopOrBottomFace (const TopoDS_Shape& aFace, const Standard_Boolean IsTop) const;
//! Performs sharing coincident faces in theShape. Also modifies
//! myFaces, mySections and myEdges to contain shared shapes.
//! Returns the shared shape. If theShape is not modified this
//! method returns it.
Standard_EXPORT TopoDS_Shape ShareFaces (const TopoDS_Shape& theShape, const Standard_Integer theInitialFacesLen, const Standard_Integer theInitialEdgesLen, const Standard_Integer theInitialSectionsLen) ;
TopoDS_Wire mySpine;
TopoDS_Shape myProfile;
TopoDS_Shape myShape;
gp_Trsf myTrsf;
Handle(BRepFill_LocationLaw) myLoc;
Handle(TopTools_HArray2OfShape) mySections;
Handle(TopTools_HArray2OfShape) myFaces;
Handle(TopTools_HArray2OfShape) myEdges;
TopTools_MapOfShape myReversedEdges;
BRepFill_DataMapOfShapeHArray2OfShape myTapes;
BRepFill_DataMapOfShapeHArray2OfShape myRails;
Standard_Integer myCurIndexOfSectionEdge;
TopoDS_Shape myFirst;
TopoDS_Shape myLast;
Standard_Integer myDegmax;
Standard_Integer mySegmax;
GeomAbs_Shape myContinuity;
GeomFill_Trihedron myMode;
Standard_Boolean myForceApproxC1;
Standard_Real myErrorOnSurf;
};
#endif // _BRepFill_Pipe_HeaderFile
|