C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2

Constant as a node of a binary tree. More...

#include <pars_equation_tree.h>

+ Inheritance diagram for BTreeConst:
+ Collaboration diagram for BTreeConst:

Public Member Functions

 BTreeConst (double val, const c3d::string_t &name=_T(""))
 Constructor. More...
 
 BTreeConst (const BTreeConst &)
 Copy-constructor.
 
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.
 
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...
 
bool SetValue (double, const std::set< ItTreeVariable * > &) override
 Set value. More...
 
Functions for replacing variables by names.
void ReplaceParVariable (const c3d::string_t &, ItTreeVariable &) override
 Replace variables. More...
 
void ReplaceParVariable (const ItTreeVariable &, const BTreeNode &) override
 Replace a node. More...
 
Functions for access to data.
virtual BTreeNodeGetSubNode (size_t)
 Get a child node. More...
 
bool GetDefRange (DefRange &, ItTreeVariable &, bool) const override
 Domain. More...
 
void GetUsedVariables (SSArray< ItTreeVariable * > &, SSArray< ItUserFunc * > &) const override
 Get the used variables. More...
 
std::unique_ptr< BTreeNodeFixVars (const RPArray< ItTreeVariable > &, PArray< ItUserFunc > &, 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.
 
double GetValue () const
 Get variable.
 
void SetValue (double val)
 Set value of a variable.
 
bool IsEqual (const BTreeNode &other, const EqualVarsMap &equVars) const override
 Whether the node is equal to the given node. More...
 
bool IsEqual (const BTreeConst &other, const EqualVarsMap &) 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 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...
 
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

Constant as a node of a binary tree.

Node of a binary tree denoting a constant.

Constructor & Destructor Documentation

◆ BTreeConst()

BTreeConst::BTreeConst ( double  val,
const c3d::string_t name = _T("") 
)

Constructor.

Constructor by value.

Parameters
[in]val- Value of a constant.
[in]name- Name of a constant.

Member Function Documentation

◆ GetValue()

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

Calculate value.

Calculate value of node.

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

Implements BTreeNode.

◆ CalculateDerives()

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

◆ SetValue()

bool BTreeConst::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 BTreeConst::ReplaceParVariable ( const c3d::string_t varName,
ItTreeVariable newVar 
)
inlineoverridevirtual

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 BTreeConst::ReplaceParVariable ( const ItTreeVariable var,
const BTreeNode subTree 
)
inlineoverridevirtual

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.

◆ GetSubNode()

virtual BTreeNode* BTreeConst::GetSubNode ( size_t  )
inlinevirtual

Get a child node.

Get a child node by an index.

◆ GetDefRange()

bool BTreeConst::GetDefRange ( DefRange defRange,
ItTreeVariable var,
bool  stopOnBreak 
) const
inlineoverridevirtual

Domain.

Domain.

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

Implements BTreeNode.

◆ GetUsedVariables()

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

Get the used variables.

Get the used variables.

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

Implements BTreeNode.

◆ FixVars()

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

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

Get string.

Get expression string.

Parameters
[out]-String.

Implements BTreeNode.

◆ IsEqual() [1/2]

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

Whether the 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 BTreeConst::IsEqual ( const BTreeConst other,
const EqualVarsMap  
) 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.
Returns
true if nodes are equal.

Reimplemented from BTreeNode.


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