File indexing completed on 2026-07-24 09:16:03
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _BRepOffsetAPI_MakeOffset_HeaderFile
0018 #define _BRepOffsetAPI_MakeOffset_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <TopoDS_Face.hxx>
0024 #include <TopTools_ListOfShape.hxx>
0025 #include <BRepFill_ListOfOffsetWire.hxx>
0026 #include <BRepBuilderAPI_MakeShape.hxx>
0027 class TopoDS_Wire;
0028 class TopoDS_Shape;
0029
0030
0031
0032
0033
0034
0035
0036 class BRepOffsetAPI_MakeOffset : public BRepBuilderAPI_MakeShape
0037 {
0038 public:
0039 DEFINE_STANDARD_ALLOC
0040
0041
0042 Standard_EXPORT BRepOffsetAPI_MakeOffset();
0043
0044
0045
0046 Standard_EXPORT BRepOffsetAPI_MakeOffset(const TopoDS_Face& Spine,
0047 const GeomAbs_JoinType Join = GeomAbs_Arc,
0048 const Standard_Boolean IsOpenResult = Standard_False);
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058 Standard_EXPORT void Init(const TopoDS_Face& Spine,
0059 const GeomAbs_JoinType Join = GeomAbs_Arc,
0060 const Standard_Boolean IsOpenResult = Standard_False);
0061
0062 Standard_EXPORT BRepOffsetAPI_MakeOffset(const TopoDS_Wire& Spine,
0063 const GeomAbs_JoinType Join = GeomAbs_Arc,
0064 const Standard_Boolean IsOpenResult = Standard_False);
0065
0066
0067 Standard_EXPORT void Init(const GeomAbs_JoinType Join = GeomAbs_Arc,
0068 const Standard_Boolean IsOpenResult = Standard_False);
0069
0070
0071
0072
0073 Standard_EXPORT void SetApprox(const Standard_Boolean ToApprox);
0074
0075
0076 Standard_EXPORT void AddWire(const TopoDS_Wire& Spine);
0077
0078
0079
0080
0081
0082 Standard_EXPORT void Perform(const Standard_Real Offset, const Standard_Real Alt = 0.0);
0083
0084
0085 Standard_EXPORT virtual void Build(
0086 const Message_ProgressRange& theRange = Message_ProgressRange()) Standard_OVERRIDE;
0087
0088
0089
0090 Standard_EXPORT virtual const TopTools_ListOfShape& Generated(const TopoDS_Shape& S)
0091 Standard_OVERRIDE;
0092
0093
0094
0095 Standard_EXPORT static TopoDS_Face ConvertFace(const TopoDS_Face& theFace,
0096 const Standard_Real theAngleTolerance);
0097
0098 protected:
0099 private:
0100 Standard_Boolean myIsInitialized;
0101 Standard_Boolean myLastIsLeft;
0102 GeomAbs_JoinType myJoin;
0103 Standard_Boolean myIsOpenResult;
0104 Standard_Boolean myIsToApprox;
0105 TopoDS_Face myFace;
0106 TopTools_ListOfShape myWires;
0107 BRepFill_ListOfOffsetWire myLeft;
0108 BRepFill_ListOfOffsetWire myRight;
0109 };
0110
0111 #endif