C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122

Базовый класс для узлов дерева выражения. Подробнее...

Граф наследования:BTreeNode:
[см. легенду]
Граф связей класса BTreeNode:
[см. легенду]

Открытые типы

typedef std::map< ItTreeVariable *, ItTreeVariable * > EqualVarsMap
 Набор пар переменных.
 
typedef std::map< const ItCoord *, DerivesValuesVarsDerives
 Набор пар: координата - значение и производные.
 

Открытые члены

virtual BteNodeType IsA () const =0
 Выдать тип узла дерева.
 
virtual BTreeNodeDuplicate () const =0
 Создать копию объекта.
 
virtual bool IsLine () const =0
 Функция линейная.
 
Функции для вычисления значения и производной.
virtual EquTreeResCode GetValue (double &fValue) const =0
 Вычислить значение. Подробнее...
 
virtual bool SetValue (double v, const std::set< ItTreeVariable *> &unfixedDVars)=0
 Установить значение. Подробнее...
 
virtual EquTreeResCode CalculateDerives (double &fValue, double &derive1, double &derive2, double &derive3, const VarsDerives &ders) const =0
 Вычислить значение и производные. Подробнее...
 
EquTreeResCode CalculateDerives (const ItCoord *coord, double &v, double &fd, double &sd, double &td) const
 Вычислить значение и производные. Подробнее...
 
virtual void GetUsedVariables (SSArray< ItTreeVariable *> &arr, SSArray< ItUserFunc *> &funcs) const =0
 Выдать использованные переменные. Подробнее...
 
Функции замены переменных по именам.
virtual void ReplaceParVariable (const c3d::string_t &varName, ItTreeVariable &newVar)=0
 Заменить переменные. Подробнее...
 
virtual void ReplaceParVariable (const ItTreeVariable &var, const BTreeNode &subTree)=0
 Заменить узел. Подробнее...
 
virtual void ReplaceIntVariable (const c3d::string_t &, ItIntervalTreeVariable &)
 Заменить переменные. Подробнее...
 
Функции доступа к данным.
bool GetExtremumPoints (std::pair< double, double > interval, ItTreeVariable &var, std::vector< double > &points)
 Выдать значение параметра экстремума. Подробнее...
 
virtual bool GetDefRange (DefRange &defRange, ItTreeVariable &var, bool stopOnBreak) const =0
 Область определения. Подробнее...
 
virtual size_t GetPseudoOrderByVar (ItTreeVariable &var) const =0
 Только для внутреннего использования! Порядок переменной. Подробнее...
 
virtual std_unique_ptr< BTreeNodeFixVars (const RPArray< ItTreeVariable > &unfixedVars, PArray< ItUserFunc > &newFuncs, EquTreeResCode &code) const =0
 Фиксированные переменные. Подробнее...
 
virtual std_unique_ptr< BTreeNodeGetCalcEquivalent () const =0
 Дать эквивалентный узел.
 
virtual void GetString (c3d::string_t &) const =0
 Дать строку. Подробнее...
 
virtual size_t SizeOf () const =0
 Вычислить размер в байтах.
 
Функции сравнения.
virtual bool IsEqual (const BTreeNode &other, const EqualVarsMap &varsMap) const =0
 Равен ли узел заданному узлу. Подробнее...
 
virtual bool IsEqual (const BTreeConst &, const EqualVarsMap &) const
 Равен ли узел заданному узлу. Подробнее...
 
virtual bool IsEqual (const BTreeIdent &, const EqualVarsMap &) const
 Равен ли узел заданному узлу. Подробнее...
 
virtual bool IsEqual (const BTreeFunction &, const EqualVarsMap &) const
 Равен ли узел заданному узлу. Подробнее...
 
virtual bool IsEqual (const BTreeOperation &, const EqualVarsMap &) const
 Равен ли узел заданному узлу. Подробнее...
 
virtual bool IsEqual (const BTreeOperation1Arg &, const EqualVarsMap &) const
 Равен ли узел заданному узлу. Подробнее...
 
virtual bool IsEqual (const BTreeOperation3Args &, const EqualVarsMap &) const
 Равен ли узел заданному узлу. Подробнее...
 
virtual bool IsEqual (const BTreeUserFunc &, const EqualVarsMap &) const
 Равен ли узел заданному узлу. Подробнее...
 
- Открытые члены унаследованные от TapeBase
 TapeBase (RegistrableRec regs=noRegistrable)
 Конструктор.
 
 TapeBase (const TapeBase &other)
 Конструктор копирования
 
virtual ~TapeBase ()
 Деструктор.
 
RegistrableRec GetRegistrable () const
 Является ли потоковый класс регистрируемым.
 
void SetRegistrable (RegistrableRec regs=registrable) const
 Установить состояние регистрации потокового класса.
 
virtual ClassDescriptor GetClassDescriptor (const VersionContainer &) const =0
 Получить дескриптор класса
 
