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

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
 
(не показана 1 промежуточная версия этого же участника)
Строка 21: Строка 21:


===Типы===
===Типы===
{{type_list begin}}
{{type_list_begin_old_1}}
{{type_list add|allocator_type|<tt>alloc_t</tt> - тип [http://en.cppreference.com/w/cpp/concept/Allocator менеджера памяти] для хранения элементов вектора.}}
{{type_list_add_old_1|allocator_type|<tt>alloc_t</tt> - тип [http://en.cppreference.com/w/cpp/concept/Allocator менеджера памяти] для хранения элементов вектора.}}
{{type_list add|value_type|<tt>unit_t</tt> - тип элемента вектора.}}
{{type_list_add_old_1|value_type|<tt>unit_t</tt> - тип элемента вектора.}}
{{type_list add|size_type|Беззнаковый целочисленный тип для описания размеров.}}
{{type_list_add_old_1|size_type|Беззнаковый целочисленный тип для описания размеров.}}
{{type_list add|random_composition_access_tag|<tt>[http://en.cppreference.com/w/cpp/types/integral_constant std::true_type]</tt> - типовая метка для оптимизации [[package|запаковщика]], говорящая о произвольном доступе к запакованному массиву экземпляров класса.}}
{{type_list_add_old_1|random_composition_access_tag|<tt>[http://en.cppreference.com/w/cpp/types/integral_constant std::true_type]</tt> - типовая метка для оптимизации [[package|запаковщика]], говорящая о произвольном доступе к запакованному массиву экземпляров класса.}}
{{type_list add|[http://www.chusov.org/doxygen/chsvlib_concepts.html#algebraic_type algebraic_category]|[http://www.chusov.org/doxygen/struct_chusov_1_1_math_1_1additive__group__algebraic__tag.html additive_group_algebraic_tag] - типовая метка алгебраической структуры, которую реализует множество всех возможных экземпляров класса. Соответствует аддитивной группе.}}
{{type_list_add_old_1|[http://www.chusov.org/doxygen/chsvlib_concepts.html#algebraic_type algebraic_category]|[http://www.chusov.org/doxygen/struct_chusov_1_1_math_1_1additive__group__algebraic__tag.html additive_group_algebraic_tag] - типовая метка алгебраической структуры, которую реализует множество всех возможных экземпляров класса. Соответствует аддитивной группе.}}
{{type_list end}}
{{type_list_end_old_1}}


===Методы===
===Методы===

Текущая версия на 21:15, 3 декабря 2017

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

Трехкомпонентный вектор-столбец для описания координат точки в пространстве или радиус-вектора.

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

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

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

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

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

Типы

Тип Описание
allocator_type alloc_t - тип менеджера памяти для хранения элементов вектора.
value_type unit_t - тип элемента вектора.
size_type Беззнаковый целочисленный тип для описания размеров.
random_composition_access_tag std::true_type - типовая метка для оптимизации запаковщика, говорящая о произвольном доступе к запакованному массиву экземпляров класса.
algebraic_category additive_group_algebraic_tag - типовая метка алгебраической структуры, которую реализует множество всех возможных экземпляров класса. Соответствует аддитивной группе.

Методы

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

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