Open CASCADE Technology
7.7.0
|
Defines the general purposes of any expression. More...
#include <Expr_GeneralExpression.hxx>
Public Member Functions | |
virtual Standard_Integer | NbSubExpressions () const =0 |
Returns the number of sub-expressions contained in <me> ( >= 0) More... | |
virtual const Handle< Expr_GeneralExpression > & | SubExpression (const Standard_Integer I) const =0 |
Returns the -th sub-expression of <me> raises OutOfRange if > NbSubExpressions(me) More... | |
virtual Handle< Expr_GeneralExpression > | Simplified () const =0 |
Returns a GeneralExpression after replacement of NamedUnknowns by an associated expression and after values computation. More... | |
virtual Handle< Expr_GeneralExpression > | ShallowSimplified () const =0 |
Returns a GeneralExpression after a simplification of the arguments of <me>. More... | |
virtual Handle< Expr_GeneralExpression > | Copy () const =0 |
Returns a copy of <me> having the same unknowns and functions. More... | |
virtual Standard_Boolean | ContainsUnknowns () const =0 |
Tests if <me> contains NamedUnknowns. More... | |
virtual Standard_Boolean | Contains (const Handle< Expr_GeneralExpression > &exp) const =0 |
Tests if <exp> is contained in <me>. More... | |
virtual Standard_Boolean | IsLinear () const =0 |
Tests if <me> is linear on every NamedUnknown it contains. More... | |
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). More... | |
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. More... | |
virtual Handle< Expr_GeneralExpression > | Derivative (const Handle< Expr_NamedUnknown > &X) const =0 |
Returns the derivative on <X> unknown of <me> More... | |
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. More... | |
virtual void | Replace (const Handle< Expr_NamedUnknown > &var, const Handle< Expr_GeneralExpression > &with)=0 |
Replaces all occurrences of with copies of <with> in <me>. Copies of <with> are made with the Copy() method. Raises InvalidOperand if <with> contains <me>. More... | |
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. More... | |
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. More... | |
virtual TCollection_AsciiString | String () const =0 |
returns a string representing <me> in a readable way. More... | |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. More... | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. More... | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. More... | |
virtual | ~Standard_Transient () |
Destructor must be virtual. More... | |
virtual void | Delete () const |
Memory deallocator for transient classes. More... | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. More... | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. More... | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. More... | |
Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More... | |
Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More... | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. More... | |
Standard_Integer | GetRefCount () const |
Get the reference counter of this object. More... | |
void | IncrementRefCounter () const |
Increments the reference counter of this object. More... | |
Standard_Integer | DecrementRefCounter () const |
Decrements the reference counter of this object; returns the decremented value. More... | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. More... | |
Static Public Member Functions inherited from Standard_Transient | |
static const char * | get_type_name () |
Returns a type descriptor about this object. More... | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. More... | |
Defines the general purposes of any expression.
|
pure virtual |
Tests if <exp> is contained in <me>.
Implemented in Expr_NamedUnknown, Expr_NamedConstant, Expr_NumericValue, Expr_BinaryExpression, Expr_PolyExpression, and Expr_UnaryExpression.
|
pure virtual |
Tests if <me> contains NamedUnknowns.
Implemented in Expr_NamedUnknown, Expr_NamedConstant, Expr_NumericValue, Expr_BinaryExpression, Expr_PolyExpression, and Expr_UnaryExpression.
|
pure virtual |
Returns a copy of <me> having the same unknowns and functions.
Implemented in Expr_NamedUnknown, Expr_NamedConstant, Expr_NumericValue, Expr_BinaryFunction, Expr_PolyFunction, Expr_UnaryFunction, Expr_Sum, Expr_Product, Expr_UnaryMinus, Expr_Cosh, Expr_Cosine, Expr_Difference, Expr_Division, Expr_Exponentiate, Expr_LogOf10, Expr_LogOfe, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Tangent, Expr_Tanh, Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, and Expr_Exponential.
|
pure virtual |
Returns the derivative on <X> unknown of <me>
Implemented in Expr_NamedUnknown, Expr_NumericValue, Expr_NamedConstant, Expr_BinaryFunction, Expr_PolyFunction, Expr_UnaryFunction, Expr_Sum, Expr_Product, Expr_UnaryMinus, Expr_Cosh, Expr_Cosine, Expr_Difference, Expr_Division, Expr_Exponentiate, Expr_LogOf10, Expr_LogOfe, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Tangent, Expr_Tanh, Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, and Expr_Exponential.
|
pure virtual |
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.
Implemented in Expr_NamedUnknown, Expr_NumericValue, Expr_NamedConstant, Expr_Sum, Expr_BinaryFunction, Expr_PolyFunction, Expr_UnaryFunction, Expr_UnaryMinus, Expr_Difference, Expr_Product, Expr_Cosh, Expr_Cosine, Expr_Division, Expr_Exponentiate, Expr_LogOf10, Expr_LogOfe, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Tangent, Expr_Tanh, Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, and Expr_Exponential.
Standard_Real Expr_GeneralExpression::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.
|
pure virtual |
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.
Implemented in Expr_NumericValue, Expr_BinaryFunction, Expr_PolyFunction, Expr_UnaryFunction, Expr_Sum, Expr_Product, Expr_UnaryMinus, Expr_Cosh, Expr_Cosine, Expr_Difference, Expr_Division, Expr_Exponentiate, Expr_LogOf10, Expr_LogOfe, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Tangent, Expr_Tanh, Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, Expr_Exponential, and Expr_NamedExpression.
|
pure virtual |
Tests if <me> is linear on every NamedUnknown it contains.
Implemented in Expr_NamedUnknown, Expr_NumericValue, Expr_NamedConstant, Expr_BinaryFunction, Expr_PolyFunction, Expr_UnaryFunction, Expr_Sum, Expr_Product, Expr_UnaryMinus, Expr_Cosh, Expr_Cosine, Expr_Difference, Expr_Division, Expr_Exponentiate, Expr_LogOf10, Expr_LogOfe, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Tangent, Expr_Tanh, Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, and Expr_Exponential.
|
virtual |
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).
Reimplemented in Expr_NamedExpression.
|
pure virtual |
Returns the number of sub-expressions contained in <me> ( >= 0)
Implemented in Expr_NamedUnknown, Expr_BinaryExpression, Expr_PolyExpression, Expr_NamedConstant, Expr_NumericValue, and Expr_UnaryExpression.
|
virtual |
Returns the <N>-th derivative on <X> unknown of <me>. Raise OutOfRange if N <= 0.
Reimplemented in Expr_NumericValue, Expr_NamedConstant, Expr_Sum, Expr_UnaryMinus, and Expr_Difference.
|
pure virtual |
Replaces all occurrences of with copies of <with> in <me>. Copies of <with> are made with the Copy() method. Raises InvalidOperand if <with> contains <me>.
Implemented in Expr_NamedUnknown, Expr_NumericValue, Expr_NamedConstant, Expr_BinaryExpression, Expr_PolyExpression, and Expr_UnaryExpression.
|
pure virtual |
Returns a GeneralExpression after a simplification of the arguments of <me>.
Implemented in Expr_NamedUnknown, Expr_NamedConstant, Expr_NumericValue, Expr_BinaryFunction, Expr_PolyFunction, Expr_UnaryFunction, Expr_Sum, Expr_Product, Expr_UnaryMinus, Expr_Cosh, Expr_Cosine, Expr_Difference, Expr_Division, Expr_Exponentiate, Expr_LogOf10, Expr_LogOfe, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Tangent, Expr_Tanh, Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, and Expr_Exponential.
|
pure virtual |
Returns a GeneralExpression after replacement of NamedUnknowns by an associated expression and after values computation.
Implemented in Expr_BinaryExpression, Expr_PolyExpression, Expr_NamedUnknown, Expr_UnaryExpression, Expr_NamedConstant, and Expr_NumericValue.
|
pure virtual |
returns a string representing <me> in a readable way.
Implemented in Expr_NumericValue, Expr_Sum, Expr_BinaryFunction, Expr_PolyFunction, Expr_UnaryFunction, Expr_UnaryMinus, Expr_Difference, Expr_Product, Expr_Cosh, Expr_Cosine, Expr_Division, Expr_Exponentiate, Expr_LogOf10, Expr_LogOfe, Expr_Sign, Expr_Sine, Expr_Sinh, Expr_Square, Expr_SquareRoot, Expr_Tangent, Expr_Tanh, Expr_Absolute, Expr_ArcCosine, Expr_ArcSine, Expr_ArcTangent, Expr_ArgCosh, Expr_ArgSinh, Expr_ArgTanh, Expr_Exponential, and Expr_NamedExpression.
|
pure virtual |
Returns the -th sub-expression of <me> raises OutOfRange if > NbSubExpressions(me)
Implemented in Expr_NamedUnknown, Expr_BinaryExpression, Expr_PolyExpression, Expr_NamedConstant, Expr_NumericValue, and Expr_UnaryExpression.