|
MathFu
An open source project by
FPL.
|
Vector class and functions. More...
#include "mathfu/utilities.h"#include <math.h>#include "mathfu/internal/vector_2_simd.h"#include "mathfu/internal/vector_3_simd.h"#include "mathfu/internal/vector_4_simd.h"Go to the source code of this file.
Vector class and functions.
Vector
Classes | |
| class | mathfu::Vector< T, d > |
| Vector of d elements with type T. More... | |
| class | mathfu::VectorPacked< T, d > |
| Packed N-dimensional vector. More... | |
| class | mathfu::Vector< T, d > |
| Vector of d elements with type T. More... | |
Namespaces | |
| mathfu | |
| Namespace for MathFu library. | |
Functions | |
| template<class T , int d> | |
| bool | mathfu::operator== (const Vector< T, d > &lhs, const Vector< T, d > &rhs) |
| Compare 2 Vectors of the same size for equality. More... | |
| template<class T , int d> | |
| bool | mathfu::operator!= (const Vector< T, d > &lhs, const Vector< T, d > &rhs) |
| Compare 2 Vectors of the same size for inequality. More... | |
| template<class T , int d> | |
| Vector< T, d > | mathfu::operator- (const Vector< T, d > &v) |
| Negate all elements of the Vector. More... | |
| template<class T , int d> | |
| Vector< T, d > | mathfu::operator* (const Vector< T, d > &lhs, const Vector< T, d > &rhs) |
| Multiply a vector by another Vector. More... | |
| template<class T , int d> | |
| Vector< T, d > | mathfu::operator/ (const Vector< T, d > &lhs, const Vector< T, d > &rhs) |
| Divide a vector by another Vector. More... | |
| template<class T , int d> | |
| Vector< T, d > | mathfu::operator+ (const Vector< T, d > &lhs, const Vector< T, d > &rhs) |
| Add a vector with another Vector. More... | |
| template<class T , int d> | |
| Vector< T, d > | mathfu::operator- (const Vector< T, d > &lhs, const Vector< T, d > &rhs) |
| subtract a vector with another Vector. More... | |
| template<class T , int d> | |
| Vector< T, d > | mathfu::operator* (const Vector< T, d > &v, const T &s) |
| Multiply a vector with a scalar. More... | |
| template<class T , int d> | |
| Vector< T, d > | mathfu::operator+ (const Vector< T, d > &v, const T &s) |
| Add a scalar to all elements of a vector. More... | |
| template<class T , int d> | |
| Vector< T, d > | mathfu::operator- (const Vector< T, d > &v, const T &s) |
| Subtract a scalar from all elements of a vector. More... | |
| template<class T , int d> | |
| Vector< T, d > & | mathfu::operator*= (Vector< T, d > &lhs, const Vector< T, d > &rhs) |
| Multiply (in-place) a vector with another Vector. More... | |
| template<class T , int d> | |
| Vector< T, d > & | mathfu::operator/= (Vector< T, d > &lhs, const Vector< T, d > &rhs) |
| Divide (in-place) a vector by another Vector. More... | |
| template<class T , int d> | |
| Vector< T, d > & | mathfu::operator+= (Vector< T, d > &lhs, const Vector< T, d > &rhs) |
| Add (in-place) a vector with another Vector. More... | |
| template<class T , int d> | |
| Vector< T, d > & | mathfu::operator-= (Vector< T, d > &lhs, const Vector< T, d > &rhs) |
| Subtract (in-place) another Vector from a vector. More... | |
| template<class T , int d> | |
| Vector< T, d > & | mathfu::operator*= (Vector< T, d > &v, const T &s) |
| Multiply (in-place) each element of a vector with a scalar. More... | |
| template<class T , int d> | |
| Vector< T, d > & | mathfu::operator/= (Vector< T, d > &v, const T &s) |
| Divide (in-place) each element of a vector by a scalar. More... | |
| template<class T , int d> | |
| Vector< T, d > & | mathfu::operator+= (Vector< T, d > &v, const T &s) |
| Add (in-place) a scalar to each element of a vector. More... | |
| template<class T , int d> | |
| Vector< T, d > & | mathfu::operator-= (Vector< T, d > &v, const T &s) |
| Subtract (in-place) a scalar from each element of a vector. More... | |
| template<class T , int d> | |
| Vector< T, d > | mathfu::HadamardProductHelper (const Vector< T, d > &v1, const Vector< T, d > &v2) |
| Calculate the hadamard or componentwise product of two vectors. More... | |
| template<class T > | |
| Vector< T, 3 > | mathfu::CrossProductHelper (const Vector< T, 3 > &v1, const Vector< T, 3 > &v2) |
| Calculate the cross product of two vectors. More... | |
| template<class T , int d> | |
| T | mathfu::LengthSquaredHelper (const Vector< T, d > &v) |
| Calculate the squared length of a vector. More... | |
| template<class T , int d> | |
| T | mathfu::LengthHelper (const Vector< T, d > &v) |
| Calculate the length of a vector. More... | |
| template<class T , int d> | |
| T | mathfu::NormalizeHelper (Vector< T, d > &v) |
| Normalize a vector in-place. More... | |
| template<class T , int d> | |
| Vector< T, d > | mathfu::NormalizedHelper (const Vector< T, d > &v) |
| Calculate the normalized version of a vector. More... | |
| template<class T , int d> | |
| Vector< T, d > | mathfu::LerpHelper (const Vector< T, d > &v1, const Vector< T, d > &v2, const T percent) |
| Linearly interpolate two vectors. More... | |
| template<class T , int d> | |
| Vector< T, d > | mathfu::RandomInRangeHelper (const Vector< T, d > &min, const Vector< T, d > &max) |
| Generates a random vector. More... | |
| template<class T , int d> | |
| Vector< T, d > | mathfu::MaxHelper (const Vector< T, d > &v1, const Vector< T, d > &v2) |
| Compare each component and returns max values. More... | |
| template<class T , int d> | |
| Vector< T, d > | mathfu::MinHelper (const Vector< T, d > &v1, const Vector< T, d > &v2) |
| Compare each component and returns min values. More... | |
| template<class T > | |
| bool | mathfu::InRange2D (const mathfu::Vector< T, 2 > &val, const mathfu::Vector< T, 2 > &range_start, const mathfu::Vector< T, 2 > &range_end) |
| Check if val is within [range_start..range_end), denoting a rectangular area. More... | |
| template<typename T , int d> | |
| Vector< T, d > | mathfu::RoundUpToPowerOf2 (const Vector< T, d > &v) |
| Specialized version of RoundUpToPowerOf2 for vector. | |