FlukyEngine
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

## ◆ 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
 x A first vector y A second vector a Interpolation factor. The interpolation is defined beyond the range [0, 1].