- Main Page
- Namespaces
- Files

- File List

# type.hpp

    00001
    00002 // OpenGL Mathematics Copyright (c) 2005 - 2010 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) && GLM_PRECISION & 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) && GLM_PRECISION & 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) && GLM_PRECISION & 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         typedef precision::mediump_vec2         vec2;
    00084
    00087         typedef precision::mediump_vec3         vec3;
    00088
    00091         typedef precision::mediump_vec4         vec4;
    00092
    00095         typedef precision::mediump_mat2x2               mat2x2;
    00096
    00099         typedef precision::mediump_mat2x3               mat2x3;
    00100
    00103         typedef precision::mediump_mat2x4               mat2x4;
    00104
    00107         typedef precision::mediump_mat3x2               mat3x2;
    00108
    00111         typedef precision::mediump_mat3x3               mat3x3;
    00112
    00115         typedef precision::mediump_mat3x4               mat3x4;
    00116
    00119         typedef precision::mediump_mat4x2               mat4x2;
    00120
    00123         typedef precision::mediump_mat4x3               mat4x3;
    00124
    00127         typedef precision::mediump_mat4x4               mat4x4;
    00128
    00129 #endif//GLM_PRECISION
    00130
    00133         typedef mat2x2                                                  mat2;
    00134
    00137         typedef mat3x3                                                  mat3;
    00138
    00141         typedef mat4x4                                                  mat4;
    00142
    00144         // Signed integer definition
    00145
    00146 #if(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_HIGHP_INT)
    00147         typedef precision::highp_ivec2                  ivec2;
    00148         typedef precision::highp_ivec3                  ivec3;
    00149         typedef precision::highp_ivec4                  ivec4;
    00150 #elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_MEDIUMP_INT)
    00151         typedef precision::mediump_ivec2                ivec2;
    00152         typedef precision::mediump_ivec3                ivec3;
    00153         typedef precision::mediump_ivec4                ivec4;
    00154 #elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_LOWP_INT)
    00155         typedef precision::lowp_ivec2                   ivec2;
    00156         typedef precision::lowp_ivec3                   ivec3;
    00157         typedef precision::lowp_ivec4                   ivec4;
    00158 #else
    00159
    00160
    00161         typedef precision::mediump_ivec2                ivec2;
    00162
    00165         typedef precision::mediump_ivec3                ivec3;
    00166
    00169         typedef precision::mediump_ivec4                ivec4;
    00170 #endif//GLM_PRECISION
    00171
    00173         // Unsigned integer definition
    00174
    00175 #if(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_HIGHP_UINT)
    00176         typedef precision::highp_uvec2                  uvec2;
    00177         typedef precision::highp_uvec3                  uvec3;
    00178         typedef precision::highp_uvec4                  uvec4;
    00179 #elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_MEDIUMP_UINT)
    00180         typedef precision::mediump_uvec2                uvec2;
    00181         typedef precision::mediump_uvec3                uvec3;
    00182         typedef precision::mediump_uvec4                uvec4;
    00183 #elif(defined(GLM_PRECISION) && GLM_PRECISION & GLM_PRECISION_LOWP_UINT)
    00184         typedef precision::lowp_uvec2                   uvec2;
    00185         typedef precision::lowp_uvec3                   uvec3;
    00186         typedef precision::lowp_uvec4                   uvec4;
    00187 #else
    00188
    00189
    00190         typedef precision::mediump_uvec2                uvec2;
    00191
    00194         typedef precision::mediump_uvec3                uvec3;
    00195
    00198         typedef precision::mediump_uvec4                uvec4;
    00199 #endif//GLM_PRECISION
    00200
    00202         // Boolean definition
    00203
    00206         typedef detail::tvec2<bool>             bvec2;
    00207
    00210         typedef detail::tvec3<bool>             bvec3;
    00211
    00214         typedef detail::tvec4<bool>             bvec4;
    00215
    00217         // Double definition
    00218
    00221         typedef detail::tvec2<double>   dvec2;
    00222
    00225         typedef detail::tvec3<double>   dvec3;
    00226
    00229         typedef detail::tvec4<double>   dvec4;
    00230
    00233         typedef detail::tmat2x2<double> dmat2;
    00234
    00237         typedef detail::tmat3x3<double> dmat3;
    00238
    00241         typedef detail::tmat4x4<double> dmat4;
    00242
    00245         typedef detail::tmat2x2<double> dmat2x2;
    00246
    00249         typedef detail::tmat2x3<double> dmat2x3;
    00250
    00253         typedef detail::tmat2x4<double> dmat2x4;
    00254
    00257         typedef detail::tmat3x2<double> dmat3x2;
    00258
    00261         typedef detail::tmat3x3<double> dmat3x3;
    00262
    00265         typedef detail::tmat3x4<double> dmat3x4;
    00266
    00269         typedef detail::tmat4x2<double> dmat4x2;
    00270
    00273         typedef detail::tmat4x3<double> dmat4x3;
    00274
    00277         typedef detail::tmat4x4<double> dmat4x4;
    00278
    00279 }//namespace type
    00280 }//namespace core
    00281 }//namespace glm
    00282
    00283 #endif//glm_core_type