Main Page | Class Hierarchy | Class List | File List | Class Members

Vector3 Class Reference

#include <vector.h>

List of all members.

Public Member Functions

 Vector3 ()
 Vector3 (DBL w)
 Vector3 (DBL x, DBL y, DBL z)
DBL & operator[] (int i)
const DBL & operator[] (int i) const
void add (const Vector3 &v)
void sub (const Vector3 &v)
void scale (DBL s)
void scale (const Vector3 &v)
void normalize ()
void inverse ()
void applyFromLeft (const Matrix &m)
void applyFromLeftTransposed (const Matrix &m)
void rotate (const Vector3 &v)
void minimize (const Vector3 &v)
void maximize (const Vector3 &v)
Vector3 scaled (DBL s) const
double lengthSq () const
double length () const
bool equals (const Vector3 &v) const
unsigned int hashValue () const
bool operator< (const Vector3 &v) const
bool operator== (const Vector3 &v) const
void operator+= (const Vector3 &v)
void operator-= (const Vector3 &v)
void operator *= (DBL s)
Vector3 operator * (DBL s) const

Static Public Member Functions

Vector3 positiveInfinit ()
Vector3 negativeInfinit ()
DBL dotProd (const Vector3 &v, const Vector3 &w)
Vector3 crossProd (const Vector3 &u, const Vector3 &v)
Vector3 add (const Vector3 &v, const Vector3 &w)
Vector3 sub (const Vector3 &v, const Vector3 &w)
DBL distance (const Vector3 &v, const Vector3 &w)
Vector3 deg2rad (const Vector3 &v)
Vector3 rad2deg (const Vector3 &v)


Detailed Description

Class for describing points, normal vectors, direction vectors in 3D space.
Author:
Micha Riser


Constructor & Destructor Documentation

Vector3::Vector3  )  [inline]
 

Create uninitialized vector.

Vector3::Vector3 DBL  w  )  [inline]
 

Create vector with same coifficients.

Parameters:
w value for all coifficients.

Vector3::Vector3 DBL  x,
DBL  y,
DBL  z
[inline]
 

Create vector from given coifficients.


Member Function Documentation

Vector3 Vector3::add const Vector3 v,
const Vector3 w
[inline, static]
 

Add two vectors.

void Vector3::add const Vector3 v  )  [inline]
 

Add vector.

void Vector3::applyFromLeft const Matrix m  ) 
 

Calculate v -> M*v.

Parameters:
m matrix M

void Vector3::applyFromLeftTransposed const Matrix m  ) 
 

Calculate v -> M^T * v.

Parameters:
m matrix M

Vector3 Vector3::crossProd const Vector3 u,
const Vector3 v
[inline, static]
 

Calculate cross prodcut of two vectors.

Returns:
u x v

Vector3 Vector3::deg2rad const Vector3 v  )  [inline, static]
 

Transforms a vector with rotation angles in degree into a corresponding one in radiants

DBL Vector3::distance const Vector3 v,
const Vector3 w
[inline, static]
 

Calculate distance between two points given as vectors.

DBL Vector3::dotProd const Vector3 v,
const Vector3 w
[inline, static]
 

Calculate dot product of two vectors.

Returns:
u * v

bool Vector3::equals const Vector3 v  )  const [inline]
 

Compare vector to other vector.

unsigned int Vector3::hashValue  )  const [inline]
 

Calucates hash-value for the vector.

void Vector3::inverse  )  [inline]
 

Inverse vector componentwise. Calculates 1/a for all coifficients.

double Vector3::length  )  const [inline]
 

Returns:
length of vector

double Vector3::lengthSq  )  const [inline]
 

Returns:
square of the length

void Vector3::maximize const Vector3 v  )  [inline]
 

Maximize vector components.

void Vector3::minimize const Vector3 v  )  [inline]
 

Minimize vector components.

Vector3 Vector3::negativeInfinit  )  [inline, static]
 

Returns vector describing (negative) infinit point.

void Vector3::normalize  )  [inline]
 

Normalize vector. Scale vector so that its length is 1. Note: Checking for 0-vector is not done here!!

void Vector3::operator *= DBL  s  )  [inline]
 

Same as scale

void Vector3::operator+= const Vector3 v  )  [inline]
 

Same as add.

void Vector3::operator-= const Vector3 v  )  [inline]
 

Same as sub.

bool Vector3::operator< const Vector3 v  )  const [inline]
 

Introduce order between vectors.

bool Vector3::operator== const Vector3 v  )  const [inline]
 

Same as equals.

const DBL& Vector3::operator[] int  i  )  const [inline]
 

Access to the const vector's components.

DBL& Vector3::operator[] int  i  )  [inline]
 

Access to the vector components.

Vector3 Vector3::positiveInfinit  )  [inline, static]
 

Returns vector describing (positive) infinit point.

Vector3 Vector3::rad2deg const Vector3 v  )  [inline, static]
 

Transforms a vector with rotation angles in radiant into a corresponding one in degrees

void Vector3::rotate const Vector3 v  ) 
 

Rotates point corresponding to the vector around the origin by given x,y,z angles.

void Vector3::scale const Vector3 v  )  [inline]
 

Scale vector non-uniformly in its component.

void Vector3::scale DBL  s  )  [inline]
 

Scale vector by scalar.

Vector3 Vector3::scaled DBL  s  )  const [inline]
 

Returns:
vector scaled by scalar s

Vector3 Vector3::sub const Vector3 v,
const Vector3 w
[inline, static]
 

Subtract two vectors.

void Vector3::sub const Vector3 v  )  [inline]
 

Subtract vector.


The documentation for this class was generated from the following files:
Generated on Thu Jan 27 12:16:07 2005 for raytracer.kdevelop by doxygen 1.3.8