gtVector3
template<typename Type> class

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

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

Конструкторы
gtVector3( const gtVector3< Type >& v )

gtVector3( const gtVector2< Type >& v )

gtVector3( Type X, Type Y, Type Z )

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

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

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

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

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

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

gtVector3::getZ
const Type getZ()
Получить значение Z.

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

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

gtVector3::normalize
void normalize()
Нормализовать.

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

gtVector3::setZ
void setZ( Type value )
Установить значение Z.

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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


Синонимы
using v3f = gtVector3<f32>;
using v3i = gtVector3<s32>;
using v3u = gtVector3<u32>;