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

template class for three-element vectors More...

#include <cs237-types.hxx>

Public Member Functions

 vec3 ()
 
 vec3 (vec3 const &v)
 
 vec3 (T xx)
 
 vec3 (T xx, T yy)
 
 vec3 (T xx, T yy, T zz)
 
 vec3 (vec2< T > const &v)
 
 vec3 (vec2< T > const &v, T zz)
 
 vec3 (vec4< T > const &v)
 
vec3operator= (vec3 const &v)
 
vec3operator+= (T const &s)
 add a scalar to this vector More...
 
vec3operator+= (vec3 const &v)
 add a vector to this vector More...
 
vec3operator-= (T const &s)
 subtract a scalar from this vector More...
 
vec3operator-= (vec3 const &v)
 subtract a vector from this vector More...
 
vec3operator*= (T const &s)
 multiply this vector by a scalar More...
 
vec3operator*= (vec3 const &v)
 component-wise vector multiplication More...
 
vec3operator/= (T const &s)
 divide this vector by a scalar More...
 
length () const
 the length (magnitude) of the vector More...
 
vec3normalize ()
 normalize the vector More...
 
T const & operator[] (unsigned int const &i) const
 
T & operator[] (unsigned int const &i)
 

Public Attributes

x
 
y
 
z
 

Detailed Description

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

template class for three-element vectors

Constructor & Destructor Documentation

template<typename T>
cs237::__detail::vec3< T >::vec3 ( )
inline
template<typename T>
cs237::__detail::vec3< T >::vec3 ( vec3< T > const &  v)
inline
template<typename T>
cs237::__detail::vec3< T >::vec3 ( xx)
inlineexplicit
template<typename T>
cs237::__detail::vec3< T >::vec3 ( xx,
yy 
)
inlineexplicit
template<typename T>
cs237::__detail::vec3< T >::vec3 ( xx,
yy,
zz 
)
inlineexplicit
template<typename T>
cs237::__detail::vec3< T >::vec3 ( vec2< T > const &  v)
inlineexplicit
template<typename T>
cs237::__detail::vec3< T >::vec3 ( vec2< T > const &  v,
zz 
)
inlineexplicit
template<typename T >
cs237::__detail::vec3< T >::vec3 ( vec4< T > const &  v)
explicit

Member Function Documentation

template<typename T >
T cs237::__detail::vec3< T >::length ( ) const
inline

the length (magnitude) of the vector

template<typename T >
vec3< T > & cs237::__detail::vec3< T >::normalize ( )
inline

normalize the vector

template<typename T >
vec3< T > & cs237::__detail::vec3< T >::operator*= ( T const &  s)
inline

multiply this vector by a scalar

template<typename T >
vec3< T > & cs237::__detail::vec3< T >::operator*= ( vec3< T > const &  v)
inline

component-wise vector multiplication

template<typename T >
vec3< T > & cs237::__detail::vec3< T >::operator+= ( T const &  s)
inline

add a scalar to this vector

template<typename T >
vec3< T > & cs237::__detail::vec3< T >::operator+= ( vec3< T > const &  v)
inline

add a vector to this vector

template<typename T >
vec3< T > & cs237::__detail::vec3< T >::operator-= ( T const &  s)
inline

subtract a scalar from this vector

template<typename T >
vec3< T > & cs237::__detail::vec3< T >::operator-= ( vec3< T > const &  v)
inline

subtract a vector from this vector

template<typename T >
vec3< T > & cs237::__detail::vec3< T >::operator/= ( T const &  s)
inline

divide this vector by a scalar

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

return the ith element of the vector

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

Member Data Documentation

template<typename T>
T cs237::__detail::vec3< T >::x
template<typename T>
T cs237::__detail::vec3< T >::y
template<typename T>
T cs237::__detail::vec3< T >::z

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