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

template class for two-element vectors More...

#include <cs237-types.hxx>

Public Member Functions

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

Public Attributes

x
 
y
 

Detailed Description

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

template class for two-element vectors

Constructor & Destructor Documentation

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

Member Function Documentation

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

the length (magnitude) of the vector

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

normalize the vector

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

multiply this vector by a scalar

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

component-wise vector multiplication

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

add a scalar to this vector

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

add a vector to this vector

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

subtract a scalar from this vector

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

subtract a vector from this vector

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

divide this vector by a scalar

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

return the i'th element of the vector

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

Member Data Documentation

template<typename T>
T cs237::__detail::vec2< T >::x
template<typename T>
T cs237::__detail::vec2< T >::y

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