iso::math::Vector3< Type > Class Template Reference

3D vector class More...

#include <iso_math_vector3.h>

Inherits iso::math::Vector< Type >< Type >.

Inheritance diagram for iso::math::Vector3< Type >:

Inheritance graph
[legend]
Collaboration diagram for iso::math::Vector3< Type >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Vector3 ()
 create zero vector
 Vector3 (Type pValue)
 create vector with identical vector components
 Vector3 (Type p0, Type p1, Type p2)
 create vector from parameters
 Vector3 (Type *pValues)
 create vector from array of values
 Vector3 (const Vector3< Type > &pVector)
 create vector from vector
template<class Type2>
 Vector3 (const Vector3< Type2 > &pVector)
 create vector from vector
 Vector3 (const Vector< Type > &pVector) throw (MathException)
 create vector from vector
template<class Type2>
 Vector3 (const Vector< Type2 > &pVector) throw (MathException)
 create vector from vector
virtual ~Vector3 ()
 destructor
virtual void setDim (unsigned int pDim) throw (MathException)
 set dimension of vector
void set (Type p0, Type p1, Type p2)
 set vector components from parameters
void set (Type *pValues)
 set vector components from parameters
const Vector3< Type > & operator= (const Vector3< Type > &pVector)
 set vector components from vector
const Vector3< Type > & operator= (const Vector< Type > &pVector) throw (MathException)
 set vector components from vector
Vector3< Type > cross (const Vector3 &pVector) const
 vector cross product
void rotate (Type pTheta, Type pRx, Type pRy, Type pRz)
 rotate vector around axis
void rotate (Type pTheta, const Vector3< Type > &pVector)
 rotate vector around axis

Static Public Member Functions

static Vector3< Type > cross (const Vector3< Type > &pVector1, const Vector3< Type > &pVector2)
 vector cross product

Public Attributes

Type & x
 references to vector components (euclidian coordinates)
Type & y
Type & z
Type & r
 references to vector components (rgb color components)
Type & g
Type & b

Static Public Attributes

static const Vector3< Type > ZERO
 zero vector
static const Vector3< Type > ONE
 one vector

Friends

std::ostream & operator<< (std::ostream &pOstream, const Vector3< Type > &pVector)
 print vector information

Detailed Description

template<class Type>
class iso::math::Vector3< Type >

3D vector class

class

Created by Daniel Bisig on 7/16/06. Copyright 2006 Daniel Bisig All rights reserved.


Constructor & Destructor Documentation

template<class Type>
iso::math::Vector3< Type >::Vector3 (  ) 

create zero vector

template<class Type>
iso::math::Vector3< Type >::Vector3 ( Type  pValue  ) 

create vector with identical vector components

Parameters:
pValue value

template<class Type>
iso::math::Vector3< Type >::Vector3 ( Type  p0,
Type  p1,
Type  p2 
)

create vector from parameters

Parameters:
p0 0. value
p1 1. value
p2 2. value

template<class Type>
iso::math::Vector3< Type >::Vector3 ( Type *  pValues  ) 

create vector from array of values

Parameters:
pValues array of values (must be of correct size)

template<class Type>
iso::math::Vector3< Type >::Vector3 ( const Vector3< Type > &  pVector  ) 

create vector from vector

Parameters:
pVector vector of size 3

template<class Type>
template<class Type2>
iso::math::Vector3< Type >::Vector3 ( const Vector3< Type2 > &  pVector  ) 

create vector from vector

Parameters:
pVector vector of size 3

template<class Type>
iso::math::Vector3< Type >::Vector3 ( const Vector< Type > &  pVector  )  throw (MathException)

create vector from vector

Parameters:
pVector vector
Exceptions:
MathException pVector dimension not 3

template<class Type>
template<class Type2>
iso::math::Vector3< Type >::Vector3 ( const Vector< Type2 > &  pVector  )  throw (MathException)

create vector from vector

Parameters:
pVector vector
Exceptions:
MathException pVector dimension not 3

template<class Type>
iso::math::Vector3< Type >::~Vector3 (  )  [virtual]

destructor


Member Function Documentation

template<class Type>
void iso::math::Vector3< Type >::setDim ( unsigned int  pDim  )  throw (MathException) [virtual]

set dimension of vector

Parameters:
pDim new vector dimension
Exceptions:
MathException illegal function

Reimplemented from iso::math::Vector< Type >.

template<class Type>
void iso::math::Vector3< Type >::set ( Type  p0,
Type  p1,
Type  p2 
)

set vector components from parameters

Parameters:
p0 0. value
p1 1. value
p2 2. value

template<class Type>
void iso::math::Vector3< Type >::set ( Type *  pValues  ) 

set vector components from parameters

Parameters:
pValues values
Remarks:
make sure the value array is of the correct size

template<class Type>
const Vector3< Type > & iso::math::Vector3< Type >::operator= ( const Vector3< Type > &  pVector  ) 

set vector components from vector

Parameters:
pVector of size 3

template<class Type>
const Vector3< Type > & iso::math::Vector3< Type >::operator= ( const Vector< Type > &  pVector  )  throw (MathException)

set vector components from vector

Parameters:
pVector (must be of correct size)
Exceptions:
MathException pVector dimension not 2

Reimplemented from iso::math::Vector< Type >.

template<class Type>
Vector3< Type > iso::math::Vector3< Type >::cross ( const Vector3< Type > &  pVector  )  const

vector cross product

Parameters:
pVector second vector
Returns:
cross product

template<class Type>
Vector3< Type > iso::math::Vector3< Type >::cross ( const Vector3< Type > &  pVector1,
const Vector3< Type > &  pVector2 
) [static]

vector cross product

Parameters:
pVector1 first vector
pVector2 second vector
Returns:
cross product

template<class Type>
void iso::math::Vector3< Type >::rotate ( Type  pTheta,
Type  pRx,
Type  pRy,
Type  pRz 
)

rotate vector around axis

Parameters:
pTheta angle of rotation (in radians)
pRx x component of rotation axis
pRy y component of rotation axis
pRz z component of rotation axis

template<class Type>
void iso::math::Vector3< Type >::rotate ( Type  pTheta,
const Vector3< Type > &  pVector 
)

rotate vector around axis

Parameters:
pTheta angle of rotation (in radians)
pVector rotation axis


Friends And Related Function Documentation

template<class Type>
std::ostream& operator<< ( std::ostream &  pOstream,
const Vector3< Type > &  pVector 
) [friend]

print vector information

Parameters:
pOstream output stream
pVector vector
Returns:
output stream


Member Data Documentation

template<class Type>
const Vector3< Type > iso::math::Vector3< Type >::ZERO [static]

zero vector

template<class Type>
const Vector3< Type > iso::math::Vector3< Type >::ONE [static]

one vector

template<class Type>
Type& iso::math::Vector3< Type >::x

references to vector components (euclidian coordinates)

template<class Type>
Type & iso::math::Vector3< Type >::y

template<class Type>
Type & iso::math::Vector3< Type >::z

template<class Type>
Type& iso::math::Vector3< Type >::r

references to vector components (rgb color components)

template<class Type>
Type & iso::math::Vector3< Type >::g

template<class Type>
Type & iso::math::Vector3< Type >::b


The documentation for this class was generated from the following file:
Generated on Fri Feb 25 14:04:07 2011 for iso_math by  doxygen 1.5.1