FlukyEngine
Functions
GLM_GTX_rotate_vector

Include <glm/gtx/rotate_vector.hpp> to use the features of this extension. More...

Collaboration diagram for GLM_GTX_rotate_vector:

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > glm::slerp (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, T const &a)
 Returns Spherical interpolation between two vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > glm::rotate (vec< 2, T, Q > const &v, T const &angle)
 Rotate a two dimensional vector. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > glm::rotate (vec< 3, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)
 Rotate a three dimensional vector around an axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > glm::rotate (vec< 4, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)
 Rotate a four dimensional vector around an axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > glm::rotateX (vec< 3, T, Q > const &v, T const &angle)
 Rotate a three dimensional vector around the X axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > glm::rotateY (vec< 3, T, Q > const &v, T const &angle)
 Rotate a three dimensional vector around the Y axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > glm::rotateZ (vec< 3, T, Q > const &v, T const &angle)
 Rotate a three dimensional vector around the Z axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > glm::rotateX (vec< 4, T, Q > const &v, T const &angle)
 Rotate a four dimensional vector around the X axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > glm::rotateY (vec< 4, T, Q > const &v, T const &angle)
 Rotate a four dimensional vector around the Y axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > glm::rotateZ (vec< 4, T, Q > const &v, T const &angle)
 Rotate a four dimensional vector around the Z axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > glm::orientation (vec< 3, T, Q > const &Normal, vec< 3, T, Q > const &Up)
 Build a rotation matrix from a normal and a up vector. More...
 

Detailed Description

Include <glm/gtx/rotate_vector.hpp> to use the features of this extension.

Function to directly rotate a vector

Function Documentation

◆ orientation()

template<typename T , qualifier Q>
GLM_FUNC_DECL mat<4, 4, T, Q> glm::orientation ( vec< 3, T, Q > const &  Normal,
vec< 3, T, Q > const &  Up 
)

Build a rotation matrix from a normal and a up vector.

From GLM_GTX_rotate_vector extension.

◆ rotate() [1/3]

template<typename T , qualifier Q>
GLM_FUNC_DECL vec<2, T, Q> glm::rotate ( vec< 2, T, Q > const &  v,
T const &  angle 
)

Rotate a two dimensional vector.

From GLM_GTX_rotate_vector extension.

◆ rotate() [2/3]

template<typename T , qualifier Q>
GLM_FUNC_DECL vec<3, T, Q> glm::rotate ( vec< 3, T, Q > const &  v,
T const &  angle,
vec< 3, T, Q > const &  normal 
)

Rotate a three dimensional vector around an axis.

From GLM_GTX_rotate_vector extension.

◆ rotate() [3/3]

template<typename T , qualifier Q>
GLM_FUNC_DECL vec<4, T, Q> glm::rotate ( vec< 4, T, Q > const &  v,
T const &  angle,
vec< 3, T, Q > const &  normal 
)

Rotate a four dimensional vector around an axis.

From GLM_GTX_rotate_vector extension.

◆ rotateX() [1/2]

template<typename T , qualifier Q>
GLM_FUNC_DECL vec<3, T, Q> glm::rotateX ( vec< 3, T, Q > const &  v,
T const &  angle 
)

Rotate a three dimensional vector around the X axis.

From GLM_GTX_rotate_vector extension.

◆ rotateX() [2/2]

template<typename T , qualifier Q>
GLM_FUNC_DECL vec<4, T, Q> glm::rotateX ( vec< 4, T, Q > const &  v,
T const &  angle 
)

Rotate a four dimensional vector around the X axis.

From GLM_GTX_rotate_vector extension.

◆ rotateY() [1/2]

template<typename T , qualifier Q>
GLM_FUNC_DECL vec<3, T, Q> glm::rotateY ( vec< 3, T, Q > const &  v,
T const &  angle 
)

Rotate a three dimensional vector around the Y axis.

From GLM_GTX_rotate_vector extension.

◆ rotateY() [2/2]

template<typename T , qualifier Q>
GLM_FUNC_DECL vec<4, T, Q> glm::rotateY ( vec< 4, T, Q > const &  v,
T const &  angle 
)

Rotate a four dimensional vector around the Y axis.

From GLM_GTX_rotate_vector extension.

◆ rotateZ() [1/2]

template<typename T , qualifier Q>
GLM_FUNC_DECL vec<3, T, Q> glm::rotateZ ( vec< 3, T, Q > const &  v,
T const &  angle 
)

Rotate a three dimensional vector around the Z axis.

From GLM_GTX_rotate_vector extension.

◆ rotateZ() [2/2]

template<typename T , qualifier Q>
GLM_FUNC_DECL vec<4, T, Q> glm::rotateZ ( vec< 4, T, Q > const &  v,
T const &  angle 
)

Rotate a four dimensional vector around the Z axis.

From GLM_GTX_rotate_vector extension.

◆ slerp()

template<typename T , qualifier Q>
GLM_FUNC_DECL vec<3, T, Q> glm::slerp ( vec< 3, T, Q > const &  x,
vec< 3, T, Q > const &  y,
T const &  a 
)

Returns Spherical interpolation between two vectors.

Parameters
xA first vector
yA second vector
aInterpolation factor. The interpolation is defined beyond the range [0, 1].
See also
GLM_GTX_rotate_vector