vmmlib  1.11.0
Templatized C++ vector and matrix math library
vmml Namespace Reference

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 >
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 >
computeDeterminant (const Matrix< 1, 1, T > &matrix_)
 
template<typename T >
computeDeterminant (const Matrix< 2, 2, T > &matrix_)
 
template<typename T >
computeDeterminant (const Matrix< 3, 3, T > &m_)
 
template<typename 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 >
dot (const Quaternion< T > &p, const Quaternion< T > &q)
 
template<typename T >
vector< 3, T > cross (const Quaternion< T > &p, const Quaternion< T > &q)
 

Detailed Description

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

Function Documentation

template<size_t R, size_t C, typename T >
Matrix< C, R, T > vmml::transpose ( const Matrix< R, C, T > &  matrix)
inline
Returns
the transposed of a matrix

Definition at line 482 of file matrix.hpp.