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

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
 
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
{{NavBar|{{POINT3DEXT hierarchy}}}}
{{DISPLAYTITLE:__TPOINT3D}}
{{POINT3DEXT_brief}}
{{NavBar|{{Системная иерархия:__TPOINT3D}}}}
{{__TPOINT3D brief}}


<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
template <class unit_t, class alloc_t = std::allocator<unit_t>>
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>>;
struct __TPOINT3D: ::Chusov::Math::FixedMatrix<unit_t, 1, 3, alloc_t, __TPOINT3D<unit_t, alloc_t>>;
</syntaxhighlight>


typedef __TPOINT3D<double> POINT3DEXT;
===Параметры шаблона===
</syntaxhighlight>
{{class template paramlist begin}}
{{class template paramlist add|unit_t|Тип элемента вектора.}}
{{class template paramlist add|alloc_t|Тип менеджера памяти элементов вектора. По умолчанию - <tt>[http://en.cppreference.com/w/cpp/memory/allocator std::allocator].</tt>}}
{{class template paramlist end}}
 
===Специализации шаблона===
{{class template specialization list begin}}
{{class template specialization list add|__TPOINT3D<double>|<tt>POINT3DEXT</tt> - тип для выражения внешних единиц измерения длины.}}
{{class template specialization list add|__TPOINT3D<std::uint32_t>|<tt>POINT3DINT</tt> - тип для выражения внутрисистемных единиц измерения длины. В настоящее время не используется.}}
{{class template specialization list end}}


===Типы===
===Типы===
{{type_list begin}}
{{type_list_begin_old_1}}
{{type_list add|allocator_type|<tt>[http://en.cppreference.com/w/cpp/memory/allocator std::allocator]</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>double</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}}


===Методы===
===Методы===
{{function_list_begin}}
{{function_list_begin}}
{{function_list_add|''конструкторы''|reference_name=POINT3DEXT_ctors|description={{POINT3DEXT_ctors_brief}}}}
{{function_list_add|__TPOINT3D|reference_name=__TPOINT3D::__TPOINT3D|description={{__TPOINT3D::__TPOINT3D brief}}}}
{{function_list_add|Marshal|reference_name=POINT3DEXT_Marshal|description={{POINT3DEXT_Marshal_brief}}}}
{{function_list_add|Marshal|reference_name=__TPOINT3D::Marshal|description={{__TPOINT3D::Marshal brief}}}}
{{function_list_add|MarshalSize|reference_name=POINT3DEXT_MarshalSize|description={{POINT3DEXT_MarshalSize_brief}}}}
{{function_list_add|MarshalSize|reference_name=__TPOINT3D::MarshalSize|description={{__TPOINT3D::MarshalSize brief}}}}
{{function_list_add|x|reference_name=POINT3DEXT_x|description={{POINT3DEXT_x_brief}}}}
{{function_list_add|x|reference_name=__TPOINT3D::x|description={{__TPOINT3D::x brief}}}}
{{function_list_add|y|reference_name=POINT3DEXT_y|description={{POINT3DEXT_y_brief}}}}
{{function_list_add|y|reference_name=__TPOINT3D::y|description={{__TPOINT3D::y brief}}}}
{{function_list_add|z|reference_name=POINT3DEXT_z|description={{POINT3DEXT_z_brief}}}}
{{function_list_add|z|reference_name=__TPOINT3D::z|description={{__TPOINT3D::z brief}}}}
{{function_list_end}}
{{function_list_end}}


Компонент является матрицей-столбцом [http://www.chusov.org/doxygen/class_chusov_1_1_math_1_1_fixed_matrix.html Chusov::Math::FixedMatrix] 1x3. [http://www.chusov.org/doxygen/class_chusov_1_1_math_1_1_matrix.html Класс матрицы] реализует двумерный [http://en.cppreference.com/w/cpp/concept/AllocatorAwareContainer контейнер] (т.е. контейнер столбцов-контейнеров элементов) с поддержкой [http://en.cppreference.com/w/cpp/concept/RandomAccessIterator итераторов с произвольным доступом] к столбцам и элементам, а также [http://www.chusov.org/doxygen/chsvlib_concepts.html#algebraic_type алгебраическим типом], реализующим [http://www.chusov.org/doxygen/chsvlib_concepts.html#additive_group_concept аддитивную группу]. Также поддерживаются некоторые стандартные операции над матрицами.
Компонент является матрицей-столбцом [http://www.chusov.org/doxygen/class_chusov_1_1_math_1_1_fixed_matrix.html Chusov::Math::FixedMatrix] 1x3. [http://www.chusov.org/doxygen/class_chusov_1_1_math_1_1_matrix.html Класс матрицы] реализует двумерный [http://en.cppreference.com/w/cpp/concept/AllocatorAwareContainer контейнер] (т.е. контейнер столбцов-контейнеров элементов) с поддержкой [http://en.cppreference.com/w/cpp/concept/RandomAccessIterator итераторов с произвольным доступом] к столбцам и элементам, а также [http://www.chusov.org/doxygen/chsvlib_concepts.html#algebraic_type алгебраическим типом], реализующим [http://www.chusov.org/doxygen/chsvlib_concepts.html#additive_group_concept аддитивную группу]. Также поддерживаются некоторые стандартные операции над матрицами.

Текущая версия на 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. Класс матрицы реализует двумерный контейнер (т.е. контейнер столбцов-контейнеров элементов) с поддержкой итераторов с произвольным доступом к столбцам и элементам, а также алгебраическим типом, реализующим аддитивную группу. Также поддерживаются некоторые стандартные операции над матрицами.