Added () operator for swizzling

This commit is contained in:
Christophe Riccio 2011-10-03 12:39:56 +01:00
parent fe47d4e2e2
commit 8df8569563
6 changed files with 26 additions and 2 deletions

View File

@ -185,6 +185,8 @@ namespace detail
GLM_FUNC_DECL tref2<T> & operator= (tref2<T> const & r);
GLM_FUNC_DECL tref2<T> & operator= (tvec2<T> const & v);
GLM_FUNC_DECL tvec2<T> operator() ();
T & x;
T & y;
};

View File

@ -1006,5 +1006,11 @@ namespace detail
return *this;
}
template <typename T>
GLM_FUNC_QUALIFIER tvec2<T> tref2<T>::operator() ()
{
return tvec2<T>(this->x, this->y);
}
}//namespace detail
}//namespace glm

View File

@ -198,6 +198,8 @@ namespace detail
GLM_FUNC_DECL tref3<T> & operator= (tref3<T> const & r);
GLM_FUNC_DECL tref3<T> & operator= (tvec3<T> const & v);
GLM_FUNC_DECL tvec3<T> operator() ();
T & x;
T & y;
T & z;

View File

@ -1129,5 +1129,11 @@ namespace detail
return *this;
}
template <typename T>
GLM_FUNC_QUALIFIER tvec3<T> tref3<T>::operator() ()
{
return tvec3<T>(this->x, this->y, this->z);
}
}//namespace detail
}//namespace glm

View File

@ -230,6 +230,8 @@ namespace detail
GLM_FUNC_DECL tref4<T> & operator= (tref4<T> const & r);
GLM_FUNC_DECL tref4<T> & operator= (tvec4<T> const & v);
GLM_FUNC_DECL tvec4<T> operator() ();
T & x;
T & y;
T & z;

View File

@ -1355,5 +1355,11 @@ namespace detail
return *this;
}
template <typename T>
GLM_FUNC_QUALIFIER tvec4<T> tref4<T>::operator() ()
{
return tvec4<T>(this->x, this->y, this->z, this->w);
}
}//namespace detail
}//namespace glm