File indexing completed on 2025-01-18 10:03:11
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _BRepFill_Evolved_HeaderFile
0018 #define _BRepFill_Evolved_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <TopoDS_Face.hxx>
0024 #include <TopoDS_Wire.hxx>
0025 #include <TopoDS_Shape.hxx>
0026 #include <GeomAbs_JoinType.hxx>
0027 #include <BRepFill_DataMapOfShapeDataMapOfShapeListOfShape.hxx>
0028 #include <TopTools_ListOfShape.hxx>
0029 #include <TopTools_DataMapOfShapeShape.hxx>
0030 class gp_Ax3;
0031 class BRepMAT2d_BisectingLocus;
0032 class BRepMAT2d_LinkTopoBilo;
0033 class BRepTools_Quilt;
0034 class TopLoc_Location;
0035 class TopoDS_Edge;
0036 class TopoDS_Vertex;
0037
0038
0039
0040
0041 class BRepFill_Evolved
0042 {
0043 public:
0044
0045 DEFINE_STANDARD_ALLOC
0046
0047
0048 Standard_EXPORT BRepFill_Evolved();
0049
0050
0051
0052
0053
0054
0055
0056 Standard_EXPORT BRepFill_Evolved(const TopoDS_Wire& Spine, const TopoDS_Wire& Profile, const gp_Ax3& AxeProf, const GeomAbs_JoinType Join = GeomAbs_Arc, const Standard_Boolean Solid = Standard_False);
0057
0058
0059
0060 Standard_EXPORT BRepFill_Evolved(const TopoDS_Face& Spine, const TopoDS_Wire& Profile, const gp_Ax3& AxeProf, const GeomAbs_JoinType Join = GeomAbs_Arc, const Standard_Boolean Solid = Standard_False);
0061
0062
0063
0064 Standard_EXPORT void Perform (const TopoDS_Wire& Spine, const TopoDS_Wire& Profile, const gp_Ax3& AxeProf, const GeomAbs_JoinType Join = GeomAbs_Arc, const Standard_Boolean Solid = Standard_False);
0065
0066
0067
0068 Standard_EXPORT void Perform (const TopoDS_Face& Spine, const TopoDS_Wire& Profile, const gp_Ax3& AxeProf, const GeomAbs_JoinType Join = GeomAbs_Arc, const Standard_Boolean Solid = Standard_False);
0069
0070 Standard_EXPORT Standard_Boolean IsDone() const;
0071
0072
0073 Standard_EXPORT const TopoDS_Shape& Shape() const;
0074
0075
0076
0077
0078 Standard_EXPORT const TopTools_ListOfShape& GeneratedShapes (const TopoDS_Shape& SpineShape, const TopoDS_Shape& ProfShape) const;
0079
0080 Standard_EXPORT GeomAbs_JoinType JoinType() const;
0081
0082
0083 Standard_EXPORT const TopoDS_Shape& Top() const;
0084
0085
0086 Standard_EXPORT const TopoDS_Shape& Bottom() const;
0087
0088
0089
0090
0091 protected:
0092
0093
0094
0095
0096
0097 private:
0098
0099
0100 Standard_EXPORT void PrivatePerform (const TopoDS_Face& Spine, const TopoDS_Wire& Profile, const gp_Ax3& AxeProf, const GeomAbs_JoinType Join = GeomAbs_Arc, const Standard_Boolean Solid = Standard_False);
0101
0102 Standard_EXPORT void SetWork (const TopoDS_Face& Spine, const TopoDS_Wire& Profile);
0103
0104 Standard_EXPORT void ElementaryPerform (const TopoDS_Face& Spine, const TopoDS_Wire& Profile, const BRepMAT2d_BisectingLocus& Locus, BRepMAT2d_LinkTopoBilo& Link, const GeomAbs_JoinType Join = GeomAbs_Arc);
0105
0106 Standard_EXPORT void PlanarPerform (const TopoDS_Face& Spine, const TopoDS_Wire& Profile, const BRepMAT2d_BisectingLocus& Locus, BRepMAT2d_LinkTopoBilo& Link, const GeomAbs_JoinType Join = GeomAbs_Arc);
0107
0108 Standard_EXPORT void VerticalPerform (const TopoDS_Face& Spine, const TopoDS_Wire& Profile, const BRepMAT2d_BisectingLocus& Locus, BRepMAT2d_LinkTopoBilo& Link, const GeomAbs_JoinType Join = GeomAbs_Arc);
0109
0110 Standard_EXPORT BRepFill_DataMapOfShapeDataMapOfShapeListOfShape& Generated();
0111
0112 Standard_EXPORT void Add (BRepFill_Evolved& Vevo, const TopoDS_Wire& Prof, BRepTools_Quilt& Glue);
0113
0114 Standard_EXPORT TopoDS_Shape& ChangeShape();
0115
0116 Standard_EXPORT void Transfert (BRepFill_Evolved& Vevo, const TopTools_DataMapOfShapeShape& MapProf, const TopTools_DataMapOfShapeShape& MapSpine, const TopLoc_Location& LS, const TopLoc_Location& InitLS, const TopLoc_Location& InitLP);
0117
0118
0119
0120
0121
0122
0123 Standard_EXPORT void PrepareProfile (TopTools_ListOfShape& WorkProf, TopTools_DataMapOfShapeShape& MapProf) const;
0124
0125
0126
0127
0128 Standard_EXPORT void PrepareSpine (TopoDS_Face& WorkSpine, TopTools_DataMapOfShapeShape& SpineProf) const;
0129
0130 Standard_EXPORT void MakePipe (const TopoDS_Edge& SpineEdge, const gp_Ax3& ProfRef);
0131
0132 Standard_EXPORT void MakeRevol (const TopoDS_Edge& SpineEdge, const TopoDS_Vertex& SpineVertex, const gp_Ax3& ProfRef);
0133
0134
0135
0136
0137 Standard_EXPORT TopLoc_Location FindLocation (const TopoDS_Face& Face) const;
0138
0139
0140
0141
0142 Standard_EXPORT void TransformInitWork (const TopLoc_Location& LS, const TopLoc_Location& LP);
0143
0144 Standard_EXPORT void ContinuityOnOffsetEdge (const TopTools_ListOfShape& WorkProf);
0145
0146 Standard_EXPORT void AddTopAndBottom (BRepTools_Quilt& Glue);
0147
0148 Standard_EXPORT void MakeSolid();
0149
0150
0151 TopoDS_Face mySpine;
0152 TopoDS_Wire myProfile;
0153 TopoDS_Shape myShape;
0154 Standard_Boolean myIsDone;
0155 Standard_Boolean mySpineType;
0156 GeomAbs_JoinType myJoinType;
0157 BRepFill_DataMapOfShapeDataMapOfShapeListOfShape myMap;
0158 TopoDS_Shape myTop;
0159 TopoDS_Shape myBottom;
0160
0161
0162 };
0163
0164
0165
0166
0167
0168
0169
0170 #endif