C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2

Operation with three arguments as node of syntax tree. More...

#include <pars_equation_tree.h>

+ Inheritance diagram for BTreeOperation3Args:
+ Collaboration diagram for BTreeOperation3Args:

Public Member Functions

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.
 
EquTreeResCode GetValue (double &fVal) 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...
 
void ReplaceParVariable (const c3d::string_t &varName, ItTreeVariable &newVar) override
 Replace all variables with name 'varName' by variable 'newVar'

 
void ReplaceParVariable (const ItTreeVariable &, const BTreeNode &) override
 Replace a node. More...
 
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...
 
bool IsEqual (const BTreeNode &other, const EqualVarsMap &equVars) const override
 Whether the node is equal to the given node. More...
 
bool IsEqual (const BTreeOperation3Args &other, const EqualVarsMap &equVars) const override
 Whether the node is equal to the given node. More...
 
size_t SizeOf () const override
 Get size in bytes.
 
- 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 BTreeOperation &, 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 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 three arguments as node of syntax tree.

Node of binary tree denoting operation with three arguments.

Member Function Documentation

◆ GetValue()

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

Calculate value.

Calculate value of node.

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

Implements BTreeNode.

◆ CalculateDerives()

EquTreeResCode BTreeOperation3Args::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 BTreeOperation3Args::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 BTreeOperation3Args::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()

void BTreeOperation3Args::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 BTreeOperation3Args::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> BTreeOperation3Args::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 BTreeOperation3Args::GetString ( c3d::string_t ) const
overridevirtual

Get string.

Get expression string.

Parameters
[out]-String.

Implements BTreeNode.

◆ IsEqual() [1/2]

bool BTreeOperation3Args::IsEqual ( const BTreeNode other,
const EqualVarsMap varsMap 
) const
inlineoverridevirtual

Whether the node is equal to the given node.

Whether the node is equal to the given node.

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

Implements BTreeNode.

◆ IsEqual() [2/2]

bool BTreeOperation3Args::IsEqual ( const BTreeOperation3Args ,
const EqualVarsMap  
) const
overridevirtual

Whether the node is equal to the given node.

Whether the node is equal to the given node.

Returns
false.

Reimplemented from BTreeNode.


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