Public Member Functions | Public Attributes

v4< Real > Class Template Reference

#include <v4.h>

List of all members.

Public Member Functions

 v4 ()
 v4 (const v4< Real > &vec)
 v4 (const Real x, const Real y, const Real z, const Real w=1.0f)
 v4 (const v3< Real > &v, const Real w=1.0f)
v4< Real > & set (const Real x, const Real y, const Real z, const Real w)
v4< Real > & get (Real &x, Real &y, Real &z, Real &w)
v4< Real > & zero (void)
v4< Real > & identity (void)
Real modulus (void)
Real modulus2 (void)
v4< Real > & normalize (void)
v4< Real > & operator= (const v4< Real > &vec)
v4< Real > & operator+= (const v4< Real > &vec)
v4< Real > & operator-= (const v4< Real > &vec)
v4< Real > & operator*= (const Real f)
v4< Real > & operator/= (const Real f)
bool operator== (const v4< Real > &vec)
bool operator!= (const v4< Real > &vec)
Real & operator[] (const unsigned char i)
const Real operator[] (const unsigned char i) const
Real & operator() (const unsigned char i)
const Real operator() (const unsigned char i) const

Public Attributes

union {
   struct {
      Real   x
      Real   y
      Real   z
      Real   w
   } 
   struct {
      Real   v [4]
   } 
}; 

Detailed Description

template<typename Real = RV_PRECISSION_TYPENAME>
class v4< Real >

Homogeneous 3D Real vector (x,y,z,w). This class defines a point or a vector in 3D space with homogeneous part 'w'.

Definition at line 6 of file v4.h.


Constructor & Destructor Documentation

template<typename Real = RV_PRECISSION_TYPENAME>
v4< Real >::v4 (  )  [inline]

Default construktor. Does not initialize the class with values.

Definition at line 15 of file v4.h.

template<typename Real = RV_PRECISSION_TYPENAME>
v4< Real >::v4 ( const v4< Real > &  vec  )  [inline]

Copy construktor. Copy an existing class. The copied class does not have the same memory as the class that was copied. Only the values are copied.

Definition at line 21 of file v4.h.

template<typename Real = RV_PRECISSION_TYPENAME>
v4< Real >::v4 ( const Real  x,
const Real  y,
const Real  z,
const Real  w = 1.0f 
) [inline]

Construktor. Initialize the class with the defined values.

Definition at line 25 of file v4.h.

template<typename Real = RV_PRECISSION_TYPENAME>
v4< Real >::v4 ( const v3< Real > &  v,
const Real  w = 1.0f 
) [inline]

Construktor. Initialize the class with the defined values.

Definition at line 29 of file v4.h.


Member Function Documentation

template<typename Real>
v4< Real > & v4< Real >::get ( Real &  x,
Real &  y,
Real &  z,
Real &  w 
) [inline]

Definition at line 16 of file v4.inl.

template<typename Real >
v4< Real > & v4< Real >::identity ( void   )  [inline]

Definition at line 41 of file v4.inl.

template<typename Real >
Real v4< Real >::modulus ( void   )  [inline]

Definition at line 25 of file v4.inl.

template<typename Real >
Real v4< Real >::modulus2 ( void   )  [inline]

Definition at line 30 of file v4.inl.

template<typename Real >
v4< Real > & v4< Real >::normalize ( void   )  [inline]

Definition at line 47 of file v4.inl.

template<typename Real>
bool v4< Real >::operator!= ( const v4< Real > &  vec  )  [inline]

Definition at line 112 of file v4.inl.

template<typename Real >
Real & v4< Real >::operator() ( const unsigned char  i  )  [inline]

Definition at line 131 of file v4.inl.

template<typename Real >
const Real v4< Real >::operator() ( const unsigned char  i  )  const [inline]

Definition at line 136 of file v4.inl.

template<typename Real>
v4< Real > & v4< Real >::operator*= ( const Real  f  )  [inline]

Definition at line 85 of file v4.inl.

template<typename Real>
v4< Real > & v4< Real >::operator+= ( const v4< Real > &  vec  )  [inline]

Definition at line 67 of file v4.inl.

template<typename Real>
v4< Real > & v4< Real >::operator-= ( const v4< Real > &  vec  )  [inline]

Definition at line 76 of file v4.inl.

template<typename Real>
v4< Real > & v4< Real >::operator/= ( const Real  f  )  [inline]

Definition at line 94 of file v4.inl.

template<typename Real>
v4< Real > & v4< Real >::operator= ( const v4< Real > &  vec  )  [inline]

Definition at line 58 of file v4.inl.

template<typename Real>
bool v4< Real >::operator== ( const v4< Real > &  vec  )  [inline]

Definition at line 103 of file v4.inl.

template<typename Real >
Real & v4< Real >::operator[] ( const unsigned char  i  )  [inline]

Definition at line 121 of file v4.inl.

template<typename Real >
const Real v4< Real >::operator[] ( const unsigned char  i  )  const [inline]

Definition at line 126 of file v4.inl.

template<typename Real>
v4< Real > & v4< Real >::set ( const Real  x,
const Real  y,
const Real  z,
const Real  w 
) [inline]

Definition at line 7 of file v4.inl.

template<typename Real >
v4< Real > & v4< Real >::zero ( void   )  [inline]

Definition at line 35 of file v4.inl.


Member Data Documentation

union { ... }
template<typename Real = RV_PRECISSION_TYPENAME>
Real v4< Real >::v[4]

Definition at line 10 of file v4.h.

template<typename Real = RV_PRECISSION_TYPENAME>
Real v4< Real >::w

Definition at line 9 of file v4.h.

template<typename Real = RV_PRECISSION_TYPENAME>
Real v4< Real >::x

Definition at line 9 of file v4.h.

template<typename Real = RV_PRECISSION_TYPENAME>
Real v4< Real >::y

Definition at line 9 of file v4.h.

template<typename Real = RV_PRECISSION_TYPENAME>
Real v4< Real >::z

Definition at line 9 of file v4.h.


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