TPOINT3D: различия между версиями
Перейти к навигации
Перейти к поиску
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
{{NavBar|{{ | {{DISPLAYTITLE:__TPOINT3D}} | ||
{{ | {{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> | |||
===Параметры шаблона=== | |||
</ | {{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_old_1}} | ||
{{ | {{type_list_add_old_1|allocator_type|<tt>alloc_t</tt> - тип [http://en.cppreference.com/w/cpp/concept/Allocator менеджера памяти] для хранения элементов вектора.}} | ||
{{ | {{type_list_add_old_1|value_type|<tt>unit_t</tt> - тип элемента вектора.}} | ||
{{ | {{type_list_add_old_1|size_type|Беззнаковый целочисленный тип для описания размеров.}} | ||
{{ | {{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_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_old_1}} | ||
===Методы=== | ===Методы=== | ||
{{function_list_begin}} | {{function_list_begin}} | ||
{{function_list_add| | {{function_list_add|__TPOINT3D|reference_name=__TPOINT3D::__TPOINT3D|description={{__TPOINT3D::__TPOINT3D brief}}}} | ||
{{function_list_add|Marshal|reference_name= | {{function_list_add|Marshal|reference_name=__TPOINT3D::Marshal|description={{__TPOINT3D::Marshal brief}}}} | ||
{{function_list_add|MarshalSize|reference_name= | {{function_list_add|MarshalSize|reference_name=__TPOINT3D::MarshalSize|description={{__TPOINT3D::MarshalSize brief}}}} | ||
{{function_list_add|x|reference_name= | {{function_list_add|x|reference_name=__TPOINT3D::x|description={{__TPOINT3D::x brief}}}} | ||
{{function_list_add|y|reference_name= | {{function_list_add|y|reference_name=__TPOINT3D::y|description={{__TPOINT3D::y brief}}}} | ||
{{function_list_add|z|reference_name= | {{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
Трехкомпонентный вектор-столбец для описания координат точки в пространстве или радиус-вектора.
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. Класс матрицы реализует двумерный контейнер (т.е. контейнер столбцов-контейнеров элементов) с поддержкой итераторов с произвольным доступом к столбцам и элементам, а также алгебраическим типом, реализующим аддитивную группу. Также поддерживаются некоторые стандартные операции над матрицами.