# FoundationClasses
TKAdvTools
Expr

# Expr_GeneralExpression Class Reference

Defines the general purposes of any expression.
.

`#include <Expr_GeneralExpression.hxx>`

Inheritance diagram for Expr_GeneralExpression:

[legend]

## Public Member Functions

virtual Standard_EXPORT Standard_Integer | NbSubExpressions () const =0
| Returns the number of sub-expressions contained in <me> ( >= 0) .
virtual Standard_EXPORT const Handle_Expr_GeneralExpression & | SubExpression (const Standard_Integer I) const =0
| Returns the -th sub-expression of <me> raises OutOfRange if > NbSubExpressions(me) .
virtual Standard_EXPORT Handle_Expr_GeneralExpression | Simplified () const =0
| Returns a GeneralExpression after replacement of NamedUnknowns by an associated expression and after values computation. .
virtual Standard_EXPORT Handle_Expr_GeneralExpression | ShallowSimplified () const =0
| Returns a GeneralExpression after a simplification of the arguments of <me>. .
virtual Standard_EXPORT Handle_Expr_GeneralExpression | Copy () const =0
| Returns a copy of <me> having the same unknowns and functions. .
virtual Standard_EXPORT Standard_Boolean | ContainsUnknowns () const =0
| Tests if <me> contains NamedUnknowns. .
virtual Standard_EXPORT Standard_Boolean | Contains (const Handle(Expr_GeneralExpression)&exp) const =0
| Tests if <exp> is contained in <me>. .
virtual Standard_EXPORT Standard_Boolean | IsLinear () const =0
| Tests if <me> is linear on every NamedUnknown it contains. .
virtual Standard_EXPORT 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_EXPORT 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 Standard_EXPORT Handle_Expr_GeneralExpression | Derivative (const Handle(Expr_NamedUnknown)&X) const =0
| Returns the derivative on <x> unknown of <me> .
virtual Standard_EXPORT 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 Standard_EXPORT 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_EXPORT 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_EXPORT 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 Standard_EXPORT TCollection_AsciiString | String () const =0
| returns a string representing <me> in a readable way.
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Member Function Documentation

virtual Standard_EXPORT Standard_Boolean Expr_GeneralExpression::Contains | ( | const Handle(Expr_GeneralExpression)& | exp | ) | const`[pure virtual]`

| Implemented in Expr_BinaryExpression, Expr_NamedConstant, Expr_NamedUnknown, Expr_NumericValue, Expr_PolyExpression, and Expr_UnaryExpression.

virtual Standard_EXPORT Standard_Boolean Expr_GeneralExpression::ContainsUnknowns | ( |  | ) | const`[pure virtual]`

| Implemented in Expr_BinaryExpression, Expr_NamedConstant, Expr_NamedUnknown, Expr_NumericValue, Expr_PolyExpression, and Expr_UnaryExpression.

virtual Standard_EXPORT Handle_Expr_GeneralExpression Expr_GeneralExpression::Copy | ( |  | ) | const`[pure virtual]`

Implemented in Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, Expr_BinaryFunction, Expr_Cosh, Expr_Cosine, Expr_Difference, Expr_Division, Expr_Exponential, Expr_Exponentiate, Expr_LogOf10, Expr_LogOfe, Expr_NamedConstant, Expr_NamedUnknown, Expr_NumericValue, Expr_PolyFunction, Expr_Product, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Sum, Expr_Tangent, Expr_Tanh, Expr_UnaryFunction, and Expr_UnaryMinus.

virtual Standard_EXPORT Handle_Expr_GeneralExpression Expr_GeneralExpression::Derivative | ( | const Handle(Expr_NamedUnknown)& | X | ) | const`[pure virtual]`

Implemented in Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, Expr_BinaryFunction, Expr_Cosh, Expr_Cosine, Expr_Difference, Expr_Division, Expr_Exponential, Expr_Exponentiate, Expr_LogOf10, Expr_LogOfe, Expr_NamedConstant, Expr_NamedUnknown, Expr_NumericValue, Expr_PolyFunction, Expr_Product, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Sum, Expr_Tangent, Expr_Tanh, Expr_UnaryFunction, and Expr_UnaryMinus.

virtual Standard_EXPORT Standard_Real Expr_GeneralExpression::Evaluate | ( | const Expr_Array1OfNamedUnknown & | vars,
|  | const TColStd_Array1OfReal & | vals
| ) | const`[pure virtual]`

Implemented in Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, Expr_BinaryFunction, Expr_Cosh, Expr_Cosine, Expr_Difference, Expr_Division, Expr_Exponential, Expr_Exponentiate, Expr_LogOf10, Expr_LogOfe, Expr_NamedConstant, Expr_NamedUnknown, Expr_NumericValue, Expr_PolyFunction, Expr_Product, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Sum, Expr_Tangent, Expr_Tanh, Expr_UnaryFunction, and Expr_UnaryMinus.

Standard_EXPORT Standard_Real Expr_GeneralExpression::EvaluateNumeric | ( |  | ) | const

Standard_EXPORT const Expr_GeneralExpression::Handle | ( | Standard_Type |  | ) | const

Reimplemented from MMgt_TShared.

