i6engine  1.0
i6e::math Namespace Reference

Classes

class  i6eMatrix
 Implements m x n matrix. More...
 
class  i6eQuaternion
 Class describing a 3d rotation. More...
 
class  i6eVector
 Implements 3-dimensional vectors. More...
 
class  i6eVector2
 Implements 2-dimensional vectors. More...
 
class  i6eVector4
 Implements 4-dimensional vectors. More...
 

Functions

double disPointLine (const Vec3 &offset, const Vec3 &direction, const Vec3 &point)
 returns the distance of a point to a line specified by offset and direction More...
 
uint64_t binom (uint32_t n, uint32_t k)
 returns "n over k" keep in mind that this function is likely to overflow with relatively small values More...
 
Vec3 rotateVector (const Vec3 &pos, const Quaternion &rot)
 returns the directional vector More...
 
ISIXE_MATH_API std::ostream & operator<< (std::ostream &stream, const i6eQuaternion &q)
 stream operator for quaternion More...
 
ISIXE_MATH_API i6eQuaternion operator* (const i6eQuaternion &q, const i6eVector &w)
 multiplies quaternion with i6eVector More...
 
ISIXE_MATH_API i6eQuaternion operator* (const i6eVector &w, const i6eQuaternion &q)
 multiplies i6eVector with quaternion More...
 
ISIXE_MATH_API double dotProduct (const i6eQuaternion &p, const i6eQuaternion &q)
 creates dot product out of two quaternions More...
 
ISIXE_MATH_API double scalProd (const i6eQuaternion &p, const i6eQuaternion &q)
 calculates scalar product of current Quaternion and p More...
 
ISIXE_MATH_API std::ostream & operator<< (std::ostream &stream, const i6eVector &v)
 stream operator for the i6eVector More...
 
template<typename T >
std::enable_if< std::is_integral< T >::value, bool >::type operator== (const i6eVector2< T > &first, const i6eVector2< T > &second)
 
template<typename T >
std::enable_if< std::is_floating_point< T >::value, bool >::type operator== (const i6eVector2< T > &first, const i6eVector2< T > &second)
 
ISIXE_MATH_API std::ostream & operator<< (std::ostream &stream, const i6eVector4 &v)
 stream operator for the i6eVector4 More...
 

Function Documentation

uint64_t i6e::math::binom ( uint32_t  n,
uint32_t  k 
)
inline

returns "n over k" keep in mind that this function is likely to overflow with relatively small values

Definition at line 58 of file i6eMath.h.

double i6e::math::disPointLine ( const Vec3 offset,
const Vec3 direction,
const Vec3 point 
)
inline

returns the distance of a point to a line specified by offset and direction

Definition at line 46 of file i6eMath.h.

ISIXE_MATH_API double i6e::math::dotProduct ( const i6eQuaternion p,
const i6eQuaternion q 
)

creates dot product out of two quaternions

ISIXE_MATH_API i6eQuaternion i6e::math::operator* ( const i6eQuaternion q,
const i6eVector w 
)

multiplies quaternion with i6eVector

ISIXE_MATH_API i6eQuaternion i6e::math::operator* ( const i6eVector w,
const i6eQuaternion q 
)

multiplies i6eVector with quaternion

ISIXE_MATH_API std::ostream& i6e::math::operator<< ( std::ostream &  stream,
const i6eVector4 v 
)

stream operator for the i6eVector4

ISIXE_MATH_API std::ostream& i6e::math::operator<< ( std::ostream &  stream,
const i6eQuaternion q 
)

stream operator for quaternion

ISIXE_MATH_API std::ostream& i6e::math::operator<< ( std::ostream &  stream,
const i6eVector v 
)

stream operator for the i6eVector

template<typename T >
std::enable_if<std::is_integral<T>::value, bool>::type i6e::math::operator== ( const i6eVector2< T > &  first,
const i6eVector2< T > &  second 
)

Definition at line 261 of file i6eVector2.h.

template<typename T >
std::enable_if<std::is_floating_point<T>::value, bool>::type i6e::math::operator== ( const i6eVector2< T > &  first,
const i6eVector2< T > &  second 
)

Definition at line 266 of file i6eVector2.h.

Vec3 i6e::math::rotateVector ( const Vec3 pos,
const Quaternion rot 
)
inline

returns the directional vector

Definition at line 73 of file i6eMath.h.

ISIXE_MATH_API double i6e::math::scalProd ( const i6eQuaternion p,
const i6eQuaternion q 
)

calculates scalar product of current Quaternion and p