File indexing completed on 2026-09-14 09:14:14
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Expr_NamedUnknown_HeaderFile
0018 #define _Expr_NamedUnknown_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 Expr_GeneralExpression;
0027 class TCollection_AsciiString;
0028
0029
0030
0031 class Expr_NamedUnknown : public Expr_NamedExpression
0032 {
0033
0034 public:
0035 Standard_EXPORT Expr_NamedUnknown(const TCollection_AsciiString& name);
0036
0037
0038 bool IsAssigned() const;
0039
0040
0041
0042 Standard_EXPORT const occ::handle<Expr_GeneralExpression>& AssignedExpression() const;
0043
0044
0045
0046 Standard_EXPORT void Assign(const occ::handle<Expr_GeneralExpression>& exp);
0047
0048
0049 void Deassign();
0050
0051
0052
0053 Standard_EXPORT int NbSubExpressions() const override;
0054
0055
0056
0057 Standard_EXPORT const occ::handle<Expr_GeneralExpression>& SubExpression(
0058 const int I) const override;
0059
0060
0061
0062
0063 Standard_EXPORT occ::handle<Expr_GeneralExpression> Simplified() const override;
0064
0065
0066
0067 Standard_EXPORT occ::handle<Expr_GeneralExpression> ShallowSimplified() const override;
0068
0069
0070 Standard_EXPORT occ::handle<Expr_GeneralExpression> Copy() const override;
0071
0072
0073 Standard_EXPORT bool ContainsUnknowns() const override;
0074
0075
0076 Standard_EXPORT bool Contains(const occ::handle<Expr_GeneralExpression>& exp) const override;
0077
0078 Standard_EXPORT bool IsLinear() const override;
0079
0080
0081 Standard_EXPORT occ::handle<Expr_GeneralExpression> Derivative(
0082 const occ::handle<Expr_NamedUnknown>& X) const override;
0083
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
0092
0093 Standard_EXPORT double Evaluate(const NCollection_Array1<occ::handle<Expr_NamedUnknown>>& vars,
0094 const NCollection_Array1<double>& vals) const override;
0095
0096 DEFINE_STANDARD_RTTIEXT(Expr_NamedUnknown, Expr_NamedExpression)
0097
0098 private:
0099 occ::handle<Expr_GeneralExpression> myExpression;
0100 };
0101
0102 #include <Expr_NamedUnknown.lxx>
0103 class Expr_NamedUnknown;
0104
0105 #endif