TSIZE3D: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
м (Андрей Чусов переименовал страницу SIZE3DEXT в TSIZE3D)
Строка 1: Строка 1:
{{DISPLAYTITLE::__TSIZE3D}}
{{DISPLAYTITLE:__TSIZE3D}}
{{NavBar|{{Системная иерархия:__TSIZE3D}}}}
{{NavBar|{{Системная иерархия:__TSIZE3D}}}}
{{__TSIZE3D brief}}
{{__TSIZE3D brief}}

Версия 06:32, 11 января 2016

Компоненты на верхнем уровне \ Подсистема управления \ __TSIZE3D

Трехкомпонентный вектор-столбец для описания трехмерного размера в виде разницы двух координат по соответствующим осям x, y и z.

template <class unit_t, class alloc_t = std::allocator<unit_t>>
struct __TSIZE3D: ::Chusov::Math::FixedMatrix<unit_t, 1, 3, alloc_t, __TSIZE3D<unit_t, alloc_t>>;

Параметры шаблона

unit_tТип элемента вектора.
alloc_tТип менеджера памяти элементов вектора. По умолчанию - std::allocator.

Специализации шаблона

__TSIZE3D<double> SIZE3DEXT - тип для выражения внешних единиц измерения длины.
__TSIZE3D<std::uint32_t> SIZE3DINT - тип для выражения внутрисистемных единиц измерения длины. В настоящее время не используется.

Типы

ТипОписание
allocator_typestd::allocator - тип менеджера памяти для хранения элементов вектора.
value_typedouble - тип элемента вектора.
size_typeБеззнаковый целочисленный тип для описания размеров.
random_composition_access_tagstd::true_type - типовая метка для оптимизации запаковщика, говорящая о произвольном доступе к запакованному массиву экземпляров класса.
algebraic_categoryadditive_group_algebraic_tag - типовая метка алгебраической структуры, которую реализует множество всех возможных экземпляров класса. Соответствует аддитивной группе.

Методы

__TSIZE3D Создают экземпляр объекта класса.
Marshal Функция маршаллинга вектора.
MarshalSize Возвращает размер запакованного вектора.
cx Возвращает первую компоненту вектора.
cy Возвращает вторую компоненту вектора.
cz Возвращает третью компоненту вектора.

Компонент является матрицей-столбцом Chusov::Math::FixedMatrix 1x3. Класс матрицы реализует двумерный контейнер (т.е. контейнер столбцов-контейнеров элементов) с поддержкой итераторов с произвольным доступом к столбцам и элементам, а также алгебраическим типом, реализующим аддитивную группу. Также поддерживаются некоторые стандартные операции над матрицами.