Warning, file /include/opencascade/Contap_SurfFunction.hxx was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Contap_SurfFunction_HeaderFile
0018 #define _Contap_SurfFunction_HeaderFile
0019
0020 #include <Adaptor3d_Surface.hxx>
0021 #include <Contap_TFunction.hxx>
0022 #include <gp_Dir.hxx>
0023 #include <gp_Pnt.hxx>
0024 #include <gp_Dir2d.hxx>
0025 #include <gp_Vec.hxx>
0026 #include <math_FunctionSetWithDerivatives.hxx>
0027 #include <math_Vector.hxx>
0028
0029 class math_Matrix;
0030
0031
0032
0033
0034
0035 class Contap_SurfFunction : public math_FunctionSetWithDerivatives
0036 {
0037 public:
0038 DEFINE_STANDARD_ALLOC
0039
0040 Standard_EXPORT Contap_SurfFunction();
0041
0042 Standard_EXPORT void Set(const occ::handle<Adaptor3d_Surface>& S);
0043
0044 void Set(const gp_Pnt& Eye);
0045
0046 void Set(const gp_Dir& Dir);
0047
0048 void Set(const gp_Dir& Dir, const double Angle);
0049
0050 void Set(const gp_Pnt& Eye, const double Angle);
0051
0052 void Set(const double Tolerance);
0053
0054
0055 Standard_EXPORT int NbVariables() const override;
0056
0057
0058 Standard_EXPORT int NbEquations() const override;
0059
0060
0061 Standard_EXPORT bool Value(const math_Vector& X, math_Vector& F) override;
0062
0063
0064 Standard_EXPORT bool Derivatives(const math_Vector& X, math_Matrix& D) override;
0065
0066 Standard_EXPORT bool Values(const math_Vector& X, math_Vector& F, math_Matrix& D) override;
0067
0068
0069
0070 double Root() const;
0071
0072
0073
0074 double Tolerance() const;
0075
0076
0077 const gp_Pnt& Point() const;
0078
0079 Standard_EXPORT bool IsTangent();
0080
0081 const gp_Vec& Direction3d();
0082
0083 const gp_Dir2d& Direction2d();
0084
0085 Contap_TFunction FunctionType() const;
0086
0087 const gp_Pnt& Eye() const;
0088
0089 const gp_Dir& Direction() const;
0090
0091 double Angle() const;
0092
0093 const occ::handle<Adaptor3d_Surface>& Surface() const;
0094
0095
0096 const occ::handle<Adaptor3d_Surface>& PSurface() const { return Surface(); }
0097
0098 private:
0099 occ::handle<Adaptor3d_Surface> mySurf;
0100 double myMean;
0101 Contap_TFunction myType;
0102 gp_Dir myDir;
0103 gp_Pnt myEye;
0104 double myAng;
0105 double myCosAng;
0106 double tol;
0107 gp_Pnt solpt;
0108 double valf;
0109 double Usol;
0110 double Vsol;
0111 double Fpu;
0112 double Fpv;
0113 gp_Dir2d d2d;
0114 gp_Vec d3d;
0115 bool tangent;
0116 bool computed;
0117 bool derived;
0118 };
0119
0120 #include <Contap_SurfFunction.lxx>
0121
0122 #endif