Ion: math/transformutils.h File Reference

Functions

template<int Dimension, typename T > const Vector< Dimension, Tion::math::operator* (const Matrix< Dimension+1, T > &m, const Vector< Dimension, T > &v)  Transforming vectors and points. More...
  template<int Dimension, typename T > const Point< Dimension, Tion::math::operator* (const Matrix< Dimension+1, T > &m, const Point< Dimension, T > &p)  Multiplies a Matrix and a Point of one smaller Dimension (the template parameter) to produce another Point. More...
  template<int Dimension, typename T > const Point< Dimension, Tion::math::ProjectPoint (const Matrix< Dimension+1, T > &m, const Point< Dimension, T > &p)  Multiplies a Matrix and a Point of one smaller Dimension (the template parameter) to produce another Point and projects it by dividing by the homogeneous coordinate. More...
  template<typename T > Matrix< 3, Tion::math::NonhomogeneousSubmatrixH (const Matrix< 4, T > &m)  Homogeneous matrices. More...
  template<typename T > const Matrix< 4, Tion::math::OrthoInverseH (const Matrix< 4, T > &m)  Public functions. More...
  template<int Dimension, typename T > const Matrix< Dimension+1, Tion::math::TranslationMatrix (const VectorBase< Dimension, T > &t)  Affine transformation matrices. More...
  template<int Dimension, typename T > const Matrix< Dimension+1, Tion::math::ScaleMatrixH (const Vector< Dimension, T > &s)  Returns a Matrix representing a scale by the factors in a Vector whose Dimension is one less than the Dimension of the Matrix. More...
  template<int Dimension, typename T > const Matrix< Dimension, Tion::math::ScaleMatrixNH (const Vector< Dimension, T > &s)  Returns a Matrix representing a scale by the factors in a Vector, which is the same Dimension as the Matrix. More...
  template<typename T > ION_API const Matrix< 4, Tion::math::RotationMatrixH (const Rotation< T > &r)  Returns a 4x4 Matrix representing a 3D rotation. More...
  template<typename T > ION_API const Matrix< 3, Tion::math::RotationMatrixNH (const Rotation< T > &r)  Returns a 3x3 Matrix representing a 3D rotation. More...
  template<typename T > const Matrix< 4, Tion::math::RotationMatrixAxisAngleH (const Vector< 3, T > &axis, const Angle< T > &angle)  Returns a 4x4 Matrix representing a 3D rotation specified as axis and angle. More...
  template<typename T > const Matrix< 3, Tion::math::RotationMatrixAxisAngleNH (const Vector< 3, T > &axis, const Angle< T > &angle)  Returns a 3x3 Matrix representing a 3D rotation specified as axis and angle. More...
  template<typename T > ION_API const Matrix< 4, Tion::math::LookAtMatrixFromCenter (const Point< 3, T > &eye, const Point< 3, T > &center, const Vector< 3, T > &up)  View matrices. More...
  template<typename T > ION_API const Matrix< 4, Tion::math::LookAtMatrixFromDir (const Point< 3, T > &eye, const Vector< 3, T > &dir, const Vector< 3, T > &up)  Returns a 4x4 viewing matrix based on the given camera parameters, which use a view direction rather than look at center point. More...
  template<typename T > ION_API const Matrix< 4, Tion::math::OrthographicMatrixFromFrustum (T x_left, T x_right, T y_bottom, T y_top, T z_near, T z_far)  Projection matrices. More...
  template<typename T > ION_API const Matrix< 4, Tion::math::PerspectiveMatrixFromFrustum (T x_left, T x_right, T y_bottom, T y_top, T z_near, T z_far)  Returns a 4x4 perspective projection matrix based on the given parameters, which follow the conventions of the old glFrustum() function. More...
  template<typename T > ION_API const Matrix< 4, Tion::math::PerspectiveMatrixFromView (const Angle< T > &fovy, T aspect, T z_near, T z_far)  Returns a 4x4 perspective projection matrix based on the given parameters, which follow the conventions of the gluPerspective() function. More...
  template<typename T > const Matrix< 4, Tion::math::PerspectiveMatrixInverse (const Matrix< 4, T > &m)  Returns the inverse of m iff m is a perspective projection matrix, i.e., iff it has the following form:

[X 0 A 0]

[0 Y B 0]

[0 0 C D]

[0 0 -1 0]

Triggers a DCHECK otherwise. More...