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