vmmlib
1.11.0
Templatized C++ vector and matrix math library
|
heavily inspired by boost::enable_if http://www.boost.org, file: boost/utility/enable_if.hpp, Copyright 2003 Jaakko Järvi, Jeremiah Willcock, Andrew Lumsdaine More...
Classes | |
class | AABB |
An axis-aligned bounding box. More... | |
struct | enable_if |
struct | enable_if< false, T > |
class | Frustum |
Represents a frustum, following OpenGL conventions. More... | |
class | FrustumCuller |
Helper class to perform OpenGL view frustum culling. More... | |
class | LowpassFilter |
class | Matrix |
Matrix with R rows and C columns of element type T. More... | |
class | Quaternion |
class | Ray |
class | vector |
Typedefs | |
typedef Matrix< 2, 2, double > | Matrix2d |
A 2x2 double matrix. | |
typedef Matrix< 2, 2, float > | Matrix2f |
A 2x2 float matrix. | |
typedef Matrix< 3, 3, double > | Matrix3d |
A 3x3 double matrix. | |
typedef Matrix< 3, 3, float > | Matrix3f |
A 3x3 float matrix. | |
typedef Matrix< 4, 4, double > | Matrix4d |
A 4x4 double matrix. | |
typedef Matrix< 4, 4, float > | Matrix4f |
A 4x4 float matrix. | |
typedef vector< 2, float > | Vector2f |
A 2-component float vector. | |
typedef vector< 2, int > | Vector2i |
A 2-component int vector. | |
typedef vector< 2, unsigned > | Vector2ui |
A 2-component unsigned int vector. | |
typedef vector< 3, double > | Vector3d |
A 3-component double vector. | |
typedef vector< 3, float > | Vector3f |
A 3-component float vector. | |
typedef vector< 3, int > | Vector3i |
A 3-component int vector. | |
typedef vector< 3, uint8_t > | Vector3ub |
A 3-component byte vector. | |
typedef vector< 3, unsigned > | Vector3ui |
A 3-component unsigned int vector. | |
typedef vector< 4, double > | Vector4d |
A 4-component double vector. | |
typedef vector< 4, float > | Vector4f |
A 4-component float vector. | |
typedef vector< 4, int > | Vector4i |
A 4-component int vector. | |
typedef vector< 4, uint8_t > | Vector4ub |
A 4-component byte vector. | |
typedef vector< 4, unsigned > | Vector4ui |
A 4-component unsigned int vector. | |
typedef Quaternion< double > | Quaterniond |
A double quaternion. | |
typedef Quaternion< float > | Quaternionf |
A float quaternion. | |
typedef Frustum< double > | Frustumd |
A double frustum. | |
typedef Frustum< float > | Frustumf |
A float frustum. | |
typedef FrustumCuller< double > | FrustumCullerd |
A double frustum culler. | |
typedef FrustumCuller< float > | FrustumCullerf |
A float frustum culler. | |
typedef AABB< double > | AABBd |
A double bounding box. | |
typedef AABB< float > | AABBf |
A float bounding box. | |
typedef Ray< double > | Rayd |
A double ray. | |
typedef Ray< float > | Rayf |
A float ray. | |
Enumerations | |
enum | Visibility { VISIBILITY_NONE = 0, VISIBILITY_PARTIAL = 1, VISIBILITY_FULL = 2 } |
Functions | |
template<typename T > | |
std::ostream & | operator<< (std::ostream &os, const AABB< T > &aabb) |
template<size_t M, typename T > | |
bool | equals (const vector< M, T > &a, const vector< M, T > &b) |
template<size_t M, typename T > | |
static vector< M, T > | operator* (T factor, const vector< M, T > &vector_) |
template<size_t M, typename T > | |
T | dot (const vector< M, T > &first, const vector< M, T > &second) |
template<size_t M, typename T > | |
vector< M, T > | cross (vector< M, T > a, const vector< M, T > &b) |
template<size_t M, typename T > | |
vector< M, T > | compute_normal (const vector< M, T > &a, const vector< M, T > &b, const vector< M, T > &c) |
template<typename T > | |
vector< 3, T > | rotate (vector< 3, T > vec, const T theta, const vector< 3, T > &axis) |
template<size_t M, typename T > | |
vector< M, T > | normalize (vector< M, T > vector_) |
template<typename T > | |
vector< 4, T > | compute_plane (const vector< 3, T > &a, const vector< 3, T > &b, const vector< 3, T > &c) |
std::ostream & | operator<< (std::ostream &os, const Visibility &v) |
Free matrix functions | |
template<typename T > | |
T | computeDeterminant (const Matrix< 1, 1, T > &matrix_) |
template<typename T > | |
T | computeDeterminant (const Matrix< 2, 2, T > &matrix_) |
template<typename T > | |
T | computeDeterminant (const Matrix< 3, 3, T > &m_) |
template<typename T > | |
T | computeDeterminant (const Matrix< 4, 4, T > &m) |
template<typename T > | |
Matrix< 1, 1, T > | computeInverse (const Matrix< 1, 1, T > &m_) |
template<typename T > | |
Matrix< 2, 2, T > | computeInverse (const Matrix< 2, 2, T > &m_) |
template<typename T > | |
Matrix< 3, 3, T > | computeInverse (const Matrix< 3, 3, T > &m_) |
template<typename T > | |
Matrix< 4, 4, T > | computeInverse (const Matrix< 4, 4, T > &m_) |
template<size_t R, size_t C, typename T > | |
Matrix< R, C, T > | computeInverse (const Matrix< R, C, T > &) |
template<size_t R, size_t C, typename T > | |
Matrix< C, R, T > | transpose (const Matrix< R, C, T > &matrix) |
Free quaternion functions | |
template<typename T > | |
T | dot (const Quaternion< T > &p, const Quaternion< T > &q) |
template<typename T > | |
vector< 3, T > | cross (const Quaternion< T > &p, const Quaternion< T > &q) |
heavily inspired by boost::enable_if http://www.boost.org, file: boost/utility/enable_if.hpp, Copyright 2003 Jaakko Järvi, Jeremiah Willcock, Andrew Lumsdaine
|
inline |
Definition at line 482 of file matrix.hpp.