mirror of
https://github.com/g-truc/glm.git
synced 2024-11-23 09:14:34 +00:00
Merge branch '0.9.2' into 0.9.3
This commit is contained in:
commit
dccf62a5ee
@ -36,37 +36,38 @@ namespace glm
|
|||||||
//! From GLM_GTX_rotate_vector extension.
|
//! From GLM_GTX_rotate_vector extension.
|
||||||
template <typename T>
|
template <typename T>
|
||||||
detail::tvec2<T> rotate(
|
detail::tvec2<T> rotate(
|
||||||
const detail::tvec2<T>& v,
|
detail::tvec2<T> const & v,
|
||||||
T angle);
|
T const & angle);
|
||||||
|
|
||||||
//! Rotate a three dimensional vector around an axis.
|
//! Rotate a three dimensional vector around an axis.
|
||||||
//! From GLM_GTX_rotate_vector extension.
|
//! From GLM_GTX_rotate_vector extension.
|
||||||
template <typename T>
|
template <typename T>
|
||||||
detail::tvec3<T> rotate(
|
detail::tvec3<T> rotate(
|
||||||
const detail::tvec3<T>& v,
|
detail::tvec3<T> const & v,
|
||||||
T angle,
|
T const & angle,
|
||||||
const detail::tvec3<T>& normal);
|
detail::tvec3<T> const & normal);
|
||||||
|
|
||||||
//! Rotate a four dimensional vector around an axis.
|
//! Rotate a four dimensional vector around an axis.
|
||||||
//! From GLM_GTX_rotate_vector extension.
|
//! From GLM_GTX_rotate_vector extension.
|
||||||
template <typename T>
|
template <typename T>
|
||||||
detail::tvec4<T> rotate(
|
detail::tvec4<T> rotate(
|
||||||
const detail::tvec4<T>& v, T angle,
|
detail::tvec4<T> const & v,
|
||||||
const detail::tvec3<T>& normal);
|
T const & angle,
|
||||||
|
detail::tvec3<T> const & normal);
|
||||||
|
|
||||||
//! Rotate a three dimensional vector around the X axis.
|
//! Rotate a three dimensional vector around the X axis.
|
||||||
//! From GLM_GTX_rotate_vector extension.
|
//! From GLM_GTX_rotate_vector extension.
|
||||||
template <typename T>
|
template <typename T>
|
||||||
detail::tvec3<T> rotateX(
|
detail::tvec3<T> rotateX(
|
||||||
const detail::tvec3<T>& v,
|
detail::tvec3<T> const & v,
|
||||||
T angle);
|
T const & angle);
|
||||||
|
|
||||||
//! Rotate a three dimensional vector around the Y axis.
|
//! Rotate a three dimensional vector around the Y axis.
|
||||||
//! From GLM_GTX_rotate_vector extension.
|
//! From GLM_GTX_rotate_vector extension.
|
||||||
template <typename T>
|
template <typename T>
|
||||||
detail::tvec3<T> rotateY(
|
detail::tvec3<T> rotateY(
|
||||||
const detail::tvec3<T>& v,
|
detail::tvec3<T> const & v,
|
||||||
T angle);
|
T const & angle);
|
||||||
|
|
||||||
//! Rotate a three dimensional vector around the Z axis.
|
//! Rotate a three dimensional vector around the Z axis.
|
||||||
//! From GLM_GTX_rotate_vector extension.
|
//! From GLM_GTX_rotate_vector extension.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
glmCreateTestGTC(gtx_bit)
|
glmCreateTestGTC(gtx_bit)
|
||||||
glmCreateTestGTC(gtx_noise)
|
glmCreateTestGTC(gtx_noise)
|
||||||
|
glmCreateTestGTC(gtx_rotate_vector)
|
||||||
glmCreateTestGTC(gtx_simd_vec4)
|
glmCreateTestGTC(gtx_simd_vec4)
|
||||||
glmCreateTestGTC(gtx_simd_mat4)
|
glmCreateTestGTC(gtx_simd_mat4)
|
||||||
glmCreateTestGTC(gtx_ulp)
|
glmCreateTestGTC(gtx_ulp)
|
||||||
glmCreateTestGTC(gtx_vector_angle)
|
glmCreateTestGTC(gtx_vector_angle)
|
||||||
|
|
||||||
|
95
test/gtx/gtx_rotate_vector.cpp
Normal file
95
test/gtx/gtx_rotate_vector.cpp
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Created : 2011-05-16
|
||||||
|
// Updated : 2011-05-16
|
||||||
|
// Licence : This source is under MIT licence
|
||||||
|
// File : test/gtx/rotate_vector.cpp
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include <glm/glm.hpp>
|
||||||
|
#include <glm/gtx/rotate_vector.hpp>
|
||||||
|
|
||||||
|
int test_rotate()
|
||||||
|
{
|
||||||
|
int Error = 0;
|
||||||
|
|
||||||
|
glm::vec2 A = glm::rotate(glm::vec2(1, 0), 90.f);
|
||||||
|
|
||||||
|
glm::vec3 B = glm::rotate(glm::vec3(1, 0, 0), 90.f, glm::vec3(0, 0, 1));
|
||||||
|
|
||||||
|
glm::vec4 C = glm::rotate(glm::vec4(1, 0, 0, 1), 90.f, glm::vec3(0, 0, 1));
|
||||||
|
|
||||||
|
glm::vec3 D = glm::rotateX(glm::vec3(1, 0, 0), 90.f);
|
||||||
|
|
||||||
|
glm::vec4 E = glm::rotateX(glm::vec4(1, 0, 0, 1), 90.f);
|
||||||
|
|
||||||
|
glm::vec3 F = glm::rotateY(glm::vec3(1, 0, 0), 90.f);
|
||||||
|
|
||||||
|
glm::vec4 G = glm::rotateY(glm::vec4(1, 0, 0, 1), 90.f);
|
||||||
|
|
||||||
|
glm::vec3 H = glm::rotateZ(glm::vec3(1, 0, 0), 90.f);
|
||||||
|
|
||||||
|
glm::vec4 I = glm::rotateZ(glm::vec4(1, 0, 0,1 ), 90.f);
|
||||||
|
|
||||||
|
glm::mat4 O = glm::orientation(glm::normalize(glm::vec3(1)), glm::vec3(0, 0, 1));
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
|
int test_rotateX()
|
||||||
|
{
|
||||||
|
int Error = 0;
|
||||||
|
|
||||||
|
glm::vec3 D = glm::rotateX(glm::vec3(1, 0, 0), 90.f);
|
||||||
|
|
||||||
|
glm::vec4 E = glm::rotateX(glm::vec4(1, 0, 0, 1), 90.f);
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
|
int test_rotateY()
|
||||||
|
{
|
||||||
|
int Error = 0;
|
||||||
|
|
||||||
|
glm::vec3 F = glm::rotateY(glm::vec3(1, 0, 0), 90.f);
|
||||||
|
|
||||||
|
glm::vec4 G = glm::rotateY(glm::vec4(1, 0, 0, 1), 90.f);
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int test_rotateZ()
|
||||||
|
{
|
||||||
|
int Error = 0;
|
||||||
|
|
||||||
|
glm::vec3 H = glm::rotateZ(glm::vec3(1, 0, 0), 90.f);
|
||||||
|
|
||||||
|
glm::vec4 I = glm::rotateZ(glm::vec4(1, 0, 0,1 ), 90.f);
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
|
int test_orientation()
|
||||||
|
{
|
||||||
|
int Error = 0;
|
||||||
|
|
||||||
|
glm::mat4 O = glm::orientation(glm::normalize(glm::vec3(1)), glm::vec3(0, 0, 1));
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int Error = 0;
|
||||||
|
Error += test_rotate();
|
||||||
|
Error += test_rotateX();
|
||||||
|
Error += test_rotateY();
|
||||||
|
Error += test_rotateZ();
|
||||||
|
Error += test_orientation();
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user