File indexing completed on 2024-11-15 09:46:42
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
0042
0043 class Geom2dLProp_CLProps2d
0044 {
0045 public:
0046
0047 DEFINE_STANDARD_ALLOC
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059 Standard_EXPORT Geom2dLProp_CLProps2d(const Handle(Geom2d_Curve)& C, const Standard_Integer N, const Standard_Real Resolution);
0060
0061
0062
0063
0064 Standard_EXPORT Geom2dLProp_CLProps2d(const Handle(Geom2d_Curve)& C, const Standard_Real U, const Standard_Integer N, const Standard_Real Resolution);
0065
0066
0067
0068
0069
0070
0071
0072 Standard_EXPORT Geom2dLProp_CLProps2d(const Standard_Integer N, const Standard_Real Resolution);
0073
0074
0075
0076 Standard_EXPORT void SetParameter (const Standard_Real U);
0077
0078
0079
0080 Standard_EXPORT void SetCurve (const Handle(Geom2d_Curve)& C);
0081
0082
0083 Standard_EXPORT const gp_Pnt2d& Value() const;
0084
0085
0086
0087 Standard_EXPORT const gp_Vec2d& D1();
0088
0089
0090
0091 Standard_EXPORT const gp_Vec2d& D2();
0092
0093
0094
0095 Standard_EXPORT const gp_Vec2d& D3();
0096
0097
0098
0099
0100 Standard_EXPORT Standard_Boolean IsTangentDefined();
0101
0102
0103 Standard_EXPORT void Tangent (gp_Dir2d& D);
0104
0105
0106 Standard_EXPORT Standard_Real Curvature();
0107
0108
0109 Standard_EXPORT void Normal (gp_Dir2d& N);
0110
0111
0112 Standard_EXPORT void CentreOfCurvature (gp_Pnt2d& P);
0113
0114
0115
0116
0117 protected:
0118
0119
0120
0121
0122
0123 private:
0124
0125
0126
0127 Handle(Geom2d_Curve) myCurve;
0128 Standard_Real myU;
0129 Standard_Integer myDerOrder;
0130 Standard_Real myCN;
0131 Standard_Real myLinTol;
0132 gp_Pnt2d myPnt;
0133 gp_Vec2d myDerivArr[3];
0134 gp_Dir2d myTangent;
0135 Standard_Real myCurvature;
0136 LProp_Status myTangentStatus;
0137 Standard_Integer mySignificantFirstDerivativeOrder;
0138
0139
0140 };
0141
0142
0143
0144
0145
0146
0147
0148 #endif