C3D Kernel  104065
Открытые типы | Открытые члены
Класс BTreeFunction

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

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

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

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

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
}
 Типы функций. Подробнее...

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

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

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

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


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

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

Элементы перечислений:
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 ( EquFnCode  code,
BTreeNode p 
)

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

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

Методы

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

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

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

Замещает BTreeNode.

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.

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

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

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

Замещает BTreeNode.

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

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

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

Замещает BTreeNode.

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

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

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

Замещает BTreeNode.

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

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

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

Замещает BTreeNode.

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

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

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

Замещает BTreeNode.

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.

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

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

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

Замещает BTreeNode.

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

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

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

Замещает BTreeNode.

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

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

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

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


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