- Main Page
- Namespaces
- Files

- File List

# glm.hpp

    00001
    00002 // OpenGL Mathematics Copyright (c) 2005 - 2010 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