Main Page   Namespace List   Alphabetical List   Data Structures   File List   Data Fields   Globals  

vec3 Class Reference


Public Methods

 vec3 (void)
 vec3 (const float x, const float y, const float z)
 vec3 (const float d)
 vec3 (const vec3 &v)
 copy constructor

 vec3 (const vec4 &v)
 cast v4 to v3

 vec3 (const vec4 &v, int dropAxis)
 cast v4 to v3

float x ()
float y ()
float z ()
float * px ()
float * py ()
float * pz ()
vec3 & operator= (const vec3 &v)
 assignment of a vec3

vec3 & operator+= (const vec3 &v)
 incrementation by a vec3

vec3 & operator-= (const vec3 &v)
 decrementation by a vec3

vec3 & operator *= (const float d)
 multiplication by a constant

vec3 & operator/= (const float d)
 division by a constant

float & operator[] (int i)
 indexing

float length (void)
 length of a vec3

float length2 (void)
 squared length of a vec3

vec3 & normalize (void)
 normalize a vec3

void set (float x, float y, float z)
 set vector

void print (FILE *file, char *name)
 print vector to a file

vec3 operator- ()
 -v

vec3 operator+ (const vec3 &a)
 v + v2

vec3 operator- (const vec3 &b)
 v - v2

vec3 operator * (const float d)
 v * 3.0

vec3 operator * (mat4 &m)
 v . M

float operator * (const vec3 &a)
 dot product

vec3 operator/ (const float d)
 v / 3.0

vec3 operator^ (const vec3 &b)
 cross product

int operator== (const vec3 &b)
 v == v2 ?

int operator!= (const vec3 &b)
 v != v2 ?


Static Public Methods

void swap (vec3 &a, vec3 &b)
 swap v1 & v2

vec3 min (const vec3 &a, const vec3 &b)
 min(v1, v2)

vec3 max (const vec3 &a, const vec3 &b)
 max(v1, v2)

vec3 prod (const vec3 &a, const vec3 &b)
 term by term *


Protected Attributes

float n [3]

Friends

class vec4
class mat3
class mat4

Detailed Description

3D Vector


Constructor & Destructor Documentation

vec3::vec3 void   
 

vec3::vec3 const float    x,
const float    y,
const float    z
 

vec3::vec3 const float    d
 

vec3::vec3 const vec3 &    v
 

copy constructor

vec3::vec3 const vec4   v
 

cast v4 to v3

vec3::vec3 const vec4   v,
int    dropAxis
 

cast v4 to v3


Member Function Documentation

float vec3::length void   
 

length of a vec3

float vec3::length2 void   
 

squared length of a vec3

vec3 vec3::max const vec3 &    a,
const vec3 &    b
[static]
 

max(v1, v2)

vec3 vec3::min const vec3 &    a,
const vec3 &    b
[static]
 

min(v1, v2)

vec3 & vec3::normalize void   
 

normalize a vec3

float vec3::operator * const vec3 &    a
 

dot product

vec3 vec3::operator * mat4   m
 

v . M

vec3 vec3::operator * const float    d
 

v * 3.0

vec3 & vec3::operator *= const float    d
 

multiplication by a constant

int vec3::operator!= const vec3 &    b
 

v != v2 ?

vec3 vec3::operator+ const vec3 &    a
 

v + v2

vec3 & vec3::operator+= const vec3 &    v
 

incrementation by a vec3

vec3 vec3::operator- const vec3 &    b
 

v - v2

vec3 vec3::operator-  
 

-v

vec3 & vec3::operator-= const vec3 &    v
 

decrementation by a vec3

vec3 vec3::operator/ const float    d
 

v / 3.0

vec3 & vec3::operator/= const float    d
 

division by a constant

vec3 & vec3::operator= const vec3 &    v
 

assignment of a vec3

int vec3::operator== const vec3 &    b
 

v == v2 ?

float & vec3::operator[] int    i
 

indexing

vec3 vec3::operator^ const vec3 &    b
 

cross product

void vec3::print FILE *    file,
char *    name
 

print vector to a file

vec3 vec3::prod const vec3 &    a,
const vec3 &    b
[static]
 

term by term *

float* vec3::px  
 

float* vec3::py  
 

float* vec3::pz  
 

void vec3::set float    x,
float    y,
float    z
 

set vector

void vec3::swap vec3 &    a,
vec3 &    b
[static]
 

swap v1 & v2

float vec3::x  
 

float vec3::y  
 

float vec3::z  
 


Friends And Related Function Documentation

friend class mat3 [friend]
 

friend class mat4 [friend]
 

friend class vec4 [friend]
 


Field Documentation

float vec3::n[3] [protected]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 18 16:32:55 2004 for POVAMA by doxygen1.2.18