File indexing completed on 2025-01-18 10:03:02
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _BlendFunc_Corde_HeaderFile
0018 #define _BlendFunc_Corde_HeaderFile
0019
0020 #include <Adaptor3d_Surface.hxx>
0021 #include <gp_Pnt.hxx>
0022 #include <gp_Pnt2d.hxx>
0023 #include <gp_Vec.hxx>
0024 #include <gp_Vec2d.hxx>
0025 #include <math_Vector.hxx>
0026
0027 class math_Matrix;
0028
0029
0030
0031
0032
0033
0034 class BlendFunc_Corde
0035 {
0036 public:
0037
0038 DEFINE_STANDARD_ALLOC
0039
0040
0041 Standard_EXPORT BlendFunc_Corde(const Handle(Adaptor3d_Surface)& S, const Handle(Adaptor3d_Curve)& CGuide);
0042
0043 Standard_EXPORT void SetParam (const Standard_Real Param);
0044
0045 Standard_EXPORT void SetDist (const Standard_Real Dist);
0046
0047
0048
0049
0050
0051 Standard_EXPORT Standard_Boolean Value (const math_Vector& X, math_Vector& F);
0052
0053
0054
0055
0056
0057 Standard_EXPORT Standard_Boolean Derivatives (const math_Vector& X, math_Matrix& D);
0058
0059 Standard_EXPORT const gp_Pnt& PointOnS() const;
0060
0061
0062 Standard_EXPORT const gp_Pnt& PointOnGuide() const;
0063
0064
0065 Standard_EXPORT const gp_Vec& NPlan() const;
0066
0067
0068
0069 Standard_EXPORT Standard_Boolean IsTangencyPoint() const;
0070
0071
0072 Standard_EXPORT const gp_Vec& TangentOnS() const;
0073
0074
0075
0076 Standard_EXPORT const gp_Vec2d& Tangent2dOnS() const;
0077
0078
0079
0080 Standard_EXPORT void DerFguide (const math_Vector& Sol, gp_Vec2d& DerF);
0081
0082
0083
0084 Standard_EXPORT Standard_Boolean IsSolution (const math_Vector& Sol, const Standard_Real Tol);
0085
0086
0087
0088
0089 protected:
0090
0091
0092
0093
0094
0095 private:
0096
0097
0098
0099 Handle(Adaptor3d_Surface) surf;
0100 Handle(Adaptor3d_Curve) guide;
0101 gp_Pnt pts;
0102 gp_Pnt2d pt2d;
0103 Standard_Real dis;
0104 Standard_Real normtg;
0105 Standard_Real theD;
0106 gp_Pnt ptgui;
0107 gp_Vec nplan;
0108 gp_Vec d1gui;
0109 gp_Vec d2gui;
0110 gp_Vec tgs;
0111 gp_Vec2d tg2d;
0112 Standard_Boolean istangent;
0113
0114
0115 };
0116
0117
0118
0119
0120
0121
0122
0123 #endif