gtVector4
template<typename Type> class

4х компонентный вектор.

Открытые члены
Type x, y, z, w;

Конструкторы
gtVector4( const gtVector4< Type >& v, Type _w )
_w - значение для компонента w.

gtVector4( const gtVector4< Type >& v )

gtVector4( const gtVector3< Type >& v )

template<typename other_type>
gtVector4( const gtVector4< other_type >& v )

gtVector4( Type X, Type Y, Type Z )

gtVector4( Type X, Type Y, Type Z, Type W )

gtVector4( Type v )
Заполнить данные одним значением.

Методы
gtVector4::cos
gtVector4< Type > cos()
Получить косинусы компонентов.

gtVector4::distance
Type distance(const gtVector3< Type >& from)
Длинна до указанной точки.

gtVector4::distance
Type distance(const gtVector4< Type >& from)
Длинна до указанной точки.

gtVector4::fill
void fill( Type val )
Заполнить вектор указанным значением.

gtVector4::getComponent
Type getComponent(u32 index)
Получить компонент по индексу.

gtVector4::getHeight
Type getHeight()
Получить высоту (w-y).

gtVector4::getV2
gtVector2< Type > getV2()
Получить вектор в виде gtVector2.

gtVector4::getV3
gtVector3< Type > getV3()
Получить вектор в виде gtVector3.

gtVector4::getW
const Type getW()
Получить значение W.

gtVector4::getWidth
Type getWidth()
Получить ширину (z-x).

gtVector4::length
Type length()
Длинна.

gtVector4::lengthSqrt
Type lengthSqrt()
Длинна.

gtVector4::lerp
gtVector4< Type > lerp( const gtVector4< Type >& v, Type t )
Линейная интерполяция.

gtVector4::normalize
gtVector4< Type > normalize()
Нормализовать.

gtVector4::set
void set( Type X, Type Y, Type Z )
Установить значения.

gtVector4::set
void set( Type X, Type Y, Type Z, Type W )
Установить значения.

gtVector4::set
void set( Type v )
Установить одним значением.

gtVector4::set
void set( const gtVector3< Type > v )
Установить значениями из gtVector3.

gtVector4::setXYZ
void setXYZ( Type val )
Установить значения XYZ одним значением.

gtVector4::setW
void setW( Type value )
Установить значение W.

gtVector4::sin
gtVector4< Type > sin()
Получить синусы компонентов.

gtVector4::summ
Type summ()
Сумма значений.

gtVector4::zero
void zero()
Обнулить вектор.


Операторы
gtVector4::operator+=
void operator+=( const gtVector4< Type >& v )
Добавить другой вектор.

gtVector4::operator-=
void operator-=( const gtVector4< Type >& v )
Убавить другой вектор.

gtVector4::operator*=
void operator*=( const gtVector4< Type >& v )
Умножить на другой вектор.

gtVector4::operator*=
void operator*=( Type v )
Умножить каждый компонент на указанное значение.

gtVector4::operator/=
void operator/=( const gtVector4;lt; Type >& v )
Деление.

gtVector4::operator+
gtVector4< Type > operator+( const gtVector4< Type >& v )
Прибавление.

gtVector4::operator-
gtVector4< Type > operator-( const gtVector4< Type >& v )
Убавление.

gtVector4::operator-
gtVector4< Type > operator-()
Инвертирование знака.

gtVector4::operator*
gtVector4< Type > operator*( Type v )
Умножение на одно число.

gtVector4::operator*
gtVector4< Type > operator*( const gtVector4< Type >& v )
Умножение.

gtVector4::operator/
gtVector4< Type > operator/( const gtVector4< Type >& v )
Деление.

gtVector4::operator==
bool operator==( const gtVector4< Type >& v )
Сравнение.

gtVector4::operator!=
bool operator!=( const gtVector4< Type >& v )
Сравнение.

gtVector4::operator[]
Type& operator[]( u32 i )
Доступ к данным.

gtVector4::operator[]
const Type& operator[]( u32 i )
Доступ к данным.


Синонимы
using v4f = gtVector4<f32>;
using v4i = gtVector4<s32>;
using v4u = gtVector4<u32>;