inlib  1.2.0
Public Member Functions
inlib::a3::vec< T > Class Template Reference
Inheritance diagram for inlib::a3::vec< T >:
Inheritance graph
[legend]
Collaboration diagram for inlib::a3::vec< T >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 vec ()
 vec (const T a_vec[3])
 vec (const T &a0, const T &a1, const T &a2)
virtual ~vec ()
 vec (const vec &a_from)
vecoperator= (const vec &a_from)
v0 () const
v1 () const
v2 () const
void v0 (const T &a_value)
void v1 (const T &a_value)
void v2 (const T &a_value)
void set_value (const T &a1, const T &a2, const T &a3)
void set_value (const T aV[3])
void value (T &a1, T &a2, T &a3) const
bool set_value (unsigned int a_index, const T &a_value)
length () const
normalize ()
dot (const vec &aV) const

Detailed Description

template<class T>
class inlib::a3::vec< T >

Definition at line 17 of file a3.


Constructor & Destructor Documentation

template<class T>
inlib::a3::vec< T >::vec ( ) [inline]

Reimplemented in inlib::a3d::vec.

Definition at line 19 of file a3.

:array<T>(1,3){}
template<class T>
inlib::a3::vec< T >::vec ( const T  a_vec[3]) [inline]

Reimplemented in inlib::a3d::vec.

Definition at line 20 of file a3.

                       :array<T>(1,3) {
    array<T>::m_vector[0] = a_vec[0];
    array<T>::m_vector[1] = a_vec[1];
    array<T>::m_vector[2] = a_vec[2];
  }
template<class T>
inlib::a3::vec< T >::vec ( const T &  a0,
const T &  a1,
const T &  a2 
) [inline]

Reimplemented in inlib::a3d::vec.

Definition at line 25 of file a3.

                                          :array<T>(1,3) {
    array<T>::m_vector[0] = a0;
    array<T>::m_vector[1] = a1;
    array<T>::m_vector[2] = a2;
  }
template<class T>
virtual inlib::a3::vec< T >::~vec ( ) [inline, virtual]

Reimplemented in inlib::a3d::vec.

Definition at line 30 of file a3.

{}
template<class T>
inlib::a3::vec< T >::vec ( const vec< T > &  a_from) [inline]

Definition at line 32 of file a3.

:array<T>(a_from){}

Member Function Documentation

template<class T>
T inlib::a3::vec< T >::dot ( const vec< T > &  aV) const [inline]

Definition at line 81 of file a3.

                             {
    return (v0() * aV.v0() + 
            v1() * aV.v1() + 
            v2() * aV.v2());
  }   
template<class T>
T inlib::a3::vec< T >::length ( ) const [inline]

Reimplemented in inlib::vec3d.

Definition at line 68 of file a3.

                   {
    T m0 = array<T>::m_vector[0];
    T m1 = array<T>::m_vector[1];
    T m2 = array<T>::m_vector[2];
    return (T)::sqrt(m0*m0+m1*m1+m2*m2);
  }
template<class T>
T inlib::a3::vec< T >::normalize ( ) [inline]

Reimplemented in inlib::vec3d.

Definition at line 74 of file a3.

                {
    T norme = length();
    if(norme==T()) return 0;
    divide(norme);
    return norme;
  }
template<class T>
vec& inlib::a3::vec< T >::operator= ( const vec< T > &  a_from) [inline]

Definition at line 33 of file a3.

                                    {
    array<T>::operator=(a_from);
    return *this;
  }
template<class T>
void inlib::a3::vec< T >::set_value ( const T &  a1,
const T &  a2,
const T &  a3 
) [inline]

Definition at line 46 of file a3.

                                                      {
    array<T>::m_vector[0] = a1;
    array<T>::m_vector[1] = a2;
    array<T>::m_vector[2] = a3;
  }
template<class T>
void inlib::a3::vec< T >::set_value ( const T  aV[3]) [inline]

Definition at line 51 of file a3.

                                {
    array<T>::m_vector[0] = aV[0];
    array<T>::m_vector[1] = aV[1];
    array<T>::m_vector[2] = aV[2];
  }
template<class T>
bool inlib::a3::vec< T >::set_value ( unsigned int  a_index,
const T &  a_value 
) [inline]

Definition at line 62 of file a3.

                                                        { 
    if(a_index>=3) return false;
    array<T>::m_vector[a_index] = a_value;
    return true;
  }
template<class T>
T inlib::a3::vec< T >::v0 ( ) const [inline]

Definition at line 38 of file a3.

{ return array<T>::m_vector[0];}
template<class T>
void inlib::a3::vec< T >::v0 ( const T &  a_value) [inline]

Definition at line 42 of file a3.

{ array<T>::m_vector[0] = a_value;}
template<class T>
T inlib::a3::vec< T >::v1 ( ) const [inline]

Definition at line 39 of file a3.

{ return array<T>::m_vector[1];}
template<class T>
void inlib::a3::vec< T >::v1 ( const T &  a_value) [inline]

Definition at line 43 of file a3.

{ array<T>::m_vector[1] = a_value;}
template<class T>
T inlib::a3::vec< T >::v2 ( ) const [inline]

Definition at line 40 of file a3.

{ return array<T>::m_vector[2];}
template<class T>
void inlib::a3::vec< T >::v2 ( const T &  a_value) [inline]

Definition at line 44 of file a3.

{ array<T>::m_vector[2] = a_value;}
template<class T>
void inlib::a3::vec< T >::value ( T &  a1,
T &  a2,
T &  a3 
) const [inline]

Definition at line 56 of file a3.

                                      {
    a1 = array<T>::m_vector[0];
    a2 = array<T>::m_vector[1];
    a3 = array<T>::m_vector[2];
  }    

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines