Open CASCADE Technology
6.5.4
|
Defines the general purposes of any expression.
#include <Expr_GeneralExpression.hxx>
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. |
virtual Standard_Boolean Expr_GeneralExpression::Contains | ( | const Handle< Expr_GeneralExpression > & | exp | ) | const [pure virtual] |
Implemented in Expr_NamedUnknown, Expr_NumericValue, Expr_NamedConstant, Expr_PolyExpression, Expr_BinaryExpression, and Expr_UnaryExpression.
virtual Standard_Boolean Expr_GeneralExpression::ContainsUnknowns | ( | ) | const [pure virtual] |
Implemented in Expr_NamedUnknown, Expr_NumericValue, Expr_NamedConstant, Expr_PolyExpression, Expr_BinaryExpression, and Expr_UnaryExpression.
virtual Handle_Expr_GeneralExpression Expr_GeneralExpression::Copy | ( | ) | const [pure virtual] |
Implemented in Expr_NamedUnknown, Expr_NumericValue, Expr_NamedConstant, Expr_UnaryFunction, Expr_BinaryFunction, Expr_PolyFunction, Expr_Sum, Expr_UnaryMinus, Expr_Difference, Expr_Product, Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, Expr_Cosh, Expr_Cosine, Expr_Exponential, Expr_LogOf10, Expr_LogOfe, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Tangent, Expr_Tanh, Expr_Division, and Expr_Exponentiate.
virtual Handle_Expr_GeneralExpression Expr_GeneralExpression::Derivative | ( | const Handle< Expr_NamedUnknown > & | X | ) | const [pure virtual] |
Implemented in Expr_NamedUnknown, Expr_NumericValue, Expr_NamedConstant, Expr_UnaryFunction, Expr_BinaryFunction, Expr_PolyFunction, Expr_Sum, Expr_UnaryMinus, Expr_Difference, Expr_Product, Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, Expr_Cosh, Expr_Cosine, Expr_Exponential, Expr_LogOf10, Expr_LogOfe, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Tangent, Expr_Tanh, Expr_Division, and Expr_Exponentiate.
virtual Standard_Real Expr_GeneralExpression::Evaluate | ( | const Expr_Array1OfNamedUnknown & | vars, |
const TColStd_Array1OfReal & | vals | ||
) | const [pure virtual] |
Implemented in Expr_NamedUnknown, Expr_NumericValue, Expr_NamedConstant, Expr_Sum, Expr_UnaryFunction, Expr_BinaryFunction, Expr_PolyFunction, Expr_UnaryMinus, Expr_Difference, Expr_Product, Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, Expr_Cosh, Expr_Cosine, Expr_Exponential, Expr_LogOf10, Expr_LogOfe, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Tangent, Expr_Tanh, Expr_Division, and Expr_Exponentiate.
virtual Standard_Boolean Expr_GeneralExpression::IsIdentical | ( | const Handle< Expr_GeneralExpression > & | Other | ) | const [pure virtual] |
Implemented in Expr_NumericValue, Expr_UnaryFunction, Expr_BinaryFunction, Expr_PolyFunction, Expr_Sum, Expr_UnaryMinus, Expr_Difference, Expr_Product, Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, Expr_Cosh, Expr_Cosine, Expr_Exponential, Expr_LogOf10, Expr_LogOfe, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Tangent, Expr_Tanh, Expr_Division, Expr_Exponentiate, and Expr_NamedExpression.
virtual Standard_Boolean Expr_GeneralExpression::IsLinear | ( | ) | const [pure virtual] |
Implemented in Expr_NamedUnknown, Expr_NumericValue, Expr_NamedConstant, Expr_UnaryFunction, Expr_BinaryFunction, Expr_PolyFunction, Expr_Sum, Expr_UnaryMinus, Expr_Difference, Expr_Product, Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, Expr_Cosh, Expr_Cosine, Expr_Exponential, Expr_LogOf10, Expr_LogOfe, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Tangent, Expr_Tanh, Expr_Division, and Expr_Exponentiate.
virtual Standard_Boolean Expr_GeneralExpression::IsShareable | ( | ) | const [virtual] |
Reimplemented in Expr_NamedExpression.
virtual Standard_Integer Expr_GeneralExpression::NbSubExpressions | ( | ) | const [pure virtual] |
Implemented in Expr_NamedUnknown, Expr_PolyExpression, Expr_NumericValue, Expr_BinaryExpression, Expr_NamedConstant, and Expr_UnaryExpression.
virtual Handle_Expr_GeneralExpression Expr_GeneralExpression::NDerivative | ( | const Handle< Expr_NamedUnknown > & | X, |
const Standard_Integer | N | ||
) | const [virtual] |
Reimplemented in Expr_NumericValue, Expr_NamedConstant, Expr_Sum, Expr_UnaryMinus, and Expr_Difference.
virtual void Expr_GeneralExpression::Replace | ( | const Handle< Expr_NamedUnknown > & | var, |
const Handle< Expr_GeneralExpression > & | with | ||
) | [pure virtual] |
Implemented in Expr_NamedUnknown, Expr_NumericValue, Expr_NamedConstant, Expr_PolyExpression, Expr_BinaryExpression, and Expr_UnaryExpression.
virtual Handle_Expr_GeneralExpression Expr_GeneralExpression::ShallowSimplified | ( | ) | const [pure virtual] |
Implemented in Expr_NamedUnknown, Expr_NumericValue, Expr_NamedConstant, Expr_UnaryFunction, Expr_BinaryFunction, Expr_PolyFunction, Expr_Sum, Expr_UnaryMinus, Expr_Difference, Expr_Product, Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, Expr_Cosh, Expr_Cosine, Expr_Exponential, Expr_LogOf10, Expr_LogOfe, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Tangent, Expr_Tanh, Expr_Division, and Expr_Exponentiate.
virtual Handle_Expr_GeneralExpression Expr_GeneralExpression::Simplified | ( | ) | const [pure virtual] |
Implemented in Expr_PolyExpression, Expr_NamedUnknown, Expr_BinaryExpression, Expr_UnaryExpression, Expr_NumericValue, and Expr_NamedConstant.
virtual TCollection_AsciiString Expr_GeneralExpression::String | ( | ) | const [pure virtual] |
Implemented in Expr_NumericValue, Expr_Sum, Expr_UnaryFunction, Expr_BinaryFunction, Expr_PolyFunction, Expr_UnaryMinus, Expr_Difference, Expr_Product, Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, Expr_Cosh, Expr_Cosine, Expr_Exponential, Expr_LogOf10, Expr_LogOfe, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Tangent, Expr_Tanh, Expr_Division, Expr_Exponentiate, and Expr_NamedExpression.
virtual const Handle_Expr_GeneralExpression& Expr_GeneralExpression::SubExpression | ( | const Standard_Integer | I | ) | const [pure virtual] |
Implemented in Expr_NamedUnknown, Expr_PolyExpression, Expr_NumericValue, Expr_BinaryExpression, Expr_NamedConstant, and Expr_UnaryExpression.