File indexing completed on 2026-09-26 09:04:34
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _ShapeBuild_Edge_HeaderFile
0018 #define _ShapeBuild_Edge_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 class TopoDS_Edge;
0025 class TopoDS_Vertex;
0026 class TopoDS_Face;
0027 class Geom_Surface;
0028 class TopLoc_Location;
0029 class Geom2d_Curve;
0030 class gp_Trsf2d;
0031 class Geom_Curve;
0032
0033
0034
0035 class ShapeBuild_Edge
0036 {
0037 public:
0038 DEFINE_STANDARD_ALLOC
0039
0040
0041
0042
0043
0044 Standard_EXPORT TopoDS_Edge CopyReplaceVertices(const TopoDS_Edge& edge,
0045 const TopoDS_Vertex& V1,
0046 const TopoDS_Vertex& V2) const;
0047
0048
0049
0050 Standard_EXPORT void CopyRanges(const TopoDS_Edge& toedge,
0051 const TopoDS_Edge& fromedge,
0052 const double alpha = 0,
0053 const double beta = 1) const;
0054
0055
0056 Standard_EXPORT void SetRange3d(const TopoDS_Edge& edge,
0057 const double first,
0058 const double last) const;
0059
0060
0061
0062
0063
0064 Standard_EXPORT void CopyPCurves(const TopoDS_Edge& toedge, const TopoDS_Edge& fromedge) const;
0065
0066
0067
0068
0069
0070 Standard_EXPORT TopoDS_Edge Copy(const TopoDS_Edge& edge, const bool sharepcurves = true) const;
0071
0072
0073
0074 Standard_EXPORT void RemovePCurve(const TopoDS_Edge& edge, const TopoDS_Face& face) const;
0075
0076
0077
0078 Standard_EXPORT void RemovePCurve(const TopoDS_Edge& edge,
0079 const occ::handle<Geom_Surface>& surf) const;
0080
0081
0082
0083 Standard_EXPORT void RemovePCurve(const TopoDS_Edge& edge,
0084 const occ::handle<Geom_Surface>& surf,
0085 const TopLoc_Location& loc) const;
0086
0087
0088
0089
0090
0091 Standard_EXPORT void ReplacePCurve(const TopoDS_Edge& edge,
0092 const occ::handle<Geom2d_Curve>& pcurve,
0093 const TopoDS_Face& face) const;
0094
0095
0096
0097
0098
0099
0100 Standard_EXPORT bool ReassignPCurve(const TopoDS_Edge& edge,
0101 const TopoDS_Face& old,
0102 const TopoDS_Face& sub) const;
0103
0104
0105 Standard_EXPORT occ::handle<Geom2d_Curve> TransformPCurve(const occ::handle<Geom2d_Curve>& pcurve,
0106 const gp_Trsf2d& trans,
0107 const double uFact,
0108 double& aFirst,
0109 double& aLast) const;
0110
0111
0112 Standard_EXPORT void RemoveCurve3d(const TopoDS_Edge& edge) const;
0113
0114
0115 Standard_EXPORT bool BuildCurve3d(const TopoDS_Edge& edge) const;
0116
0117
0118 Standard_EXPORT void MakeEdge(TopoDS_Edge& edge,
0119 const occ::handle<Geom_Curve>& curve,
0120 const TopLoc_Location& L) const;
0121
0122
0123 Standard_EXPORT void MakeEdge(TopoDS_Edge& edge,
0124 const occ::handle<Geom_Curve>& curve,
0125 const TopLoc_Location& L,
0126 const double p1,
0127 const double p2) const;
0128
0129
0130 Standard_EXPORT void MakeEdge(TopoDS_Edge& edge,
0131 const occ::handle<Geom2d_Curve>& pcurve,
0132 const TopoDS_Face& face) const;
0133
0134
0135 Standard_EXPORT void MakeEdge(TopoDS_Edge& edge,
0136 const occ::handle<Geom2d_Curve>& pcurve,
0137 const TopoDS_Face& face,
0138 const double p1,
0139 const double p2) const;
0140
0141
0142 Standard_EXPORT void MakeEdge(TopoDS_Edge& edge,
0143 const occ::handle<Geom2d_Curve>& pcurve,
0144 const occ::handle<Geom_Surface>& S,
0145 const TopLoc_Location& L) const;
0146
0147
0148 Standard_EXPORT void MakeEdge(TopoDS_Edge& edge,
0149 const occ::handle<Geom2d_Curve>& pcurve,
0150 const occ::handle<Geom_Surface>& S,
0151 const TopLoc_Location& L,
0152 const double p1,
0153 const double p2) const;
0154 };
0155
0156 #endif