File indexing completed on 2025-01-18 10:03:32
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
0037 DEFINE_STANDARD_ALLOC
0038
0039
0040 Standard_EXPORT static Standard_Real Length (const Adaptor3d_Curve& theC);
0041
0042
0043 Standard_EXPORT static Standard_Real Length (const Adaptor2d_Curve2d& theC);
0044
0045
0046 Standard_EXPORT static Standard_Real Length (const Adaptor3d_Curve& theC,
0047 const Standard_Real theTol);
0048
0049
0050 Standard_EXPORT static Standard_Real Length (const Adaptor2d_Curve2d& theC,
0051 const Standard_Real theTol);
0052
0053
0054 Standard_EXPORT static Standard_Real Length (const Adaptor3d_Curve& theC,
0055 const Standard_Real theU1, const Standard_Real theU2);
0056
0057
0058 Standard_EXPORT static Standard_Real Length (const Adaptor2d_Curve2d& theC,
0059 const Standard_Real theU1, const Standard_Real theU2);
0060
0061
0062 Standard_EXPORT static Standard_Real Length (const Adaptor3d_Curve& theC,
0063 const Standard_Real theU1, const Standard_Real theU2,
0064 const Standard_Real theTol);
0065
0066
0067 Standard_EXPORT static Standard_Real Length (const Adaptor2d_Curve2d& theC,
0068 const Standard_Real theU1, const Standard_Real theU2,
0069 const Standard_Real theTol);
0070
0071 public:
0072
0073
0074 Standard_EXPORT GCPnts_AbscissaPoint();
0075
0076
0077
0078 Standard_EXPORT GCPnts_AbscissaPoint (const Adaptor3d_Curve& theC,
0079 const Standard_Real theAbscissa,
0080 const Standard_Real theU0);
0081
0082
0083
0084
0085 Standard_EXPORT GCPnts_AbscissaPoint (const Standard_Real theTol,
0086 const Adaptor3d_Curve& theC,
0087 const Standard_Real theAbscissa,
0088 const Standard_Real theU0);
0089
0090
0091
0092
0093 Standard_EXPORT GCPnts_AbscissaPoint (const Standard_Real theTol,
0094 const Adaptor2d_Curve2d& theC,
0095 const Standard_Real theAbscissa,
0096 const Standard_Real theU0);
0097
0098
0099
0100 Standard_EXPORT GCPnts_AbscissaPoint (const Adaptor2d_Curve2d& theC,
0101 const Standard_Real theAbscissa,
0102 const Standard_Real theU0);
0103
0104
0105
0106
0107
0108 Standard_EXPORT GCPnts_AbscissaPoint (const Adaptor3d_Curve& theC,
0109 const Standard_Real theAbscissa,
0110 const Standard_Real theU0, const Standard_Real theUi);
0111
0112
0113
0114
0115
0116 Standard_EXPORT GCPnts_AbscissaPoint (const Adaptor2d_Curve2d& theC,
0117 const Standard_Real theAbscissa,
0118 const Standard_Real theU0, const Standard_Real theUi);
0119
0120
0121
0122
0123
0124 Standard_EXPORT GCPnts_AbscissaPoint (const Adaptor3d_Curve& theC,
0125 const Standard_Real theAbscissa,
0126 const Standard_Real theU0, const Standard_Real theUi,
0127 const Standard_Real theTol);
0128
0129
0130
0131
0132
0133 Standard_EXPORT GCPnts_AbscissaPoint (const Adaptor2d_Curve2d& theC,
0134 const Standard_Real theAbscissa,
0135 const Standard_Real theU0, const Standard_Real theUi,
0136 const Standard_Real theTol);
0137
0138
0139
0140
0141
0142 Standard_Boolean IsDone () const
0143 {
0144 return myComputer.IsDone ();
0145 }
0146
0147
0148
0149
0150
0151
0152 Standard_Real Parameter () const
0153 {
0154 return myComputer.Parameter ();
0155 }
0156
0157 private:
0158
0159
0160 template<class TheCurve>
0161 static Standard_Real length (const TheCurve& theC,
0162 const Standard_Real theU1, const Standard_Real theU2,
0163 const Standard_Real* theTol);
0164
0165
0166 template<class TheCurve>
0167 void compute (const TheCurve& theC,
0168 const Standard_Real theAbscissa,
0169 const Standard_Real theU0);
0170
0171
0172 template<class TheCurve>
0173 void advCompute (const Standard_Real theTol,
0174 const TheCurve& theC,
0175 const Standard_Real theAbscissa,
0176 const Standard_Real theU0);
0177
0178 private:
0179 CPnts_AbscissaPoint myComputer;
0180 };
0181
0182 #endif