From 6487ed1c34ab46f139c97cd2af7660916f4dabe9 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Fri, 10 May 2013 21:52:23 +0200 Subject: [PATCH] Added assert to row and column functions --- glm/gtc/matrix_access.hpp | 8 ++++---- glm/gtc/matrix_access.inl | 16 ++++++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/glm/gtc/matrix_access.hpp b/glm/gtc/matrix_access.hpp index d49e096f..84839fd5 100644 --- a/glm/gtc/matrix_access.hpp +++ b/glm/gtc/matrix_access.hpp @@ -54,14 +54,14 @@ namespace glm template typename genType::row_type row( genType const & m, - int index); + typename genType::size_type const & index); /// Set a specific row to a matrix. /// @see gtc_matrix_access template genType row( genType const & m, - int index, + typename genType::size_type const & index, typename genType::row_type const & x); /// Get a specific column of a matrix. @@ -69,14 +69,14 @@ namespace glm template typename genType::col_type column( genType const & m, - int index); + typename genType::size_type const & index); /// Set a specific column to a matrix. /// @see gtc_matrix_access template genType column( genType const & m, - int index, + typename genType::size_type const & index, typename genType::col_type const & x); /// @} diff --git a/glm/gtc/matrix_access.inl b/glm/gtc/matrix_access.inl index e5fa9e88..de59d5e4 100644 --- a/glm/gtc/matrix_access.inl +++ b/glm/gtc/matrix_access.inl @@ -32,10 +32,12 @@ namespace glm GLM_FUNC_QUALIFIER genType row ( genType const & m, - int index, + typename genType::size_type const & index, typename genType::row_type const & x ) { + assert(index < m.col_size()); + genType Result = m; for(typename genType::size_type i = 0; i < genType::row_size(); ++i) Result[i][index] = x[i]; @@ -46,9 +48,11 @@ namespace glm GLM_FUNC_QUALIFIER typename genType::row_type row ( genType const & m, - int index + typename genType::size_type const & index ) { + assert(index < m.col_size()); + typename genType::row_type Result; for(typename genType::size_type i = 0; i < genType::row_size(); ++i) Result[i] = m[i][index]; @@ -59,10 +63,12 @@ namespace glm GLM_FUNC_QUALIFIER genType column ( genType const & m, - int index, + typename genType::size_type const & index, typename genType::col_type const & x ) { + assert(index < m.row_size()); + genType Result = m; Result[index] = x; return Result; @@ -72,9 +78,11 @@ namespace glm GLM_FUNC_QUALIFIER typename genType::col_type column ( genType const & m, - int index + typename genType::size_type const & index ) { + assert(index < m.row_size()); + return m[index]; } }//namespace glm