Berserk
|
Generic vector class for an N dimensional space base on type T. More...
#include <TVecN.hpp>
Public Member Functions | |
TVecN () noexcept | |
TVecN (T x) | |
TVecN (T x, T y) | |
TVecN (T x, T y, T z) | |
TVecN (T x, T y, T z, T w) | |
template<uint32 M> | |
TVecN (const TVecN< T, M > &v, T a) | |
TVecN (const std::initializer_list< T > &list) noexcept | |
TVecN (const TVecN &other) noexcept | |
TVecN (TVecN &&other) noexcept | |
template<uint32 M> | |
TVecN (const TVecN< T, M > &other) noexcept | |
TVecN & | operator= (const TVecN &other) |
TVecN & | operator= (TVecN &&other) noexcept |
TVecN | operator+ (const TVecN &other) const |
TVecN | operator- (const TVecN &other) const |
TVecN | operator* (const TVecN &other) const |
TVecN | operator/ (const TVecN &other) const |
TVecN | operator+ (T a) const |
TVecN | operator- (T a) const |
TVecN | operator* (T a) const |
TVecN | operator/ (T a) const |
TVecN & | operator+= (const TVecN &other) |
TVecN & | operator-= (const TVecN &other) |
TVecN & | operator*= (const TVecN &other) |
TVecN & | operator/= (const TVecN &other) |
TVecN & | operator+= (T a) |
TVecN & | operator-= (T a) |
TVecN & | operator*= (T a) |
TVecN & | operator/= (T a) |
TVecN | operator- () const |
bool | operator<= (const TVecN &other) const |
bool | operator>= (const TVecN &other) const |
bool | operator< (const TVecN &other) const |
bool | operator> (const TVecN &other) const |
bool | operator== (const TVecN &other) const |
bool | operator!= (const TVecN &other) const |
TVecN | Abs () const |
TVecN | Pow (T factor) const |
T | Length2 () const |
T | Length () const |
TVecN | Normalized () const |
TVecN & | NormalizeThis () |
TVecN & | Zero () |
Crc32Hash | Hash () const |
T | x () const |
T | y () const |
T | z () const |
T | w () const |
T & | operator[] (uint32 index) |
const T & | operator[] (uint32 index) const |
T * | GetData () |
const T * | GetData () const |
Static Public Member Functions | |
static T | Distance2 (const TVecN &a, const TVecN &b) |
static T | Distance (const TVecN &a, const TVecN &b) |
static T | Dot (const TVecN &a, const TVecN &b) |
static T | Angle (const TVecN &a, const TVecN &b) |
static TVecN | Cross (const TVecN &a, const TVecN &b) |
static T | Triple (const TVecN &a, const TVecN &b, const TVecN &c) |
static TVecN | Lerp (float t, const TVecN &a, const TVecN &b) |
static TVecN | Slerp (T t, const TVecN &a, const TVecN &b) |
static TVecN | Slerp (T t, T ang, const TVecN &a, const TVecN &b) |
static TVecN | Min (const TVecN &a, const TVecN &b) |
static TVecN | Max (const TVecN &a, const TVecN &b) |
static TVecN | Clamp (const TVecN &t, const TVecN &left, const TVecN &right) |
static TVecN | AxisX () |
static TVecN | AxisY () |
static TVecN | AxisZ () |
Public Attributes | |
T | values [N] |
Generic vector class for an N dimensional space base on type T.
T | Type of values inside vector |
N | Vector dimension value; must be > 0 |
|
inline |
|
inlinenoexcept |
|
inlineexplicitnoexcept |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inlinestatic |