C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2

User-defined function as a node of a binary tree. More...

#include <pars_equation_tree.h>

+ Inheritance diagram for BTreeUserFunc:
+ Collaboration diagram for BTreeUserFunc:

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.
 
bool SetValue (double, const std::set< ItTreeVariable * > &) override
 Set value. More...
 
EquTreeResCode GetValue (double &) 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...
 
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 BTreeUserFunc &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 BTreeOperation3Args &, 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

User-defined function as a node of a binary tree.

Node of a binary tree denoting a user-defined function.

Member Function Documentation

◆ SetValue()

bool BTreeUserFunc::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.

◆ GetValue()

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

Calculate value.

Calculate value of node.

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

Implements BTreeNode.

◆ CalculateDerives()

EquTreeResCode BTreeUserFunc::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 BTreeUserFunc::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.

◆ ReplaceParVariable()

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

Get string.

Get expression string.

Parameters
[out]-String.

Implements BTreeNode.

◆ IsEqual() [1/2]

bool BTreeUserFunc::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 BTreeUserFunc::IsEqual ( const BTreeUserFunc ,
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: