GLM Version 0.9.0

swizzle.hpp

00001 
00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
00004 // Created : 2010-02-20
00005 // Updated : 2010-02-20
00006 // Licence : This source is under MIT License
00007 // File    : glm/gtc/swizzle.hpp
00009 // Dependency:
00010 // - GLM core
00012 
00013 #ifndef glm_gtc_swizzle
00014 #define glm_gtc_swizzle
00015 
00016 // Dependency:
00017 #include "../glm.hpp"
00018 
00019 namespace glm
00020 {
00021         namespace test{
00022                 void main_gtc_swizzle();
00023         }//namespace test
00024 
00025         namespace gtc{
00027         namespace swizzle{
00028 
00029                 template <typename T>
00030                 T swizzle(      
00031                         detail::tvec4<T> const & v,
00032                         comp x);
00033 
00034                 template <typename T>
00035                 detail::tvec2<T> swizzle(
00036                         detail::tvec4<T> const & v,
00037                         comp x, comp y);
00038 
00039                 template <typename T>
00040                 detail::tvec3<T> swizzle(
00041                         detail::tvec4<T> const & v,
00042                         comp x, comp y, comp z);
00043 
00044                 template <typename T>
00045                 inline detail::tref4<T> swizzle(
00046                         detail::tvec4<T> const & v,
00047                         comp x, comp y, comp z, comp w);
00048 
00049         }//namespace swizzle
00050         }//namespace gtc
00051 }//namespace glm
00052 
00053 #include "swizzle.inl"
00054 
00055 namespace glm{using namespace gtc::swizzle;}
00056 
00057 #endif//glm_gtc_swizzle