# GLM_GTX_rotate_vector

GLM_GTX_rotate_vector
GTX Extensions (Experimental)

## Functions

template<typename T >
detail::tmat4x4< T > | orientation (detail::tvec3< T > const &Normal, detail::tvec3< T > const &Up)
template<typename T >
detail::tvec2< T > | rotate (detail::tvec2< T > const &v, T const &angle)
template<typename T >
detail::tvec3< T > | rotate (detail::tvec3< T > const &v, T const &angle, detail::tvec3< T > const &normal)
template<typename T >
detail::tvec4< T > | rotate (detail::tvec4< T > const &v, T const &angle, detail::tvec3< T > const &normal)
template<typename T >
detail::tvec3< T > | rotateX (detail::tvec3< T > const &v, T const &angle)
template<typename T >
detail::tvec4< T > | rotateX (detail::tvec4< T > const &v, T const &angle)
template<typename T >
detail::tvec3< T > | rotateY (detail::tvec3< T > const &v, T const &angle)
template<typename T >
detail::tvec4< T > | rotateY (detail::tvec4< T > const &v, T const &angle)
template<typename T >
detail::tvec3< T > | rotateZ (detail::tvec3< T > const &v, T const &angle)
template<typename T >
detail::tvec4< T > | rotateZ (detail::tvec4< T > const &v, T const &angle)

## Detailed Description

Function to directly rotate a vector.

<glm/gtx/rotate_vector.hpp> need to be included to use these functionalities.

## Function Documentation

detail::tmat4x4<T> glm::orientation | ( | detail::tvec3< T > const & | Normal,
|  | detail::tvec3< T > const & | Up
| ) |  |

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

From GLM_GTX_rotate_vector extension.

detail::tvec2<T> glm::rotate | ( | detail::tvec2< T > const & | v,
|  | T const & | angle
| ) |  |

Rotate a two dimensional vector.

From GLM_GTX_rotate_vector extension.

detail::tvec3<T> glm::rotate | ( | detail::tvec3< T > const & | v,
|  | T const & | angle,
|  | detail::tvec3< T > const & | normal
| ) |  |

Rotate a three dimensional vector around an axis.

From GLM_GTX_rotate_vector extension.

detail::tvec4<T> glm::rotate | ( | detail::tvec4< T > const & | v,
|  | T const & | angle,
|  | detail::tvec3< T > const & | normal
| ) |  |

Rotate a four dimensional vector around an axis.

From GLM_GTX_rotate_vector extension.

detail::tvec3<T> glm::rotateX | ( | detail::tvec3< T > const & | v,
|  | T const & | angle
| ) |  |

Rotate a three dimensional vector around the X axis.

From GLM_GTX_rotate_vector extension.

detail::tvec4<T> glm::rotateX | ( | detail::tvec4< T > const & | v,
|  | T const & | angle
| ) |  |

Rotate a four dimentionnals vector around the X axis.

From GLM_GTX_rotate_vector extension.

detail::tvec3<T> glm::rotateY | ( | detail::tvec3< T > const & | v,
|  | T const & | angle
| ) |  |

Rotate a three dimensional vector around the Y axis.

From GLM_GTX_rotate_vector extension.

detail::tvec4<T> glm::rotateY | ( | detail::tvec4< T > const & | v,
|  | T const & | angle
| ) |  |

Rotate a four dimensional vector around the X axis.

From GLM_GTX_rotate_vector extension.

detail::tvec3<T> glm::rotateZ | ( | detail::tvec3< T > const & | v,
|  | T const & | angle
| ) |  |

Rotate a three dimensional vector around the Z axis.

From GLM_GTX_rotate_vector extension.

detail::tvec4<T> glm::rotateZ | ( | detail::tvec4< T > const & | v,
|  | T const & | angle
| ) |  |

Rotate a four dimensional vector around the X axis.

From GLM_GTX_rotate_vector extension.