Open CASCADE Technology 7.8.0
|
Defines the use of an n-ary function in an expression with given arguments. More...
#include <Expr_PolyFunction.hxx>
Public Member Functions | |
Expr_PolyFunction (const Handle< Expr_GeneralFunction > &func, const Expr_Array1OfGeneralExpression &exps) | |
Creates <me> as <func>(<exps_1>,<exps_2>,...,<exps_n>) | |
Handle< Expr_GeneralFunction > | Function () const |
Returns the function defining <me>. | |
Handle< Expr_GeneralExpression > | ShallowSimplified () const override |
Returns a GeneralExpression after a simplification of the arguments of <me>. | |
Handle< Expr_GeneralExpression > | Copy () const override |
Returns a copy of <me> having the same unknowns and functions. | |
Standard_Boolean | IsIdentical (const Handle< Expr_GeneralExpression > &Other) const override |
Tests if <me> and <Other> define the same expression. This method does not include any simplification before testing. | |
Standard_Boolean | IsLinear () const override |
Tests if <me> is linear on every NamedUnknown it contains. | |
Handle< Expr_GeneralExpression > | Derivative (const Handle< Expr_NamedUnknown > &X) const override |
Returns the derivative on <X> unknown of <me> | |
Standard_Real | Evaluate (const Expr_Array1OfNamedUnknown &vars, const TColStd_Array1OfReal &vals) const override |
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. | |
TCollection_AsciiString | String () const override |
returns a string representing <me> in a readable way. | |
Public Member Functions inherited from Expr_PolyExpression | |
Standard_Integer | NbOperands () const |
returns the number of operands contained in <me> | |
const Handle< Expr_GeneralExpression > & | Operand (const Standard_Integer index) const |
Returns the <index>-th operand used in <me>. An exception is raised if index is out of range. | |
void | SetOperand (const Handle< Expr_GeneralExpression > &exp, const Standard_Integer index) |
Sets the <index>-th operand used in <me>. An exception is raised if <index> is out of range Raises InvalidOperand if <exp> contains <me>. | |
Standard_Integer | NbSubExpressions () const override |
returns the number of sub-expressions contained in <me> ( >= 2) | |
const Handle< Expr_GeneralExpression > & | SubExpression (const Standard_Integer I) const override |
Returns the sub-expression denoted by in <me> Raises OutOfRange if > NbSubExpressions(me) | |
Standard_Boolean | ContainsUnknowns () const override |
Does <me> contains NamedUnknown ? | |
Standard_Boolean | Contains (const Handle< Expr_GeneralExpression > &exp) const override |
Tests if <exp> is contained in <me>. | |
void | Replace (const Handle< Expr_NamedUnknown > &var, const Handle< Expr_GeneralExpression > &with) override |
Replaces all occurrences of with <with> in <me> Raises InvalidOperand if <with> contains <me>. | |
Handle< Expr_GeneralExpression > | Simplified () const override |
Returns a GeneralExpression after replacement of NamedUnknowns by an associated expression and after values computation. | |
Public Member Functions inherited from Expr_GeneralExpression | |
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 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. | |
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. | |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. | |
virtual | ~Standard_Transient () |
Destructor must be virtual. | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. | |
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. | |
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. | |
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. | |
Standard_Integer | GetRefCount () const noexcept |
Get the reference counter of this object. | |
void | IncrementRefCounter () noexcept |
Increments the reference counter of this object. | |
Standard_Integer | DecrementRefCounter () noexcept |
Decrements the reference counter of this object; returns the decremented value. | |
virtual void | Delete () const |
Memory deallocator for transient classes. | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. | |
Static Public Member Functions inherited from Standard_Transient | |
static constexpr const char * | get_type_name () |
Returns a type descriptor about this object. | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. | |
Protected Member Functions inherited from Expr_PolyExpression | |
Expr_PolyExpression () | |
initialize an empty list of operands. | |
void | AddOperand (const Handle< Expr_GeneralExpression > &exp) |
Adds an operand to the list of <me>. | |
void | RemoveOperand (const Standard_Integer index) |
Remove the operand denoted by <index> from the list of <me>. Raises exception if <index> is out of range or if removing operand intend to leave only one or no operand. | |
Defines the use of an n-ary function in an expression with given arguments.
Expr_PolyFunction::Expr_PolyFunction | ( | const Handle< Expr_GeneralFunction > & | func, |
const Expr_Array1OfGeneralExpression & | exps | ||
) |
Creates <me> as <func>(<exps_1>,<exps_2>,...,<exps_n>)
|
overridevirtual |
Returns a copy of <me> having the same unknowns and functions.
Implements Expr_GeneralExpression.
|
overridevirtual |
Returns the derivative on <X> unknown of <me>
Implements Expr_GeneralExpression.
|
overridevirtual |
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.
Implements Expr_GeneralExpression.
Handle< Expr_GeneralFunction > Expr_PolyFunction::Function | ( | ) | const |
Returns the function defining <me>.
|
overridevirtual |
Tests if <me> and <Other> define the same expression. This method does not include any simplification before testing.
Implements Expr_GeneralExpression.
|
overridevirtual |
Tests if <me> is linear on every NamedUnknown it contains.
Implements Expr_GeneralExpression.
|
overridevirtual |
Returns a GeneralExpression after a simplification of the arguments of <me>.
Implements Expr_GeneralExpression.
|
overridevirtual |
returns a string representing <me> in a readable way.
Implements Expr_GeneralExpression.