File indexing completed on 2025-01-18 10:02:58
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Approx_CurveOnSurface_HeaderFile
0018 #define _Approx_CurveOnSurface_HeaderFile
0019
0020 #include <Adaptor2d_Curve2d.hxx>
0021 #include <Adaptor3d_Surface.hxx>
0022 #include <GeomAbs_Shape.hxx>
0023
0024 class Geom_BSplineCurve;
0025 class Geom2d_BSplineCurve;
0026
0027
0028 class Approx_CurveOnSurface
0029 {
0030 public:
0031
0032 DEFINE_STANDARD_ALLOC
0033
0034
0035 Standard_DEPRECATED("This constructor is deprecated. Use other constructor and perform method instead.")
0036 Standard_EXPORT Approx_CurveOnSurface(const Handle(Adaptor2d_Curve2d)& C2D, const Handle(Adaptor3d_Surface)& Surf, const Standard_Real First, const Standard_Real Last, const Standard_Real Tol, const GeomAbs_Shape Continuity, const Standard_Integer MaxDegree, const Standard_Integer MaxSegments, const Standard_Boolean Only3d = Standard_False, const Standard_Boolean Only2d = Standard_False);
0037
0038
0039
0040
0041
0042
0043
0044 Standard_EXPORT Approx_CurveOnSurface(const Handle(Adaptor2d_Curve2d)& theC2D,
0045 const Handle(Adaptor3d_Surface)& theSurf,
0046 const Standard_Real theFirst,
0047 const Standard_Real theLast,
0048 const Standard_Real theTol);
0049
0050 Standard_EXPORT Standard_Boolean IsDone() const;
0051
0052 Standard_EXPORT Standard_Boolean HasResult() const;
0053
0054 Standard_EXPORT Handle(Geom_BSplineCurve) Curve3d() const;
0055
0056 Standard_EXPORT Standard_Real MaxError3d() const;
0057
0058 Standard_EXPORT Handle(Geom2d_BSplineCurve) Curve2d() const;
0059
0060 Standard_EXPORT Standard_Real MaxError2dU() const;
0061
0062
0063
0064 Standard_EXPORT Standard_Real MaxError2dV() const;
0065
0066
0067
0068
0069
0070
0071
0072
0073 Standard_EXPORT void Perform(const Standard_Integer theMaxSegments,
0074 const Standard_Integer theMaxDegree,
0075 const GeomAbs_Shape theContinuity,
0076 const Standard_Boolean theOnly3d = Standard_False,
0077 const Standard_Boolean theOnly2d = Standard_False);
0078
0079 protected:
0080
0081
0082
0083
0084
0085
0086
0087
0088 Standard_Boolean isIsoLine(const Handle(Adaptor2d_Curve2d)& theC2D,
0089 Standard_Boolean& theIsU,
0090 Standard_Real& theParam,
0091 Standard_Boolean& theIsForward) const;
0092
0093
0094
0095
0096
0097
0098
0099
0100 Standard_Boolean buildC3dOnIsoLine(const Handle(Adaptor2d_Curve2d)& theC2D,
0101 const Standard_Boolean theIsU,
0102 const Standard_Real theParam,
0103 const Standard_Boolean theIsForward);
0104
0105 private:
0106 Approx_CurveOnSurface& operator= (const Approx_CurveOnSurface&);
0107
0108 private:
0109
0110
0111 const Handle(Adaptor2d_Curve2d) myC2D;
0112
0113
0114 const Handle(Adaptor3d_Surface) mySurf;
0115
0116
0117 const Standard_Real myFirst;
0118
0119
0120 const Standard_Real myLast;
0121
0122
0123 Standard_Real myTol;
0124
0125 Handle(Geom2d_BSplineCurve) myCurve2d;
0126 Handle(Geom_BSplineCurve) myCurve3d;
0127 Standard_Boolean myIsDone;
0128 Standard_Boolean myHasResult;
0129 Standard_Real myError3d;
0130 Standard_Real myError2dU;
0131 Standard_Real myError2dV;
0132
0133 };
0134
0135 #endif