File indexing completed on 2026-10-04 09:15:58
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _ShapeUpgrade_FixSmallCurves_HeaderFile
0017 #define _ShapeUpgrade_FixSmallCurves_HeaderFile
0018
0019 #include <Standard.hxx>
0020
0021 #include <Standard_Integer.hxx>
0022 #include <TopoDS_Edge.hxx>
0023 #include <TopoDS_Face.hxx>
0024 #include <ShapeUpgrade_Tool.hxx>
0025 #include <Standard_Real.hxx>
0026 #include <ShapeExtend_Status.hxx>
0027 class ShapeUpgrade_SplitCurve3d;
0028 class ShapeUpgrade_SplitCurve2d;
0029 class Geom_Curve;
0030 class Geom2d_Curve;
0031
0032
0033 #ifdef Status
0034 #undef Status
0035 #endif
0036
0037 class ShapeUpgrade_FixSmallCurves : public ShapeUpgrade_Tool
0038 {
0039
0040 public:
0041 Standard_EXPORT ShapeUpgrade_FixSmallCurves();
0042
0043 Standard_EXPORT void Init(const TopoDS_Edge& theEdge, const TopoDS_Face& theFace);
0044
0045 Standard_EXPORT virtual bool Approx(occ::handle<Geom_Curve>& Curve3d,
0046 occ::handle<Geom2d_Curve>& Curve2d,
0047 occ::handle<Geom2d_Curve>& Curve2dR,
0048 double& First,
0049 double& Last);
0050
0051
0052 Standard_EXPORT void SetSplitCurve3dTool(
0053 const occ::handle<ShapeUpgrade_SplitCurve3d>& splitCurve3dTool);
0054
0055
0056 Standard_EXPORT void SetSplitCurve2dTool(
0057 const occ::handle<ShapeUpgrade_SplitCurve2d>& splitCurve2dTool);
0058
0059
0060
0061
0062
0063
0064 Standard_EXPORT bool Status(const ShapeExtend_Status status) const;
0065
0066 DEFINE_STANDARD_RTTIEXT(ShapeUpgrade_FixSmallCurves, ShapeUpgrade_Tool)
0067
0068 protected:
0069 Standard_EXPORT virtual occ::handle<ShapeUpgrade_SplitCurve3d> GetSplitCurve3dTool() const;
0070
0071
0072 Standard_EXPORT virtual occ::handle<ShapeUpgrade_SplitCurve2d> GetSplitCurve2dTool() const;
0073
0074 int myStatus;
0075 occ::handle<ShapeUpgrade_SplitCurve3d> mySplitCurve3dTool;
0076 occ::handle<ShapeUpgrade_SplitCurve2d> mySplitCurve2dTool;
0077 TopoDS_Edge myEdge;
0078 TopoDS_Face myFace;
0079 };
0080
0081 #endif