__TSIZE3D

Материал из CAMaaS preliminary wiki
(перенаправлено с «SIZE3DEXT»)
Перейти к навигации Перейти к поиску
Компоненты на верхнем уровне \ Подсистема управления \ __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_type std::allocator - тип менеджера памяти для хранения элементов вектора.
value_type double - тип элемента вектора.
size_type Беззнаковый целочисленный тип для описания размеров.
random_composition_access_tag std::true_type - типовая метка для оптимизации запаковщика, говорящая о произвольном доступе к запакованному массиву экземпляров класса.
algebraic_category additive_group_algebraic_tag - типовая метка алгебраической структуры, которую реализует множество всех возможных экземпляров класса. Соответствует аддитивной группе.

Методы

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

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