testshell/utils/vec3.h File Reference

Vector file. More...

#include <cmath>
#include <iostream>

Data Structures

struct  Vec3< T >
 Vector type for 3D. More...

Typedefs

typedef Vec3< float > Vec3f
 Vector of floats.
typedef Vec3< int > Vec3i
 Vector of integers.

Functions

template<typename T>
std::ostream & operator<< (std::ostream &os, const Vec3< T > &v)
 Output operator for vector class.
template<typename T>
bool operator< (const Vec3< T > &a, const Vec3< T > &b)
 Compare operator for vector class.
template<typename T>
bool operator<= (const Vec3< T > &a, const Vec3< T > &b)
 Compare operator for vector class.
template<typename T>
bool operator== (const Vec3< T > &a, const Vec3< T > &b)
 Compare operator for vector class.
template<typename T>
bool operator> (const Vec3< T > &a, const Vec3< T > &b)
 Compare operator for vector class.
template<typename T>
bool operator>= (const Vec3< T > &a, const Vec3< T > &b)
 Compare operator for vector class.
template<typename T>
Vec3< T > operator+ (const Vec3< T > &a, const Vec3< T > &b)
 Addition operator.
template<typename T>
Vec3< T > operator- (const Vec3< T > &a, const Vec3< T > &b)
 Subtraction operator.
template<typename T>
Vec3< T > operator * (const Vec3< T > &a, const Vec3< T > &b)
 Multiplicatoin operator.
template<typename T>
Vec3< T > operator/ (const Vec3< T > &a, const Vec3< T > &b)
 Division operator.
template<typename T, class Arg>
Vec3< T > operator+ (const Vec3< T > &a, const Arg &b)
 Add scalar operator.
template<typename T, class Arg>
Vec3< T > operator+ (const Arg &a, const Vec3< T > &b)
 Add scalar operator.
template<typename T, class Arg>
Vec3< T > operator- (const Vec3< T > &a, const Arg &b)
 Subtract scalar operator.
template<typename T, class Arg>
Vec3< T > operator- (const Arg &a, const Vec3< T > &b)
 Subtract scalar operator.
template<typename T, class Arg>
Vec3< T > operator * (const Vec3< T > &a, const Arg &b)
 Multiply scalar operator.
template<typename T, class Arg>
Vec3< T > operator * (const Arg &a, const Vec3< T > &b)
 Multiply scalar operator.
template<typename T, class Arg>
Vec3< T > operator/ (const Vec3< T > &a, const Arg &b)
 Divide by scalar operator.
template<typename T, class Arg>
Vec3< T > operator/ (const Arg &a, const Vec3< T > &b)
 Divide a scalar operator.


Detailed Description

Vector file.

This file contains a vector type with most of the common operators implemented.


Typedef Documentation

typedef Vec3<float> Vec3f

Vector of floats.

Predefined vector type with floats as elements.

typedef Vec3<int> Vec3i

Vector of integers.

Predefined vector type with integers as elements.


Function Documentation

template<typename T, class Arg>
Vec3<T> operator * ( const Arg &  a,
const Vec3< T > &  b 
) [inline]

Multiply scalar operator.

Multiply a scalar to each element of a vector.

Parameters:
a scalar.
b vector.
Returns:
resulting vector.

template<typename T, class Arg>
Vec3<T> operator * ( const Vec3< T > &  a,
const Arg &  b 
) [inline]

Multiply scalar operator.

Multiply a scalar to each element of a vector.

Parameters:
a vector.
b scalar.
Returns:
resulting vector.

template<typename T>
Vec3<T> operator * ( const Vec3< T > &  a,
const Vec3< T > &  b 
) [inline]

Multiplicatoin operator.

Elementwise multiplication of two vectors.

Parameters:
a left vector.
a right vector.
Returns:
elementwise product of the vectors.

template<typename T, class Arg>
Vec3<T> operator+ ( const Arg &  a,
const Vec3< T > &  b 
) [inline]

