C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122

Функция как узел бинарного дерева. Подробнее...

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

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

enum  EquFnCode {
  eFnCode_unknown = -1, eFnCode_first = 0, eFnCode_sin = eFnCode_first, eFnCode_cos,
  eFnCode_tan, eFnCode_sqrt, eFnCode_atan, eFnCode_exp,
  eFnCode_ln, eFnCode_abs, eFnCode_DegBegin, eFnCode_sind = eFnCode_DegBegin,
  eFnCode_cosd, eFnCode_tand, eFnCode_DegEnd = eFnCode_tand, eFnCode_atand,
  eFnCode_lg, eFnCode_ceil, eFnCode_floor, eFnCode_round,
  eFnCode_acos, eFnCode_acosd, eFnCode_asin, eFnCode_asind,
  eFnCode_rad, eFnCode_deg, eFnCode_last = eFnCode_deg
}
 Типы функций. Подробнее...
 
- Открытые типы унаследованные от BTreeNode
typedef std::map< ItTreeVariable *, ItTreeVariable * > EqualVarsMap
 Набор пар переменных.
 
typedef std::map< const ItCoord *, DerivesValuesVarsDerives
 Набор пар: координата - значение и производные.
 

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

 BTreeFunction (EquFnCode code, BTreeNode &p)
 Конструктор. Подробнее...
 
 BTreeFunction (const BTreeFunction &)
 Копирующий конструктор.
 
virtual ~BTreeFunction ()
 Деструктор.
 
virtual BteNodeType IsA () const
 Выдать тип узла дерева.
 
virtual BTreeNodeDuplicate () const
 Создать копию объекта.
 
virtual bool IsLine () const
 Функция линейная.
 
bool IsCos () const
 имеет ли вид a * cos() + b.
 
Функции для вычисления значения и производной.
virtual EquTreeResCode GetValue (double &value) const
 Вычислить значение. Подробнее...
 
virtual EquTreeResCode CalculateDerives (double &, double &, double &, double &, const VarsDerives &) const
 Вычислить значение и производные. Подробнее...
 
virtual void GetUsedVariables (SSArray< ItTreeVariable *> &, SSArray< ItUserFunc *> &) const
 Выдать использованные переменные. Подробнее...
 
virtual bool SetValue (double, const std::set< ItTreeVariable *> &)
 Установить значение. Подробнее...
 
Функции замены переменных по именам.
virtual void ReplaceParVariable (const c3d::string_t &varName, ItTreeVariable &newVar)
 Заменить переменные. Подробнее...
 
virtual void ReplaceParVariable (const ItTreeVariable &var, const BTreeNode &subTree)
 Заменить узел. Подробнее...
 
Функции доступа к данным.
virtual BTreeNodeGetSubNode (size_t i)
 Дать вложенный узел по индексу.
 
virtual bool GetDefRange (DefRange &, ItTreeVariable &, bool stopOnBreak) const
 Область определения. Подробнее...
 
virtual std_unique_ptr< BTreeNodeFixVars (const RPArray< ItTreeVariable > &unfixed, PArray< ItUserFunc > &newFuncs, EquTreeResCode &) const
 Фиксированные переменные. Подробнее...
 
virtual std_unique_ptr< BTreeNodeGetCalcEquivalent () const
 Дать эквивалентный узел.
 
virtual void GetString (c3d::string_t &str) const
 Дать строку. Подробнее...
 
virtual size_t SizeOf () const
 Вычислить размер в байтах.
 
Функции сравнения.
virtual bool IsEqual (const BTreeNode &other, const EqualVarsMap &equVars) const
 Равен ли узел заданному узлу. Подробнее...
 
virtual bool IsEqual (const BTreeFunction &other, const EqualVarsMap &equVars) const
 Равен ли узел заданному узлу. Подробнее...
 
- Открытые члены унаследованные от BTreeNode
EquTreeResCode CalculateDerives (const ItCoord *coord, double &v, double &fd, double &sd, double &td) const
 Вычислить значение и производные. Подробнее...
 
