File indexing completed on 2025-01-18 10:03:39
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _GeomFill_FunctionGuide_HeaderFile
0018 #define _GeomFill_FunctionGuide_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <Standard_Boolean.hxx>
0025 #include <Standard_Real.hxx>
0026 #include <math_FunctionSetWithDerivatives.hxx>
0027 #include <Standard_Integer.hxx>
0028 #include <math_Vector.hxx>
0029
0030 class Adaptor3d_Curve;
0031 class GeomFill_SectionLaw;
0032 class Geom_Curve;
0033 class Geom_Surface;
0034 class gp_Pnt;
0035 class math_Matrix;
0036 class gp_Vec;
0037
0038
0039
0040 class GeomFill_FunctionGuide : public math_FunctionSetWithDerivatives
0041 {
0042 public:
0043
0044 DEFINE_STANDARD_ALLOC
0045
0046
0047 Standard_EXPORT GeomFill_FunctionGuide(const Handle(GeomFill_SectionLaw)& S, const Handle(Adaptor3d_Curve)& Guide, const Standard_Real ParamOnLaw = 0.0);
0048
0049 Standard_EXPORT void SetParam (const Standard_Real Param, const gp_Pnt& Centre, const gp_XYZ& Dir, const gp_XYZ& XDir);
0050
0051
0052 Standard_EXPORT virtual Standard_Integer NbVariables() const Standard_OVERRIDE;
0053
0054
0055 Standard_EXPORT virtual Standard_Integer NbEquations() const Standard_OVERRIDE;
0056
0057
0058
0059
0060
0061 Standard_EXPORT virtual Standard_Boolean Value (const math_Vector& X, math_Vector& F) Standard_OVERRIDE;
0062
0063
0064
0065
0066
0067 Standard_EXPORT virtual Standard_Boolean Derivatives (const math_Vector& X, math_Matrix& D) Standard_OVERRIDE;
0068
0069
0070
0071
0072
0073 Standard_EXPORT virtual Standard_Boolean Values (const math_Vector& X, math_Vector& F, math_Matrix& D) Standard_OVERRIDE;
0074
0075
0076
0077 Standard_EXPORT Standard_Boolean DerivT (const math_Vector& X, const gp_XYZ& DCentre, const gp_XYZ& DDir, math_Vector& DFDT);
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087 Standard_EXPORT Standard_Boolean Deriv2T (const gp_XYZ& DCentre, const gp_XYZ& DDir, math_Vector& DFDT, math_Vector& D2FT);
0088
0089
0090
0091
0092 protected:
0093
0094
0095
0096
0097
0098 private:
0099
0100
0101 Standard_EXPORT void DSDT (const Standard_Real U, const Standard_Real V, const gp_XYZ& DCentre, const gp_XYZ& DDir, gp_Vec& DSDT) const;
0102
0103
0104 Handle(Adaptor3d_Curve) TheGuide;
0105 Handle(GeomFill_SectionLaw) TheLaw;
0106 Standard_Boolean isconst;
0107 Handle(Geom_Curve) TheCurve;
0108 Handle(Geom_Curve) TheConst;
0109 Handle(Geom_Surface) TheSurface;
0110 Standard_Real First;
0111 Standard_Real Last;
0112 Standard_Real TheUonS;
0113 gp_XYZ Centre;
0114 gp_XYZ Dir;
0115
0116
0117 };
0118
0119
0120
0121
0122
0123
0124
0125 #endif