PIP 5.6.1
Platform-Independent Primitives
Открытые члены | Открытые статические члены | Полный список членов класса
Шаблон класса PIMathVector< Type >

Шаблонный класс для математического вектора динамического размера Подробнее...

#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
 Возвращает текущий размер вектора.
 
_CVectorresize (uint size, const Type &new_value=Type())
 Изменяет размер вектора и заполняет новые координаты значением new_value.
 
_CVector resized (uint size, const Type &new_value=Type())
 Возвращает копию этого вектора с другим размером.
 
_CVectorfill (const Type &v)
 Заполняет все координаты значением v.
 
_CVectormove (const Type &v)
 Прибавляет v к каждой координате.
 
_CVectormove (const _CVector &v)
 Прибавляет другой вектор покомпонентно.
 
_CVectorswapElements (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.
 
_CVectornormalize ()
 Нормализует этот вектор на месте.
 
_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
 Возвращает координату по значению.
 
_CVectoroperator= (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 к каждой координате без изменения вектора.
 
_CVectorforEach (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.
 

Подробное описание

template<typename Type>
class PIMathVector< Type >

Шаблонный класс для математического вектора динамического размера

Предоставляет операции вектора включая арифметику, нормализацию, углы, векторное произведение и скалярное произведение для векторов динамического размера

Параметры шаблона
TypeThe element type (arithmetic or complex)