virtual void ReplaceIntVariable (const c3d::string_t &, ItIntervalTreeVariable &)
 Заменить переменные. Подробнее...
 
bool GetExtremumPoints (std::pair< double, double > interval, ItTreeVariable &var, std::vector< double > &points)
 Выдать значение параметра экстремума. Подробнее...
 
virtual bool IsEqual (const BTreeConst &, const EqualVarsMap &) const
 Равен ли узел заданному узлу. Подробнее...
 
virtual bool IsEqual (const BTreeIdent &, 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
 Принадлежит ли объект к регистрируемому семейству.
 

Дополнительные унаследованные члены

- Открытые атрибуты унаследованные от BTreeNode
BteNodeType type
 Тип узла. Подробнее...
 
- Защищенные члены унаследованные от BTreeNode
 BTreeNode ()
 Конструктор по умолчанию.
 
- Защищенные данные унаследованные от BTreeNode
VarsDerives varDers
 Рабочие переменные.
 

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

Функция как узел бинарного дерева.

Узел бинарного дерева, обозначающий функцию.

Перечисления

◆ EquFnCode

Типы функций.

Типы функций.

Элементы перечислений
eFnCode_unknown 

Неизвестный тип.

eFnCode_first 

Начало диапазона известных функций.

eFnCode_sin 

Синус.

eFnCode_cos 

Косинус.

eFnCode_tan 

Тангенс.

eFnCode_sqrt 

Квадратный корень.

eFnCode_atan 

Арктангенс.

eFnCode_exp 

Экспонента.

eFnCode_ln 

Натуральный логарифм.

eFnCode_abs 

Модуль.

eFnCode_DegBegin 

Начала диапазона функций с аргументом в градусах.

eFnCode_sind 

Синус угла в градусах.

eFnCode_cosd 

Косинус угла в градусах.

eFnCode_tand 

Тангенс угла в градусах.

eFnCode_DegEnd 

Конец диапазона функций с аргументом в градусах.

eFnCode_atand 

Арктангенс с результатом в градусах.

eFnCode_lg 

Десятичный логарифм.

eFnCode_ceil 

Ближайшее большее целое число.

eFnCode_floor 

Ближайшее меньшее целое число.

eFnCode_round 

Ближайшее целое число.

eFnCode_acos 

Арккосинус.

eFnCode_acosd 

Арккосинус с результатом в градусах.

eFnCode_asin 

Арксинус.

eFnCode_asind 

Арксинус с результатом в градусах.

eFnCode_rad 

Перевод из градусов в радианы.

eFnCode_deg 

Перевод из радиан в градусы.

eFnCode_last 

Конец диапазона известных функций.

Конструктор(ы)

◆ BTreeFunction()

BTreeFunction::BTreeFunction ( EquFnCode  code,
BTreeNode p 
)

Конструктор.

Конструктор.

Аргументы
[in]code- Тип функции.


Аргументы
[in]p- Параметр функции.

Методы

◆ GetValue()

virtual EquTreeResCode BTreeFunction::GetValue ( double &  fValue) const
virtual

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

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

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

Замещает BTreeNode.

◆ CalculateDerives()

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

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

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

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

Замещает BTreeNode.

◆ GetUsedVariables()

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

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

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

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

Замещает BTreeNode.

◆ SetValue()

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

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

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

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

Замещает BTreeNode.

◆ ReplaceParVariable() [1/2]

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

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

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

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

Замещает BTreeNode.

◆ ReplaceParVariable() [2/2]

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

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

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

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

Замещает BTreeNode.

◆ GetDefRange()

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

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

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

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

Замещает BTreeNode.

◆ FixVars()

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

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

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

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

Замещает BTreeNode.

◆ GetString()

virtual void BTreeFunction::GetString ( c3d::string_t ) const
virtual

Дать строку.

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

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

Замещает BTreeNode.

◆ IsEqual() [1/2]

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

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

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

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

Замещает BTreeNode.

◆ IsEqual() [2/2]

virtual bool BTreeFunction::IsEqual ( const BTreeFunction other,
const EqualVarsMap equVars 
) const
virtual

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

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

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

Переопределяет метод предка BTreeNode.


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