File indexing completed on 2026-09-25 09:21:09
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _ShapeConstruct_HeaderFile
0018 #define _ShapeConstruct_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <GeomAbs_Shape.hxx>
0025 #include <Standard_Integer.hxx>
0026 #include <TopoDS_Shape.hxx>
0027 #include <NCollection_Sequence.hxx>
0028 #include <NCollection_HSequence.hxx>
0029 #include <TopAbs_Orientation.hxx>
0030 class Geom_BSplineCurve;
0031 class Geom_Curve;
0032 class Geom2d_BSplineCurve;
0033 class Geom2d_Curve;
0034 class Geom_BSplineSurface;
0035 class Geom_Surface;
0036 class TopoDS_Face;
0037 class TopoDS_Edge;
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047 class ShapeConstruct
0048 {
0049 public:
0050 DEFINE_STANDARD_ALLOC
0051
0052
0053 Standard_EXPORT static occ::handle<Geom_BSplineCurve> ConvertCurveToBSpline(
0054 const occ::handle<Geom_Curve>& C3D,
0055 const double First,
0056 const double Last,
0057 const double Tol3d,
0058 const GeomAbs_Shape Continuity,
0059 const int MaxSegments,
0060 const int MaxDegree);
0061
0062 Standard_EXPORT static occ::handle<Geom2d_BSplineCurve> ConvertCurveToBSpline(
0063 const occ::handle<Geom2d_Curve>& C2D,
0064 const double First,
0065 const double Last,
0066 const double Tol2d,
0067 const GeomAbs_Shape Continuity,
0068 const int MaxSegments,
0069 const int MaxDegree);
0070
0071 Standard_EXPORT static occ::handle<Geom_BSplineSurface> ConvertSurfaceToBSpline(
0072 const occ::handle<Geom_Surface>& surf,
0073 const double UF,
0074 const double UL,
0075 const double VF,
0076 const double VL,
0077 const double Tol3d,
0078 const GeomAbs_Shape Continuity,
0079 const int MaxSegments,
0080 const int MaxDegree);
0081
0082
0083
0084
0085 Standard_EXPORT static bool JoinPCurves(
0086 const occ::handle<NCollection_HSequence<TopoDS_Shape>>& theEdges,
0087 const TopoDS_Face& theFace,
0088 TopoDS_Edge& theEdge);
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099 Standard_EXPORT static bool JoinCurves(const occ::handle<Geom_Curve>& c3d1,
0100 const occ::handle<Geom_Curve>& ac3d2,
0101 const TopAbs_Orientation Orient1,
0102 const TopAbs_Orientation Orient2,
0103 double& first1,
0104 double& last1,
0105 double& first2,
0106 double& last2,
0107 occ::handle<Geom_Curve>& c3dOut,
0108 bool& isRev1,
0109 bool& isRev2);
0110
0111
0112
0113
0114
0115
0116
0117
0118
0119
0120 Standard_EXPORT static bool JoinCurves(const occ::handle<Geom2d_Curve>& c2d1,
0121 const occ::handle<Geom2d_Curve>& ac2d2,
0122 const TopAbs_Orientation Orient1,
0123 const TopAbs_Orientation Orient2,
0124 double& first1,
0125 double& last1,
0126 double& first2,
0127 double& last2,
0128 occ::handle<Geom2d_Curve>& c2dOut,
0129 bool& isRev1,
0130 bool& isRev2,
0131 const bool isError = false);
0132 };
0133
0134 #endif