C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2

Operation with two arguments as node of binary tree. More...

#include <pars_equation_tree.h>

+ Inheritance diagram for BTreeOperation:
+ Collaboration diagram for BTreeOperation:

Public Member Functions

 BTreeOperation (PceOperationType code, BTreeNode &op1, BTreeNode &op2)
 Constructor. More...
 
 BTreeOperation (const BTreeOperation &)
 Copy-constructor.
 
virtual ~BTreeOperation ()
 Destructor.
 
BteNodeType IsA () const override
 Get type of a tree node.
 
BTreeNodeDuplicate () const override
 Create a copy of the object.
 
bool IsLine () const override
 Function is linear.
 
virtual bool IsCos (double &a, double &b) const
 < look like a * cos() + b.
 
Functions for calculation of the value and the derivative.
EquTreeResCode GetValue (double &fvalue) const override
 Calculate value. More...
 
EquTreeResCode CalculateDerives (double &, double &, double &, double &, const VarsDerives &) const override
 Calculate a value and derivatives. More...
 
void GetUsedVariables (SSArray< ItTreeVariable * > &, SSArray< ItUserFunc * > &) const override
 Get the used variables. More...
 
bool SetValue (double, const std::set< ItTreeVariable * > &) override
 Set value. More...
 
Functions for replacing variables by names.
void ReplaceParVariable (const c3d::string_t &varName, ItTreeVariable &newVar) override
 Replace variables. More...
 
void ReplaceParVariable (const ItTreeVariable &var, const BTreeNode &subTree) override
 Replace a node. More...
 
Functions for access to data.
virtual BTreeNodeGetSubNode (size_t i)
 Get a child node by an index.
 
bool GetDefRange (DefRange &, ItTreeVariable &, bool stopOnBreak) const override
 Domain. More...
 
std::unique_ptr< BTreeNodeFixVars (const RPArray< ItTreeVariable > &unfixed, PArray< ItUserFunc > &newFuncs, EquTreeResCode &) const override
 Fixed variables. More...
 
std::unique_ptr< BTreeNodeGetCalcEquivalent () const override
 Get equivalent node.
 
void GetString (c3d::string_t &str) const override
 Get string. More...
 
size_t SizeOf () const override
 Get size in bytes.
 
int16 GetOperationCode () const
 Code of operation.
 
BTreeNodeGetFirstOperand () const
 The first operand.
 
BTreeNodeGetSecondOperand () const
 The second operand.
 
Comparison function.
bool IsEqual (const BTreeNode &other, const EqualVarsMap &equVars) const override
 Whether a node is equal to the given node. More...
 
bool IsEqual (const BTreeOperation &other, const EqualVarsMap &equVars) const override
 Whether a node is equal to the given node. More...
 
- Public Member Functions inherited from BTreeNode
EquTreeResCode CalculateDerives (const ItCoord *coord, double &v, double &fd, double &sd, double &td) const
 Calculate a value and derivatives. More...
 
virtual void ReplaceIntVariable (const c3d::string_t &, ItIntervalTreeVariable &)
 Replace variables. More...
 
bool GetExtremumPoints (const c3d::DoublePair &interval, ItTreeVariable &var, c3d::DoubleVector &points)
 Get value of parameter of extremum. More...
 
virtual bool IsEqual (const BTreeConst &, const EqualVarsMap &) const
 Whether the node is equal to the given node. More...
 
virtual bool IsEqual (const BTreeIdent &, const EqualVarsMap &) const
 Whether the node is equal to the given node. More...
 
virtual bool IsEqual (const BTreeFunction &, const EqualVarsMap &) const
 Whether the node is equal to the given node. More...
 
virtual bool IsEqual (const BTreeOperation1Arg &, const EqualVarsMap &) const
 Whether the node is equal to the given node. More...
 
virtual bool IsEqual (const BTreeOperation3Args &, const EqualVarsMap &) const
 Whether the node is equal to the given node. More...
 
virtual bool IsEqual (const BTreeUserFunc &, const EqualVarsMap &) const
 Whether the node is equal to the given node. More...
 
- Public Member Functions inherited from TapeBase
 TapeBase (RegistrableRec regs=noRegistrable)
 Constructor.
 
 TapeBase (const TapeBase &)
 Copy-constructor.
 
virtual ~TapeBase ()
 Destructor.
 
RegistrableRec GetRegistrable () const
 Whether the stream class is registrable.
 
void SetRegistrable (RegistrableRec regs=registrable) const
 Set the state of registration of the stream class.
 
virtual const char * GetPureName (const VersionContainer &) const
 Get the class name.
 
virtual bool IsFamilyRegistrable () const
 Whether the object belongs to a registrable family.
 

Additional Inherited Members

