Castor3D 0.16.0
Multiplatform 3D engine
Namespaces | Functions
TransformationMatrix.hpp File Reference

Namespaces

namespace  castor
 
namespace  castor::matrix
 Matrix basic operations.
 

Functions

template<typename T , typename U >
static Matrix4x4< T > & castor::matrix::rotate (Matrix4x4< T > &matrix, QuaternionT< U > const &orientation)
 Rotation function, builds a rotation matrix from the quaternion in parameter.
 
template<typename T , typename U >
static Matrix4x4< T > & castor::matrix::setRotate (Matrix4x4< T > &matrix, QuaternionT< U > const &orientation)
 Rotation function, builds a rotation matrix from the quaternion in parameter.
 
template<typename T , typename U >
static void castor::matrix::getRotate (Matrix4x4< T > const &matrix, QuaternionT< U > &orientation)
 Rotation function, builds a rotation matrix from the quaternion in parameter.
 
template<typename T >
static Matrix4x4< T > & castor::matrix::yaw (Matrix4x4< T > &matrix, Angle const &angle)
 Rotation function, around Y axis. Builds a rotation matrix from the angle in parameter.
 
template<typename T >
static Matrix4x4< T > & castor::matrix::pitch (Matrix4x4< T > &matrix, Angle const &angle)
 Rotation function, around X axis. Builds a rotation matrix from the angle in parameter.
 
template<typename T >
static Matrix4x4< T > & castor::matrix::roll (Matrix4x4< T > &matrix, Angle const &angle)
 Rotation function, around Z axis. Builds a rotation matrix from the angle in parameter.
 
template<typename T , typename U >
static Matrix4x4< T > & castor::matrix::scale (Matrix4x4< T > &matrix, U x, U y, U z)
 Scale function. Scales matrix from the three values in parameter.
 
template<typename T , typename U >
static Matrix4x4< T > & castor::matrix::scale (Matrix4x4< T > &matrix, Point3< U > const &scaling)
 Scale function. Scales matrix from the value in parameter.
 
template<typename T , typename U >
static Matrix4x4< T > & castor::matrix::setScale (Matrix4x4< T > &matrix, U x, U y, U z)
 Scale function. Scales matrix from the three values in parameter.
 
template<typename T , typename U >
static Matrix4x4< T > & castor::matrix::setScale (Matrix4x4< T > &matrix, Point3< U > const &scaling)
 Scale function. Scales matrix from the value in parameter.
 
template<typename T , typename U >
static Matrix4x4< T > & castor::matrix::translate (Matrix4x4< T > &matrix, U x, U y, U z)
 Translate function. Translates a matrix from the three values in parameter.
 
template<typename T , typename U >
static Matrix4x4< T > & castor::matrix::translate (Matrix4x4< T > &matrix, Point3< U > const &translation)
 Translate function. Translates a matrix from the value in parameter.
 
template<typename T , typename U >
static Matrix4x4< T > & castor::matrix::setTranslate (Matrix4x4< T > &matrix, U x, U y, U z)
 Translate function. Translates a matrix from the three values in parameter.
 
template<typename T , typename U >
static Matrix4x4< T > & castor::matrix::setTranslate (Matrix4x4< T > &matrix, Point3< U > const &translation)
 Translate function. Translates a matrix from the value in parameter.
 
template<typename T , typename U , typename V >
static Matrix4x4< T > & castor::matrix::setTransform (Matrix4x4< T > &matrix, Point3< U > const &position, Point3< U > const &scaling, QuaternionT< V > const &orientation)
 Retrieves transformation matrix from translation, scaling and rotation.
 
template<typename T , typename U , typename V >
static Matrix4x4< T > & castor::matrix::transform (Matrix4x4< T > &matrix, Point3< U > const &position, Point3< U > const &scaling, QuaternionT< V > const &orientation)
 Retrieves transformation matrix from translation, scaling and rotation.
 
template<typename T , typename U >
static Point3< U > castor::matrix::getTransformed (Matrix4x4< T > const &matrix, Point3< U > const &value)
 Transforms the position/scale through a transformation matrix.
 
template<typename T , typename U >
static Quaternion castor::matrix::getTransformed (Matrix4x4< T > const &matrix, Quaternion const &value)
 Transforms the orientation through a transformation matrix.
 
template<typename T , typename U , typename V >
static void castor::matrix::decompose (Matrix4x4< T > const &matrix, Point3< U > &position, Point3< U > &scaling, QuaternionT< V > &rotation)
 Retrieves the given transformation matrix components.
 
template<typename T >
static Matrix4x4< T > castor::matrix::reverseDepth (Matrix4x4< T > const &matrix)
 Inverts depth for given projection matrix.
 
template<typename T , typename U >
static Matrix4x4< T > & castor::matrix::perspective (Matrix4x4< T > &matrix, Angle const &fovy, U aspect, U zNear, U zFar)
 Builds a matrix that sets a centered perspective projection from the given parameters.
 
template<typename T , typename U >
static Matrix4x4< T > & castor::matrix::perspective (Matrix4x4< T > &matrix, Angle const &fovy, U aspect, U zNear)
 Builds a matrix that sets a centered infinite perspective projection from the given parameters.
 
template<typename T >
static Matrix4x4< T > castor::matrix::perspective (Angle const &fovy, T aspect, T nearVal, T farVal)
 Builds a matrix that sets a centered perspective projection from the given parameters.
 
template<typename T >
static Matrix4x4< T > castor::matrix::perspective (Angle const &fovy, T aspect, T nearVal)
 Builds a matrix that sets a centered infinite perspective projection from the given parameters.
 
template<typename T , typename U >
static Matrix4x4< T > & castor::matrix::frustum (Matrix4x4< T > &matrix, U left, U right, U bottom, U top, U nearVal, U farVal)
 Builds a matrix that sets a non centered perspective projection from the given parameters.
 
template<typename T >
static Matrix4x4< T > castor::matrix::frustum (T left, T right, T bottom, T top, T nearVal, T farVal)
 Builds a matrix that sets a non centered perspective projection from the given parameters.
 
template<typename T , typename U >
static Matrix4x4< T > & castor::matrix::ortho (Matrix4x4< T > &matrix, U left, U right, U bottom, U top, U zNear, U zFar)
 Builds a matrix that sets a non centered orthogonal projection from the given parameters.
 
template<typename T >
static Matrix4x4< T > castor::matrix::ortho (T left, T right, T bottom, T top, T zNear, T zFar)
 Builds a matrix that sets a non centered orthogonal projection from the given parameters.
 
template<typename T , typename U >
static Matrix4x4< T > & castor::matrix::lookAt (Matrix4x4< T > &matrix, Point3< U > const &eye, Point3< U > const &center, Point3< U > const &up)
 Builds a view matrix that looks at a given point.
 
template<typename T >
static Matrix4x4< T > castor::matrix::lookAt (Point3< T > const &eye, Point3< T > const &center, Point3< T > const &up)
 Builds a view matrix that looks at a given point.
 
template<typename T >
static Matrix4x4< T > & castor::matrix::switchHand (Matrix4x4< T > &matrix)
 Switches the handness of a matrix (from right to left or left to right)
 
template<typename T >
static Matrix4x4< T > castor::matrix::getSwitchHand (Matrix4x4< T > const &matrix)
 Switches the handness of a matrix (from right to left or left to right)
 
template<typename T , typename U >
static Matrix3x3< T > & castor::matrix::rotate (Matrix3x3< T > &matrix, Angle orientation)
 Rotation function, builds a rotation matrix from the quaternion in parameter.
 
template<typename T , typename U >
static Matrix3x3< T > & castor::matrix::setRotate (Matrix3x3< T > &matrix, Angle orientation)
 Rotation function, builds a rotation matrix from the quaternion in parameter.
 
template<typename T , typename U >
static void castor::matrix::getRotate (Matrix3x3< T > const &matrix, Angle orientation)
 Rotation function, builds a rotation matrix from the quaternion in parameter.
 
template<typename T , typename U >
static Matrix3x3< T > & castor::matrix::scale (Matrix3x3< T > &matrix, U x, U y)
 Scale function. Scales matrix from the three values in parameter.
 
template<typename T , typename U >
static Matrix3x3< T > & castor::matrix::scale (Matrix3x3< T > &matrix, Point2< U > const &scaling)
 Scale function. Scales matrix from the value in parameter.
 
template<typename T , typename U >
static Matrix3x3< T > & castor::matrix::setScale (Matrix3x3< T > &matrix, U x, U y)
 Scale function. Scales matrix from the three values in parameter.
 
template<typename T , typename U >
static Matrix3x3< T > & castor::matrix::setScale (Matrix3x3< T > &matrix, Point2< U > const &scaling)
 Scale function. Scales matrix from the value in parameter.
 
template<typename T , typename U >
static Matrix3x3< T > & castor::matrix::translate (Matrix3x3< T > &matrix, U x, U y)
 Translate function. Translates a matrix from the three values in parameter.
 
template<typename T , typename U >
static Matrix3x3< T > & castor::matrix::translate (Matrix3x3< T > &matrix, Point2< U > const &translation)
 Translate function. Translates a matrix from the value in parameter.
 
template<typename T , typename U >
static Matrix3x3< T > & castor::matrix::setTranslate (Matrix3x3< T > &matrix, U x, U y)
 Translate function. Translates a matrix from the three values in parameter.
 
template<typename T , typename U >
static Matrix3x3< T > & castor::matrix::setTranslate (Matrix3x3< T > &matrix, Point2< U > const &translation)
 Translate function. Translates a matrix from the value in parameter.
 
template<typename T , typename U , typename V >
static Matrix3x3< T > & castor::matrix::setTransform (Matrix3x3< T > &matrix, Point2< U > const &position, Point2< U > const &scaling, Angle orientation)
 Retrieves transformation matrix from translation, scaling and rotation.
 
template<typename T , typename U , typename V >
static Matrix3x3< T > & castor::matrix::transform (Matrix3x3< T > &matrix, Point2< U > const &position, Point2< U > const &scaling, Angle orientation)
 Retrieves transformation matrix from translation, scaling and rotation.