Simple++
Powerfull and lightning fast C++ Library
Classes | Typedefs | Functions
Math Namespace Reference

Classes

struct  add
 
struct  addEqual
 
struct  binaryShiftLeft
 
struct  binaryShiftLeftEqual
 
struct  binaryShiftRight
 
struct  binaryShiftRightEqual
 
class  BoundingBox2D
 
struct  div
 
struct  divEqual
 
struct  equal
 
class  Line
 Class representing a line. More...
 
class  Mat2
 
class  Mat3
 
class  Mat4
 
struct  modulus
 
struct  modulusEqual
 
struct  mul
 
struct  mulEqual
 
struct  Ratio
 
class  Rectangle
 
struct  sub
 
struct  subEqual
 
class  Vec2
 
class  Vec3
 
class  Vec4
 

Typedefs

typedef BoundingBox2D< float > BoundingBox2Df
 
typedef BoundingBox2D< int > BoundingBox2Di
 
typedef Mat2< MATH_FLOAT_DEFAULTmat2
 
typedef Mat2< float > mat2f
 
typedef Mat2< double > mat2d
 
typedef Mat2< char > mat2c
 
typedef Mat2< unsigned char > mat2uc
 
typedef Mat2< int > mat2i
 
typedef Mat2< unsigned int > mat2ui
 
typedef Mat2< long > mat2l
 
typedef Mat2< unsigned long > mat2ul
 
typedef Mat3< MATH_FLOAT_DEFAULTmat3
 
typedef Mat3< float > mat3f
 
typedef Mat3< double > mat3d
 
typedef Mat3< char > mat3c
 
typedef Mat3< unsigned char > mat3uc
 
typedef Mat3< int > mat3i
 
typedef Mat3< unsigned int > mat3ui
 
typedef Mat3< long > mat3l
 
typedef Mat3< unsigned long > mat3ul
 
typedef Mat4< MATH_FLOAT_DEFAULTmat4
 
typedef Mat4< float > mat4f
 
typedef Mat4< double > mat4d
 
typedef Mat4< char > mat4c
 
typedef Mat4< unsigned char > mat4uc
 
typedef Mat4< int > mat4i
 
typedef Mat4< unsigned int > mat4ui
 
typedef Mat4< long > mat4l
 
typedef Mat4< unsigned long > mat4ul
 
typedef Rectangle< float > RectF
 
typedef Rectangle< int > RectI
 
typedef Vec2< MATH_FLOAT_DEFAULTvec2
 
typedef Vec2< float > vec2f
 
typedef Vec2< double > vec2d
 
typedef Vec2< char > vec2c
 
typedef Vec2< unsigned char > vec2uc
 
typedef Vec2< int > vec2i
 
typedef Vec2< unsigned int > vec2ui
 
typedef Vec2< long > vec2l
 
typedef Vec2< unsigned long > vec2ul
 
typedef Vec3< MATH_FLOAT_DEFAULTvec3
 
typedef Vec3< float > vec3f
 
typedef Vec3< double > vec3fd
 
typedef Vec3< char > vec3c
 
typedef Vec3< unsigned char > vec3uc
 
typedef Vec3< int > vec3i
 
typedef Vec3< unsigned int > vec3ui
 
typedef Vec3< long > vec3l
 
typedef Vec3< unsigned long > vec3ul
 
typedef Vec4< MATH_FLOAT_DEFAULTvec4
 
typedef Vec4< float > vec4f
 
typedef Vec4< double > vec4d
 
typedef Vec4< char > vec4c
 
typedef Vec4< unsigned char > vec4uc
 
typedef Vec4< int > vec4i
 
typedef Vec4< unsigned int > vec4ui
 
typedef Vec4< long > vec4l
 
typedef Vec4< unsigned long > vec4ul
 

Functions

template<typename T = double>
MATH_FUNC_QUALIFIER constexpr T e ()
 get the value of e More...
 
template<typename T = double>
MATH_FUNC_QUALIFIER constexpr T pi ()
 get the value of PI return PI More...
 
template<typename T = float>
MATH_FUNC_QUALIFIERrandom (const T &min, const T &max)
 get a Random number between min and max More...
 
template<typename T >
MATH_FUNC_QUALIFIERrandomF ()
 get a random value between 0.0 and 1.0 More...
 
template<typename T = unsigned int>
MATH_FUNC_QUALIFIERrandom ()
 get a random value number between 0 and randomMax(); More...
 
template<typename T = unsigned int>
MATH_FUNC_QUALIFIERrandomMax ()
 get the maximum value possible of the random number generator More...
 
template<typename T >
MATH_FUNC_QUALIFIERpow (const T &v, double e)
 compute the number power another one More...
 
template<typename T >
MATH_FUNC_QUALIFIER constexpr T pow (const T &v, int e)
 compute the number power another one More...
 
template<typename T >
MATH_FUNC_QUALIFIERclamp (const T &v, const T &min, const T &max)
 Clamp a number between to others (assert(min <= max)) More...
 
template<typename T >
MATH_FUNC_QUALIFIERfpart (const T &x)
 Get the fractional part of a float. More...
 
template<typename T >
MATH_FUNC_QUALIFIERtrunc (const T &x)
 Truncate a number. More...
 
template<typename T >
MATH_FUNC_QUALIFIERmin (const T &x, const T &y)
 Get the minimal between two elements. More...
 
template<typename T >
MATH_FUNC_QUALIFIERmax (const T &x, const T &y)
 Get the minimal between two elements. More...
 
template<typename T >
MATH_FUNC_QUALIFIER constexpr T abs (const T &v)
 Get the absolute value of a number. More...
 
template<typename T >
MATH_FUNC_QUALIFIER constexpr T gcd (const T &M, const T &N)
 Get the greater common divisor of two numbers. More...
 
template<typename T >
MATH_FUNC_QUALIFIER constexpr int sign (const T &i)
 get the sign of a number More...
 
template<typename T >
MATH_FUNC_QUALIFIERradians (const T &degree)
 Convert an angle from degree to radians. More...
 
template<typename T >
MATH_FUNC_QUALIFIERdegree (const T &radians)
 Convert an angle from radian to degree. More...
 
template<typename T >
MATH_FUNC_QUALIFIERsincn (const T &x)
 Get the Cardinal Sine Normalized of a number. More...
 
template<typename T >
MATH_FUNC_QUALIFIERsinc (const T &x)
 Get the Cardinal Sine unnormalized of a number. More...
 
template<>
MATH_FUNC_QUALIFIER float trunc (const float &x)
 
template<>
MATH_FUNC_QUALIFIER double trunc (const double &x)
 
template<typename T >
BoundingBox2D< T > operator+ (const BoundingBox2D< T > &r, const Vec2< T > &p)
 
template<typename T >
BoundingBox2D< T > operator+ (const Vec2< T > &p, const BoundingBox2D< T > &r)
 
template<typename T >
BoundingBox2D< T > operator- (const BoundingBox2D< T > &r, const Vec2< T > &p)
 