- Public Types inherited from BTreeNode
typedef std::map< ItTreeVariable *, ItTreeVariable * > EqualVarsMap
 A set of pairs of variables.
 
typedef std::map< const ItCoord *, DerivesValuesVarsDerives
 A set of pairs: coordinate - value and derivatives.
 
- Public Attributes inherited from BTreeNode
BteNodeType type
 A type of node.
 
- Protected Member Functions inherited from BTreeNode
 BTreeNode ()
 Default constructor.
 
- Protected Attributes inherited from BTreeNode
VarsDerives varDers
 Working variables.
 

Detailed Description

Operation with two arguments as node of binary tree.

Node of binary tree denoting operation with two arguments.

Member Function Documentation

◆ GetValue()

EquTreeResCode BTreeOperation::GetValue ( double &  fValue) const
overridevirtual

Calculate value.

Calculate value of node.

Parameters
[out]fValue- Value.
Returns
String parsing result code.

Implements BTreeNode.

◆ CalculateDerives()

EquTreeResCode BTreeOperation::CalculateDerives ( double &  fValue,
double &  derive1,
double &  derive2,
double &  derive3,
const VarsDerives ders 
) const
overridevirtual

Calculate a value and derivatives.

Calculate a value and derivatives.

Parameters
[out]fValue- Value.
[out]derive1- The first derivative.
[out]derive2- The second derivative.
[out]derive3- The third derivative.
[in]ders- Set of values and derivatives.
Returns
String parsing result code.

Implements BTreeNode.

◆ GetUsedVariables()

void BTreeOperation::GetUsedVariables ( SSArray< ItTreeVariable * > &  arr,
SSArray< ItUserFunc * > &  funcs 
) const
overridevirtual

Get the used variables.

Get the used variables.

Parameters
[out]arr- Variables.
[out]funcs- User functions.

Implements BTreeNode.

◆ SetValue()

bool BTreeOperation::SetValue ( double  v,
const std::set< ItTreeVariable * > &  unfixedDVars 
)
inlineoverridevirtual

Set value.

Set 'v' value to a tree node.

Parameters
[in]v- Desirable value.
[in]unfixedDVars- Variables which values can be changed.

Implements BTreeNode.

◆ ReplaceParVariable() [1/2]

void BTreeOperation::ReplaceParVariable ( const c3d::string_t varName,
ItTreeVariable newVar 
)
overridevirtual

Replace variables.

Replace all variables with the specified name by a new variable.

Parameters
[out]varName- Name.
[out]newVar- New variable.

Implements BTreeNode.

◆ ReplaceParVariable() [2/2]

void BTreeOperation::ReplaceParVariable ( const ItTreeVariable var,
const BTreeNode subTree 
)
overridevirtual

Replace a node.

Replace a node with a copy of a new one if the given variable is used.

Parameters
[out]var- Variable.
[out]subTree- New node.

Implements BTreeNode.

◆ GetDefRange()

bool BTreeOperation::GetDefRange ( DefRange defRange,
ItTreeVariable var,
bool  stopOnBreak 
) const
overridevirtual

Domain.

Domain.

Parameters
[in,out]defRange- Domain.
[out]var- Variable.
[in]stopOnBreak- Not to search the discontinuities in the definition domain.

Implements BTreeNode.

◆ FixVars()

std::unique_ptr<BTreeNode> BTreeOperation::FixVars ( const RPArray< ItTreeVariable > &  unfixedVars,
PArray< ItUserFunc > &  newFuncs,
EquTreeResCode code 
) const
overridevirtual

Fixed variables.

Fixed variables.

Parameters
[in]unfixedVars- A set of unfixed variables. If variable was found in set, then fix the copy.
[in]newFuncs- User functions.
[out]code- Result codes of string parsing.
Returns
Variable for fixation.

Implements BTreeNode.

◆ GetString()

void BTreeOperation::GetString ( c3d::string_t ) const
overridevirtual

Get string.

Get expression string.

Parameters
[out]-String.

Implements BTreeNode.

◆ IsEqual() [1/2]

bool BTreeOperation::IsEqual ( const BTreeNode other,
const EqualVarsMap equVars 
) const
inlineoverridevirtual

Whether a node is equal to the given node.

Whether a node is equal to the given node.

Parameters
[in]other- Node for comparison.
[in]equVars- A set of pairs of equal variables.
Returns
true if nodes are equal.

Implements BTreeNode.

◆ IsEqual() [2/2]

bool BTreeOperation::IsEqual ( const BTreeOperation other,
const EqualVarsMap equVars 
) const
overridevirtual

Whether a node is equal to the given node.

Whether a node is equal to the given node.

Parameters
[in]other- Node for comparison.
[in]equVars- A set of pairs of equal variables.
Returns
true if nodes are equal.

Reimplemented from BTreeNode.


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