CMSC23700 Common Code Library
Support code for CS23700 programming projects
cs237::__detail::mat2x3< T > Struct Template Reference

template class for 2x3 matrices More...

#include <cs237-mat2x3.hxx>

Public Member Functions

 mat2x3 ()
 create an uninitialized matrix More...
 
 mat2x3 (mat2x3 const &m)
 copy constructor More...
 
 mat2x3 (T m00, T m10, T m20, T m01, T m11, T m21)
 construct a matrix from individual elements given in column-major order More...
 
 mat2x3 (vec3< T > const &c0, vec3< T > const &c1)
 construct a matrix from column vectors More...
 
 mat2x3 (mat3x3< T > const &mm)
 extract the left 2x3 matrix from a 3x3 matrix More...
 
mat2x3operator= (mat2x3 const &mm)
 
mat2x3operator+= (T const &s)
 
mat2x3operator+= (mat2x3 const &v)
 
mat2x3operator-= (T const &s)
 
mat2x3operator-= (mat2x3 const &v)
 
mat2x3operator*= (T const &s)
 
mat3x2< T > transpose () const
 return the transpose of this matrix More...
 
vec3< T > & operator[] (unsigned int const &i)
 return the i'th column vector More...
 
vec3< T > const & operator[] (unsigned int const &i) const
 

Public Attributes

vec3< T > cv [2]
 

Detailed Description

template<typename T>
struct cs237::__detail::mat2x3< T >

template class for 2x3 matrices

Constructor & Destructor Documentation

template<typename T>
cs237::__detail::mat2x3< T >::mat2x3 ( )
inline

create an uninitialized matrix

template<typename T >
cs237::__detail::mat2x3< T >::mat2x3 ( mat2x3< T > const &  m)
inline

copy constructor

template<typename T >
cs237::__detail::mat2x3< T >::mat2x3 ( m00,
m10,
m20,
m01,
m11,
m21 
)
inlineexplicit

construct a matrix from individual elements given in column-major order

template<typename T >
cs237::__detail::mat2x3< T >::mat2x3 ( vec3< T > const &  c0,
vec3< T > const &  c1 
)
inlineexplicit

construct a matrix from column vectors

template<typename T >
cs237::__detail::mat2x3< T >::mat2x3 ( mat3x3< T > const &  mm)
inlineexplicit

extract the left 2x3 matrix from a 3x3 matrix

Member Function Documentation

template<typename T >
mat2x3< T > & cs237::__detail::mat2x3< T >::operator*= ( T const &  s)
inline
template<typename T >
mat2x3< T > & cs237::__detail::mat2x3< T >::operator+= ( T const &  s)
inline
template<typename T >
mat2x3< T > & cs237::__detail::mat2x3< T >::operator+= ( mat2x3< T > const &  v)
inline
template<typename T >
mat2x3< T > & cs237::__detail::mat2x3< T >::operator-= ( T const &  s)
inline
template<typename T >
mat2x3< T > & cs237::__detail::mat2x3< T >::operator-= ( mat2x3< T > const &  v)
inline
template<typename T >
mat2x3< T > & cs237::__detail::mat2x3< T >::operator= ( mat2x3< T > const &  mm)
inline
template<typename T >
vec3< T > & cs237::__detail::mat2x3< T >::operator[] ( unsigned int const &  i)
inline

return the i'th column vector

return the i'th column vector of the matrix

template<typename T >
vec3< T > const & cs237::__detail::mat2x3< T >::operator[] ( unsigned int const &  i) const
inline
template<typename T >
mat3x2< T > cs237::__detail::mat2x3< T >::transpose ( ) const
inline

return the transpose of this matrix

Member Data Documentation

template<typename T>
vec3<T> cs237::__detail::mat2x3< T >::cv[2]

The documentation for this struct was generated from the following files: