Browse Source

Added length member function

Christophe Riccio 14 years ago
parent
commit
ecc167d0f2

+ 1 - 0
glm/core/type_vec1.hpp

@@ -41,6 +41,7 @@ namespace glm
 
 
 			typedef T value_type;
 			typedef T value_type;
 			typedef std::size_t size_type;
 			typedef std::size_t size_type;
+			GLM_FUNC_DECL size_type length() const;
 			static GLM_FUNC_DECL size_type value_size();
 			static GLM_FUNC_DECL size_type value_size();
 
 
 			typedef tvec1<T> type;
 			typedef tvec1<T> type;

+ 6 - 0
glm/core/type_vec1.inl

@@ -11,6 +11,12 @@ namespace glm
 {
 {
 	namespace detail
 	namespace detail
 	{
 	{
+		template <typename T>
+		GLM_FUNC_QUALIFIER typename tvec1<T>::size_type tvec1<T>::length() const
+		{
+			return 1;
+		}
+
 		template <typename T>
 		template <typename T>
 		GLM_FUNC_QUALIFIER typename tvec1<T>::size_type tvec1<T>::value_size()
 		GLM_FUNC_QUALIFIER typename tvec1<T>::size_type tvec1<T>::value_size()
 		{
 		{

+ 1 - 0
glm/core/type_vec2.hpp

@@ -41,6 +41,7 @@ namespace glm
 
 
 			typedef T value_type;
 			typedef T value_type;
 			typedef std::size_t size_type;
 			typedef std::size_t size_type;
+			GLM_FUNC_DECL size_type length() const;
 			static GLM_FUNC_DECL size_type value_size();
 			static GLM_FUNC_DECL size_type value_size();
 
 
 			typedef tvec2<T> type;
 			typedef tvec2<T> type;

+ 6 - 0
glm/core/type_vec2.inl

@@ -11,6 +11,12 @@ namespace glm
 {
 {
 	namespace detail
 	namespace detail
 	{
 	{
+		template <typename T>
+		GLM_FUNC_QUALIFIER typename tvec2<T>::size_type tvec2<T>::length() const
+		{
+			return 2;
+		}
+
 		template <typename T>
 		template <typename T>
 		GLM_FUNC_QUALIFIER typename tvec2<T>::size_type tvec2<T>::value_size()
 		GLM_FUNC_QUALIFIER typename tvec2<T>::size_type tvec2<T>::value_size()
 		{
 		{

+ 1 - 0
glm/core/type_vec3.hpp

@@ -40,6 +40,7 @@ namespace glm
 
 
 			typedef T value_type;
 			typedef T value_type;
 			typedef std::size_t size_type;
 			typedef std::size_t size_type;
+			GLM_FUNC_DECL size_type length() const;
 			static GLM_FUNC_DECL size_type value_size();
 			static GLM_FUNC_DECL size_type value_size();
 
 
 			typedef tvec3<T> type;
 			typedef tvec3<T> type;

+ 6 - 0
glm/core/type_vec3.inl

@@ -11,6 +11,12 @@ namespace glm
 {
 {
 	namespace detail
 	namespace detail
 	{
 	{
+		template <typename T>
+		GLM_FUNC_QUALIFIER typename tvec3<T>::size_type tvec3<T>::length() const
+		{
+			return 3;
+		}
+
 		template <typename T>
 		template <typename T>
 		GLM_FUNC_QUALIFIER typename tvec3<T>::size_type tvec3<T>::value_size()
 		GLM_FUNC_QUALIFIER typename tvec3<T>::size_type tvec3<T>::value_size()
 		{
 		{

+ 1 - 0
glm/core/type_vec4.hpp

@@ -40,6 +40,7 @@ namespace glm
 
 
 			typedef T value_type;
 			typedef T value_type;
 			typedef std::size_t size_type;
 			typedef std::size_t size_type;
+			GLM_FUNC_DECL size_type length() const;
 			static GLM_FUNC_DECL size_type value_size();
 			static GLM_FUNC_DECL size_type value_size();
 
 
 			typedef tvec4<T> type;
 			typedef tvec4<T> type;

+ 6 - 0
glm/core/type_vec4.inl

@@ -11,6 +11,12 @@ namespace glm
 {
 {
 	namespace detail
 	namespace detail
 	{
 	{
+		template <typename T>
+		GLM_FUNC_QUALIFIER typename tvec4<T>::size_type tvec4<T>::length() const
+		{
+			return 4;
+		}
+
 		template <typename T>
 		template <typename T>
 		GLM_FUNC_QUALIFIER typename tvec4<T>::size_type tvec4<T>::value_size()
 		GLM_FUNC_QUALIFIER typename tvec4<T>::size_type tvec4<T>::value_size()
 		{
 		{