template<typename T >
BoundingBox2D< T > operator- (const Vec2< T > &p, const BoundingBox2D< T > &r)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat2< T > operator* (const Mat2< T > &m1, const Mat2< T > &m2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > operator* (const Mat2< T > &m, const U &v)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > operator* (const U &v, const Mat2< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat2< T >::colType operator* (const typename Mat2< T >::colType &v, const Mat2< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat2< T >::colType operator* (const Mat2< T > &m, const typename Mat2< T >::colType &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat2< T > operator/ (const Mat2< T > &m1, const Mat2< T > &m2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > operator/ (const Mat2< T > &m, const U &v)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > operator/ (const U &v, const Mat2< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat2< T > operator+ (const Mat2< T > &m1, const Mat2< T > &m2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > operator+ (const Mat2< T > &m, const U &v)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > operator+ (const U &v, const Mat2< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat2< T > operator- (const Mat2< T > &m1, const Mat2< T > &m2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > operator- (const Mat2< T > &m, const U &v)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > operator- (const U &v, const Mat2< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat2< T > operator>> (const Mat2< T > &m1, const Mat2< T > &m2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > operator>> (const Mat2< T > &m, const U &v)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > operator>> (const U &v, const Mat2< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat2< T > operator<< (const Mat2< T > &m1, const Mat2< T > &m2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > operator<< (const Mat2< T > &m, const U &v)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > operator<< (const U &v, const Mat2< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER std::ostream & operator<< (std::ostream &stream, const Mat2< T > &v)
 
template<typename T , typename C = char>
MATH_FUNC_QUALIFIER BasicString< C > & operator<< (BasicString< C > &stream, const Mat2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat3< T > operator* (const Mat3< T > &m1, const Mat3< T > &m2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > operator* (const Mat3< T > &m, const U &v)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > operator* (const U &v, const Mat3< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat3< T >::colType operator* (const typename Mat3< T >::colType &v, const Mat3< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat3< T >::colType operator* (const Mat3< T > &m, const typename Mat3< T >::colType &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat3< T > operator/ (const Mat3< T > &m1, const Mat3< T > &m2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > operator/ (const Mat3< T > &m, const U &v)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > operator/ (const U &v, const Mat3< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat3< T > operator+ (const Mat3< T > &m1, const Mat3< T > &m2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > operator+ (const Mat3< T > &m, const U &v)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > operator+ (const U &v, const Mat3< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat3< T > operator- (const Mat3< T > &m1, const Mat3< T > &m2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > operator- (const Mat3< T > &m, const U &v)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > operator- (const U &v, const Mat3< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat3< T > operator>> (const Mat3< T > &m1, const Mat3< T > &m2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > operator>> (const Mat3< T > &m, const U &v)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > operator>> (const U &v, const Mat3< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat3< T > operator<< (const Mat3< T > &m1, const Mat3< T > &m2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > operator<< (const Mat3< T > &m, const U &v)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > operator<< (const U &v, const Mat3< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER std::ostream & operator<< (std::ostream &stream, const Mat3< T > &v)
 
template<typename T , typename C = char>
MATH_FUNC_QUALIFIER BasicString< C > & operator<< (BasicString< C > &stream, const Mat3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > operator* (const Mat4< T > &m1, const Mat4< T > &m2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > operator* (const Mat4< T > &m, const U &v)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > operator* (const U &v, const Mat4< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T >::colType operator* (const typename Mat4< T >::colType &v, const Mat4< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T >::colType operator* (const Mat4< T > &m, const typename Mat4< T >::colType &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T >::colType operator* (const Mat4< T > &m, const typename Mat3< T >::colType &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > operator/ (const Mat4< T > &m1, const Mat4< T > &m2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > operator/ (const Mat4< T > &m, const U &v)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > operator/ (const U &v, const Mat4< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > operator+ (const Mat4< T > &m1, const Mat4< T > &m2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > operator+ (const Mat4< T > &m, const U &v)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > operator+ (const U &v, const Mat4< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > operator- (const Mat4< T > &m1, const Mat4< T > &m2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > operator- (const Mat4< T > &m, const U &v)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > operator- (const U &v, const Mat4< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > operator>> (const Mat4< T > &m1, const Mat4< T > &m2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > operator>> (const Mat4< T > &m, const U &v)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > operator>> (const U &v, const Mat4< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > operator<< (const Mat4< T > &m1, const Mat4< T > &m2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > operator<< (const Mat4< T > &m, const U &v)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > operator<< (const U &v, const Mat4< T > &m)
 
template<typename T >
MATH_FUNC_QUALIFIER std::ostream & operator<< (std::ostream &stream, const Mat4< T > &v)
 
template<typename T , typename C = char>
MATH_FUNC_QUALIFIER BasicString< C > & operator<< (BasicString< C > &stream, const Mat4< T > &v)
 
template<typename T >
Rectangle< T > operator+ (const Rectangle< T > &r, const Vec2< T > &p)
 
template<typename T >
Rectangle< T > operator+ (const Vec2< T > &p, const Rectangle< T > &r)
 
template<typename T >
Rectangle< T > operator- (const Rectangle< T > &r, const Vec2< T > &p)
 
template<typename T >
Rectangle< T > operator- (const Vec2< T > &p, const Rectangle< T > &r)
 
template<typename T , typename U = char>
BasicString< U > & operator<< (BasicString< U > &string, const Rectangle< T > &r)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat3< T > getNormalMat (const Mat4< T > &mat)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > right (const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER void scaleX (Mat4< T > *mat, const T &x)
 
template<typename T >
MATH_FUNC_QUALIFIER void scaleY (Mat4< T > *mat, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER void scaleZ (Mat4< T > *mat, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > scaleX (const Mat4< T > &mat, const T &x)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > scaleY (const Mat4< T > &mat, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > scaleZ (const Mat4< T > &mat, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > scale (const Vec3< T > &s)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > scale (const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER void scale (Mat4< T > *mat, const Vec3< T > &s)
 
template<typename T >
MATH_FUNC_QUALIFIER void scale (Mat4< T > *mat, const T &s)
 
template<typename T >
MATH_FUNC_QUALIFIER void scale (Mat4< T > *mat, const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > scale (const Mat4< T > &mat, const Vec3< T > &s)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > scale (const Mat4< T > &mat, const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER void scale (const Mat4< T > &mat, Mat4< T > *resultMat, const Vec3< T > &s)
 
template<typename T >
MATH_FUNC_QUALIFIER void scale (const Mat4< T > &mat, Mat4< T > *resultMat, const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > scale (const Vec2< T > &s)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > scale (const T &x, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER void scale (Mat4< T > *mat, const Vec2< T > &s)
 
template<typename T >
MATH_FUNC_QUALIFIER void scale (Mat4< T > *mat, const T &x, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > scale (const Mat4< T > &mat, const Vec2< T > &s)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > scale (const Mat4< T > &mat, const T &x, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER void scale (const Mat4< T > &mat, Mat4< T > *resultMat, const Vec2< T > &s)
 
template<typename T >
MATH_FUNC_QUALIFIER void scale (const Mat4< T > &mat, Mat4< T > *resultMat, const T &x, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER void scaleXInv (Mat4< T > *mat, const T &x)
 
template<typename T >
MATH_FUNC_QUALIFIER void scaleYInv (Mat4< T > *mat, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER void scaleZInv (Mat4< T > *mat, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > scaleXInv (const Mat4< T > &mat, const T &x)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > scaleYInv (const Mat4< T > &mat, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > scaleZInv (const Mat4< T > &mat, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER void scaleInv (Mat4< T > *mat, const Vec3< T > &s)
 
template<typename T >
MATH_FUNC_QUALIFIER void scaleInv (Mat4< T > *mat, const T &s)
 
template<typename T >
MATH_FUNC_QUALIFIER void scaleInv (Mat4< T > *mat, const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > scaleInv (const Mat4< T > &mat, const Vec3< T > &s)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > scaleInv (const Mat4< T > &mat, const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > scaleInv (const Mat4< T > &mat, const T &s)
 
template<typename T >
MATH_FUNC_QUALIFIER void scaleInv (const Mat4< T > &mat, Mat4< T > *resultMat, const Vec3< T > &s)
 
template<typename T >
MATH_FUNC_QUALIFIER void scaleInv (const Mat4< T > &mat, Mat4< T > *resultMat, const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER void scaleInv (const Mat4< T > &mat, Mat4< T > *resultMat, const T &s)
 
template<typename T >
MATH_FUNC_QUALIFIER void scaleInv (Mat4< T > *mat, const Vec2< T > &s)
 
template<typename T >
MATH_FUNC_QUALIFIER void scaleInv (Mat4< T > *mat, const T &x, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > scaleInv (const Mat4< T > &mat, const Vec2< T > &s)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > scaleInv (const Mat4< T > &mat, const T &x, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER void scaleInv (const Mat4< T > &mat, Mat4< T > *resultMat, const Vec2< T > &s)
 
template<typename T >
MATH_FUNC_QUALIFIER void scaleInv (const Mat4< T > &mat, Mat4< T > *resultMat, const T &x, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateX (Mat4< T > *mat, const T &x)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateY (Mat4< T > *mat, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateZ (Mat4< T > *mat, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translateX (const Mat4< T > &mat, const T &x)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translateY (const Mat4< T > &mat, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translateZ (const Mat4< T > &mat, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translate (const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translate (const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER void translate (Mat4< T > *mat, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER void translate (Mat4< T > *mat, const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translate (const Mat4< T > &mat, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translate (const Mat4< T > &mat, const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER void translate (const Mat4< T > &mat, Mat4< T > *resultMat, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER void translate (const Mat4< T > &mat, Mat4< T > *resultMat, const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translate (const Vec2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translate (const T &x, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER void translate (Mat4< T > *mat, const Vec2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER void translate (Mat4< T > *mat, const T &x, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translate (const Mat4< T > &mat, const Vec2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translate (const Mat4< T > &mat, const T &x, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER void translate (const Mat4< T > &mat, Mat4< T > *resultMat, const Vec2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER void translate (const Mat4< T > &mat, Mat4< T > *resultMat, const T &x, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateXInv (Mat4< T > *mat, const T &x)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateYInv (Mat4< T > *mat, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateZInv (Mat4< T > *mat, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translateXInv (const Mat4< T > &mat, const T &x)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translateYInv (const Mat4< T > &mat, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translateZInv (const Mat4< T > &mat, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateInv (Mat4< T > *mat, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateInv (Mat4< T > *mat, const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translateInv (const Mat4< T > &mat, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translateInv (const Mat4< T > &mat, const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateInv (const Mat4< T > &mat, Mat4< T > *resultMat, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateInv (const Mat4< T > &mat, Mat4< T > *resultMat, const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateInv (Mat4< T > *mat, const Vec2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateInv (Mat4< T > *mat, const T &x, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translateInv (const Mat4< T > &mat, const Vec2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translateInv (const Mat4< T > &mat, const T &x, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateInv (const Mat4< T > &mat, Mat4< T > *resultMat, const Vec2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateInv (const Mat4< T > &mat, Mat4< T > *resultMat, const T &x, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateXWS (Mat4< T > *mat, const T &x)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateYWS (Mat4< T > *mat, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateZWS (Mat4< T > *mat, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translateXWS (const Mat4< T > &mat, const T &x)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translateYWS (const Mat4< T > &mat, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translateZWS (const Mat4< T > &mat, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateWS (Mat4< T > *mat, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateWS (Mat4< T > *mat, const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translateWS (const Mat4< T > &mat, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translateWS (const Mat4< T > &mat, const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateWS (const Mat4< T > &mat, Mat4< T > *resultMat, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateWS (const Mat4< T > &mat, Mat4< T > *resultMat, const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateWS (Mat4< T > *mat, const Vec2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateWS (Mat4< T > *mat, const T &x, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translateWS (const Mat4< T > &mat, const Vec2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > translateWS (const Mat4< T > &mat, const T &x, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateWS (const Mat4< T > &mat, Mat4< T > *resultMat, const Vec2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER void translateWS (const Mat4< T > &mat, Mat4< T > *resultMat, const T &x, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER void setPositionX (Mat4< T > *mat, const T &x)
 
template<typename T >
MATH_FUNC_QUALIFIER void setPositionY (Mat4< T > *mat, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER void setPositionZ (Mat4< T > *mat, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > setPositionX (const Mat4< T > &mat, const T &x)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > setPositionY (const Mat4< T > &mat, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > setPositionZ (const Mat4< T > &mat, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER void setPosition (Mat4< T > *mat, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER void setPosition (Mat4< T > *mat, const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > setPosition (const Mat4< T > &mat, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > setPosition (const Mat4< T > &mat, const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER void setPosition (const Mat4< T > &mat, Mat4< T > *resultMat, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER void setPosition (const Mat4< T > &mat, Mat4< T > *resultMat, const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER void setPosition (Mat4< T > *mat, const Vec2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER void setPosition (Mat4< T > *mat, const T &x, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > setPosition (const Mat4< T > &mat, const Vec2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > setPosition (const Mat4< T > &mat, const T &x, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER void setPosition (const Mat4< T > &mat, Mat4< T > *resultMat, const Vec2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER void setPosition (const Mat4< T > &mat, Mat4< T > *resultMat, const T &x, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > rotateNormalized (const Mat4< T > &m, const T &angle, const T &x, const T &y, const T &z)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > rotateNormalized (const Mat4< T > &m, const T &angle, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER void rotateNormalized (Mat4< T > *m, const T &angle, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > rotateNormalized (const Mat4< T > &m, Mat4< T > *resultMat, const T &angle, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > rotateNormalized (const T &angle, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > rotate (const Mat4< T > &m, const T &angle, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > rotate (const Mat4< T > &m, const T &angle)
 
template<typename T >
MATH_FUNC_QUALIFIER void rotate (Mat4< T > *m, const T &angle, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER void rotate (Mat4< T > *m, const T &angle)
 
template<typename T >
MATH_FUNC_QUALIFIER void rotate (const Mat4< T > &m, Mat4< T > *resultMat, const T &angle, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER void rotate (const Mat4< T > &m, Mat4< T > *resultMat, const T &angle)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > rotate (const T &angle, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > rotate (const T &angle)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > perspective (const T &fovy, const T &aspect, const T &near, const T &far)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > lookAt (const Vec3< T > &position, const Vec3< T > &target, const Vec3< T > &up)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > lookAtNormalized (const Vec3< T > &position, const Vec3< T > &orientation, const Vec3< T > &up)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > lookAt (const Vec3< T > &position, const Vec3< T > &target)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > lookAtNormalized (const Vec3< T > &position, const Vec3< T > &orientation)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > ortho (const T &left, const T &right, const T &bottom, const T &top, const T &zNear, const T &zFar)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > ortho (const T &left, const T &right, const T &bottom, const T &top)
 
template<typename T >
void translateYInv (Mat4< T > *mat, const T &y)
 
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > ortho (T const &left, T const &right, T const &bottom, T const &top, T const &zNear, T const &zFar)
 
template<typename T >
MATH_FUNC_QUALIFIER void rotateNormalized (const Mat4< T > &m, Mat4< T > *resultMat, const T &angle, const Vec3< T > &axis)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec2< T > operator+ (const Vec2< T > &v1, const Vec2< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > operator+ (const U &v1, const Vec2< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > operator+ (const Vec2< T > &v1, const U &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec2< T > operator- (const Vec2< T > &v1, const Vec2< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > operator- (const Vec2< T > &v1, const U &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > operator- (const U &v1, const Vec2< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec2< T > operator* (const Vec2< T > &v1, const Vec2< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > operator* (const Vec2< T > &v1, const U &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > operator* (const U &v1, const Vec2< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec2< T > operator/ (const Vec2< T > &v1, const Vec2< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > operator/ (const Vec2< T > &v1, const U &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > operator/ (const U &v1, const Vec2< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec2< T > operator>> (const Vec2< T > &v1, const Vec2< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > operator>> (const Vec2< T > &v1, const U &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > operator>> (const U &v1, const Vec2< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec2< T > operator<< (const Vec2< T > &v1, const Vec2< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > operator<< (const Vec2< T > &v1, const U &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > operator<< (const U &v1, const Vec2< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER std::ostream & operator<< (std::ostream &stream, const Vec2< T > &v)
 
template<typename T , typename U = char>
MATH_FUNC_QUALIFIER BasicString< U > & operator<< (BasicString< U > &string, const Vec2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > operator+ (const Vec3< T > &v1, const Vec3< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > operator+ (const U &v1, const Vec3< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > operator+ (const Vec3< T > &v1, const U &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > operator- (const Vec3< T > &v1, const Vec3< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > operator- (const Vec3< T > &v1, const U &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > operator- (const U &v1, const Vec3< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > operator* (const Vec3< T > &v1, const Vec3< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > operator* (const Vec3< T > &v1, const U &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > operator* (const U &v1, const Vec3< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > operator/ (const Vec3< T > &v1, const Vec3< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > operator/ (const Vec3< T > &v1, const U &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > operator/ (const U &v1, const Vec3< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > operator>> (const Vec3< T > &v1, const Vec3< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > operator>> (const Vec3< T > &v1, const U &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > operator>> (const U &v1, const Vec3< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > operator<< (const Vec3< T > &v1, const Vec3< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > operator<< (const Vec3< T > &v1, const U &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > operator<< (const U &v1, const Vec3< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER std::ostream & operator<< (std::ostream &stream, const Vec3< T > &v)
 
template<typename T , typename U = char>
MATH_FUNC_QUALIFIER BasicString< U > & operator<< (BasicString< U > &stream, const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec4< T > operator+ (const Vec4< T > &v1, const Vec4< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > operator+ (const U &v1, const Vec4< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > operator+ (const Vec4< T > &v1, const U &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec4< T > operator- (const Vec4< T > &v1, const Vec4< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > operator- (const Vec4< T > &v1, const U &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > operator- (const U &v1, const Vec4< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec4< T > operator* (const Vec4< T > &v1, const Vec4< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > operator* (const Vec4< T > &v1, const U &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > operator* (const U &v1, const Vec4< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec4< T > operator/ (const Vec4< T > &v1, const Vec4< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > operator/ (const Vec4< T > &v1, const U &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > operator/ (const U &v1, const Vec4< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec4< T > operator>> (const Vec4< T > &v1, const Vec4< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > operator>> (const Vec4< T > &v1, const U &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > operator>> (const U &v1, const Vec4< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec4< T > operator<< (const Vec4< T > &v1, const Vec4< T > &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > operator<< (const Vec4< T > &v1, const U &v2)
 
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > operator<< (const U &v1, const Vec4< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER std::ostream & operator<< (std::ostream &stream, const Vec4< T > &v)
 
template<typename T , typename U = char>
MATH_FUNC_QUALIFIER BasicString< U > & operator<< (BasicString< U > &stream, const Vec4< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER const T length (const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER const T length (const Vec2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER const T length (const Vec4< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIERmin (const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIERmin (const Vec2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIERmax (const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIERmax (const Vec2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec2< T > sqrt (const Vec2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > sqrt (const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec4< T > sqrt (const Vec4< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIERinverseSqrt (const T &data)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec2< T > inverseSqrt (const Vec2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > inverseSqrt (const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec4< T > inverseSqrt (const Vec4< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIERdot (const Vec2< T > &v1, const Vec2< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIERdot (const Vec3< T > &v1, const Vec3< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIERdot (const Vec4< T > &v1, const Vec4< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec2< T > cross (const Vec2< T > &v1, const Vec2< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > cross (const Vec3< T > &v1, const Vec3< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec4< T > cross (const Vec4< T > &v1, const Vec4< T > &v2)
 
template<typename T >
MATH_FUNC_QUALIFIERnormalize (const T &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec2< T > normalize (const Vec2< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > normalize (const Vec3< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER Vec4< T > normalize (const Vec4< T > &v)
 
template<typename T >
MATH_FUNC_QUALIFIER const T triangleSurface (const Vec3< T > &v1, const Vec3< T > &v2, const Vec3< T > &v3)
 
template<typename T >
MATH_FUNC_QUALIFIER const T triangleDot (const Vec3< T > &v1, const Vec3< T > &v2, const Vec3< T > &v3)
 
template<typename T >
MATH_FUNC_QUALIFIER bool clamp (Line< T > *l, const Rectangle< T > &r)
 Clip a line from p0 to p1 against this rectangle. More...
 
template<typename T >
MATH_FUNC_QUALIFIER bool clamp (Vec2< T > *p, const Rectangle< T > &r)
 Clamp a point inside a rectangle. More...
 

Typedef Documentation

typedef Mat2<char> Math::mat2c
typedef Mat2<double> Math::mat2d
typedef Mat2<float> Math::mat2f
typedef Mat2<int> Math::mat2i
typedef Mat2<long> Math::mat2l
typedef Mat2<unsigned char> Math::mat2uc
typedef Mat2<unsigned int> Math::mat2ui
typedef Mat2<unsigned long> Math::mat2ul
typedef Mat3<char> Math::mat3c
typedef Mat3<double> Math::mat3d
typedef Mat3<float> Math::mat3f
typedef Mat3<int> Math::mat3i
typedef Mat3<long> Math::mat3l
typedef Mat3<unsigned char> Math::mat3uc
typedef Mat3<unsigned int> Math::mat3ui
typedef Mat3<unsigned long> Math::mat3ul
typedef Mat4<char> Math::mat4c
typedef Mat4<double> Math::mat4d
typedef Mat4<float> Math::mat4f
typedef Mat4<int> Math::mat4i
typedef Mat4<long> Math::mat4l
typedef Mat4<unsigned char> Math::mat4uc
typedef Mat4<unsigned int> Math::mat4ui
typedef Mat4<unsigned long> Math::mat4ul
typedef Rectangle<float> Math::RectF
typedef Rectangle<int> Math::RectI
typedef Vec2<char> Math::vec2c
typedef Vec2<double> Math::vec2d
typedef Vec2<float> Math::vec2f
typedef Vec2<int> Math::vec2i
typedef Vec2<long> Math::vec2l
typedef Vec2<unsigned char> Math::vec2uc
typedef Vec2<unsigned int> Math::vec2ui
typedef Vec2<unsigned long> Math::vec2ul
typedef Vec3<char> Math::vec3c
typedef Vec3<float> Math::vec3f
typedef Vec3<double> Math::vec3fd
typedef Vec3<int> Math::vec3i
typedef Vec3<long> Math::vec3l
typedef Vec3<unsigned char> Math::vec3uc
typedef Vec3<unsigned int> Math::vec3ui
typedef Vec3<unsigned long> Math::vec3ul
typedef Vec4<char> Math::vec4c
typedef Vec4<double> Math::vec4d
typedef Vec4<float> Math::vec4f
typedef Vec4<int> Math::vec4i
typedef Vec4<long> Math::vec4l
typedef Vec4<unsigned char> Math::vec4uc
typedef Vec4<unsigned int> Math::vec4ui
typedef Vec4<unsigned long> Math::vec4ul

Function Documentation

template<typename T >
MATH_FUNC_QUALIFIER constexpr T Math::abs ( const T &  v)

Get the absolute value of a number.

Parameters
vValue to be used
Returns
absolute value of v
template<typename T >
MATH_FUNC_QUALIFIER T Math::clamp ( const T &  v,
const T &  min,
const T &  max 
)

Clamp a number between to others (assert(min <= max))

Parameters
vValue to be clamped
minminimal value
maxmaximal value
Returns
result
template<typename T >
MATH_FUNC_QUALIFIER bool Math::clamp ( Line< T > *  l,
const Rectangle< T > &  r 
)

Clip a line from p0 to p1 against this rectangle.

See also
https://en.wikipedia.org/wiki/Cohen%E2%80%93Sutherland_algorithm#Example_C.2FC.2B.2B_implementation
Parameters
lLine to be clipped
rRectangle
Returns
true if a part of the line was inside the rectangle, false instead.
template<typename T >
MATH_FUNC_QUALIFIER bool Math::clamp ( Vec2< T > *  p,
const Rectangle< T > &  r 
)

Clamp a point inside a rectangle.

Parameters
pPoint to be clamped
rRectangle
Returns
true of the point was inside, false instead.
template<typename T >
MATH_FUNC_QUALIFIER Vec2< T > Math::cross ( const Vec2< T > &  v1,
const Vec2< T > &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > Math::cross ( const Vec3< T > &  v1,
const Vec3< T > &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER Vec4< T > Math::cross ( const Vec4< T > &  v1,
const Vec4< T > &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER T Math::degree ( const T &  radians)

Convert an angle from radian to degree.

Parameters
radianangle
Returns
degree angle
template<typename T >
MATH_FUNC_QUALIFIER T Math::dot ( const Vec2< T > &  v1,
const Vec2< T > &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER T Math::dot ( const Vec3< T > &  v1,
const Vec3< T > &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER T Math::dot ( const Vec4< T > &  v1,
const Vec4< T > &  v2 
)
template<typename T = double>
MATH_FUNC_QUALIFIER constexpr T Math::e ( )

get the value of e

Returns
e
template<typename T >
MATH_FUNC_QUALIFIER T Math::fpart ( const T &  x)

Get the fractional part of a float.

Parameters
xFloating number
Returns
the Fractional part of the specified number
template<typename T >
MATH_FUNC_QUALIFIER constexpr T Math::gcd ( const T &  M,
const T &  N 
)

Get the greater common divisor of two numbers.

Parameters
MFirst number
NSecond Number
Returns
greater common divisor
template<typename T >
MATH_FUNC_QUALIFIER Mat3< T > Math::getNormalMat ( const Mat4< T > &  mat)
template<typename T >
MATH_FUNC_QUALIFIER T Math::inverseSqrt ( const T &  data)
template<typename T >
MATH_FUNC_QUALIFIER Vec2< T > Math::inverseSqrt ( const Vec2< T > &  v)
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > Math::inverseSqrt ( const Vec3< T > &  v)
template<typename T >
MATH_FUNC_QUALIFIER Vec4< T > Math::inverseSqrt ( const Vec4< T > &  v)
template<typename T >
MATH_FUNC_QUALIFIER const T Math::length ( const Vec3< T > &  v)
template<typename T >
MATH_FUNC_QUALIFIER const T Math::length ( const Vec2< T > &  v)
template<typename T >
MATH_FUNC_QUALIFIER const T Math::length ( const Vec4< T > &  v)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::lookAt ( const Vec3< T > &  position,
const Vec3< T > &  target,
const Vec3< T > &  up 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::lookAt ( const Vec3< T > &  position,
const Vec3< T > &  target 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::lookAtNormalized ( const Vec3< T > &  position,
const Vec3< T > &  orientation,
const Vec3< T > &  up 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::lookAtNormalized ( const Vec3< T > &  position,
const Vec3< T > &  orientation 
)
template<typename T >
MATH_FUNC_QUALIFIER T Math::max ( const Vec3< T > &  v)
template<typename T >
MATH_FUNC_QUALIFIER T Math::max ( const Vec2< T > &  v)
template<typename T >
MATH_FUNC_QUALIFIER T Math::max ( const T &  x,
const T &  y 
)

Get the minimal between two elements.

Parameters
xfirst object
ysecond object
Returns
minimal between x and y
template<typename T >
MATH_FUNC_QUALIFIER T Math::min ( const Vec3< T > &  v)
template<typename T >
MATH_FUNC_QUALIFIER T Math::min ( const Vec2< T > &  v)
template<typename T >
MATH_FUNC_QUALIFIER T Math::min ( const T &  x,
const T &  y 
)

Get the minimal between two elements.

Parameters
xfirst object
ysecond object
Returns
minimal between x and y
template<typename T >
MATH_FUNC_QUALIFIER T Math::normalize ( const T &  v)
template<typename T >
MATH_FUNC_QUALIFIER Vec2< T > Math::normalize ( const Vec2< T > &  v)
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > Math::normalize ( const Vec3< T > &  v)
template<typename T >
MATH_FUNC_QUALIFIER Vec4< T > Math::normalize ( const Vec4< T > &  v)
template<typename T >
MATH_FUNC_QUALIFIER Mat2< T > Math::operator* ( const Mat2< T > &  m1,
const Mat2< T > &  m2 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat3< T > Math::operator* ( const Mat3< T > &  m1,
const Mat3< T > &  m2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > Math::operator* ( const Mat2< T > &  m,
const U &  v 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > Math::operator* ( const Mat3< T > &  m,
const U &  v 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > Math::operator* ( const U &  v,
const Mat2< T > &  m 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > Math::operator* ( const U &  v,
const Mat3< T > &  m 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat2< T >::colType Math::operator* ( const typename Mat2< T >::colType &  v,
const Mat2< T > &  m 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat3< T >::colType Math::operator* ( const typename Mat3< T >::colType &  v,
const Mat3< T > &  m 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat2< T >::colType Math::operator* ( const Mat2< T > &  m,
const typename Mat2< T >::colType &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat3< T >::colType Math::operator* ( const Mat3< T > &  m,
const typename Mat3< T >::colType &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::operator* ( const Mat4< T > &  m1,
const Mat4< T > &  m2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > Math::operator* ( const Mat4< T > &  m,
const U &  v 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > Math::operator* ( const U &  v,
const Mat4< T > &  m 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T >::colType Math::operator* ( const typename Mat4< T >::colType &  v,
const Mat4< T > &  m 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T >::colType Math::operator* ( const Mat4< T > &  m,
const typename Mat4< T >::colType &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Vec2< T > Math::operator* ( const Vec2< T > &  v1,
const Vec2< T > &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T >::colType Math::operator* ( const Mat4< T > &  m,
const typename Mat3< T >::colType &  v 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > Math::operator* ( const Vec2< T > &  v1,
const U &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > Math::operator* ( const U &  v1,
const Vec2< T > &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > Math::operator* ( const Vec3< T > &  v1,
const Vec3< T > &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER Vec4< T > Math::operator* ( const Vec4< T > &  v1,
const Vec4< T > &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > Math::operator* ( const Vec3< T > &  v1,
const U &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > Math::operator* ( const Vec4< T > &  v1,
const U &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > Math::operator* ( const U &  v1,
const Vec3< T > &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > Math::operator* ( const U &  v1,
const Vec4< T > &  v2 
)
template<typename T >
BoundingBox2D< T > Math::operator+ ( const BoundingBox2D< T > &  r,
const Vec2< T > &  p 
)
template<typename T >
BoundingBox2D< T > Math::operator+ ( const Vec2< T > &  p,
const BoundingBox2D< T > &  r 
)
template<typename T >
Rectangle< T > Math::operator+ ( const Rectangle< T > &  r,
const Vec2< T > &  p 
)
template<typename T >
Rectangle< T > Math::operator+ ( const Vec2< T > &  p,
const Rectangle< T > &  r 
)
template<typename T >
MATH_FUNC_QUALIFIER Vec2< T > Math::operator+ ( const Vec2< T > &  v1,
const Vec2< T > &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > Math::operator+ ( const U &  v1,
const Vec2< T > &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > Math::operator+ ( const Vec2< T > &  v1,
const U &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat2< T > Math::operator+ ( const Mat2< T > &  m1,
const Mat2< T > &  m2 
)
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > Math::operator+ ( const Vec3< T > &  v1,
const Vec3< T > &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER Vec4< T > Math::operator+ ( const Vec4< T > &  v1,
const Vec4< T > &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > Math::operator+ ( const Mat2< T > &  m,
const U &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat3< T > Math::operator+ ( const Mat3< T > &  m1,
const Mat3< T > &  m2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > Math::operator+ ( const U &  v1,
const Vec3< T > &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > Math::operator+ ( const U &  v1,
const Vec4< T > &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > Math::operator+ ( const U &  v,
const Mat2< T > &  m 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > Math::operator+ ( const Mat3< T > &  m,
const U &  v 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > Math::operator+ ( const Vec3< T > &  v1,
const U &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > Math::operator+ ( const Vec4< T > &  v1,
const U &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > Math::operator+ ( const U &  v,
const Mat3< T > &  m 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::operator+ ( const Mat4< T > &  m1,
const Mat4< T > &  m2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > Math::operator+ ( const Mat4< T > &  m,
const U &  v 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > Math::operator+ ( const U &  v,
const Mat4< T > &  m 
)
template<typename T >
BoundingBox2D< T > Math::operator- ( const BoundingBox2D< T > &  r,
const Vec2< T > &  p 
)
template<typename T >
BoundingBox2D< T > Math::operator- ( const Vec2< T > &  p,
const BoundingBox2D< T > &  r 
)
template<typename T >
Rectangle< T > Math::operator- ( const Rectangle< T > &  r,
const Vec2< T > &  p 
)
template<typename T >
Rectangle< T > Math::operator- ( const Vec2< T > &  p,
const Rectangle< T > &  r 
)
template<typename T >
MATH_FUNC_QUALIFIER Vec2< T > Math::operator- ( const Vec2< T > &  v1,
const Vec2< T > &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > Math::operator- ( const Vec2< T > &  v1,
const U &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > Math::operator- ( const U &  v1,
const Vec2< T > &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat2< T > Math::operator- ( const Mat2< T > &  m1,
const Mat2< T > &  m2 
)
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > Math::operator- ( const Vec3< T > &  v1,
const Vec3< T > &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > Math::operator- ( const Mat2< T > &  m,
const U &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat3< T > Math::operator- ( const Mat3< T > &  m1,
const Mat3< T > &  m2 
)
template<typename T >
MATH_FUNC_QUALIFIER Vec4< T > Math::operator- ( const Vec4< T > &  v1,
const Vec4< T > &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > Math::operator- ( const Vec3< T > &  v1,
const U &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > Math::operator- ( const U &  v,
const Mat2< T > &  m 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > Math::operator- ( const Mat3< T > &  m,
const U &  v 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > Math::operator- ( const Vec4< T > &  v1,
const U &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > Math::operator- ( const U &  v1,
const Vec3< T > &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > Math::operator- ( const U &  v1,
const Vec4< T > &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > Math::operator- ( const U &  v,
const Mat3< T > &  m 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::operator- ( const Mat4< T > &  m1,
const Mat4< T > &  m2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > Math::operator- ( const Mat4< T > &  m,
const U &  v 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > Math::operator- ( const U &  v,
const Mat4< T > &  m 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat2< T > Math::operator/ ( const Mat2< T > &  m1,
const Mat2< T > &  m2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > Math::operator/ ( const Mat2< T > &  m,
const U &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat3< T > Math::operator/ ( const Mat3< T > &  m1,
const Mat3< T > &  m2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > Math::operator/ ( const U &  v,
const Mat2< T > &  m 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > Math::operator/ ( const Mat3< T > &  m,
const U &  v 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > Math::operator/ ( const U &  v,
const Mat3< T > &  m 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::operator/ ( const Mat4< T > &  m1,
const Mat4< T > &  m2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > Math::operator/ ( const Mat4< T > &  m,
const U &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Vec2< T > Math::operator/ ( const Vec2< T > &  v1,
const Vec2< T > &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > Math::operator/ ( const U &  v,
const Mat4< T > &  m 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > Math::operator/ ( const Vec2< T > &  v1,
const U &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > Math::operator/ ( const U &  v1,
const Vec2< T > &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > Math::operator/ ( const Vec3< T > &  v1,
const Vec3< T > &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER Vec4< T > Math::operator/ ( const Vec4< T > &  v1,
const Vec4< T > &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > Math::operator/ ( const Vec3< T > &  v1,
const U &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > Math::operator/ ( const Vec4< T > &  v1,
const U &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > Math::operator/ ( const U &  v1,
const Vec3< T > &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > Math::operator/ ( const U &  v1,
const Vec4< T > &  v2 
)
template<typename T , typename U = char>
BasicString< U > & Math::operator<< ( BasicString< U > &  string,
const Rectangle< T > &  r 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat2< T > Math::operator<< ( const Mat2< T > &  m1,
const Mat2< T > &  m2 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat3< T > Math::operator<< ( const Mat3< T > &  m1,
const Mat3< T > &  m2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > Math::operator<< ( const Mat2< T > &  m,
const U &  v 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > Math::operator<< ( const Mat3< T > &  m,
const U &  v 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > Math::operator<< ( const U &  v,
const Mat2< T > &  m 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > Math::operator<< ( const U &  v,
const Mat3< T > &  m 
)
template<typename T >
MATH_FUNC_QUALIFIER std::ostream & Math::operator<< ( std::ostream &  stream,
const Mat2< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Vec2< T > Math::operator<< ( const Vec2< T > &  v1,
const Vec2< T > &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER std::ostream & Math::operator<< ( std::ostream &  stream,
const Mat3< T > &  v 
)
template<typename T , typename C = char>
MATH_FUNC_QUALIFIER BasicString< C > & Math::operator<< ( BasicString< C > &  stream,
const Mat2< T > &  v 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > Math::operator<< ( const Vec2< T > &  v1,
const U &  v2 
)
template<typename T , typename C = char>
MATH_FUNC_QUALIFIER BasicString< C > & Math::operator<< ( BasicString< C > &  stream,
const Mat3< T > &  v 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > Math::operator<< ( const U &  v1,
const Vec2< T > &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > Math::operator<< ( const Vec3< T > &  v1,
const Vec3< T > &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER Vec4< T > Math::operator<< ( const Vec4< T > &  v1,
const Vec4< T > &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER std::ostream & Math::operator<< ( std::ostream &  stream,
const Vec2< T > &  v 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > Math::operator<< ( const Vec3< T > &  v1,
const U &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > Math::operator<< ( const Vec4< T > &  v1,
const U &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::operator<< ( const Mat4< T > &  m1,
const Mat4< T > &  m2 
)
template<typename T , typename U = char>
MATH_FUNC_QUALIFIER BasicString< U > & Math::operator<< ( BasicString< U > &  string,
const Vec2< T > &  v 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > Math::operator<< ( const U &  v1,
const Vec3< T > &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > Math::operator<< ( const Mat4< T > &  m,
const U &  v 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > Math::operator<< ( const U &  v1,
const Vec4< T > &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER std::ostream & Math::operator<< ( std::ostream &  stream,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER std::ostream & Math::operator<< ( std::ostream &  stream,
const Vec4< T > &  v 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > Math::operator<< ( const U &  v,
const Mat4< T > &  m 
)
template<typename T , typename U = char>
MATH_FUNC_QUALIFIER BasicString< U > & Math::operator<< ( BasicString< U > &  stream,
const Vec3< T > &  v 
)
template<typename T , typename U = char>
MATH_FUNC_QUALIFIER BasicString< U > & Math::operator<< ( BasicString< U > &  stream,
const Vec4< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER std::ostream & Math::operator<< ( std::ostream &  stream,
const Mat4< T > &  v 
)
template<typename T , typename C = char>
MATH_FUNC_QUALIFIER BasicString< C > & Math::operator<< ( BasicString< C > &  stream,
const Mat4< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat2< T > Math::operator>> ( const Mat2< T > &  m1,
const Mat2< T > &  m2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > Math::operator>> ( const Mat2< T > &  m,
const U &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat3< T > Math::operator>> ( const Mat3< T > &  m1,
const Mat3< T > &  m2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > Math::operator>> ( const Mat3< T > &  m,
const U &  v 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat2< T > Math::operator>> ( const U &  v,
const Mat2< T > &  m 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat3< T > Math::operator>> ( const U &  v,
const Mat3< T > &  m 
)
template<typename T >
MATH_FUNC_QUALIFIER Vec2< T > Math::operator>> ( const Vec2< T > &  v1,
const Vec2< T > &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > Math::operator>> ( const Vec2< T > &  v1,
const U &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec2< T > Math::operator>> ( const U &  v1,
const Vec2< T > &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > Math::operator>> ( const Vec3< T > &  v1,
const Vec3< T > &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER Vec4< T > Math::operator>> ( const Vec4< T > &  v1,
const Vec4< T > &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > Math::operator>> ( const Vec3< T > &  v1,
const U &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > Math::operator>> ( const Vec4< T > &  v1,
const U &  v2 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::operator>> ( const Mat4< T > &  m1,
const Mat4< T > &  m2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec3< T > Math::operator>> ( const U &  v1,
const Vec3< T > &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Vec4< T > Math::operator>> ( const U &  v1,
const Vec4< T > &  v2 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > Math::operator>> ( const Mat4< T > &  m,
const U &  v 
)
template<typename T , typename U >
MATH_FUNC_QUALIFIER Mat4< T > Math::operator>> ( const U &  v,
const Mat4< T > &  m 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4<T> Math::ortho ( const T &  left,
const T &  right,
const T &  bottom,
const T &  top,
const T &  zNear,
const T &  zFar 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::ortho ( const T &  left,
const T &  right,
const T &  bottom,
const T &  top 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4<T> Math::ortho ( T const &  left,
T const &  right,
T const &  bottom,
T const &  top,
T const &  zNear,
T const &  zFar 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::perspective ( const T &  fovy,
const T &  aspect,
const T &  near,
const T &  far 
)
template<typename T = double>
MATH_FUNC_QUALIFIER constexpr T Math::pi ( )

get the value of PI return PI

template<typename T >
MATH_FUNC_QUALIFIER T Math::pow ( const T &  v,
double  e 
)

compute the number power another one

Parameters
vnumber to elevate
epower to use
Returns
result
template<typename T >
MATH_FUNC_QUALIFIER constexpr T Math::pow ( const T &  v,
int  e 
)

compute the number power another one

Parameters
vnumber to elevate
epower to use
Returns
result
template<typename T >
MATH_FUNC_QUALIFIER T Math::radians ( const T &  degree)

Convert an angle from degree to radians.

Parameters
degreeangle
Returns
radian angle
template<typename T = float>
MATH_FUNC_QUALIFIER T Math::random ( const T &  min,
const T &  max 
)

get a Random number between min and max

Parameters
minMinimal value
maxMaximal value
Returns
value between min and max
template<typename T = unsigned int>
MATH_FUNC_QUALIFIER T Math::random ( )

get a random value number between 0 and randomMax();

Returns
Random number between 0 and randomMax();
template<typename T >
MATH_FUNC_QUALIFIER T Math::randomF ( )

get a random value between 0.0 and 1.0

Returns
Random number between 0.0 and 1.0
template<typename T = unsigned int>
MATH_FUNC_QUALIFIER T Math::randomMax ( )

get the maximum value possible of the random number generator

Returns
max of random
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > Math::right ( const Vec3< T > &  v)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::rotate ( const Mat4< T > &  m,
const T &  angle,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::rotate ( const Mat4< T > &  m,
const T &  angle 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::rotate ( Mat4< T > *  m,
const T &  angle,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::rotate ( Mat4< T > *  m,
const T &  angle 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::rotate ( const Mat4< T > &  m,
Mat4< T > *  resultMat,
const T &  angle,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::rotate ( const Mat4< T > &  m,
Mat4< T > *  resultMat,
const T &  angle 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::rotate ( const T &  angle,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::rotate ( const T &  angle)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::rotateNormalized ( const Mat4< T > &  m,
const T &  angle,
const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::rotateNormalized ( const Mat4< T > &  m,
const T &  angle,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::rotateNormalized ( Mat4< T > *  m,
const T &  angle,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4<T> Math::rotateNormalized ( const Mat4< T > &  m,
Mat4< T > *  resultMat,
const T &  angle,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::rotateNormalized ( const T &  angle,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::rotateNormalized ( const Mat4< T > &  m,
Mat4< T > *  resultMat,
const T &  angle,
const Vec3< T > &  axis 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::scale ( const Vec3< T > &  s)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::scale ( const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scale ( Mat4< T > *  mat,
const Vec3< T > &  s 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scale ( Mat4< T > *  mat,
const T &  s 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scale ( Mat4< T > *  mat,
const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::scale ( const Mat4< T > &  mat,
const Vec3< T > &  s 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::scale ( const Mat4< T > &  mat,
const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scale ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const Vec3< T > &  s 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scale ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::scale ( const Vec2< T > &  s)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::scale ( const T &  x,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scale ( Mat4< T > *  mat,
const Vec2< T > &  s 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scale ( Mat4< T > *  mat,
const T &  x,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::scale ( const Mat4< T > &  mat,
const Vec2< T > &  s 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::scale ( const Mat4< T > &  mat,
const T &  x,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scale ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const Vec2< T > &  s 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scale ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const T &  x,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scaleInv ( Mat4< T > *  mat,
const Vec3< T > &  s 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scaleInv ( Mat4< T > *  mat,
const T &  s 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scaleInv ( Mat4< T > *  mat,
const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::scaleInv ( const Mat4< T > &  mat,
const Vec3< T > &  s 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::scaleInv ( const Mat4< T > &  mat,
const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::scaleInv ( const Mat4< T > &  mat,
const T &  s 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scaleInv ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const Vec3< T > &  s 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scaleInv ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scaleInv ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const T &  s 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scaleInv ( Mat4< T > *  mat,
const Vec2< T > &  s 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scaleInv ( Mat4< T > *  mat,
const T &  x,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::scaleInv ( const Mat4< T > &  mat,
const Vec2< T > &  s 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::scaleInv ( const Mat4< T > &  mat,
const T &  x,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scaleInv ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const Vec2< T > &  s 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scaleInv ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const T &  x,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scaleX ( Mat4< T > *  mat,
const T &  x 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::scaleX ( const Mat4< T > &  mat,
const T &  x 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scaleXInv ( Mat4< T > *  mat,
const T &  x 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::scaleXInv ( const Mat4< T > &  mat,
const T &  x 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scaleY ( Mat4< T > *  mat,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::scaleY ( const Mat4< T > &  mat,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scaleYInv ( Mat4< T > *  mat,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::scaleYInv ( const Mat4< T > &  mat,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scaleZ ( Mat4< T > *  mat,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::scaleZ ( const Mat4< T > &  mat,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::scaleZInv ( Mat4< T > *  mat,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::scaleZInv ( const Mat4< T > &  mat,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::setPosition ( Mat4< T > *  mat,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::setPosition ( Mat4< T > *  mat,
const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::setPosition ( const Mat4< T > &  mat,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::setPosition ( const Mat4< T > &  mat,
const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::setPosition ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::setPosition ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::setPosition ( Mat4< T > *  mat,
const Vec2< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::setPosition ( Mat4< T > *  mat,
const T &  x,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::setPosition ( const Mat4< T > &  mat,
const Vec2< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::setPosition ( const Mat4< T > &  mat,
const T &  x,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::setPosition ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const Vec2< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::setPosition ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const T &  x,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::setPositionX ( Mat4< T > *  mat,
const T &  x 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::setPositionX ( const Mat4< T > &  mat,
const T &  x 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::setPositionY ( Mat4< T > *  mat,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::setPositionY ( const Mat4< T > &  mat,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::setPositionZ ( Mat4< T > *  mat,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::setPositionZ ( const Mat4< T > &  mat,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER constexpr int Math::sign ( const T &  i)

get the sign of a number

Parameters
iNumber to get the sign
Returns
1 or -1
template<typename T >
MATH_FUNC_QUALIFIER T Math::sinc ( const T &  x)

Get the Cardinal Sine unnormalized of a number.

See also
https://en.wikipedia.org/wiki/Sinc_function
Parameters
xnumber
Returns
Cardinal Sine unnormalized
template<typename T >
MATH_FUNC_QUALIFIER T Math::sincn ( const T &  x)

Get the Cardinal Sine Normalized of a number.

See also
https://en.wikipedia.org/wiki/Sinc_function
Parameters
xnumber
Returns
Cardinal Sine Normalized
template<typename T >
MATH_FUNC_QUALIFIER Vec2< T > Math::sqrt ( const Vec2< T > &  v)
template<typename T >
MATH_FUNC_QUALIFIER Vec3< T > Math::sqrt ( const Vec3< T > &  v)
template<typename T >
MATH_FUNC_QUALIFIER Vec4< T > Math::sqrt ( const Vec4< T > &  v)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translate ( const Vec3< T > &  v)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translate ( const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translate ( Mat4< T > *  mat,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translate ( Mat4< T > *  mat,
const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translate ( const Mat4< T > &  mat,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translate ( const Mat4< T > &  mat,
const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translate ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translate ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translate ( const Vec2< T > &  v)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translate ( const T &  x,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translate ( Mat4< T > *  mat,
const Vec2< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translate ( Mat4< T > *  mat,
const T &  x,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translate ( const Mat4< T > &  mat,
const Vec2< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translate ( const Mat4< T > &  mat,
const T &  x,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translate ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const Vec2< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translate ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const T &  x,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateInv ( Mat4< T > *  mat,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateInv ( Mat4< T > *  mat,
const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translateInv ( const Mat4< T > &  mat,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translateInv ( const Mat4< T > &  mat,
const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateInv ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateInv ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateInv ( Mat4< T > *  mat,
const Vec2< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateInv ( Mat4< T > *  mat,
const T &  x,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translateInv ( const Mat4< T > &  mat,
const Vec2< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translateInv ( const Mat4< T > &  mat,
const T &  x,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateInv ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const Vec2< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateInv ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const T &  x,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateWS ( Mat4< T > *  mat,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateWS ( Mat4< T > *  mat,
const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translateWS ( const Mat4< T > &  mat,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translateWS ( const Mat4< T > &  mat,
const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateWS ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const Vec3< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateWS ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const T &  x,
const T &  y,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateWS ( Mat4< T > *  mat,
const Vec2< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateWS ( Mat4< T > *  mat,
const T &  x,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translateWS ( const Mat4< T > &  mat,
const Vec2< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translateWS ( const Mat4< T > &  mat,
const T &  x,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateWS ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const Vec2< T > &  v 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateWS ( const Mat4< T > &  mat,
Mat4< T > *  resultMat,
const T &  x,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateX ( Mat4< T > *  mat,
const T &  x 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translateX ( const Mat4< T > &  mat,
const T &  x 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateXInv ( Mat4< T > *  mat,
const T &  x 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translateXInv ( const Mat4< T > &  mat,
const T &  x 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateXWS ( Mat4< T > *  mat,
const T &  x 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translateXWS ( const Mat4< T > &  mat,
const T &  x 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateY ( Mat4< T > *  mat,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translateY ( const Mat4< T > &  mat,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateYInv ( Mat4< T > *  mat,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translateYInv ( const Mat4< T > &  mat,
const T &  y 
)
template<typename T >
void Math::translateYInv ( Mat4< T > *  mat,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateYWS ( Mat4< T > *  mat,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translateYWS ( const Mat4< T > &  mat,
const T &  y 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateZ ( Mat4< T > *  mat,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translateZ ( const Mat4< T > &  mat,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateZInv ( Mat4< T > *  mat,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translateZInv ( const Mat4< T > &  mat,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER void Math::translateZWS ( Mat4< T > *  mat,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER Mat4< T > Math::translateZWS ( const Mat4< T > &  mat,
const T &  z 
)
template<typename T >
MATH_FUNC_QUALIFIER const T Math::triangleDot ( const Vec3< T > &  v1,
const Vec3< T > &  v2,
const Vec3< T > &  v3 
)
template<typename T >
MATH_FUNC_QUALIFIER const T Math::triangleSurface ( const Vec3< T > &  v1,
const Vec3< T > &  v2,
const Vec3< T > &  v3 
)
template<typename T >
MATH_FUNC_QUALIFIER T Math::trunc ( const T &  x)

Truncate a number.

Parameters
xNumber to truncate
Returns
Truncated number
template<>
MATH_FUNC_QUALIFIER float Math::trunc ( const float &  x)
template<>
MATH_FUNC_QUALIFIER double Math::trunc ( const double &  x)