File indexing completed on 2026-07-17 08:35:15
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Geom2dLProp_CLProps2d_HeaderFile
0018 #define _Geom2dLProp_CLProps2d_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <Standard_Real.hxx>
0025 #include <Standard_Integer.hxx>
0026 #include <gp_Pnt2d.hxx>
0027 #include <gp_Vec2d.hxx>
0028 #include <gp_Dir2d.hxx>
0029 #include <LProp_Status.hxx>
0030 #include <Standard_Boolean.hxx>
0031 class Geom2d_Curve;
0032 class LProp_BadContinuity;
0033 class Standard_DomainError;
0034 class Standard_OutOfRange;
0035 class LProp_NotDefined;
0036 class gp_Vec2d;
0037 class gp_Pnt2d;
0038 class gp_Dir2d;
0039 class Geom2dLProp_Curve2dTool;
0040
0041 class Geom2dLProp_CLProps2d
0042 {
0043 public:
0044 DEFINE_STANDARD_ALLOC
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055 Standard_EXPORT Geom2dLProp_CLProps2d(const Handle(Geom2d_Curve)& C,
0056 const Standard_Integer N,
0057 const Standard_Real Resolution);
0058
0059
0060
0061
0062 Standard_EXPORT Geom2dLProp_CLProps2d(const Handle(Geom2d_Curve)& C,
0063 const Standard_Real U,
0064 const Standard_Integer N,
0065 const Standard_Real Resolution);
0066
0067
0068
0069
0070
0071
0072
0073 Standard_EXPORT Geom2dLProp_CLProps2d(const Standard_Integer N, const Standard_Real Resolution);
0074
0075
0076
0077 Standard_EXPORT void SetParameter(const Standard_Real U);
0078
0079
0080
0081 Standard_EXPORT void SetCurve(const Handle(Geom2d_Curve)& C);
0082
0083
0084 Standard_EXPORT const gp_Pnt2d& Value() const;
0085
0086
0087
0088 Standard_EXPORT const gp_Vec2d& D1();
0089
0090
0091
0092 Standard_EXPORT const gp_Vec2d& D2();
0093
0094
0095
0096 Standard_EXPORT const gp_Vec2d& D3();
0097
0098
0099
0100
0101 Standard_EXPORT Standard_Boolean IsTangentDefined();
0102
0103
0104 Standard_EXPORT void Tangent(gp_Dir2d& D);
0105
0106
0107 Standard_EXPORT Standard_Real Curvature();
0108
0109
0110 Standard_EXPORT void Normal(gp_Dir2d& N);
0111
0112
0113 Standard_EXPORT void CentreOfCurvature(gp_Pnt2d& P);
0114
0115 protected:
0116 private:
0117 Handle(Geom2d_Curve) myCurve;
0118 Standard_Real myU;
0119 Standard_Integer myDerOrder;
0120 Standard_Real myCN;
0121 Standard_Real myLinTol;
0122 gp_Pnt2d myPnt;
0123 gp_Vec2d myDerivArr[3];
0124 gp_Dir2d myTangent;
0125 Standard_Real myCurvature;
0126 LProp_Status myTangentStatus;
0127 Standard_Integer mySignificantFirstDerivativeOrder;
0128 };
0129
0130 #endif