Add scalar operator.

Add a scalar to each element of the vector.

Parameters:
a scalar.
b vector.
Returns:
resulting vector.

template<typename T, class Arg>
Vec3<T> operator+ ( const Vec3< T > &  a,
const Arg &  b 
) [inline]

Add scalar operator.

Add a scalar to each element of the vector.

Parameters:
a vector.
b scalar.
Returns:
resulting vector.

template<typename T>
Vec3<T> operator+ ( const Vec3< T > &  a,
const Vec3< T > &  b 
) [inline]

Addition operator.

Addition of two vectors.

Parameters:
a left vector.
a right vector.
Returns:
sum of the vectors.

template<typename T, class Arg>
Vec3<T> operator- ( const Arg &  a,
const Vec3< T > &  b 
) [inline]

Subtract scalar operator.

Add a vector to each element of a negated vector.

Parameters:
a scalar.
b vector.
Returns:
resulting vector.

template<typename T, class Arg>
Vec3<T> operator- ( const Vec3< T > &  a,
const Arg &  b 
) [inline]

Subtract scalar operator.

Subtract a scalar from each element of the vector.

Parameters:
a vector.
b scalar.
Returns:
resulting vector.

template<typename T>
Vec3<T> operator- ( const Vec3< T > &  a,
const Vec3< T > &  b 
) [inline]

Subtraction operator.

Subtraction of two vectors.

Parameters:
a left vector.
a right vector.
Returns:
difference between the vectors.

template<typename T, class Arg>
Vec3<T> operator/ ( const Arg &  a,
const Vec3< T > &  b 
) [inline]

Divide a scalar operator.

Divide a scalar with each element of the vector.

Parameters:
a scalar.
b vector.
Returns:
resulting vector.

template<typename T, class Arg>
Vec3<T> operator/ ( const Vec3< T > &  a,
const Arg &  b 
) [inline]

Divide by scalar operator.

Divide each element of the vector with a scalar.

Parameters:
a vector.
b scalar.
Returns:
resulting vector.

template<typename T>
Vec3<T> operator/ ( const Vec3< T > &  a,
const Vec3< T > &  b 
) [inline]

Division operator.

Elementwise division of two vectors.

Parameters:
a left vector.
a right vector.
Returns:
elementwise divided vector.

template<typename T>
bool operator< ( const Vec3< T > &  a,
const Vec3< T > &  b 
) [inline]

Compare operator for vector class.

Compare two vectors.

Parameters:
a left vector.
a right vector.
Returns:
result of the comparsion.

template<typename T>
std::ostream& operator<< ( std::ostream &  os,
const Vec3< T > &  v 
) [inline]

Output operator for vector class.

Outputs a vector to an output stream stream.

Parameters:
os output stream.
v vector.
Returns:
output stream.

template<typename T>
bool operator<= ( const Vec3< T > &  a,
const Vec3< T > &  b 
) [inline]

Compare operator for vector class.

Compare two vectors.

Parameters:
a left vector.
a right vector.
Returns:
result of the comparsion.

template<typename T>
bool operator== ( const Vec3< T > &  a,
const Vec3< T > &  b 
) [inline]

Compare operator for vector class.

Compare two vectors.

Parameters:
a left vector.
a right vector.
Returns:
result of the comparsion.

template<typename T>
bool operator> ( const Vec3< T > &  a,
const Vec3< T > &  b 
) [inline]

Compare operator for vector class.

Compare two vectors.

Parameters:
a left vector.
a right vector.
Returns:
result of the comparsion.

template<typename T>
bool operator>= ( const Vec3< T > &  a,
const Vec3< T > &  b 
) [inline]

Compare operator for vector class.

Compare two vectors.

Parameters:
a left vector.
a right vector.
Returns:
result of the comparsion.


Generated on Thu May 17 20:28:03 2007 for Ocean View by  doxygen 1.5.2