File indexing completed on 2026-09-28 09:20:03
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Geom2dGcc_FunctionTanCuCuOnCu_HeaderFile
0018 #define _Geom2dGcc_FunctionTanCuCuOnCu_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <Geom2dAdaptor_Curve.hxx>
0024 #include <gp_Circ2d.hxx>
0025 #include <gp_Lin2d.hxx>
0026 #include <gp_Pnt2d.hxx>
0027 #include <Geom2dGcc_Type2.hxx>
0028 #include <math_FunctionSetWithDerivatives.hxx>
0029 #include <math_Vector.hxx>
0030 class gp_Vec2d;
0031 class math_Matrix;
0032
0033
0034
0035 class Geom2dGcc_FunctionTanCuCuOnCu : public math_FunctionSetWithDerivatives
0036 {
0037 public:
0038 DEFINE_STANDARD_ALLOC
0039
0040 Standard_EXPORT Geom2dGcc_FunctionTanCuCuOnCu(const Geom2dAdaptor_Curve& C1,
0041 const Geom2dAdaptor_Curve& C2,
0042 const gp_Circ2d& OnCi,
0043 const double Rad);
0044
0045 Standard_EXPORT Geom2dGcc_FunctionTanCuCuOnCu(const gp_Circ2d& C1,
0046 const Geom2dAdaptor_Curve& C2,
0047 const gp_Circ2d& OnCi,
0048 const double Rad);
0049
0050 Standard_EXPORT Geom2dGcc_FunctionTanCuCuOnCu(const gp_Lin2d& L1,
0051 const Geom2dAdaptor_Curve& C2,
0052 const gp_Circ2d& OnCi,
0053 const double Rad);
0054
0055 Standard_EXPORT Geom2dGcc_FunctionTanCuCuOnCu(const Geom2dAdaptor_Curve& C1,
0056 const gp_Pnt2d& P2,
0057 const gp_Circ2d& OnCi,
0058 const double Rad);
0059
0060 Standard_EXPORT Geom2dGcc_FunctionTanCuCuOnCu(const Geom2dAdaptor_Curve& C1,
0061 const Geom2dAdaptor_Curve& C2,
0062 const gp_Lin2d& OnLi,
0063 const double Rad);
0064
0065 Standard_EXPORT Geom2dGcc_FunctionTanCuCuOnCu(const gp_Circ2d& C1,
0066 const Geom2dAdaptor_Curve& C2,
0067 const gp_Lin2d& OnLi,
0068 const double Rad);
0069
0070 Standard_EXPORT Geom2dGcc_FunctionTanCuCuOnCu(const gp_Lin2d& L1,
0071 const Geom2dAdaptor_Curve& C2,
0072 const gp_Lin2d& OnLi,
0073 const double Rad);
0074
0075 Standard_EXPORT Geom2dGcc_FunctionTanCuCuOnCu(const Geom2dAdaptor_Curve& C1,
0076 const gp_Pnt2d& P2,
0077 const gp_Lin2d& OnLi,
0078 const double Rad);
0079
0080 Standard_EXPORT Geom2dGcc_FunctionTanCuCuOnCu(const Geom2dAdaptor_Curve& C1,
0081 const Geom2dAdaptor_Curve& C2,
0082 const Geom2dAdaptor_Curve& OnCu,
0083 const double Rad);
0084
0085 Standard_EXPORT Geom2dGcc_FunctionTanCuCuOnCu(const gp_Circ2d& C1,
0086 const Geom2dAdaptor_Curve& C2,
0087 const Geom2dAdaptor_Curve& OnCu,
0088 const double Rad);
0089
0090 Standard_EXPORT Geom2dGcc_FunctionTanCuCuOnCu(const gp_Lin2d& L1,
0091 const Geom2dAdaptor_Curve& C2,
0092 const Geom2dAdaptor_Curve& OnCu,
0093 const double Rad);
0094
0095 Standard_EXPORT Geom2dGcc_FunctionTanCuCuOnCu(const Geom2dAdaptor_Curve& C1,
0096 const gp_Pnt2d& P1,
0097 const Geom2dAdaptor_Curve& OnCu,
0098 const double Rad);
0099
0100 Standard_EXPORT void InitDerivative(const math_Vector& X,
0101 gp_Pnt2d& Point1,
0102 gp_Pnt2d& Point2,
0103 gp_Pnt2d& Point3,
0104 gp_Vec2d& Tan1,
0105 gp_Vec2d& Tan2,
0106 gp_Vec2d& Tan3,
0107 gp_Vec2d& D21,
0108 gp_Vec2d& D22,
0109 gp_Vec2d& D23);
0110
0111
0112 Standard_EXPORT int NbVariables() const override;
0113
0114
0115 Standard_EXPORT int NbEquations() const override;
0116
0117
0118 Standard_EXPORT bool Value(const math_Vector& X, math_Vector& F) override;
0119
0120
0121 Standard_EXPORT bool Derivatives(const math_Vector& X, math_Matrix& D) override;
0122
0123
0124
0125 Standard_EXPORT bool Values(const math_Vector& X, math_Vector& F, math_Matrix& D) override;
0126
0127 private:
0128 Geom2dAdaptor_Curve Curv1;
0129 Geom2dAdaptor_Curve Curv2;
0130 gp_Circ2d Circ1;
0131 gp_Lin2d Lin1;
0132 gp_Pnt2d Pnt2;
0133 gp_Circ2d Circon;
0134 gp_Lin2d Linon;
0135 Geom2dAdaptor_Curve Curvon;
0136 double FirstRad;
0137 Geom2dGcc_Type2 TheType;
0138 };
0139
0140 #endif