parent
833ef6bcc6
commit
d56da3b541
2 changed files with 121 additions and 0 deletions
@ -0,0 +1,62 @@ |
|||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// OpenGL Mathematics Copyright (c) 2005 - 2010 G-Truc Creation (www.g-truc.net)
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Created : 2005-12-27
|
||||||
|
// Updated : 2010-11-12
|
||||||
|
// Licence : This source is under MIT License
|
||||||
|
// File : glm/gtc/matrix_access.hpp
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Dependency:
|
||||||
|
// - GLM core
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef glm_gtc_matrix_access |
||||||
|
#define glm_gtc_matrix_access |
||||||
|
|
||||||
|
// Dependency:
|
||||||
|
#include "../glm.hpp" |
||||||
|
|
||||||
|
namespace glm{ |
||||||
|
namespace gtc{ |
||||||
|
//! GLM_GTC_matrix_access extension: Set a column or a row of a matrix
|
||||||
|
namespace matrix_access |
||||||
|
{ |
||||||
|
//! Get a specific row of a matrix.
|
||||||
|
//! From GLM_GTC_matrix_access extension.
|
||||||
|
template <typename genType>
|
||||||
|
typename genType::row_type row( |
||||||
|
genType const & m,
|
||||||
|
int index); |
||||||
|
|
||||||
|
//! Set a specific row to a matrix.
|
||||||
|
//! From GLM_GTC_matrix_access extension.
|
||||||
|
template <typename genType>
|
||||||
|
genType row( |
||||||
|
genType const & m,
|
||||||
|
int index,
|
||||||
|
typename genType::row_type const & x); |
||||||
|
|
||||||
|
//! Get a specific column of a matrix.
|
||||||
|
//! From GLM_GTC_matrix_access extension.
|
||||||
|
template <typename genType>
|
||||||
|
typename genType::col_type column( |
||||||
|
genType const & m,
|
||||||
|
int index); |
||||||
|
|
||||||
|
//! Set a specific column to a matrix.
|
||||||
|
//! From GLM_GTC_matrix_access extension.
|
||||||
|
template <typename genType>
|
||||||
|
genType column( |
||||||
|
genType const & m,
|
||||||
|
int index,
|
||||||
|
typename genType::col_type const & x); |
||||||
|
|
||||||
|
}//namespace matrix_access
|
||||||
|
}//namespace gtc
|
||||||
|
}//namespace glm
|
||||||
|
|
||||||
|
#include "matrix_access.inl" |
||||||
|
|
||||||
|
namespace glm{using namespace gtc::matrix_access;} |
||||||
|
|
||||||
|
#endif//glm_gtc_matrix_access
|
@ -0,0 +1,59 @@ |
|||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////// |
||||||
|
// OpenGL Mathematics Copyright (c) 2005 - 2010 G-Truc Creation (www.g-truc.net) |
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////// |
||||||
|
// Created : 2005-12-27 |
||||||
|
// Updated : 2010-11-12 |
||||||
|
// Licence : This source is under MIT License |
||||||
|
// File : glm/gtc/matrix_access.inl |
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////// |
||||||
|
|
||||||
|
namespace glm{ |
||||||
|
namespace gtc{ |
||||||
|
namespace matrix_access |
||||||
|
{ |
||||||
|
template <typename genType> |
||||||
|
inline genType row( |
||||||
|
genType const & m, |
||||||
|
int index, |
||||||
|
typename genType::row_type const & x) |
||||||
|
{ |
||||||
|
genType Result = m; |
||||||
|
for(typename genType::size_type i = 0; i < genType::row_size(); ++i) |
||||||
|
Result[i][index] = x[i]; |
||||||
|
return Result; |
||||||
|
} |
||||||
|
|
||||||
|
template <typename genType> |
||||||
|
inline typename genType::row_type row( |
||||||
|
genType & const m, |
||||||
|
int index) |
||||||
|
{ |
||||||
|
typename genType::row_type Result; |
||||||
|
for(typename genType::size_type i = 0; i < genType::row_size(); ++i) |
||||||
|
Result[i] = m[i][index]; |
||||||
|
return Result; |
||||||
|
} |
||||||
|
|
||||||
|
template <typename genType> |
||||||
|
inline genType column( |
||||||
|
genType const & m, |
||||||
|
int index, |
||||||
|
typename genType::col_type const & x) |
||||||
|
{ |
||||||
|
genType Result = m; |
||||||
|
Result[index] = x; |
||||||
|
return Result; |
||||||
|
} |
||||||
|
|
||||||
|
template <typename genType> |
||||||
|
inline typename genType::col_type column( |
||||||
|
genType const & m, |
||||||
|
int index) |
||||||
|
{ |
||||||
|
return m[index]; |
||||||
|
} |
||||||
|
|
||||||
|
}//namespace matrix_access |
||||||
|
}//namespace gtc |
||||||
|
}//namespace glm |
||||||
|
|
Loading…
Reference in New Issue