C3D Kernel  104598
Открытые типы | Открытые члены | Открытые атрибуты | Защищенные члены | Защищенные данные
Класс BTreeNode

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

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

Полный список членов класса

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

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

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

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
 Равен ли узел заданному узлу.

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

BteNodeType type
 Тип узла.

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

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

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

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

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

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


Методы

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

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

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

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

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

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

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

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

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- Набор значений и производных.
Возвращает:
Код результата разбора строки.

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

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- Третья производная.
Возвращает:
Код результата разбора строки.
virtual void BTreeNode::GetUsedVariables ( SSArray< ItTreeVariable * > &  arr,
SSArray< ItUserFunc * > &  funcs 
) const [pure virtual]

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

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

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

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

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

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

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

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

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

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

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

virtual void BTreeNode::ReplaceIntVariable ( const c3d::string_t ,
ItIntervalTreeVariable  
) [inline, virtual]

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

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

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

Аргументы:
[in]interval- Интервал для поиска.
[in]var- Переменная.
[out]points- Точки экстремума.
virtual bool BTreeNode::GetDefRange ( DefRange defRange,
ItTreeVariable var,
bool  stopOnBreak 
) const [pure virtual]

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

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

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

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

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

Аргументы:
[in]var- Переменная.
Возвращает:
Порядок.
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- Коды результата разбора строки.
Возвращает:
Переменную для фиксирования.

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

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

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

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

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

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

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

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

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

virtual bool BTreeNode::IsEqual ( const BTreeConst ,
const EqualVarsMap  
) const [inline, virtual]

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

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

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

virtual bool BTreeNode::IsEqual ( const BTreeIdent ,
const EqualVarsMap  
) const [inline, virtual]

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

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

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

virtual bool BTreeNode::IsEqual ( const BTreeFunction ,
const EqualVarsMap  
) const [inline, virtual]

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

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

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

virtual bool BTreeNode::IsEqual ( const BTreeOperation ,
const EqualVarsMap  
) const [inline, virtual]

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

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

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

virtual bool BTreeNode::IsEqual ( const BTreeOperation1Arg ,
const EqualVarsMap  
) const [inline, virtual]

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

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

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

virtual bool BTreeNode::IsEqual ( const BTreeOperation3Args ,
const EqualVarsMap  
) const [inline, virtual]

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

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

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

virtual bool BTreeNode::IsEqual ( const BTreeUserFunc ,
const EqualVarsMap  
) const [inline, virtual]

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

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

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


Объявления и описания членов класса находятся в файле:
 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Макросы