File indexing completed on 2026-09-27 09:17:24
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Expr_UnaryFunction_HeaderFile
0018 #define _Expr_UnaryFunction_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <Expr_UnaryExpression.hxx>
0024 #include <NCollection_Array1.hxx>
0025 class Expr_GeneralFunction;
0026 class Expr_GeneralExpression;
0027 class Expr_NamedUnknown;
0028 class TCollection_AsciiString;
0029
0030
0031
0032 class Expr_UnaryFunction : public Expr_UnaryExpression
0033 {
0034
0035 public:
0036
0037
0038 Standard_EXPORT Expr_UnaryFunction(const occ::handle<Expr_GeneralFunction>& func,
0039 const occ::handle<Expr_GeneralExpression>& exp);
0040
0041
0042 Standard_EXPORT occ::handle<Expr_GeneralFunction> Function() const;
0043
0044
0045
0046 Standard_EXPORT occ::handle<Expr_GeneralExpression> ShallowSimplified() const override;
0047
0048
0049 Standard_EXPORT occ::handle<Expr_GeneralExpression> Copy() const override;
0050
0051
0052
0053
0054 Standard_EXPORT bool IsIdentical(const occ::handle<Expr_GeneralExpression>& Other) const override;
0055
0056 Standard_EXPORT bool IsLinear() const override;
0057
0058
0059 Standard_EXPORT occ::handle<Expr_GeneralExpression> Derivative(
0060 const occ::handle<Expr_NamedUnknown>& X) const override;
0061
0062
0063
0064
0065
0066 Standard_EXPORT double Evaluate(const NCollection_Array1<occ::handle<Expr_NamedUnknown>>& vars,
0067 const NCollection_Array1<double>& vals) const override;
0068
0069
0070 Standard_EXPORT TCollection_AsciiString String() const override;
0071
0072 DEFINE_STANDARD_RTTIEXT(Expr_UnaryFunction, Expr_UnaryExpression)
0073
0074 private:
0075 occ::handle<Expr_GeneralFunction> myFunction;
0076 };
0077
0078 #endif