GLM Version 0.9.0
|
00001 00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net) 00004 // Created : 2005-01-14 00005 // Updated : 2010-05-30 00006 // Licence : This source is under MIT License 00007 // File : glm/glm.hpp 00009 00030 #ifndef glm_glm 00031 #define glm_glm 00032 00033 #ifdef max 00034 #undef max 00035 #endif 00036 00037 #ifdef min 00038 #undef min 00039 #endif 00040 00041 #define GLMvalType typename genType::value_type 00042 #define GLMcolType typename genType::col_type 00043 #define GLMrowType typename genType::row_type 00044 00045 #include <cmath> 00046 #include <climits> 00047 #include <cfloat> 00048 #include <limits> 00049 #include "./setup.hpp" 00050 00052 namespace glm 00053 { 00054 namespace test 00055 { 00056 bool main_bug(); 00057 bool main_core(); 00058 }//namespace test 00059 00061 namespace core 00062 { 00067 namespace type{} 00068 00071 namespace function{} 00072 } 00073 //namespace core 00074 00076 namespace gtc{} 00077 00080 namespace gtx{} 00081 00083 namespace img{} 00084 00086 namespace img{} 00087 00088 } //namespace glm 00089 00090 #include "./core/_detail.hpp" 00091 #include "./core/type.hpp" 00092 00093 #include "./core/func_trigonometric.hpp" 00094 #include "./core/func_exponential.hpp" 00095 #include "./core/func_common.hpp" 00096 #include "./core/func_packing.hpp" 00097 #include "./core/func_geometric.hpp" 00098 #include "./core/func_matrix.hpp" 00099 #include "./core/func_vector_relational.hpp" 00100 #include "./core/func_integer.hpp" 00101 #include "./core/func_noise.hpp" 00102 #include "./core/_swizzle.hpp" 00103 00104 #if(defined(GLM_MESSAGE) && (GLM_MESSAGE & (GLM_MESSAGE_CORE | GLM_MESSAGE_NOTIFICATION))) 00105 # pragma message("GLM message: Core library included") 00106 #endif//GLM_MESSAGE 00107 00108 #if(defined(GLM_COMPILER) && (GLM_COMPILER & GLM_COMPILER_VC)) 00109 # define GLM_DEPRECATED __declspec(deprecated) 00110 # define GLM_RESTRICT __restrict 00111 # define GLM_ALIGN(x) __declspec(align(x)) 00112 //# define aligned(x) __declspec(align(x)) struct 00113 #else 00114 # define GLM_DEPRECATED 00115 # define GLM_RESTRICT 00116 # define GLM_ALIGN(x) 00117 #endif//GLM_COMPILER 00118 00120 // check type sizes 00121 #ifndef GLM_STATIC_ASSERT_NULL 00122 GLM_STATIC_ASSERT(sizeof(glm::detail::int8)==1); 00123 GLM_STATIC_ASSERT(sizeof(glm::detail::int16)==2); 00124 GLM_STATIC_ASSERT(sizeof(glm::detail::int32)==4); 00125 GLM_STATIC_ASSERT(sizeof(glm::detail::int64)==8); 00126 00127 GLM_STATIC_ASSERT(sizeof(glm::detail::uint8)==1); 00128 GLM_STATIC_ASSERT(sizeof(glm::detail::uint16)==2); 00129 GLM_STATIC_ASSERT(sizeof(glm::detail::uint32)==4); 00130 GLM_STATIC_ASSERT(sizeof(glm::detail::uint64)==8); 00131 00132 GLM_STATIC_ASSERT(sizeof(glm::detail::float16)==2); 00133 GLM_STATIC_ASSERT(sizeof(glm::detail::float32)==4); 00134 GLM_STATIC_ASSERT(sizeof(glm::detail::float64)==8); 00135 #endif//GLM_STATIC_ASSERT_NULL 00136 00137 #endif //glm_glm