# GLM: glm.hpp Source File

- Main Page
- Namespaces
- Files

- File List

# glm.hpp

    00001
    00002 // OpenGL Mathematics Copyright (c) 2005 - 2008 G-Truc Creation (www.g-truc.net)
    00004 // Created : 2005-01-14
    00005 // Updated : 2009-05-01
    00006 // Licence : This source is under MIT License
    00007 // File    : glm/glm.hpp
    00009
    00024 #ifndef glm_glm
    00025 #define glm_glm
    00026
    00027 #ifdef max
    00028 #undef max
    00029 #endif
    00030
    00031 #ifdef min
    00032 #undef min
    00033 #endif
    00034
    00035 #define GLMvalType typename genType::value_type
    00036 #define GLMcolType typename genType::col_type
    00037 #define GLMrowType typename genType::row_type
    00038
    00039 #define GLMsizeType typename genType::size_type
    00040 #define GLMrowSize typename genType::row_size
    00041 #define GLMcolSize typename genType::col_size
    00042
    00043 #include <cmath>
    00044 #include <climits>
    00045 #include "./setup.hpp"
    00046
    00048 namespace glm
    00049 {
    00050         namespace test
    00051         {
    00052                 bool main_bug();
    00053                 bool main_core();
    00054         }//namespace test
    00055
    00057         namespace core
    00058         {
    00063                 namespace type
    00064                 {
    00067                         namespace scalar
    00068                         {
    00071                                 namespace precision{}
    00072                         }
    00073
    00076                         namespace vector
    00077                         {
    00080                                 namespace precision{}
    00081                         }
    00082
    00085                         namespace matrix
    00086                         {
    00089                                 namespace precision{}
    00090                         }
    00091                 }
    00094                 namespace function{}
    00095         }
    00096         //namespace core
    00097
    00098         using namespace core::type::scalar;
    00099         using namespace core::type::scalar::precision;
    00100         using namespace core::type::vector;
    00101         using namespace core::type::vector::precision;
    00102         using namespace core::type::matrix;
    00103         using namespace core::type::matrix::precision;
    00104
    00106         namespace gtx{}
    00107
    00109         namespace gtc{}
    00110
    00112         namespace img{}
    00113
    00115         namespace img{}
    00116
    00117 } //namespace glm
    00118
    00119 #include "./core/_detail.hpp"
    00120 #include "./core/type.hpp"
    00121 #include "./core/type_half.hpp"
    00122
    00123 #include "./core/func_common.hpp"
    00124 #include "./core/func_exponential.hpp"
    00125 #include "./core/func_geometric.hpp"
    00126 #include "./core/func_matrix.hpp"
    00127 #include "./core/func_trigonometric.hpp"
    00128 #include "./core/func_vector_relational.hpp"
    00129 #include "./core/func_noise.hpp"
    00130 #include "./core/_swizzle.hpp"
    00131 //#include "./core/_xref2.hpp"
    00132 //#include "./core/_xref3.hpp"
    00133 //#include "./core/_xref4.hpp"
    00134
    00135 #if(defined(GLM_MESSAGE) && (GLM_MESSAGE & (GLM_MESSAGE_CORE | GLM_MESSAGE_NOTIFICATION)))
    00136 #       pragma message("GLM message: Core library included")
    00137 #endif//GLM_MESSAGE
    00138
    00139 #if(defined(GLM_COMPILER) && (GLM_COMPILER & GLM_COMPILER_VC))
    00140
    00141 #define GLM_DEPRECATED __declspec(deprecated)
    00142 #define GLM_RESTRICT __restrict
    00143 #define GLM_ALIGN(x) __declspec(align(x))
    00144
    00145 //#define aligned(x) __declspec(align(x)) struct
    00146
    00147 #else
    00148
    00149 #define GLM_DEPRECATED
    00150 #define GLM_RESTRICT
    00151 #define GLM_ALIGN(x)
    00152
    00153 #endif//GLM_COMPILER
    00154
    00156 // check type sizes
    00157 #ifndef GLM_STATIC_ASSERT_NULL
    00158         GLM_STATIC_ASSERT(sizeof(glm::detail::int8)==1);
    00159         GLM_STATIC_ASSERT(sizeof(glm::detail::int16)==2);
    00160         GLM_STATIC_ASSERT(sizeof(glm::detail::int32)==4);
    00161         GLM_STATIC_ASSERT(sizeof(glm::detail::int64)==8);
    00162
    00163         GLM_STATIC_ASSERT(sizeof(glm::detail::uint8)==1);
    00164         GLM_STATIC_ASSERT(sizeof(glm::detail::uint16)==2);
    00165         GLM_STATIC_ASSERT(sizeof(glm::detail::uint32)==4);
    00166         GLM_STATIC_ASSERT(sizeof(glm::detail::uint64)==8);
    00167
    00168         GLM_STATIC_ASSERT(sizeof(glm::detail::float16)==2);
    00169         GLM_STATIC_ASSERT(sizeof(glm::detail::float32)==4);
    00170         GLM_STATIC_ASSERT(sizeof(glm::detail::float64)==8);
    00171 #endif//GLM_STATIC_ASSERT_NULL
    00172
    00173 #endif //glm_glm