File indexing completed on 2026-05-22 08:29:22
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _GCPnts_AbscissaPoint_HeaderFile
0018 #define _GCPnts_AbscissaPoint_HeaderFile
0019
0020 #include <CPnts_AbscissaPoint.hxx>
0021
0022 class Adaptor3d_Curve;
0023 class Adaptor2d_Curve2d;
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033 class GCPnts_AbscissaPoint
0034 {
0035 public:
0036 DEFINE_STANDARD_ALLOC
0037
0038
0039 Standard_EXPORT static Standard_Real Length(const Adaptor3d_Curve& theC);
0040
0041
0042 Standard_EXPORT static Standard_Real Length(const Adaptor2d_Curve2d& theC);
0043
0044
0045 Standard_EXPORT static Standard_Real Length(const Adaptor3d_Curve& theC,
0046 const Standard_Real theTol);
0047
0048
0049 Standard_EXPORT static Standard_Real Length(const Adaptor2d_Curve2d& theC,
0050 const Standard_Real theTol);
0051
0052
0053 Standard_EXPORT static Standard_Real Length(const Adaptor3d_Curve& theC,
0054 const Standard_Real theU1,
0055 const Standard_Real theU2);
0056
0057
0058 Standard_EXPORT static Standard_Real Length(const Adaptor2d_Curve2d& theC,
0059 const Standard_Real theU1,
0060 const Standard_Real theU2);
0061
0062
0063 Standard_EXPORT static Standard_Real Length(const Adaptor3d_Curve& theC,
0064 const Standard_Real theU1,
0065 const Standard_Real theU2,
0066 const Standard_Real theTol);
0067
0068
0069 Standard_EXPORT static Standard_Real Length(const Adaptor2d_Curve2d& theC,
0070 const Standard_Real theU1,
0071 const Standard_Real theU2,
0072 const Standard_Real theTol);
0073
0074 public:
0075
0076 Standard_EXPORT GCPnts_AbscissaPoint();
0077
0078
0079
0080 Standard_EXPORT GCPnts_AbscissaPoint(const Adaptor3d_Curve& theC,
0081 const Standard_Real theAbscissa,
0082 const Standard_Real theU0);
0083
0084
0085
0086
0087 Standard_EXPORT GCPnts_AbscissaPoint(const Standard_Real theTol,
0088 const Adaptor3d_Curve& theC,
0089 const Standard_Real theAbscissa,
0090 const Standard_Real theU0);
0091
0092
0093
0094
0095 Standard_EXPORT GCPnts_AbscissaPoint(const Standard_Real theTol,
0096 const Adaptor2d_Curve2d& theC,
0097 const Standard_Real theAbscissa,
0098 const Standard_Real theU0);
0099
0100
0101
0102 Standard_EXPORT GCPnts_AbscissaPoint(const Adaptor2d_Curve2d& theC,
0103 const Standard_Real theAbscissa,
0104 const Standard_Real theU0);
0105
0106
0107
0108
0109
0110 Standard_EXPORT GCPnts_AbscissaPoint(const Adaptor3d_Curve& theC,
0111 const Standard_Real theAbscissa,
0112 const Standard_Real theU0,
0113 const Standard_Real theUi);
0114
0115
0116
0117
0118
0119 Standard_EXPORT GCPnts_AbscissaPoint(const Adaptor2d_Curve2d& theC,
0120 const Standard_Real theAbscissa,
0121 const Standard_Real theU0,
0122 const Standard_Real theUi);
0123
0124
0125
0126
0127
0128 Standard_EXPORT GCPnts_AbscissaPoint(const Adaptor3d_Curve& theC,
0129 const Standard_Real theAbscissa,
0130 const Standard_Real theU0,
0131 const Standard_Real theUi,
0132 const Standard_Real theTol);
0133
0134
0135
0136
0137
0138 Standard_EXPORT GCPnts_AbscissaPoint(const Adaptor2d_Curve2d& theC,
0139 const Standard_Real theAbscissa,
0140 const Standard_Real theU0,
0141 const Standard_Real theUi,
0142 const Standard_Real theTol);
0143
0144
0145
0146
0147
0148 Standard_Boolean IsDone() const { return myComputer.IsDone(); }
0149
0150
0151
0152
0153
0154
0155 Standard_Real Parameter() const { return myComputer.Parameter(); }
0156
0157 private:
0158
0159 template <class TheCurve>
0160 static Standard_Real length(const TheCurve& theC,
0161 const Standard_Real theU1,
0162 const Standard_Real theU2,
0163 const Standard_Real* theTol);
0164
0165
0166 template <class TheCurve>
0167 void compute(const TheCurve& theC, const Standard_Real theAbscissa, const Standard_Real theU0);
0168
0169
0170 template <class TheCurve>
0171 void advCompute(const Standard_Real theTol,
0172 const TheCurve& theC,
0173 const Standard_Real theAbscissa,
0174 const Standard_Real theU0);
0175
0176 private:
0177 CPnts_AbscissaPoint myComputer;
0178 };
0179
0180 #endif