File indexing completed on 2026-09-26 09:02:59
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Expr_NamedConstant_HeaderFile
0018 #define _Expr_NamedConstant_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <Expr_NamedExpression.hxx>
0024 #include <Standard_Integer.hxx>
0025 #include <NCollection_Array1.hxx>
0026 class TCollection_AsciiString;
0027 class Expr_GeneralExpression;
0028 class Expr_NamedUnknown;
0029
0030
0031
0032 class Expr_NamedConstant : public Expr_NamedExpression
0033 {
0034
0035 public:
0036
0037 Standard_EXPORT Expr_NamedConstant(const TCollection_AsciiString& name, const double value);
0038
0039 double GetValue() const;
0040
0041
0042
0043 Standard_EXPORT int NbSubExpressions() const override;
0044
0045
0046
0047 Standard_EXPORT const occ::handle<Expr_GeneralExpression>& SubExpression(
0048 const int I) const override;
0049
0050
0051
0052
0053 Standard_EXPORT occ::handle<Expr_GeneralExpression> Simplified() const override;
0054
0055
0056
0057 Standard_EXPORT occ::handle<Expr_GeneralExpression> ShallowSimplified() const override;
0058
0059
0060 Standard_EXPORT occ::handle<Expr_GeneralExpression> Copy() const override;
0061
0062
0063
0064 Standard_EXPORT bool ContainsUnknowns() const override;
0065
0066
0067 Standard_EXPORT bool Contains(const occ::handle<Expr_GeneralExpression>& exp) const override;
0068
0069 Standard_EXPORT bool IsLinear() const override;
0070
0071
0072 Standard_EXPORT occ::handle<Expr_GeneralExpression> Derivative(
0073 const occ::handle<Expr_NamedUnknown>& X) const override;
0074
0075
0076
0077 Standard_EXPORT occ::handle<Expr_GeneralExpression> NDerivative(
0078 const occ::handle<Expr_NamedUnknown>& X,
0079 const int N) const override;
0080
0081
0082 Standard_EXPORT void Replace(const occ::handle<Expr_NamedUnknown>& var,
0083 const occ::handle<Expr_GeneralExpression>& with) override;
0084
0085
0086
0087 Standard_EXPORT double Evaluate(const NCollection_Array1<occ::handle<Expr_NamedUnknown>>& vars,
0088 const NCollection_Array1<double>& vals) const override;
0089
0090 DEFINE_STANDARD_RTTIEXT(Expr_NamedConstant, Expr_NamedExpression)
0091
0092 private:
0093 double myValue;
0094 };
0095
0096 #include <Expr_NamedConstant.lxx>
0097
0098 #endif