1
///////////////////////////////////////////////////////////////////////////////////////////////////
2
// OpenGL Mathematics Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
3
///////////////////////////////////////////////////////////////////////////////////////////////////
4
// Created : 2005-12-30
5
// Updated : 2008-09-29
6
// Licence : This source is under MIT License
7
// File : glm/gtx/vector_angle.inl
8
///////////////////////////////////////////////////////////////////////////////////////////////////
12
template <typename genType>
13
GLM_FUNC_QUALIFIER typename genType::value_type angle
19
return degrees(acos(dot(x, y)));
22
//! \todo epsilon is hard coded to 0.01
23
template <typename valType>
24
GLM_FUNC_QUALIFIER valType orientedAngle
26
detail::tvec2<valType> const & x,
27
detail::tvec2<valType> const & y
30
valType Angle = glm::degrees(acos(dot(x, y)));
31
detail::tvec2<valType> TransformedVector = glm::rotate(x, Angle);
32
if(all(equalEpsilon(y, TransformedVector, valType(0.01))))
38
template <typename valType>
39
GLM_FUNC_QUALIFIER valType orientedAngle
41
detail::tvec3<valType> const & x,
42
detail::tvec3<valType> const & y,
43
detail::tvec3<valType> const & ref
46
valType Angle = glm::degrees(glm::acos(glm::dot(x, y)));
48
if(glm::dot(ref, glm::cross(x, y)) < valType(0))