![]() |
PIP 5.6.1
Platform-Independent Primitives
|
Шаблонный класс для математического вектора динамического размера Подробнее...
#include <pimathvector.h>
Открытые члены | |
| PIMathVector (const uint size=0, const Type &new_value=Type()) | |
| Создает вектор из size элементов, инициализированных значением new_value. | |
| PIMathVector (const PIVector< Type > &val) | |
| Создает вектор из контейнера PIVector. | |
| PIMathVector (PIVector< Type > &&val) | |
| Создает вектор перемещением из контейнера PIVector. | |
| PIMathVector (std::initializer_list< Type > init_list) | |
| Создает вектор из списка инициализации. | |
| template<uint Size> | |
| PIMathVector (const PIMathVectorT< Size, Type > &val) | |
| Создает динамический вектор из вектора фиксированного размера. | |
| uint | size () const |
| Возвращает текущий размер вектора. | |
| _CVector & | resize (uint size, const Type &new_value=Type()) |
| Изменяет размер вектора и заполняет новые координаты значением new_value. | |
| _CVector | resized (uint size, const Type &new_value=Type()) |
| Возвращает копию этого вектора с другим размером. | |
| _CVector & | fill (const Type &v) |
| Заполняет все координаты значением v. | |
| _CVector & | move (const Type &v) |
| Прибавляет v к каждой координате. | |
| _CVector & | move (const _CVector &v) |
| Прибавляет другой вектор покомпонентно. | |
| _CVector & | swapElements (uint f, uint s) |
| Меняет местами две координаты. | |
| Type | lengthSqr () const |
| Возвращает квадрат евклидовой длины. | |
| Type | length () const |
| Возвращает евклидову длину. | |
| Type | manhattanLength () const |
| Возвращает манхэттенскую длину. | |
| Type | angleCos (const _CVector &v) const |
| Возвращает косинус угла к вектору v. | |
| Type | angleSin (const _CVector &v) const |
| Возвращает синус угла к вектору v. | |
| Type | angleRad (const _CVector &v) const |
| Возвращает угол к вектору v в радианах. | |
| Type | angleDeg (const _CVector &v) const |
| Возвращает угол к вектору v в градусах. | |
| _CVector | projection (const _CVector &v) |
| Возвращает проекцию этого вектора на v. | |
| _CVector & | normalize () |
| Нормализует этот вектор на месте. | |
| _CVector | normalized () |
| Возвращает нормализованную копию этого вектора. | |
| bool | isNull () const |
| Возвращает true, если все координаты равны нулю. | |
| bool | isValid () const |
| Возвращает true, если у вектора есть выделенное хранилище. | |
| bool | isOrtho (const _CVector &v) const |
| Возвращает true, если этот вектор ортогонален v. | |
| Type & | operator[] (uint index) |
| Возвращает доступ на запись к координате. | |
| const Type & | operator[] (uint index) const |
| Возвращает доступ только для чтения к координате. | |
| Type | at (uint index) const |
| Возвращает координату по значению. | |
| _CVector & | operator= (const Type &v) |
| Присваивает всем координатам одно и то же значение. | |
| bool | operator== (const _CVector &v) const |
| Сравнивает два вектора покомпонентно. | |
| bool | operator!= (const _CVector &v) const |
| Возвращает true, если векторы различаются хотя бы по одной координате. | |
| void | operator+= (const _CVector &v) |
| Прибавляет v покомпонентно. | |
| void | operator-= (const _CVector &v) |
| Вычитает v покомпонентно. | |
| void | operator*= (const Type &v) |
| Умножает все координаты на v. | |
| void | operator/= (const Type &v) |
| Делит все координаты на v. | |
| _CVector | operator- () const |
| Возвращает вектор с противоположным знаком. | |
| _CVector | operator+ (const _CVector &v) const |
| Возвращает покомпонентную сумму с v. | |
| _CVector | operator- (const _CVector &v) const |
| Возвращает покомпонентную разность с v. | |
| _CVector | operator* (const Type &v) const |
| Возвращает копию, масштабированную на v. | |
| _CVector | operator/ (const Type &v) const |
| Возвращает копию, поделенную на v. | |
| _CVector | cross (const _CVector &v) const |
| Возвращает 3D-векторное произведение с v. | |
| Type | dot (const _CVector &v) const |
| Возвращает скалярное произведение с v. | |
| _CVector | mul (const _CVector &v) const |
| Возвращает покомпонентное произведение с v. | |
| _CVector | mul (const Type &v) const |
| Возвращает копию, масштабированную на v. | |
| _CVector | div (const _CVector &v) const |
| Возвращает покомпонентное деление на v. | |
| _CVector | div (const Type &v) const |
| Возвращает копию, поделенную на v. | |
| Type | distToLine (const _CVector &lp0, const _CVector &lp1) |
| Возвращает расстояние от этой 2D-точки до прямой через lp0 и lp1. | |
| PIVector< Type > | toVector () const |
| Возвращает копию базового контейнера PIVector. | |
| void | forEach (std::function< void(const Type &)> f) const |
| Применяет f к каждой координате без изменения вектора. | |
| _CVector & | forEach (std::function< void(Type &)> f) |
| Применяет f к каждой координате и возвращает этот вектор. | |
| Type * | data () |
| Возвращает указатель на непрерывные данные вектора для записи. | |
| const Type * | data () const |
| Возвращает указатель на непрерывные данные вектора только для чтения. | |
Открытые статические члены | |
| static PIMathVector | fromTwoPoints (const _CVector &st, const _CVector &fn) |
| Строит вектор смещения от точки st к точке fn. | |
| static PIMathVector | zeros (const uint size) |
| Возвращает вектор из size нулей. | |
| static PIMathVector | ones (const uint size) |
| Возвращает вектор из size единиц. | |
| static PIMathVector | arange (const Type start, const Type stop, const Type step=Type(1)) |
| Возвращает вектор, заполненный арифметической прогрессией [start, stop) с шагом step. | |
| static _CVector | cross (const _CVector &v1, const _CVector &v2) |
| Возвращает векторное произведение v1 и v2. | |
| static Type | dot (const _CVector &v1, const _CVector &v2) |
| Возвращает скалярное произведение v1 и v2. | |
| static _CVector | mul (const _CVector &v1, const _CVector &v2) |
| Возвращает покомпонентное произведение v1 и v2. | |
| static _CVector | mul (const Type &v1, const _CVector &v2) |
| Возвращает v2, масштабированный на v1. | |
| static _CVector | mul (const _CVector &v1, const Type &v2) |
| Возвращает v1, масштабированный на v2. | |
| static _CVector | div (const _CVector &v1, const _CVector &v2) |
| Возвращает покомпонентное деление v1 на v2. | |
| static _CVector | div (const _CVector &v1, const Type &v2) |
| Возвращает v1, поделенный на скаляр v2. | |
Шаблонный класс для математического вектора динамического размера
Предоставляет операции вектора включая арифметику, нормализацию, углы, векторное произведение и скалярное произведение для векторов динамического размера
| Type | The element type (arithmetic or complex) |