type.hpp Source File

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List

# type.hpp

    00001
    00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
    00004 // Created : 2008-01-08
    00005 // Updated : 2008-01-08
    00006 // Licence : This source is under MIT License
    00007 // File    : glm/core/type.hpp
    00009
    00010 #ifndef glm_core_type
    00011 #define glm_core_type
    00012
    00013 #include "type_half.hpp"
    00014 #include "type_float.hpp"
    00015 #include "type_int.hpp"
    00016
    00017 #include "type_gentype.hpp"
    00018
    00019 #include "type_vec1.hpp"
    00020 #include "type_vec2.hpp"
    00021 #include "type_vec3.hpp"
    00022 #include "type_vec4.hpp"
    00023
    00024 #include "type_mat2x2.hpp"
    00025 #include "type_mat2x3.hpp"
    00026 #include "type_mat2x4.hpp"
    00027 #include "type_mat3x2.hpp"
    00028 #include "type_mat3x3.hpp"
    00029 #include "type_mat3x4.hpp"
    00030 #include "type_mat4x2.hpp"
    00031 #include "type_mat4x3.hpp"
    00032 #include "type_mat4x4.hpp"
    00033
    00034 namespace glm{
    00035 namespace core{
    00036 namespace type
    00037 {
    00039         // Float definition
    00040
    00041 #if(defined(GLM_PRECISION_HIGHP_FLOAT))
    00042         typedef precision::highp_vec2           vec2;
    00043         typedef precision::highp_vec3           vec3;
    00044         typedef precision::highp_vec4           vec4;
    00045         typedef precision::highp_mat2x2         mat2x2;
    00046         typedef precision::highp_mat2x3         mat2x3;
    00047         typedef precision::highp_mat2x4         mat2x4;
    00048         typedef precision::highp_mat3x2         mat3x2;
    00049         typedef precision::highp_mat3x3         mat3x3;
    00050         typedef precision::highp_mat3x4         mat3x4;
    00051         typedef precision::highp_mat4x2         mat4x2;
    00052         typedef precision::highp_mat4x3         mat4x3;
    00053         typedef precision::highp_mat4x4         mat4x4;
    00054 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
    00055         typedef precision::mediump_vec2         vec2;
    00056         typedef precision::mediump_vec3         vec3;
    00057         typedef precision::mediump_vec4         vec4;
    00058         typedef precision::mediump_mat2x2       mat2x2;
    00059         typedef precision::mediump_mat2x3       mat2x3;
    00060         typedef precision::mediump_mat2x4       mat2x4;
    00061         typedef precision::mediump_mat3x2       mat3x2;
    00062         typedef precision::mediump_mat3x3       mat3x3;
    00063         typedef precision::mediump_mat3x4       mat3x4;
    00064         typedef precision::mediump_mat4x2       mat4x2;
    00065         typedef precision::mediump_mat4x3       mat4x3;
    00066         typedef precision::mediump_mat4x4       mat4x4;
    00067 #elif(defined(GLM_PRECISION_LOWP_FLOAT))
    00068         typedef precision::lowp_vec2                    vec2;
    00069         typedef precision::lowp_vec3                    vec3;
    00070         typedef precision::lowp_vec4                    vec4;
    00071         typedef precision::lowp_mat2x2                  mat2x2;
    00072         typedef precision::lowp_mat2x3                  mat2x3;
    00073         typedef precision::lowp_mat2x4                  mat2x4;
    00074         typedef precision::lowp_mat3x2                  mat3x2;
    00075         typedef precision::lowp_mat3x3                  mat3x3;
    00076         typedef precision::lowp_mat3x4                  mat3x4;
    00077         typedef precision::lowp_mat4x2                  mat4x2;
    00078         typedef precision::lowp_mat4x3                  mat4x3;
    00079         typedef precision::lowp_mat4x4                  mat4x4;
    00080 #else
    00081
    00082
    00083
    00084         typedef precision::mediump_vec2         vec2;
    00085
    00089         typedef precision::mediump_vec3         vec3;
    00090
    00094         typedef precision::mediump_vec4         vec4;
    00095
    00099         typedef precision::mediump_mat2x2               mat2x2;
    00100
    00104         typedef precision::mediump_mat2x3               mat2x3;
    00105
    00109         typedef precision::mediump_mat2x4               mat2x4;
    00110
    00114         typedef precision::mediump_mat3x2               mat3x2;
    00115
    00119         typedef precision::mediump_mat3x3               mat3x3;
    00120
    00124         typedef precision::mediump_mat3x4               mat3x4;
    00125
    00129         typedef precision::mediump_mat4x2               mat4x2;
    00130
    00134         typedef precision::mediump_mat4x3               mat4x3;
    00135
    00139         typedef precision::mediump_mat4x4               mat4x4;
    00140
    00141 #endif//GLM_PRECISION
    00142
    00146         typedef mat2x2                                                  mat2;
    00147
    00151         typedef mat3x3                                                  mat3;
    00152
    00156         typedef mat4x4                                                  mat4;
    00157
    00159         // Signed integer definition
    00160
    00161 #if(defined(GLM_PRECISION_HIGHP_INT))
    00162         typedef precision::highp_ivec2                  ivec2;
    00163         typedef precision::highp_ivec3                  ivec3;
    00164         typedef precision::highp_ivec4                  ivec4;
    00165 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
    00166         typedef precision::mediump_ivec2                ivec2;
    00167         typedef precision::mediump_ivec3                ivec3;
    00168         typedef precision::mediump_ivec4                ivec4;
    00169 #elif(defined(GLM_PRECISION_LOWP_INT))
    00170         typedef precision::lowp_ivec2                   ivec2;
    00171         typedef precision::lowp_ivec3                   ivec3;
    00172         typedef precision::lowp_ivec4                   ivec4;
    00173 #else
    00174
    00175
    00176
    00177         typedef precision::mediump_ivec2                ivec2;
    00178
    00182         typedef precision::mediump_ivec3                ivec3;
    00183
    00187         typedef precision::mediump_ivec4                ivec4;
    00188 #endif//GLM_PRECISION
    00189
    00191         // Unsigned integer definition
    00192
    00193 #if(defined(GLM_PRECISION_HIGHP_UINT))
    00194         typedef precision::highp_uvec2                  uvec2;
    00195         typedef precision::highp_uvec3                  uvec3;
    00196         typedef precision::highp_uvec4                  uvec4;
    00197 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
    00198         typedef precision::mediump_uvec2                uvec2;
    00199         typedef precision::mediump_uvec3                uvec3;
    00200         typedef precision::mediump_uvec4                uvec4;
    00201 #elif(defined(GLM_PRECISION_LOWP_UINT))
    00202         typedef precision::lowp_uvec2                   uvec2;
    00203         typedef precision::lowp_uvec3                   uvec3;
    00204         typedef precision::lowp_uvec4                   uvec4;
    00205 #else
    00206
    00207
    00208
    00209         typedef precision::mediump_uvec2                uvec2;
    00210
    00214         typedef precision::mediump_uvec3                uvec3;
    00215
    00219         typedef precision::mediump_uvec4                uvec4;
    00220 #endif//GLM_PRECISION
    00221
    00223         // Boolean definition
    00224
    00228         typedef detail::tvec2<bool>             bvec2;
    00229
    00233         typedef detail::tvec3<bool>             bvec3;
    00234
    00238         typedef detail::tvec4<bool>             bvec4;
    00239
    00241         // Double definition
    00242
    00246         typedef detail::tvec2<double>   dvec2;
    00247
    00251         typedef detail::tvec3<double>   dvec3;
    00252
    00256         typedef detail::tvec4<double>   dvec4;
    00257
    00261         typedef detail::tmat2x2<double> dmat2;
    00262
    00266         typedef detail::tmat3x3<double> dmat3;
    00267
    00271         typedef detail::tmat4x4<double> dmat4;
    00272
    00276         typedef detail::tmat2x2<double> dmat2x2;
    00277
    00281         typedef detail::tmat2x3<double> dmat2x3;
    00282
    00286         typedef detail::tmat2x4<double> dmat2x4;
    00287
    00291         typedef detail::tmat3x2<double> dmat3x2;
    00292
    00296         typedef detail::tmat3x3<double> dmat3x3;
    00297
    00301         typedef detail::tmat3x4<double> dmat3x4;
    00302
    00306         typedef detail::tmat4x2<double> dmat4x2;
    00307
    00311         typedef detail::tmat4x3<double> dmat4x3;
    00312
    00316         typedef detail::tmat4x4<double> dmat4x4;
    00317
    00318 }//namespace type
    00319 }//namespace core
    00320 }//namespace glm
    00321
    00322 #endif//glm_core_type