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

Вектор математический фиксированного размера с размером во время компиляции Подробнее...

#include <pimathvector.h>

Граф наследования:PIMathVectorT< Size, Type >:
Inheritance graph
[см. легенду]

Открытые члены

 PIMathVectorT (const Type &v=Type())
 Создает вектор и заполняет все координаты значением v.
 
 PIMathVectorT (const PIVector< Type > &val)
 Создает вектор фиксированного размера из динамического вектора той же длины.
 
 PIMathVectorT (std::initializer_list< Type > init_list)
 Создает вектор из списка инициализации ровно с Size элементами.
 
constexpr uint size () const
 Возвращает размерность вектора, заданную во время компиляции.
 
_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 в градусах.
 
Type angleElevation (const _CVector &v) const
 Возвращает угол возвышения от этой точки к v в градусах.
 
_CVector projection (const _CVector &v)
 Возвращает проекцию этого вектора на v.
 
_CVectornormalize ()
 Нормализует этот вектор на месте.
 
_CVector normalized ()
 Возвращает нормализованную копию этого вектора.
 
bool isNull () 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
 Возвращает координату по значению.
 
Type & element (uint index)
 Возвращает доступ на запись к координате.
 
const Type & element (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.
 
PIMathMatrixT< 1, Size, Type > transposed () const
 Возвращает вектор как матрицу 1 x Size.
 
Type distToLine (const _CVector &lp0, const _CVector &lp1)
 Возвращает расстояние от этой 2D-точки до прямой через lp0 и lp1.
 
template<uint Size1, typename Type1 >
PIMathVectorT< Size1, Type1 > turnTo () const
 Преобразует этот вектор к другой размерности и типу элементов.
 
template<typename T >
PIMathVectorT< Size, T > toType () const
 Возвращает этот вектор с другим типом элементов.
 
template<uint SubSize>
PIMathVectorT< SubSize, Type > subvector (int offset=0) const
 Возвращает подвектор, начиная с offset, и заполняет нулями координаты вне исходного диапазона.
 
template<uint SubSize>
PIMathVectorT< Size, Type > & setSubvector (int index, const PIMathVectorT< SubSize, Type > &v)
 Записывает v в этот вектор, начиная с index, и игнорирует координаты вне диапазона назначения.
 

Открытые статические члены

static _CVector fromTwoPoints (const _CVector &st, const _CVector &fn)
 Строит вектор смещения от точки st к точке fn.
 
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<uint Size, typename Type = double>
class PIMathVectorT< Size, Type >

Вектор математический фиксированного размера с размером во время компиляции

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

Параметры шаблона
SizeThe fixed size of the vector
TypeThe element type (arithmetic or complex)