virtual const char * GetPureName (const VersionContainer &) const
 Получить имя класса.
 
virtual bool IsFamilyRegistrable () const
 Принадлежит ли объект к регистрируемому семейству.
 

Открытые атрибуты

BteNodeType type
 Тип узла. Подробнее...
 

Защищенные члены

 BTreeNode ()
 Конструктор по умолчанию.
 

Защищенные данные

VarsDerives varDers
 Рабочие переменные.
 

Подробное описание

Базовый класс для узлов дерева выражения.

Базовый класс для узлов дерева выражения.

Методы

◆ GetValue()

virtual EquTreeResCode BTreeNode::GetValue ( double &  fValue) const
pure virtual

Вычислить значение.

Вычислить значение узла.

Аргументы
[out]fValue- Значение.
Возвращает
Код результата разбора строки.

Замещается в BTreeUserFunc, BTreeOperation3Args, BTreeOperation1Arg, BTreeOperation, BTreeFunction, BTreeIdent и BTreeConst.

◆ SetValue()

virtual bool BTreeNode::SetValue ( double  v,
const std::set< ItTreeVariable *> &  unfixedDVars 
)
pure virtual

Установить значение.

Устанавливает значение v узлу дерева.

Аргументы
[in]v- Желаемое значение.
[in]unfixedDVars- Переменные, значение которых можно менять.

Замещается в BTreeUserFunc, BTreeOperation3Args, BTreeOperation1Arg, BTreeOperation, BTreeFunction, BTreeIdent и BTreeConst.

◆ CalculateDerives() [1/2]

virtual EquTreeResCode BTreeNode::CalculateDerives ( double &  fValue,
double &  derive1,
double &  derive2,
double &  derive3,
const VarsDerives ders 
) const
pure virtual

Вычислить значение и производные.

Вычислить значение и производные.

Аргументы
[out]fValue- Значение.
[out]derive1- Первая производная.
[out]derive2- Вторая производная.
[out]derive3- Третья производная.
[in]ders- Набор значений и производных.
Возвращает
Код результата разбора строки.

Замещается в BTreeUserFunc, BTreeOperation3Args, BTreeOperation1Arg, BTreeOperation, BTreeFunction, BTreeIdent и BTreeConst.

◆ CalculateDerives() [2/2]

EquTreeResCode BTreeNode::CalculateDerives ( const ItCoord coord,
double &  v,
double &  fd,
double &  sd,
double &  td 
) const

Вычислить значение и производные.

Вычислить значение и производные.

Аргументы
[in]coord- Координата.
[out]v- Значение.
[out]fd- Первая производная.
[out]sd- Вторая производная.
[out]td- Третья производная.
Возвращает
Код результата разбора строки.

◆ GetUsedVariables()

virtual void BTreeNode::GetUsedVariables ( SSArray< ItTreeVariable *> &  arr,
SSArray< ItUserFunc *> &  funcs 
) const
pure virtual

Выдать использованные переменные.

Выдать использованные переменные.

Аргументы
[out]arr- Переменные.
[out]funcs- Пользовательские функции.

Замещается в BTreeUserFunc, BTreeOperation3Args, BTreeOperation1Arg, BTreeOperation, BTreeFunction, BTreeIdent и BTreeConst.

◆ ReplaceParVariable() [1/2]

virtual void BTreeNode::ReplaceParVariable ( const c3d::string_t varName,
ItTreeVariable newVar 
)
pure virtual

Заменить переменные.

Заменить все переменные с указанными именем на новую переменную.

Аргументы
[out]varName- Имя.
[out]newVar- Новая переменная.

Замещается в BTreeUserFunc, BTreeOperation3Args, BTreeOperation1Arg, BTreeOperation, BTreeFunction, BTreeIdent и BTreeConst.

◆ ReplaceParVariable() [2/2]

virtual void BTreeNode::ReplaceParVariable ( const ItTreeVariable var,
const BTreeNode subTree 
)
pure virtual

Заменить узел.

Заменить узел на копию нового, если заданная переменная использована.

Аргументы
[out]var- Переменная.
[out]subTree- Новый узел.

Замещается в BTreeUserFunc, BTreeOperation3Args, BTreeOperation1Arg, BTreeOperation, BTreeFunction, BTreeIdent и BTreeConst.

◆ ReplaceIntVariable()

virtual void BTreeNode::ReplaceIntVariable ( const c3d::string_t ,
ItIntervalTreeVariable  
)
inlinevirtual

Заменить переменные.

Заменить все переменные с указанными именем на новую переменную.

◆ GetExtremumPoints()

bool BTreeNode::GetExtremumPoints ( std::pair< double, double >  interval,
ItTreeVariable var,
std::vector< double > &  points 
)

Выдать значение параметра экстремума.

Выдать значение параметра экстремума, если это возможно.

Аргументы
[in]interval- Интервал для поиска.
[in]var- Переменная.
[out]points- Точки экстремума.

