Om  1.0.0
A universal framework for multimedia simulation
Classes | Namespaces | Functions
omVector4D.h File Reference
#include "omMathConfig.h"
#include "../data/omString.h"
#include "../data/omStringBuffer.h"
#include "omVectorND.h"
#include "omVector2D.h"
#include "omVector3D.h"

Classes

class  om::math::Swizzle4D< T, dimension, i0, i1, i2, i3 >
 A class that is used to implement arbitrary vector permutations. More...
 
class  om::math::VectorND< T, 4 >
 A templatized math class representing a 4-dimensional vector. More...
 
class  om::math::Swizzle4D< T, dimension, i0, i1, i2, i3 >
 A class that is used to implement arbitrary vector permutations. More...
 

Namespaces

 om
 The enclosing namespace for the entire Om library.
 
 om::math
 A namespace containing classes and functions that do fast math operations.
 

Functions

template<typename T >
VectorND< T, 4 > om::math::operator+ (T value, const VectorND< T, 4 > &vector)
 Add a value to every component of the vector. More...
 
template<typename T >
VectorND< T, 4 > om::math::operator- (T value, const VectorND< T, 4 > &vector)
 Subtract every component of the vector from the value, returning a vector result. More...
 
template<typename T >
VectorND< T, 4 > om::math::operator* (T value, const VectorND< T, 4 > &vector)
 Multiply every component of the vector with the value, returning a vector result. More...
 
template<typename T >
VectorND< T, 4 > om::math::operator/ (T value, const VectorND< T, 4 > &vector)
 Divide a value by every component of the vector, returning a vector result. More...
 
template<typename T >
om::math::dot (const VectorND< T, 4 > &vector1, const VectorND< T, 4 > &vector2)
 Compute and return the dot product of two vectors. More...
 
template<typename T >
VectorND< T, 4 > om::math::midpoint (const VectorND< T, 4 > &vector1, const VectorND< T, 4 > &vector2)
 Compute the midpoint (e.g. average) of two vectors. More...
 
template<typename T >
VectorND< T, 4 > om::math::abs (const VectorND< T, 4 > &vector)
 Return the absolute value of the specified vector, such that the every component is positive. More...
 
template<typename T >
VectorND< T, 4 > om::math::min (const VectorND< T, 4 > &vector1, const VectorND< T, 4 > &vector2)
 Compute the component-wise minimum of two vectors. More...
 
template<typename T >
VectorND< T, 4 > om::math::max (const VectorND< T, 4 > &vector1, const VectorND< T, 4 > &vector2)
 Compute the component-wise maximum of two vectors. More...
 
template<typename T >
VectorND< T, 4 > om::math::floor (const VectorND< T, 4 > &vector)
 Return the floor of the specified vector, rounding each component down to the nearest integer. More...
 
template<typename T >
VectorND< T, 4 > om::math::ceiling (const VectorND< T, 4 > &vector)
 Return the floor of the specified vector, rounding each component up to the nearest integer. More...
 
template<typename T >
VectorND< T, 4 > om::math::mod (const VectorND< T, 4 > &vector, const T &modulus)
 Return the component-wise modulus of the specified vector. More...
 
template<typename T >
VectorND< T, 4 > om::math::mod (const VectorND< T, 4 > &vector, const VectorND< T, 4 > &modulus)
 Return the component-wise modulus of the specified vector. More...
 
template<typename T >
Bool om::math::isNAN (const VectorND< T, 4 > &vector)
 Return whether or not any component of this vector is Not-A-Number. More...
 
template<typename T , Index dimension, Index i0, Index i1, Index i2, Index i3>
VectorND< T, 4 > om::math::operator+ (T value, const Swizzle4D< T, dimension, i0, i1, i2, i3 > &vector)
 Add a scalar to every component of the vector. More...
 
template<typename T , Index dimension, Index i0, Index i1, Index i2, Index i3>
VectorND< T, 4 > om::math::operator- (T value, const Swizzle4D< T, dimension, i0, i1, i2, i3 > &vector)
 Subtract a scalar to every component of the vector. More...
 
template<typename T , Index dimension, Index i0, Index i1, Index i2, Index i3>
VectorND< T, 4 > om::math::operator* (T value, const Swizzle4D< T, dimension, i0, i1, i2, i3 > &vector)
 Multiply every component of a vector with scalar, returning a vector result. More...
 
template<typename T , Index dimension, Index i0, Index i1, Index i2, Index i3>
VectorND< T, 4 > om::math::operator/ (T value, const Swizzle4D< T, dimension, i0, i1, i2, i3 > &vector)
 Divide a value by every component of the vector, returning a vector result. More...