File indexing completed on 2026-10-24 09:13:37
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Expr_NumericValue_HeaderFile
0018 #define _Expr_NumericValue_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <Expr_GeneralExpression.hxx>
0024 #include <Standard_Integer.hxx>
0025 #include <NCollection_Array1.hxx>
0026 class Expr_NamedUnknown;
0027 class TCollection_AsciiString;
0028
0029
0030
0031 class Expr_NumericValue : public Expr_GeneralExpression
0032 {
0033
0034 public:
0035 Standard_EXPORT Expr_NumericValue(const double val);
0036
0037 Standard_EXPORT double GetValue() const;
0038
0039 Standard_EXPORT void SetValue(const double val);
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 Standard_EXPORT bool ContainsUnknowns() const override;
0064
0065
0066 Standard_EXPORT bool Contains(const occ::handle<Expr_GeneralExpression>& exp) const override;
0067
0068
0069
0070
0071 Standard_EXPORT bool IsIdentical(const occ::handle<Expr_GeneralExpression>& Other) const override;
0072
0073 Standard_EXPORT bool IsLinear() const override;
0074
0075
0076 Standard_EXPORT occ::handle<Expr_GeneralExpression> Derivative(
0077 const occ::handle<Expr_NamedUnknown>& X) const override;
0078
0079
0080
0081 Standard_EXPORT occ::handle<Expr_GeneralExpression> NDerivative(
0082 const occ::handle<Expr_NamedUnknown>& X,
0083 const int N) const override;
0084
0085
0086 Standard_EXPORT void Replace(const occ::handle<Expr_NamedUnknown>& var,
0087 const occ::handle<Expr_GeneralExpression>& with) override;
0088
0089
0090
0091 Standard_EXPORT double Evaluate(const NCollection_Array1<occ::handle<Expr_NamedUnknown>>& vars,
0092 const NCollection_Array1<double>& vals) const override;
0093
0094
0095 Standard_EXPORT TCollection_AsciiString String() const override;
0096
0097 DEFINE_STANDARD_RTTIEXT(Expr_NumericValue, Expr_GeneralExpression)
0098
0099 private:
0100 double myValue;
0101 };
0102
0103 #endif