From 929f140b1eca178cdc179de9380c67cdef7de8ff Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Tue, 7 May 2013 01:05:45 +0200 Subject: [PATCH] Added GTC_angle extension files --- glm/core/dummy.cpp | 51 +++++++++++++++++++++++++++++++++++++++++++- glm/gtc/angle.hpp | 53 ++++++++++++++++++++++++++++++++++++++++++++++ glm/gtc/angle.inl | 0 3 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 glm/gtc/angle.hpp create mode 100644 glm/gtc/angle.inl diff --git a/glm/core/dummy.cpp b/glm/core/dummy.cpp index 38fcca02..07b5f15a 100644 --- a/glm/core/dummy.cpp +++ b/glm/core/dummy.cpp @@ -32,9 +32,58 @@ #define GLM_MESSAGES #include "../glm.hpp" -//#error "GLM is a header only library" +/* +template +class angle +{ +public: + typedef T value_type; + + angle(value_type const & x) : + data(x) + {} + +private: + value_type data; +}; + +typedef angle angle16; +typedef angle angle32; +typedef angle angle64; + +GLM_FUNC_DECL angle operator "" _rad_f(long double const radians) +{ + return static_cast(radians); +} + +GLM_FUNC_DECL angle operator "" _rad(long double const radians) +{ + return static_cast(radians); +} + +GLM_FUNC_DECL angle operator "" _rad_l(long double const radians) +{ + return radians; +} + +GLM_FUNC_DECL angle operator "" _deg_f(long double const degrees) +{ + return static_cast(degrees) * static_cast(0.01745329251994329576923690768489L); +} + +GLM_FUNC_DECL angle operator "" _deg(long double const degrees) +{ + return static_cast(degrees) * static_cast(0.01745329251994329576923690768489L); +} + +GLM_FUNC_DECL angle operator "" _deg_l(long double const degrees) +{ + return degrees * 0.01745329251994329576923690768489L; +}*/ int main() { + //auto d = 90.0_deg; + glm::vec3 v{0, 1, 2}; } diff --git a/glm/gtc/angle.hpp b/glm/gtc/angle.hpp new file mode 100644 index 00000000..bed3c9a3 --- /dev/null +++ b/glm/gtc/angle.hpp @@ -0,0 +1,53 @@ +/////////////////////////////////////////////////////////////////////////////////// +/// OpenGL Mathematics (glm.g-truc.net) +/// +/// Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net) +/// Permission is hereby granted, free of charge, to any person obtaining a copy +/// of this software and associated documentation files (the "Software"), to deal +/// in the Software without restriction, including without limitation the rights +/// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +/// copies of the Software, and to permit persons to whom the Software is +/// furnished to do so, subject to the following conditions: +/// +/// The above copyright notice and this permission notice shall be included in +/// all copies or substantial portions of the Software. +/// +/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +/// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +/// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +/// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +/// THE SOFTWARE. +/// +/// @ref core +/// @file glm/core/_angles.hpp +/// @date 2013-05-06 / 2013-05-06 +/// @author Christophe Riccio +/////////////////////////////////////////////////////////////////////////////////// + +#ifndef glm_core_angles +#define glm_core_angles + +namespace glm +{ + template + class deg + { + public: + + + private: + T data; + }; + + template + T operator ""_deg(T const & degrees) + { + // returns radians + return degrees * T(0.01745329251994329576923690768489); + } + +}//namespace glm + +#endif//glm_core_angles diff --git a/glm/gtc/angle.inl b/glm/gtc/angle.inl new file mode 100644 index 00000000..e69de29b