◆ GetDefRange()

virtual bool BTreeNode::GetDefRange ( DefRange defRange,
ItTreeVariable var,
bool  stopOnBreak 
) const
pure virtual

Область определения.

Область определения.

Аргументы
[in,out]defRange- Область определения.
[out]var- Переменная.
[in]stopOnBreak- Не искать разрывы области определения.

Замещается в BTreeUserFunc, BTreeOperation3Args, BTreeOperation1Arg, BTreeOperation, BTreeFunction, BTreeIdent и BTreeConst.

◆ GetPseudoOrderByVar()

virtual size_t BTreeNode::GetPseudoOrderByVar ( ItTreeVariable var) const
pure virtual

Только для внутреннего использования! Порядок переменной.

Порядок переменной.

Аргументы
[in]var- Переменная.
Возвращает
Порядок.

◆ FixVars()

virtual std_unique_ptr<BTreeNode> BTreeNode::FixVars ( const RPArray< ItTreeVariable > &  unfixedVars,
PArray< ItUserFunc > &  newFuncs,
EquTreeResCode code 
) const
pure virtual

Фиксированные переменные.

Фиксированные переменные.

Аргументы
[in]unfixedVars- Набор нефиксированных переменных. Если переменная нашлась в наборе, фиксировать копию.
[in]newFuncs- Пользовательские функции.
[out]code- Коды результата разбора строки.
Возвращает
Переменную для фиксирования.

Замещается в BTreeUserFunc, BTreeOperation3Args, BTreeOperation1Arg, BTreeOperation, BTreeFunction, BTreeIdent и BTreeConst.

◆ GetString()

virtual void BTreeNode::GetString ( c3d::string_t ) const
pure virtual

Дать строку.

Дать строку выражения.

Аргументы
[out]-Строка.

Замещается в BTreeUserFunc, BTreeOperation3Args, BTreeOperation1Arg, BTreeOperation, BTreeFunction, BTreeIdent и BTreeConst.

◆ IsEqual() [1/8]

virtual bool BTreeNode::IsEqual ( const BTreeNode other,
const EqualVarsMap varsMap 
) const
pure virtual

Равен ли узел заданному узлу.

Равен ли узел заданному узлу.

Аргументы
[in]other- Узел для сравнения.
[in]varsMap- Набор пар равных переменных.
Возвращает
true, если узлы равны.

Замещается в BTreeUserFunc, BTreeOperation3Args, BTreeOperation1Arg, BTreeOperation, BTreeFunction, BTreeIdent и BTreeConst.

◆ IsEqual() [2/8]

virtual bool BTreeNode::IsEqual ( const BTreeConst ,
const EqualVarsMap  
) const
inlinevirtual

Равен ли узел заданному узлу.

Равен ли узел заданному узлу.

Возвращает
false.

Переопределяется в BTreeConst.

◆ IsEqual() [3/8]

virtual bool BTreeNode::IsEqual ( const BTreeIdent ,
const EqualVarsMap  
) const
inlinevirtual

Равен ли узел заданному узлу.

Равен ли узел заданному узлу.

Возвращает
false.

Переопределяется в BTreeIdent.

◆ IsEqual() [4/8]

virtual bool BTreeNode::IsEqual ( const BTreeFunction ,
const EqualVarsMap  
) const
inlinevirtual

Равен ли узел заданному узлу.

Равен ли узел заданному узлу.

Возвращает
false.

Переопределяется в BTreeFunction.

◆ IsEqual() [5/8]

virtual bool BTreeNode::IsEqual ( const BTreeOperation ,
const EqualVarsMap  
) const
inlinevirtual

Равен ли узел заданному узлу.

Равен ли узел заданному узлу.

Возвращает
false.

Переопределяется в BTreeOperation.

◆ IsEqual() [6/8]

virtual bool BTreeNode::IsEqual ( const BTreeOperation1Arg ,
const EqualVarsMap  
) const
inlinevirtual

Равен ли узел заданному узлу.

Равен ли узел заданному узлу.

Возвращает
false.

Переопределяется в BTreeOperation1Arg.

◆ IsEqual() [7/8]

virtual bool BTreeNode::IsEqual ( const BTreeOperation3Args ,
const EqualVarsMap  
) const
inlinevirtual

Равен ли узел заданному узлу.

Равен ли узел заданному узлу.

Возвращает
false.

Переопределяется в BTreeOperation3Args.

◆ IsEqual() [8/8]

virtual bool BTreeNode::IsEqual ( const BTreeUserFunc ,
const EqualVarsMap  
) const
inlinevirtual

Равен ли узел заданному узлу.

Равен ли узел заданному узлу.

Возвращает
false.

Переопределяется в BTreeUserFunc.

Данные класса

◆ type

BteNodeType BTreeNode::type

Тип узла.


Объявления и описания членов класса находятся в файле: