// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _Expr_GeneralExpression_HeaderFile #define _Expr_GeneralExpression_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_Expr_GeneralExpression_HeaderFile #include #endif #ifndef _MMgt_TShared_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Handle_Expr_NamedUnknown_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif class Standard_OutOfRange; class Standard_NumericError; class Expr_NotEvaluable; class Expr_InvalidOperand; class Expr_NamedUnknown; class Expr_Array1OfNamedUnknown; class TColStd_Array1OfReal; class TCollection_AsciiString; //! Defines the general purposes of any expression.
class Expr_GeneralExpression : public MMgt_TShared { public: //! Returns the number of sub-expressions contained
//! in ( >= 0)
Standard_EXPORT virtual Standard_Integer NbSubExpressions() const = 0; //! Returns the -th sub-expression of
//! raises OutOfRange if > NbSubExpressions(me)
Standard_EXPORT virtual const Handle_Expr_GeneralExpression& SubExpression(const Standard_Integer I) const = 0; //! Returns a GeneralExpression after replacement of
//! NamedUnknowns by an associated expression and after
//! values computation.
Standard_EXPORT virtual Handle_Expr_GeneralExpression Simplified() const = 0; //! Returns a GeneralExpression after a simplification
//! of the arguments of .
Standard_EXPORT virtual Handle_Expr_GeneralExpression ShallowSimplified() const = 0; //! Returns a copy of having the same unknowns and
//! functions.
Standard_EXPORT virtual Handle_Expr_GeneralExpression Copy() const = 0; //! Tests if contains NamedUnknowns.
Standard_EXPORT virtual Standard_Boolean ContainsUnknowns() const = 0; //! Tests if is contained in .
Standard_EXPORT virtual Standard_Boolean Contains(const Handle(Expr_GeneralExpression)& exp) const = 0; //! Tests if is linear on every NamedUnknown it
//! contains.
Standard_EXPORT virtual Standard_Boolean IsLinear() const = 0; //! Tests if can be shared by one or more expressions
//! or must be copied. This method returns False as a
//! default value. To be redefined ( especially for
//! NamedUnknown).
Standard_EXPORT virtual Standard_Boolean IsShareable() const; //! Tests if and define the same expression.
//! Warning: This method does not include any simplification before
//! testing. It could also be very slow; to be used
//! carefully.
Standard_EXPORT virtual Standard_Boolean IsIdentical(const Handle(Expr_GeneralExpression)& Other) const = 0; //! Returns the derivative on unknown of
Standard_EXPORT virtual Handle_Expr_GeneralExpression Derivative(const Handle(Expr_NamedUnknown)& X) const = 0; //! Returns the -th derivative on unknown of .
//! Raise OutOfRange if N <= 0
Standard_EXPORT virtual Handle_Expr_GeneralExpression NDerivative(const Handle(Expr_NamedUnknown)& X,const Standard_Integer N) const; //! Replaces all occurences of with copies of
//! in . Copies of are made with the Copy() method.
//! Raises InvalidOperand if contains .
Standard_EXPORT virtual void Replace(const Handle(Expr_NamedUnknown)& var,const Handle(Expr_GeneralExpression)& with) = 0; //! Returns the value of (as a Real) by
//! replacement of by .
//! Raises NotEvaluable if contains NamedUnknown not
//! in or NumericError if result cannot be computed.
Standard_EXPORT virtual Standard_Real Evaluate(const Expr_Array1OfNamedUnknown& vars,const TColStd_Array1OfReal& vals) const = 0; //! Returns the value of (as a Real) by
//! replacement of by .
//! Raises NotEvaluable if contains NamedUnknown not
//! in or NumericError if result cannot be computed.
Standard_EXPORT Standard_Real EvaluateNumeric() const; //! returns a string representing in a readable way.
Standard_EXPORT virtual TCollection_AsciiString String() const = 0; DEFINE_STANDARD_RTTI(Expr_GeneralExpression) protected: private: }; // other Inline functions and methods (like "C++: function call" methods) #endif