|
@@ -13,8 +13,8 @@ namespace rotate_vector
|
|
|
{
|
|
{
|
|
|
template <typename T>
|
|
template <typename T>
|
|
|
GLM_FUNC_QUALIFIER detail::tvec2<T> rotate(
|
|
GLM_FUNC_QUALIFIER detail::tvec2<T> rotate(
|
|
|
- const detail::tvec2<T>& v,
|
|
|
|
|
- T angle)
|
|
|
|
|
|
|
+ detail::tvec2<T> const & v,
|
|
|
|
|
+ T const & angle)
|
|
|
{
|
|
{
|
|
|
detail::tvec2<T> Result;
|
|
detail::tvec2<T> Result;
|
|
|
const T Cos = cos(radians(angle));
|
|
const T Cos = cos(radians(angle));
|
|
@@ -26,14 +26,18 @@ namespace rotate_vector
|
|
|
|
|
|
|
|
template <typename T>
|
|
template <typename T>
|
|
|
GLM_FUNC_QUALIFIER detail::tvec3<T> rotate(
|
|
GLM_FUNC_QUALIFIER detail::tvec3<T> rotate(
|
|
|
- const detail::tvec3<T>& v, T angle,
|
|
|
|
|
- const detail::tvec3<T>& normal)
|
|
|
|
|
|
|
+ const detail::tvec3<T> & v,
|
|
|
|
|
+ T const & angle,
|
|
|
|
|
+ const detail::tvec3<T> & normal)
|
|
|
{
|
|
{
|
|
|
- return detail::tmat3x3<T>(transform::rotate(angle, normal)) * v;
|
|
|
|
|
|
|
+ return detail::tmat3x3<T>(glm::gtx::transform::rotate(angle, normal)) * v;
|
|
|
}
|
|
}
|
|
|
/*
|
|
/*
|
|
|
template <typename T>
|
|
template <typename T>
|
|
|
- GLM_FUNC_QUALIFIER detail::tvec3<T> rotateGTX(const detail::tvec3<T>& x, T angle, const detail::tvec3<T>& normal)
|
|
|
|
|
|
|
+ GLM_FUNC_QUALIFIER detail::tvec3<T> rotateGTX(
|
|
|
|
|
+ const detail::tvec3<T>& x,
|
|
|
|
|
+ T angle,
|
|
|
|
|
+ const detail::tvec3<T>& normal)
|
|
|
{
|
|
{
|
|
|
const T Cos = cos(radians(angle));
|
|
const T Cos = cos(radians(angle));
|
|
|
const T Sin = sin(radians(angle));
|
|
const T Sin = sin(radians(angle));
|
|
@@ -42,17 +46,17 @@ namespace rotate_vector
|
|
|
*/
|
|
*/
|
|
|
template <typename T>
|
|
template <typename T>
|
|
|
GLM_FUNC_QUALIFIER detail::tvec4<T> rotate(
|
|
GLM_FUNC_QUALIFIER detail::tvec4<T> rotate(
|
|
|
- const detail::tvec4<T>& v,
|
|
|
|
|
- T angle,
|
|
|
|
|
- const detail::tvec3<T>& normal)
|
|
|
|
|
|
|
+ detail::tvec4<T> const & v,
|
|
|
|
|
+ T const & angle,
|
|
|
|
|
+ detail::tvec3<T> const & normal)
|
|
|
{
|
|
{
|
|
|
- return transform::rotate(angle, normal) * v;
|
|
|
|
|
|
|
+ return glm::gtx::transform::::rotate(angle, normal) * v;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
template <typename T>
|
|
template <typename T>
|
|
|
GLM_FUNC_QUALIFIER detail::tvec3<T> rotateX(
|
|
GLM_FUNC_QUALIFIER detail::tvec3<T> rotateX(
|
|
|
- const detail::tvec3<T>& v,
|
|
|
|
|
- T angle)
|
|
|
|
|
|
|
+ detail::tvec3<T> const & v,
|
|
|
|
|
+ T const & angle)
|
|
|
{
|
|
{
|
|
|
detail::tvec3<T> Result = v;
|
|
detail::tvec3<T> Result = v;
|
|
|
const T Cos = cos(radians(angle));
|
|
const T Cos = cos(radians(angle));
|
|
@@ -64,8 +68,8 @@ namespace rotate_vector
|
|
|
|
|
|
|
|
template <typename T>
|
|
template <typename T>
|
|
|
GLM_FUNC_QUALIFIER detail::tvec3<T> rotateY(
|
|
GLM_FUNC_QUALIFIER detail::tvec3<T> rotateY(
|
|
|
- const detail::tvec3<T>& v,
|
|
|
|
|
- T angle)
|
|
|
|
|
|
|
+ detail::tvec3<T> const & v,
|
|
|
|
|
+ T const & angle)
|
|
|
{
|
|
{
|
|
|
detail::tvec3<T> Result = v;
|
|
detail::tvec3<T> Result = v;
|
|
|
const T Cos = cos(radians(angle));
|
|
const T Cos = cos(radians(angle));
|
|
@@ -77,8 +81,8 @@ namespace rotate_vector
|
|
|
|
|
|
|
|
template <typename T>
|
|
template <typename T>
|
|
|
GLM_FUNC_QUALIFIER detail::tvec3<T> rotateZ(
|
|
GLM_FUNC_QUALIFIER detail::tvec3<T> rotateZ(
|
|
|
- const detail::tvec3<T>& v,
|
|
|
|
|
- T angle)
|
|
|
|
|
|
|
+ detail::tvec3<T> const & v,
|
|
|
|
|
+ T const & angle)
|
|
|
{
|
|
{
|
|
|
detail::tvec3<T> Result = v;
|
|
detail::tvec3<T> Result = v;
|
|
|
const T Cos = cos(radians(angle));
|
|
const T Cos = cos(radians(angle));
|
|
@@ -90,8 +94,8 @@ namespace rotate_vector
|
|
|
|
|
|
|
|
template <typename T>
|
|
template <typename T>
|
|
|
GLM_FUNC_QUALIFIER detail::tvec4<T> rotateX(
|
|
GLM_FUNC_QUALIFIER detail::tvec4<T> rotateX(
|
|
|
- const detail::tvec4<T>& v,
|
|
|
|
|
- T angle)
|
|
|
|
|
|
|
+ detail::tvec4<T> const & v,
|
|
|
|
|
+ T const & angle)
|
|
|
{
|
|
{
|
|
|
detail::tvec4<T> Result = v;
|
|
detail::tvec4<T> Result = v;
|
|
|
const T Cos = cos(radians(angle));
|
|
const T Cos = cos(radians(angle));
|
|
@@ -103,8 +107,8 @@ namespace rotate_vector
|
|
|
|
|
|
|
|
template <typename T>
|
|
template <typename T>
|
|
|
GLM_FUNC_QUALIFIER detail::tvec4<T> rotateY(
|
|
GLM_FUNC_QUALIFIER detail::tvec4<T> rotateY(
|
|
|
- const detail::tvec4<T>& v,
|
|
|
|
|
- T angle)
|
|
|
|
|
|
|
+ detail::tvec4<T> const & v,
|
|
|
|
|
+ T const & angle)
|
|
|
{
|
|
{
|
|
|
detail::tvec4<T> Result = v;
|
|
detail::tvec4<T> Result = v;
|
|
|
const T Cos = cos(radians(angle));
|
|
const T Cos = cos(radians(angle));
|
|
@@ -116,8 +120,8 @@ namespace rotate_vector
|
|
|
|
|
|
|
|
template <typename T>
|
|
template <typename T>
|
|
|
GLM_FUNC_QUALIFIER detail::tvec4<T> rotateZ(
|
|
GLM_FUNC_QUALIFIER detail::tvec4<T> rotateZ(
|
|
|
- const detail::tvec4<T>& v,
|
|
|
|
|
- T angle)
|
|
|
|
|
|
|
+ detail::tvec4<T> const & v,
|
|
|
|
|
+ T const & angle)
|
|
|
{
|
|
{
|
|
|
detail::tvec4<T> Result = v;
|
|
detail::tvec4<T> Result = v;
|
|
|
const T Cos = cos(radians(angle));
|
|
const T Cos = cos(radians(angle));
|
|
@@ -129,8 +133,8 @@ namespace rotate_vector
|
|
|
|
|
|
|
|
template <typename T>
|
|
template <typename T>
|
|
|
GLM_FUNC_QUALIFIER detail::tmat4x4<T> orientation(
|
|
GLM_FUNC_QUALIFIER detail::tmat4x4<T> orientation(
|
|
|
- const detail::tvec3<T>& Normal,
|
|
|
|
|
- const detail::tvec3<T>& Up)
|
|
|
|
|
|
|
+ detail::tvec3<T> const & Normal,
|
|
|
|
|
+ detail::tvec3<T> const & Up)
|
|
|
{
|
|
{
|
|
|
if(all(equal(Normal, Up)))
|
|
if(all(equal(Normal, Up)))
|
|
|
return detail::tmat4x4<T>(T(1));
|
|
return detail::tmat4x4<T>(T(1));
|