|
| template<typename T, size_t N> |
| constexpr Vector< T, N > | Crux::operator- (const Vector< T, N > &v) |
| template<typename T, size_t N> |
| constexpr Vector< T, N > | Crux::operator+ (const Vector< T, N > &a, const Vector< T, N > &b) |
| template<typename T, size_t N> |
| constexpr Vector< T, N > | Crux::operator- (const Vector< T, N > &a, const Vector< T, N > &b) |
| template<typename T, size_t N> |
| constexpr Vector< T, N > | Crux::operator* (const Vector< T, N > &a, const T &scalar) |
| template<typename T, size_t N> |
| constexpr Vector< T, N > | Crux::operator* (const T &scalar, const Vector< T, N > &a) |
| template<typename T, size_t N> |
| constexpr Vector< T, N > | Crux::operator/ (const Vector< T, N > &a, const T &scalar) |
| template<typename T, size_t N> |
| constexpr Vector< T, N > & | Crux::operator+= (Vector< T, N > &a, const Vector< T, N > &b) |
| template<typename T, size_t N> |
| constexpr Vector< T, N > & | Crux::operator* (const Vector< T, N > &a, const Vector< T, N > &b) |
| template<typename T, size_t N> |
| constexpr Vector< T, N > & | Crux::operator*= (Vector< T, N > &a, Vector< T, N > &b) |
| template<typename T, size_t N> |
| constexpr Vector< T, N > & | Crux::operator-= (Vector< T, N > &a, const Vector< T, N > &b) |
| template<typename T, size_t N> |
| constexpr Vector< T, N > & | Crux::operator*= (Vector< T, N > &a, const T &scalar) |
| template<typename T, size_t N> |
| constexpr Vector< T, N > & | Crux::operator/= (Vector< T, N > &a, const T &scalar) |
| template<typename T, size_t N> |
| constexpr T | Crux::Dot (const Vector< T, N > &a, const Vector< T, N > &b) |
| | Dot product of two vectors.
|
| template<typename T> |
| constexpr Vector< T, 3 > | Crux::Cross (const Vector< T, 3 > &a, const Vector< T, 3 > &b) |
| | Cross product for 3D vectors.
|
| template<typename T, size_t N> |
| constexpr T | Crux::LengthSq (const Vector< T, N > &a) |
| | Squared length (magnitude) of a vector.
|
| template<typename T, size_t N> |
| T | Crux::Length (const Vector< T, N > &a) |
| | Length (magnitude) of a vector.
|
| template<typename T, size_t N> |
| Vector< T, N > | Crux::Normalize (const Vector< T, N > &a) |
| | Normalizes a vector to unit length.
|
| template<typename T, size_t N> |
| constexpr Vector< T, N > | Crux::Project (const Vector< T, N > &a, const Vector< T, N > &b) |
| | Projects vector a onto vector b.
|
| template<typename T, size_t N> |
| constexpr Vector< T, N > | Crux::Reflect (const Vector< T, N > &a, const Vector< T, N > &normal) |
| | Reflects vector a around the given normal.
|
| template<typename T, size_t N> |
| constexpr Vector< T, N > | Crux::MinComponent (const Vector< T, N > &a, const Vector< T, N > &b) |
| | Element-wise minimum of two vectors.
|
| template<typename T, size_t N> |
| constexpr Vector< T, N > | Crux::MaxComponent (const Vector< T, N > &a, const Vector< T, N > &b) |
| | Element-wise maximum of two vectors.
|
| template<typename T, size_t N> |
| constexpr Vector< T, N > | Crux::Abs (const Vector< T, N > &a) |
| | Element-wise absolute value of a vector.
|
| template<typename T, size_t N> |
| constexpr bool | Crux::operator== (const Vector< T, N > &a, const Vector< T, N > &b) |
| | Approximate equality comparison with tolerance.
|
| template<typename T, size_t N> |
| constexpr bool | Crux::operator!= (const Vector< T, N > &a, const Vector< T, N > &b) |
| | Inequality comparison.
|
| template<typename T, size_t N> |
| T | Crux::AngleBetween (const Vector< T, N > &a, const Vector< T, N > &b) |
| | Angle between two vectors in radians.
|
| template<typename T, size_t N> |
| constexpr Vector< T, N > | Crux::Lerp (const Vector< T, N > &a, const Vector< T, N > &b, T t) |
| | Linear interpolation between two vectors.
|