Vector.h File Reference

#include <common/common.h>
#include <iostream>
#include <limits>
#include <common/math/sisd/Vector3.h>
#include "common/math/Vector.inl"

Go to the source code of this file.

Classes

class  Vector< N, T >
 A Vector is templated to store N elements of data of type T. If left off, T will default to a "real_t" data type, where a real_t is assumed to be either a float or a double. More...

Defines

#define VECTOR_NO_ELEMENTS   (N)
#define VECTOR_SIZE   (sizeof(T) * VECTOR_NO_ELEMENTS)

Typedefs

typedef Vector< 4 > Vector4
 Standard 4-element vector of real_ts.
typedef Vector< 3 > Vector3
 Standard 3-element vector of real_ts.
typedef Vector< 2 > Vector2
 Standard 2-element vector of real_ts.

Functions

Vector3 convertHemisphere (const real_t theta, const real_t phi, const Vector3 &N)
Vector3 convertHemisphere (const Vector3 &w, const Vector3 &normal)
Extra operators where Vector is on right-hand side
template<unsigned N, typename T>
Vector< N, T > operator* (const real_t &scale, const Vector< N, T > &v)
template<unsigned N, typename T>
Vector< N, T > operator- (const Vector< N, T > &rhs)
template<unsigned N, typename T>
std::ostream & operator<< (std::ostream &os, const Vector< N, T > &v)
 Prints a Vector to an output stream.


Define Documentation

#define VECTOR_NO_ELEMENTS   (N)

Definition at line 17 of file Vector.h.

#define VECTOR_SIZE   (sizeof(T) * VECTOR_NO_ELEMENTS)

Definition at line 18 of file Vector.h.


Typedef Documentation

typedef Vector<2> Vector2

Standard 2-element vector of real_ts.

Definition at line 278 of file Vector.h.

typedef Vector<3> Vector3

Standard 3-element vector of real_ts.

Definition at line 275 of file Vector.h.

typedef Vector<4> Vector4

Standard 4-element vector of real_ts.

Definition at line 272 of file Vector.h.


Function Documentation

Vector3 convertHemisphere ( const Vector3 w,
const Vector3 normal 
) [inline]

converts the vector w centered around the canonical up vector (0, 1, 0) to be centered around the given up vector N

Definition at line 405 of file Vector3SSE.inl.

Vector3 convertHemisphere ( const real_t  theta,
const real_t  phi,
const Vector3 N 
) [inline]

converts the vector defined by the given spherical coordinates around the canonical up vector (0, 1, 0) to be centered around the given up vector N

Definition at line 525 of file Vector.inl.

template<unsigned N, typename T>
Vector<N, T> operator* ( const real_t scale,
const Vector< N, T > &  v 
) [inline]

Returns:
the N-length vector resulting from multiplying a scalar by an N-length vector

Definition at line 374 of file Vector.inl.

template<unsigned N, typename T>
Vector<N, T> operator- ( const Vector< N, T > &  rhs  )  [inline]

Returns:
(-1) * rhs, which is a negated version of the original right hand side vector

Definition at line 383 of file Vector.inl.

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

Prints a Vector to an output stream.

Definition at line 389 of file Vector.inl.


Generated on 28 Feb 2009 for Milton by doxygen 1.5.6