Reimplemented in Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, Expr_BinaryExpression, Expr_BinaryFunction, Expr_Cosh, Expr_Cosine, Expr_Difference, Expr_Division, Expr_Exponential, Expr_Exponentiate, Expr_LogOf10, Expr_LogOfe, Expr_NamedConstant, Expr_NamedExpression, Expr_NamedUnknown, Expr_NumericValue, Expr_PolyExpression, Expr_PolyFunction, Expr_Product, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Sum, Expr_Tangent, Expr_Tanh, Expr_UnaryExpression, Expr_UnaryFunction, and Expr_UnaryMinus.

virtual Standard_EXPORT Standard_Boolean Expr_GeneralExpression::IsIdentical | ( | const Handle(Expr_GeneralExpression)& | Other | ) | const`[pure virtual]`

Implemented in Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, Expr_BinaryFunction, Expr_Cosh, Expr_Cosine, Expr_Difference, Expr_Division, Expr_Exponential, Expr_Exponentiate, Expr_LogOf10, Expr_LogOfe, Expr_NamedExpression, Expr_NumericValue, Expr_PolyFunction, Expr_Product, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Sum, Expr_Tangent, Expr_Tanh, Expr_UnaryFunction, and Expr_UnaryMinus.

virtual Standard_EXPORT Standard_Boolean Expr_GeneralExpression::IsLinear | ( |  | ) | const`[pure virtual]`

Implemented in Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, Expr_BinaryFunction, Expr_Cosh, Expr_Cosine, Expr_Difference, Expr_Division, Expr_Exponential, Expr_Exponentiate, Expr_LogOf10, Expr_LogOfe, Expr_NamedConstant, Expr_NamedUnknown, Expr_NumericValue, Expr_PolyFunction, Expr_Product, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Sum, Expr_Tangent, Expr_Tanh, Expr_UnaryFunction, and Expr_UnaryMinus.

virtual Standard_EXPORT Standard_Boolean Expr_GeneralExpression::IsShareable | ( |  | ) | const`[virtual]`

| Reimplemented in Expr_NamedExpression.

virtual Standard_EXPORT Standard_Integer Expr_GeneralExpression::NbSubExpressions | ( |  | ) | const`[pure virtual]`

| Implemented in Expr_BinaryExpression, Expr_NamedConstant, Expr_NamedUnknown, Expr_NumericValue, Expr_PolyExpression, and Expr_UnaryExpression.

virtual Standard_EXPORT Handle_Expr_GeneralExpression Expr_GeneralExpression::NDerivative | ( | const Handle(Expr_NamedUnknown)& | X,
|  | const Standard_Integer | N
| ) | const`[virtual]`

| Reimplemented in Expr_Difference, Expr_NamedConstant, Expr_NumericValue, Expr_Sum, and Expr_UnaryMinus.

virtual Standard_EXPORT void Expr_GeneralExpression::Replace | ( | const Handle(Expr_NamedUnknown)& | var,
|  | const Handle(Expr_GeneralExpression)& | with
| ) | `[pure virtual]`

| Implemented in Expr_BinaryExpression, Expr_NamedConstant, Expr_NamedUnknown, Expr_NumericValue, Expr_PolyExpression, and Expr_UnaryExpression.

virtual Standard_EXPORT Handle_Expr_GeneralExpression Expr_GeneralExpression::ShallowSimplified | ( |  | ) | const`[pure virtual]`

Implemented in Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, Expr_BinaryFunction, Expr_Cosh, Expr_Cosine, Expr_Difference, Expr_Division, Expr_Exponential, Expr_Exponentiate, Expr_LogOf10, Expr_LogOfe, Expr_NamedConstant, Expr_NamedUnknown, Expr_NumericValue, Expr_PolyFunction, Expr_Product, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Sum, Expr_Tangent, Expr_Tanh, Expr_UnaryFunction, and Expr_UnaryMinus.

virtual Standard_EXPORT Handle_Expr_GeneralExpression Expr_GeneralExpression::Simplified | ( |  | ) | const`[pure virtual]`

| Implemented in Expr_BinaryExpression, Expr_NamedConstant, Expr_NamedUnknown, Expr_NumericValue, Expr_PolyExpression, and Expr_UnaryExpression.

virtual Standard_EXPORT TCollection_AsciiString Expr_GeneralExpression::String | ( |  | ) | const`[pure virtual]`

Implemented in Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, Expr_BinaryFunction, Expr_Cosh, Expr_Cosine, Expr_Difference, Expr_Division, Expr_Exponential, Expr_Exponentiate, Expr_LogOf10, Expr_LogOfe, Expr_NamedExpression, Expr_NumericValue, Expr_PolyFunction, Expr_Product, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Sum, Expr_Tangent, Expr_Tanh, Expr_UnaryFunction, and Expr_UnaryMinus.

virtual Standard_EXPORT const Handle_Expr_GeneralExpression& Expr_GeneralExpression::SubExpression | ( | const Standard_Integer | I | ) | const`[pure virtual]`

| Implemented in Expr_BinaryExpression, Expr_NamedConstant, Expr_NamedUnknown, Expr_NumericValue, Expr_PolyExpression, and Expr_UnaryExpression.

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

- Expr_GeneralExpression.hxx