soo
3D game math library
|
3D vector class. More...
#include <vector3.h>
Public Member Functions | |
Vector3 (const T value) noexcept | |
Vector3 (const T x, const T y, const T z) noexcept | |
Vector3 (const Vector3 &other) noexcept | |
Vector3 (Vector3 &&other) noexcept | |
Vector3 & | operator= (const Vector3 &rhs) noexcept |
Vector3 & | operator= (Vector3 &&rhs) noexcept |
Vector3 | operator+ (const Vector3 &rhs) const noexcept |
Vector3 | operator- (const Vector3 &rhs) const noexcept |
Vector3 | operator* (const T scalar) const noexcept |
Vector3 | operator/ (const T scalar) const |
Vector3 & | operator+= (const Vector3 &rhs) noexcept |
Vector3 | operator-= (const Vector3 &rhs) noexcept |
Vector3 & | operator*= (const T scalar) noexcept |
Vector3 & | operator/= (const T scalar) |
bool | operator== (const Vector3 &rhs) const |
T | getX () const noexcept |
T | getY () const noexcept |
T | getZ () const noexcept |
void | setX (const T value) noexcept |
void | setY (const T value) noexcept |
void | setZ (const T value) noexcept |
std::string | toString () const |
T | getMagnitude () const |
T | getMagnitudeSquared () const noexcept |
void | normalize () |
Vector3 | getNormalized () const |
T | dot (const Vector3 &rhs) const noexcept |
Vector3 | cross (const Vector3 &rhs) const noexcept |
Public Attributes | |
T | x |
T | y |
T | z |
Static Public Attributes | |
static const Vector3 | ZERO |
3D vector class.
T | Type of the components. Must be a floating-point type. |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
Use the squared version if you only need relative comparison to avoid the expensive square root operation.
|
inlinenoexcept |
|
inline |
|
inline |
Changes the vector's magnitude to 1.
|
inline |
|
static |
Zero vector.