| 
    Open CASCADE Technology 7.8.2.dev
    
   | 
 
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)   | |
| 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 occurrences 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.   | |
  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.   | |
Defines the general purposes of any expression.
      
  | 
  pure virtual | 
Tests if <exp> is contained in <me>.
Implemented in Expr_BinaryExpression, Expr_NamedConstant, Expr_NamedUnknown, Expr_NumericValue, Expr_PolyExpression, and Expr_UnaryExpression.
      
  | 
  pure virtual | 
Tests if <me> contains NamedUnknowns.
Implemented in Expr_BinaryExpression, Expr_NamedConstant, Expr_NamedUnknown, Expr_NumericValue, Expr_PolyExpression, and Expr_UnaryExpression.
      
  | 
  pure virtual | 
Returns a copy of <me> having the same unknowns and functions.
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.
      
  | 
  pure virtual | 
Returns the derivative on <X> unknown of <me>
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.
      
  | 
  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_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_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_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.
      
  | 
  pure virtual | 
Tests if <me> is linear on every NamedUnknown it contains.
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 | 
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_BinaryExpression, Expr_NamedConstant, Expr_NamedUnknown, Expr_NumericValue, Expr_PolyExpression, and Expr_UnaryExpression.
      
  | 
  virtual | 
Returns the <N>-th derivative on <X> unknown of <me>. Raise OutOfRange if N <= 0.
Reimplemented in Expr_Difference, Expr_NamedConstant, Expr_NumericValue, Expr_Sum, and Expr_UnaryMinus.
      
  | 
  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_BinaryExpression, Expr_NamedConstant, Expr_NamedUnknown, Expr_NumericValue, Expr_PolyExpression, and Expr_UnaryExpression.
      
  | 
  pure virtual | 
Returns a GeneralExpression after a simplification of the arguments of <me>.
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.
      
  | 
  pure virtual | 
Returns a GeneralExpression after replacement of NamedUnknowns by an associated expression and after values computation.
Implemented in Expr_BinaryExpression, Expr_NamedConstant, Expr_NamedUnknown, Expr_NumericValue, Expr_PolyExpression, and Expr_UnaryExpression.
      
  | 
  pure virtual | 
returns a string representing <me> in a readable way.
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.
      
  | 
  pure virtual | 
Returns the -th sub-expression of <me> raises OutOfRange if > NbSubExpressions(me)
Implemented in Expr_BinaryExpression, Expr_NamedConstant, Expr_NamedUnknown, Expr_NumericValue, Expr_PolyExpression, and Expr_UnaryExpression.