File indexing completed on 2026-09-15 09:14:45
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Adaptor3d_IsoCurve_HeaderFile
0018 #define _Adaptor3d_IsoCurve_HeaderFile
0019
0020 #include <Adaptor3d_Surface.hxx>
0021 #include <Geom_Curve.hxx>
0022 #include <GeomAbs_IsoType.hxx>
0023
0024
0025
0026
0027
0028 class Adaptor3d_IsoCurve : public Adaptor3d_Curve
0029 {
0030 DEFINE_STANDARD_RTTIEXT(Adaptor3d_IsoCurve, Adaptor3d_Curve)
0031 public:
0032
0033 Standard_EXPORT Adaptor3d_IsoCurve();
0034
0035
0036 Standard_EXPORT Adaptor3d_IsoCurve(const occ::handle<Adaptor3d_Surface>& S);
0037
0038
0039
0040
0041
0042 Standard_EXPORT Adaptor3d_IsoCurve(const occ::handle<Adaptor3d_Surface>& S,
0043 const GeomAbs_IsoType Iso,
0044 const double Param);
0045
0046
0047
0048
0049 Standard_EXPORT Adaptor3d_IsoCurve(const occ::handle<Adaptor3d_Surface>& S,
0050 const GeomAbs_IsoType Iso,
0051 const double Param,
0052 const double WFirst,
0053 const double WLast);
0054
0055
0056 Standard_EXPORT occ::handle<Adaptor3d_Curve> ShallowCopy() const override;
0057
0058
0059 Standard_EXPORT void Load(const occ::handle<Adaptor3d_Surface>& S);
0060
0061
0062 Standard_EXPORT void Load(const GeomAbs_IsoType Iso, const double Param);
0063
0064
0065 Standard_EXPORT void Load(const GeomAbs_IsoType Iso,
0066 const double Param,
0067 const double WFirst,
0068 const double WLast);
0069
0070 const occ::handle<Adaptor3d_Surface>& Surface() const { return mySurface; }
0071
0072 GeomAbs_IsoType Iso() const { return myIso; }
0073
0074 double Parameter() const { return myParameter; }
0075
0076 double FirstParameter() const override { return myFirst; }
0077
0078 double LastParameter() const override { return myLast; }
0079
0080 Standard_EXPORT GeomAbs_Shape Continuity() const override;
0081
0082
0083
0084 Standard_EXPORT int NbIntervals(const GeomAbs_Shape S) const override;
0085
0086
0087
0088
0089
0090
0091 Standard_EXPORT void Intervals(NCollection_Array1<double>& T,
0092 const GeomAbs_Shape S) const override;
0093
0094
0095
0096
0097
0098 Standard_EXPORT occ::handle<Adaptor3d_Curve> Trim(const double First,
0099 const double Last,
0100 const double Tol) const override;
0101
0102 Standard_EXPORT bool IsClosed() const override;
0103
0104 Standard_EXPORT bool IsPeriodic() const override;
0105
0106 Standard_EXPORT double Period() const override;
0107
0108
0109 [[nodiscard]] Standard_EXPORT gp_Pnt EvalD0(const double theU) const final;
0110
0111
0112
0113 [[nodiscard]] Standard_EXPORT Geom_Curve::ResD1 EvalD1(const double theU) const final;
0114
0115
0116
0117 [[nodiscard]] Standard_EXPORT Geom_Curve::ResD2 EvalD2(const double theU) const final;
0118
0119
0120
0121 [[nodiscard]] Standard_EXPORT Geom_Curve::ResD3 EvalD3(const double theU) const final;
0122
0123
0124
0125
0126 [[nodiscard]] Standard_EXPORT gp_Vec EvalDN(const double theU, const int theN) const final;
0127
0128
0129
0130 Standard_EXPORT double Resolution(const double R3d) const override;
0131
0132
0133
0134
0135 Standard_EXPORT GeomAbs_CurveType GetType() const override;
0136
0137 Standard_EXPORT gp_Lin Line() const override;
0138
0139 Standard_EXPORT gp_Circ Circle() const override;
0140
0141 Standard_EXPORT gp_Elips Ellipse() const override;
0142
0143 Standard_EXPORT gp_Hypr Hyperbola() const override;
0144
0145 Standard_EXPORT gp_Parab Parabola() const override;
0146
0147 Standard_EXPORT int Degree() const override;
0148
0149 Standard_EXPORT bool IsRational() const override;
0150
0151 Standard_EXPORT int NbPoles() const override;
0152
0153 Standard_EXPORT int NbKnots() const override;
0154
0155 Standard_EXPORT occ::handle<Geom_BezierCurve> Bezier() const override;
0156
0157 Standard_EXPORT occ::handle<Geom_BSplineCurve> BSpline() const override;
0158
0159 private:
0160 occ::handle<Adaptor3d_Surface> mySurface;
0161 GeomAbs_IsoType myIso;
0162 double myFirst;
0163 double myLast;
0164 double myParameter;
0165 };
0166
0167 #endif