Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
Expr_GeneralExpression Class Reference

Defines the general purposes of any expression.

#include <Expr_GeneralExpression.hxx>

Inheritance diagram for Expr_GeneralExpression:
Inheritance graph
[legend]

Public Member Functions

virtual Standard_Integer NbSubExpressions () const =0
 Returns the number of sub-expressions contained
in <me> ( >= 0)

virtual const
Handle_Expr_GeneralExpression & 
SubExpression (const Standard_Integer I) const =0
 Returns the -th sub-expression of <me>
raises OutOfRange if > NbSubExpressions(me)

virtual
Handle_Expr_GeneralExpression 
Simplified () const =0
 Returns a GeneralExpression after replacement of
NamedUnknowns by an associated expression and after
values computation.

virtual
Handle_Expr_GeneralExpression 
ShallowSimplified () const =0
 Returns a GeneralExpression after a simplification
of the arguments of <me>.

virtual
Handle_Expr_GeneralExpression 
Copy () const =0
 Returns a copy of <me> having the same unknowns and
functions.

virtual Standard_Boolean ContainsUnknowns () const =0
 Tests if <me> contains NamedUnknowns.

virtual Standard_Boolean Contains (const Handle< Expr_GeneralExpression > &exp) const =0
 Tests if <exp> is contained in <me>.

virtual Standard_Boolean IsLinear () const =0
 Tests if <me> is linear on every NamedUnknown it
contains.

virtual Standard_Boolean IsShareable () const
 Tests if <me> 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).

virtual Standard_Boolean IsIdentical (const Handle< Expr_GeneralExpression > &Other) const =0
 Tests if <me> and <Other> define the same expression.
Warning: This method does not include any simplification before
testing. It could also be very slow; to be used
carefully.

virtual
Handle_Expr_GeneralExpression 
Derivative (const Handle< Expr_NamedUnknown > &X) const =0
 Returns the derivative on <X> unknown of <me>

virtual
Handle_Expr_GeneralExpression 
NDerivative (const Handle< Expr_NamedUnknown > &X, const Standard_Integer N) const
 Returns the <N>-th derivative on <X> unknown of <me>.
Raise OutOfRange if N <= 0

virtual void Replace (const Handle< Expr_NamedUnknown > &var, const Handle< Expr_GeneralExpression > &with)=0
 Replaces all occurences of with copies of <with>
in <me>. Copies of <with> are made with the Copy() method.
Raises InvalidOperand if <with> contains <me>.

virtual Standard_Real Evaluate (const Expr_Array1OfNamedUnknown &vars, const TColStd_Array1OfReal &vals) const =0
 Returns the value of <me> (as a Real) by
replacement of <vars> by <vals>.
Raises NotEvaluable if <me> contains NamedUnknown not
in <vars> or NumericError if result cannot be computed.

Standard_Real EvaluateNumeric () const
 Returns the value of <me> (as a Real) by
replacement of <vars> by <vals>.
Raises NotEvaluable if <me> contains NamedUnknown not
in <vars> or NumericError if result cannot be computed.

virtual TCollection_AsciiString String () const =0
 returns a string representing <me> in a readable way.


Member Function Documentation

virtual Handle_Expr_GeneralExpression Expr_GeneralExpression::Copy ( ) const [pure virtual]
virtual Handle_Expr_GeneralExpression Expr_GeneralExpression::Derivative ( const Handle< Expr_NamedUnknown > &  X) const [pure virtual]
virtual Standard_Boolean Expr_GeneralExpression::IsLinear ( ) const [pure virtual]

Reimplemented in Expr_NamedExpression.

virtual Handle_Expr_GeneralExpression Expr_GeneralExpression::NDerivative ( const Handle< Expr_NamedUnknown > &  X,
const Standard_Integer  N 
) const [virtual]
virtual Handle_Expr_GeneralExpression Expr_GeneralExpression::ShallowSimplified ( ) const [pure virtual]
virtual Handle_Expr_GeneralExpression Expr_GeneralExpression::Simplified ( ) const [pure virtual]
virtual TCollection_AsciiString Expr_GeneralExpression::String ( ) const [pure virtual]
virtual const Handle_Expr_GeneralExpression& Expr_GeneralExpression::SubExpression ( const Standard_Integer  I) const [pure virtual]

The documentation for this class was generated from the following file: