euler_angles.hpp
Go to the documentation of this file.
#pragma once
// Dependency:
#include "../glm.hpp"
#ifndef GLM_ENABLE_EXPERIMENTAL
# error "GLM: GLM_GTX_euler_angles is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
#elif GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
# pragma message("GLM: GLM_GTX_euler_angles extension included")
#endif
namespace glm
{
template<typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleX(
T const& angleX);
template<typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleY(
T const& angleY);
template<typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZ(
T const& angleZ);
template <typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> derivedEulerAngleX(
T const & angleX, T const & angularVelocityX);
template <typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> derivedEulerAngleY(
T const & angleY, T const & angularVelocityY);
template <typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> derivedEulerAngleZ(
T const & angleZ, T const & angularVelocityZ);
template<typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXY(
T const& angleX,
T const& angleY);
template<typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYX(
T const& angleY,
T const& angleX);
template<typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXZ(
T const& angleX,
T const& angleZ);
template<typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZX(
T const& angle,
T const& angleX);
template<typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYZ(
T const& angleY,
T const& angleZ);
template<typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZY(
T const& angleZ,
T const& angleY);
template<typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXYZ(
T const& t1,
T const& t2,
T const& t3);
template<typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYXZ(
T const& yaw,
T const& pitch,
T const& roll);
template <typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXZX(
T const & t1,
T const & t2,
T const & t3);
template <typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXYX(
T const & t1,
T const & t2,
T const & t3);
template <typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYXY(
T const & t1,
T const & t2,
T const & t3);
template <typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYZY(
T const & t1,
T const & t2,
T const & t3);
template <typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZYZ(
T const & t1,
T const & t2,
T const & t3);
template <typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZXZ(
T const & t1,
T const & t2,
T const & t3);
template <typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXZY(
T const & t1,
T const & t2,
T const & t3);
template <typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYZX(
T const & t1,
T const & t2,
T const & t3);
template <typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZYX(
T const & t1,
T const & t2,
T const & t3);
template <typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZXY(
T const & t1,
T const & t2,
T const & t3);
template<typename T>
GLM_FUNC_DECL mat<4, 4, T, defaultp> yawPitchRoll(
T const& yaw,
T const& pitch,
T const& roll);
template<typename T>
GLM_FUNC_DECL mat<2, 2, T, defaultp> orientate2(T const& angle);
template<typename T>
GLM_FUNC_DECL mat<3, 3, T, defaultp> orientate3(T const& angle);
template<typename T, qualifier Q>
GLM_FUNC_DECL mat<3, 3, T, Q> orientate3(vec<3, T, Q> const& angles);
template<typename T, qualifier Q>
GLM_FUNC_DECL mat<4, 4, T, Q> orientate4(vec<3, T, Q> const& angles);
template<typename T>
GLM_FUNC_DECL void extractEulerAngleXYZ(mat<4, 4, T, defaultp> const& M,
T & t1,
T & t2,
T & t3);
template <typename T>
GLM_FUNC_DECL void extractEulerAngleYXZ(mat<4, 4, T, defaultp> const & M,
T & t1,
T & t2,
T & t3);
template <typename T>
GLM_FUNC_DECL void extractEulerAngleXZX(mat<4, 4, T, defaultp> const & M,
T & t1,
T & t2,
T & t3);
template <typename T>
GLM_FUNC_DECL void extractEulerAngleXYX(mat<4, 4, T, defaultp> const & M,
T & t1,
T & t2,
T & t3);
template <typename T>
GLM_FUNC_DECL void extractEulerAngleYXY(mat<4, 4, T, defaultp> const & M,
T & t1,
T & t2,
T & t3);
template <typename T>
GLM_FUNC_DECL void extractEulerAngleYZY(mat<4, 4, T, defaultp> const & M,
T & t1,
T & t2,
T & t3);
template <typename T>
GLM_FUNC_DECL void extractEulerAngleZYZ(mat<4, 4, T, defaultp> const & M,
T & t1,
T & t2,
T & t3);
template <typename T>
GLM_FUNC_DECL void extractEulerAngleZXZ(mat<4, 4, T, defaultp> const & M,
T & t1,
T & t2,
T & t3);
template <typename T>
GLM_FUNC_DECL void extractEulerAngleXZY(mat<4, 4, T, defaultp> const & M,
T & t1,
T & t2,
T & t3);
template <typename T>
GLM_FUNC_DECL void extractEulerAngleYZX(mat<4, 4, T, defaultp> const & M,
T & t1,
T & t2,
T & t3);
template <typename T>
GLM_FUNC_DECL void extractEulerAngleZYX(mat<4, 4, T, defaultp> const & M,
T & t1,
T & t2,
T & t3);
template <typename T>
GLM_FUNC_DECL void extractEulerAngleZXY(mat<4, 4, T, defaultp> const & M,
T & t1,
T & t2,
T & t3);
}//namespace glm
#include "euler_angles.inl"
glm::angle
GLM_FUNC_DECL T angle(qua< T, Q > const &x)
Returns the quaternion rotation angle.
glm::extractEulerAngleZXZ
GLM_FUNC_DECL void extractEulerAngleZXZ(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (Z * X * Z) Euler angles from the rotation matrix M.
glm::extractEulerAngleXYX
GLM_FUNC_DECL void extractEulerAngleXYX(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (X * Y * X) Euler angles from the rotation matrix M.
glm::eulerAngleZXY
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZXY(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Y).
glm::eulerAngleY
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleY(T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.
glm::eulerAngleZX
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZX(T const &angle, T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X).
glm::derivedEulerAngleY
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleY(T const &angleY, T const &angularVelocityY)
Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Y-axis.
glm::roll
GLM_FUNC_DECL T roll(qua< T, Q > const &x)
Returns roll value of euler angles expressed in radians.
glm::extractEulerAngleYZY
GLM_FUNC_DECL void extractEulerAngleYZY(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (Y * Z * Y) Euler angles from the rotation matrix M.
glm::orientate4
GLM_FUNC_DECL mat< 4, 4, T, Q > orientate4(vec< 3, T, Q > const &angles)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
glm::extractEulerAngleZYX
GLM_FUNC_DECL void extractEulerAngleZYX(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (Z * Y * X) Euler angles from the rotation matrix M.
glm::derivedEulerAngleZ
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleZ(T const &angleZ, T const &angularVelocityZ)
Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Z-axis.
glm::orientate3
GLM_FUNC_DECL mat< 3, 3, T, Q > orientate3(vec< 3, T, Q > const &angles)
Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z).
glm::eulerAngleYX
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYX(T const &angleY, T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X).
glm::eulerAngleYXZ
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYXZ(T const &yaw, T const &pitch, T const &roll)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
glm::eulerAngleXY
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXY(T const &angleX, T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y).
glm::eulerAngleZYZ
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZYZ(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * Z).
glm::eulerAngleX
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleX(T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.
glm::eulerAngleZ
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZ(T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z.
glm::yaw
GLM_FUNC_DECL T yaw(qua< T, Q > const &x)
Returns yaw value of euler angles expressed in radians.
glm::eulerAngleYZ
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZ(T const &angleY, T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z).
glm::eulerAngleXYX
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXYX(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * X).
glm::eulerAngleXZX
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZX(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * X).
glm::eulerAngleZY
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZY(T const &angleZ, T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y).
glm::orientate2
GLM_FUNC_DECL mat< 2, 2, T, defaultp > orientate2(T const &angle)
Creates a 2D 2 * 2 rotation matrix from an euler angle.
glm::extractEulerAngleYXY
GLM_FUNC_DECL void extractEulerAngleYXY(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (Y * X * Y) Euler angles from the rotation matrix M.
glm::eulerAngleXYZ
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXYZ(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * Z).
glm::eulerAngleZXZ
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZXZ(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Z).
glm::pitch
GLM_FUNC_DECL T pitch(qua< T, Q > const &x)
Returns pitch value of euler angles expressed in radians.
glm::eulerAngleZYX
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZYX(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * X).
glm::extractEulerAngleYXZ
GLM_FUNC_DECL void extractEulerAngleYXZ(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (Y * X * Z) Euler angles from the rotation matrix M.
glm::extractEulerAngleZXY
GLM_FUNC_DECL void extractEulerAngleZXY(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (Z * X * Y) Euler angles from the rotation matrix M.
glm::extractEulerAngleXYZ
GLM_FUNC_DECL void extractEulerAngleXYZ(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (X * Y * Z) Euler angles from the rotation matrix M.
glm::derivedEulerAngleX
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleX(T const &angleX, T const &angularVelocityX)
Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about X-axis.
glm::extractEulerAngleXZY
GLM_FUNC_DECL void extractEulerAngleXZY(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (X * Z * Y) Euler angles from the rotation matrix M.
glm::eulerAngleYZX
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZX(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * X).
glm::eulerAngleYXY
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYXY(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Y).
glm::extractEulerAngleXZX
GLM_FUNC_DECL void extractEulerAngleXZX(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (X * Z * X) Euler angles from the rotation matrix M.
glm::eulerAngleYZY
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZY(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * Y).
glm::eulerAngleXZY
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZY(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * Y).
glm::extractEulerAngleYZX
GLM_FUNC_DECL void extractEulerAngleYZX(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (Y * Z * X) Euler angles from the rotation matrix M.
glm::eulerAngleXZ
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZ(T const &angleX, T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z).
glm::yawPitchRoll
GLM_FUNC_DECL mat< 4, 4, T, defaultp > yawPitchRoll(T const &yaw, T const &pitch, T const &roll)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
glm::extractEulerAngleZYZ
GLM_FUNC_DECL void extractEulerAngleZYZ(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (Z * Y * Z) Euler angles from the rotation matrix M.