type_mat.hpp
Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 #pragma once
00030 
00031 #include "precision.hpp"
00032 
00033 namespace glm{
00034 namespace detail
00035 {
00036         template <typename T, precision P> struct tvec2;
00037         template <typename T, precision P> struct tvec3;
00038         template <typename T, precision P> struct tvec4;
00039         template <typename T, precision P> struct tmat2x2;
00040         template <typename T, precision P> struct tmat2x3;
00041         template <typename T, precision P> struct tmat2x4;
00042         template <typename T, precision P> struct tmat3x2;
00043         template <typename T, precision P> struct tmat3x3;
00044         template <typename T, precision P> struct tmat3x4;
00045         template <typename T, precision P> struct tmat4x2;
00046         template <typename T, precision P> struct tmat4x3;
00047         template <typename T, precision P> struct tmat4x4;
00048 
00049         template <typename T, precision P, template <class, precision> class colType, template <class, precision> class rowType>
00050         struct outerProduct_trait{};
00051 
00052         template <template <class, precision> class matType, typename T, precision P>
00053         struct compute_inverse{};
00054 }//namespace detail
00055 
00058         
00064         typedef detail::tmat2x2<float, lowp>            lowp_mat2;
00065         
00071         typedef detail::tmat2x2<float, mediump>         mediump_mat2;
00072         
00078         typedef detail::tmat2x2<float, highp>           highp_mat2;
00079         
00085         typedef detail::tmat2x2<float, lowp>            lowp_mat2x2;
00086         
00092         typedef detail::tmat2x2<float, mediump>         mediump_mat2x2;
00093         
00099         typedef detail::tmat2x2<float, highp>           highp_mat2x2;
00100         
00102         
00105         
00111         typedef detail::tmat2x3<float, lowp>            lowp_mat2x3;
00112         
00118         typedef detail::tmat2x3<float, mediump>         mediump_mat2x3;
00119         
00125         typedef detail::tmat2x3<float, highp>           highp_mat2x3;
00126         
00128         
00131         
00137         typedef detail::tmat2x4<float, lowp>            lowp_mat2x4;
00138         
00144         typedef detail::tmat2x4<float, mediump>         mediump_mat2x4;
00145         
00151         typedef detail::tmat2x4<float, highp>           highp_mat2x4;
00152         
00154         
00157         
00163         typedef detail::tmat3x2<float, lowp>            lowp_mat3x2;
00164         
00170         typedef detail::tmat3x2<float, mediump>         mediump_mat3x2;
00171         
00177         typedef detail::tmat3x2<float, highp>           highp_mat3x2;
00178         
00180         
00183         
00189         typedef detail::tmat3x3<float, lowp>            lowp_mat3;
00190         
00196         typedef detail::tmat3x3<float, mediump>         mediump_mat3;
00197         
00203         typedef detail::tmat3x3<float, highp>           highp_mat3;
00204         
00210         typedef detail::tmat3x3<float, lowp>            lowp_mat3x3;
00211         
00217         typedef detail::tmat3x3<float, mediump>         mediump_mat3x3;
00218         
00224         typedef detail::tmat3x3<float, highp>           highp_mat3x3;
00225         
00227         
00230         
00236         typedef detail::tmat3x4<float, lowp>            lowp_mat3x4;
00237         
00243         typedef detail::tmat3x4<float, mediump>         mediump_mat3x4;
00244         
00250         typedef detail::tmat3x4<float, highp>           highp_mat3x4;
00251         
00253         
00256         
00262         typedef detail::tmat4x2<float, lowp>            lowp_mat4x2;
00263         
00269         typedef detail::tmat4x2<float, mediump>         mediump_mat4x2;
00270         
00276         typedef detail::tmat4x2<float, highp>           highp_mat4x2;
00277         
00279         
00282         
00288         typedef detail::tmat4x3<float, lowp>            lowp_mat4x3;
00289         
00295         typedef detail::tmat4x3<float, mediump>         mediump_mat4x3;
00296         
00302         typedef detail::tmat4x3<float, highp>           highp_mat4x3;
00303         
00305         
00306         
00309         
00315         typedef detail::tmat4x4<float, lowp>            lowp_mat4;
00316         
00322         typedef detail::tmat4x4<float, mediump>         mediump_mat4;
00323         
00329         typedef detail::tmat4x4<float, highp>           highp_mat4;
00330         
00336         typedef detail::tmat4x4<float, lowp>            lowp_mat4x4;
00337         
00343         typedef detail::tmat4x4<float, mediump>         mediump_mat4x4;
00344         
00350         typedef detail::tmat4x4<float, highp>           highp_mat4x4;
00351         
00353         
00356         
00358         // Float definition
00359         
00360 #if(defined(GLM_PRECISION_LOWP_FLOAT))
00361         typedef lowp_mat2x2                     mat2x2;
00362         typedef lowp_mat2x3                     mat2x3;
00363         typedef lowp_mat2x4                     mat2x4;
00364         typedef lowp_mat3x2                     mat3x2;
00365         typedef lowp_mat3x3                     mat3x3;
00366         typedef lowp_mat3x4                     mat3x4;
00367         typedef lowp_mat4x2                     mat4x2;
00368         typedef lowp_mat4x3                     mat4x3;
00369         typedef lowp_mat4x4                     mat4x4;
00370 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
00371         typedef mediump_mat2x2          mat2x2;
00372         typedef mediump_mat2x3          mat2x3;
00373         typedef mediump_mat2x4          mat2x4;
00374         typedef mediump_mat3x2          mat3x2;
00375         typedef mediump_mat3x3          mat3x3;
00376         typedef mediump_mat3x4          mat3x4;
00377         typedef mediump_mat4x2          mat4x2;
00378         typedef mediump_mat4x3          mat4x3;
00379         typedef mediump_mat4x4          mat4x4;
00380 #else   
00381 
00382 
00383 
00384         typedef highp_mat2x2                    mat2x2;
00385         
00389         typedef highp_mat2x3                    mat2x3;
00390         
00394         typedef highp_mat2x4                    mat2x4;
00395         
00399         typedef highp_mat3x2                    mat3x2;
00400         
00404         typedef highp_mat3x3                    mat3x3;
00405         
00409         typedef highp_mat3x4                    mat3x4;
00410         
00414         typedef highp_mat4x2                    mat4x2;
00415         
00419         typedef highp_mat4x3                    mat4x3;
00420         
00424         typedef highp_mat4x4                    mat4x4;
00425         
00426 #endif//GLM_PRECISION
00427         
00431         typedef mat2x2                                  mat2;
00432         
00436         typedef mat3x3                                  mat3;
00437         
00441         typedef mat4x4                                  mat4;
00442                 
00444         // Double definition
00445         
00448         
00453         typedef detail::tmat2x2<double, lowp>           lowp_dmat2;
00454         
00459         typedef detail::tmat2x2<double, mediump>        mediump_dmat2;
00460         
00465         typedef detail::tmat2x2<double, highp>          highp_dmat2;
00466         
00471         typedef detail::tmat2x2<double, lowp>           lowp_dmat2x2;
00472         
00477         typedef detail::tmat2x2<double, mediump>        mediump_dmat2x2;
00478         
00483         typedef detail::tmat2x2<double, highp>          highp_dmat2x2;
00484         
00486         
00489         
00494         typedef detail::tmat2x3<double, lowp>           lowp_dmat2x3;
00495         
00500         typedef detail::tmat2x3<double, mediump>        mediump_dmat2x3;
00501         
00506         typedef detail::tmat2x3<double, highp>          highp_dmat2x3;
00507         
00509         
00512         
00517         typedef detail::tmat2x4<double, lowp>           lowp_dmat2x4;
00518         
00523         typedef detail::tmat2x4<double, mediump>        mediump_dmat2x4;
00524         
00529         typedef detail::tmat2x4<double, highp>          highp_dmat2x4;
00530         
00532         
00535         
00540         typedef detail::tmat3x2<double, lowp>           lowp_dmat3x2;
00541         
00546         typedef detail::tmat3x2<double, mediump>        mediump_dmat3x2;
00547         
00552         typedef detail::tmat3x2<double, highp>          highp_dmat3x2;
00553         
00555         
00558         
00563         typedef detail::tmat3x3<float, lowp>            lowp_dmat3;
00564         
00569         typedef detail::tmat3x3<double, mediump>        mediump_dmat3;
00570         
00575         typedef detail::tmat3x3<double, highp>          highp_dmat3;
00576         
00581         typedef detail::tmat3x3<double, lowp>           lowp_dmat3x3;
00582         
00587         typedef detail::tmat3x3<double, mediump>        mediump_dmat3x3;
00588         
00593         typedef detail::tmat3x3<double, highp>          highp_dmat3x3;
00594         
00596         
00599         
00604         typedef detail::tmat3x4<double, lowp>           lowp_dmat3x4;
00605         
00610         typedef detail::tmat3x4<double, mediump>        mediump_dmat3x4;
00611         
00616         typedef detail::tmat3x4<double, highp>          highp_dmat3x4;
00617         
00619         
00622         
00627         typedef detail::tmat4x2<double, lowp>           lowp_dmat4x2;
00628         
00633         typedef detail::tmat4x2<double, mediump>        mediump_dmat4x2;
00634         
00639         typedef detail::tmat4x2<double, highp>          highp_dmat4x2;
00640         
00642         
00645         
00650         typedef detail::tmat4x3<double, lowp>           lowp_dmat4x3;
00651         
00656         typedef detail::tmat4x3<double, mediump>        mediump_dmat4x3;
00657         
00662         typedef detail::tmat4x3<double, highp>          highp_dmat4x3;
00663         
00665         
00668         
00673         typedef detail::tmat4x4<double, lowp>           lowp_dmat4;
00674         
00679         typedef detail::tmat4x4<double, mediump>        mediump_dmat4;
00680         
00685         typedef detail::tmat4x4<double, highp>          highp_dmat4;
00686         
00691         typedef detail::tmat4x4<double, lowp>           lowp_dmat4x4;
00692         
00697         typedef detail::tmat4x4<double, mediump>        mediump_dmat4x4;
00698         
00703         typedef detail::tmat4x4<double, highp>          highp_dmat4x4;
00704         
00706         
00707 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
00708         typedef lowp_dmat2x2            dmat2x2;
00709         typedef lowp_dmat2x3            dmat2x3;
00710         typedef lowp_dmat2x4            dmat2x4;
00711         typedef lowp_dmat3x2            dmat3x2;
00712         typedef lowp_dmat3x3            dmat3x3;
00713         typedef lowp_dmat3x4            dmat3x4;
00714         typedef lowp_dmat4x2            dmat4x2;
00715         typedef lowp_dmat4x3            dmat4x3;
00716         typedef lowp_dmat4x4            dmat4x4;
00717 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
00718         typedef mediump_dmat2x2         dmat2x2;
00719         typedef mediump_dmat2x3         dmat2x3;
00720         typedef mediump_dmat2x4         dmat2x4;
00721         typedef mediump_dmat3x2         dmat3x2;
00722         typedef mediump_dmat3x3         dmat3x3;
00723         typedef mediump_dmat3x4         dmat3x4;
00724         typedef mediump_dmat4x2         dmat4x2;
00725         typedef mediump_dmat4x3         dmat4x3;
00726         typedef mediump_dmat4x4         dmat4x4;
00727 #else //defined(GLM_PRECISION_HIGHP_DOUBLE)
00728         
00732         typedef highp_dmat2x2           dmat2;
00733         
00737         typedef highp_dmat3x3           dmat3;
00738         
00742         typedef highp_dmat4x4           dmat4;
00743         
00747         typedef highp_dmat2x2           dmat2x2;
00748         
00752         typedef highp_dmat2x3           dmat2x3;
00753         
00757         typedef highp_dmat2x4           dmat2x4;
00758         
00762         typedef highp_dmat3x2           dmat3x2;
00763         
00767         typedef highp_dmat3x3           dmat3x3;
00768         
00772         typedef highp_dmat3x4           dmat3x4;
00773         
00777         typedef highp_dmat4x2           dmat4x2;
00778         
00782         typedef highp_dmat4x3           dmat4x3;
00783         
00787         typedef highp_dmat4x4           dmat4x4;
00788 
00789 #endif//GLM_PRECISION
00790         
00792 }//namespace glm


rtabmap
Author(s): Mathieu Labbe
autogenerated on Sat Jul 23 2016 11:44:27