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

algebra3.cpp File Reference

#include "algebra3.h"
#include "glui_internal.h"
#include <cmath>

Defines

#define VEC_ERROR(E)   { printf( "VERROR %s\n", E ); }
#define ROWCOL(i)
#define ROWCOL(i, j)   a.v[i].n[0]*b.v[0][j] + a.v[i].n[1]*b.v[1][j] + a.v[i].n[2]*b.v[2][j]
#define ROWCOL(i, j)

Functions

vec2 operator- (const vec2 &a)
vec2 operator+ (const vec2 &a, const vec2 &b)
vec2 operator- (const vec2 &a, const vec2 &b)
vec2 operator * (const vec2 &a, float d)
vec2 operator * (float d, const vec2 &a)
vec2 operator * (const mat3 &a, const vec2 &v)
vec2 operator * (const vec2 &v, const mat3 &a)
vec3 operator * (const mat3 &a, const vec3 &v)
vec3 operator * (const vec3 &v, const mat3 &a)
float operator * (const vec2 &a, const vec2 &b)
vec2 operator/ (const vec2 &a, float d)
vec3 operator^ (const vec2 &a, const vec2 &b)
int operator== (const vec2 &a, const vec2 &b)
int operator!= (const vec2 &a, const vec2 &b)
void swap (vec2 &a, vec2 &b)
vec2 min_vec (const vec2 &a, const vec2 &b)
vec2 max_vec (const vec2 &a, const vec2 &b)
vec2 prod (const vec2 &a, const vec2 &b)
vec3 operator- (const vec3 &a)
vec3 operator+ (const vec3 &a, const vec3 &b)
vec3 operator- (const vec3 &a, const vec3 &b)
vec3 operator * (const vec3 &a, float d)
vec3 operator * (float d, const vec3 &a)
vec3 operator * (const mat4 &a, const vec3 &v)
vec3 operator * (const vec3 &v, mat4 &a)
float operator * (const vec3 &a, const vec3 &b)
vec3 operator/ (const vec3 &a, float d)
vec3 operator^ (const vec3 &a, const vec3 &b)
int operator== (const vec3 &a, const vec3 &b)
int operator!= (const vec3 &a, const vec3 &b)
void swap (vec3 &a, vec3 &b)
vec3 min_vec (const vec3 &a, const vec3 &b)
vec3 max_vec (const vec3 &a, const vec3 &b)
vec3 prod (const vec3 &a, const vec3 &b)
vec4 operator- (const vec4 &a)
vec4 operator+ (const vec4 &a, const vec4 &b)
vec4 operator- (const vec4 &a, const vec4 &b)
vec4 operator * (const vec4 &a, float d)
vec4 operator * (float d, const vec4 &a)
vec4 operator * (const mat4 &a, const vec4 &v)
vec4 operator * (const vec4 &v, const mat4 &a)
float operator * (const vec4 &a, const vec4 &b)
vec4 operator/ (const vec4 &a, float d)
int operator== (const vec4 &a, const vec4 &b)
int operator!= (const vec4 &a, const vec4 &b)
void swap (vec4 &a, vec4 &b)
vec4 min_vec (const vec4 &a, const vec4 &b)
vec4 max_vec (const vec4 &a, const vec4 &b)
vec4 prod (const vec4 &a, const vec4 &b)
mat3 operator- (const mat3 &a)
mat3 operator+ (const mat3 &a, const mat3 &b)
mat3 operator- (const mat3 &a, const mat3 &b)
mat3 operator * (const mat3 &a, const mat3 &b)
mat3 operator * (const mat3 &a, float d)
mat3 operator * (float d, const mat3 &a)
mat3 operator/ (const mat3 &a, float d)
int operator== (const mat3 &a, const mat3 &b)
int operator!= (const mat3 &a, const mat3 &b)
void swap (mat3 &a, mat3 &b)
mat4 operator- (const mat4 &a)
mat4 operator+ (const mat4 &a, const mat4 &b)
mat4 operator- (const mat4 &a, const mat4 &b)
mat4 operator * (const mat4 &a, const mat4 &b)
mat4 operator * (const mat4 &a, float d)
mat4 operator * (float d, const mat4 &a)
mat4 operator/ (const mat4 &a, float d)
int operator== (const mat4 &a, const mat4 &b)
int operator!= (const mat4 &a, const mat4 &b)
void swap (mat4 &a, mat4 &b)
mat3 identity2D ()
mat3 translation2D (const vec2 &v)
mat3 rotation2D (const vec2 &Center, float angleDeg)
mat3 scaling2D (const vec2 &scaleVector)
mat4 identity3D ()
mat4 translation3D (const vec3 &v)
mat4 rotation3D (const vec3 &Axis, float angleDeg)
mat4 rotation3Drad (const vec3 &Axis, float angleRad)
mat4 scaling3D (const vec3 &scaleVector)
mat4 perspective3D (float d)


Define Documentation

#define ROWCOL (  i,
j   ) 
 

Value:

a.v[i].n[0]*b.v[0][j] + \
        a.v[i].n[1]*b.v[1][j] + \
        a.v[i].n[2]*b.v[2][j] + \
        a.v[i].n[3]*b.v[3][j]

#define ROWCOL (  i,
j   )     a.v[i].n[0]*b.v[0][j] + a.v[i].n[1]*b.v[1][j] + a.v[i].n[2]*b.v[2][j]
 

#define ROWCOL (  i   ) 
 

Value:

a.v[i].n[0]*v.n[VX] + \
        a.v[i].n[1]*v.n[VY] + \
        a.v[i].n[2]*v.n[VZ] + \
        a.v[i].n[3]*v.n[VW]

#define VEC_ERROR (  E   )     { printf( "VERROR %s\n", E ); }
 


Function Documentation

mat3 identity2D (   ) 
 

mat4 identity3D (   ) 
 

vec4 max_vec (  const vec4 &  a,
const vec4 &  b
) 
 

vec3 max_vec (  const vec3 &  a,
const vec3 &  b
) 
 

vec2 max_vec (  const vec2 &  a,
const vec2 &  b
) 
 

vec4 min_vec (  const vec4 &  a,
const vec4 &  b
) 
 

vec3 min_vec (  const vec3 &  a,
const vec3 &  b
) 
 

vec2 min_vec (  const vec2 &  a,
const vec2 &  b
) 
 

mat4 operator * (  float  d,
const mat4 &  a
) 
 

mat4 operator * (  const mat4 &  a,
float  d
) 
 

mat4 operator * (  const mat4 &  a,
const mat4 &  b
) 
 

mat3 operator * (  float  d,
const mat3 &  a
) 
 

mat3 operator * (  const mat3 &  a,
float  d
) 
 

mat3 operator * (  const mat3 &  a,
const mat3 &  b
) 
 

float operator * (  const vec4 &  a,
const vec4 &  b
) 
 

vec4 operator * (  const vec4 &  v,
const mat4 &  a
) 
 

vec4 operator * (  const mat4 &  a,
const vec4 &  v
) 
 

vec4 operator * (  float  d,
const vec4 &  a
) 
 

vec4 operator * (  const vec4 &  a,
float  d
) 
 

float operator * (  const vec3 &  a,
const vec3 &  b
) 
 

vec3 operator * (  const vec3 &  v,
mat4 &  a
) 
 

vec3 operator * (  const mat4 &  a,
const vec3 &  v
) 
 

vec3 operator * (  float  d,
const vec3 &  a
) 
 

vec3 operator * (  const vec3 &  a,
float  d
) 
 

float operator * (  const vec2 &  a,
const vec2 &  b
) 
 

vec3 operator * (  const vec3 &  v,
const mat3 &  a
) 
 

vec3 operator * (  const mat3 &  a,
const vec3 &  v
) 
 

vec2 operator * (  const vec2 &  v,
const mat3 &  a
) 
 

vec2 operator * (  const mat3 &  a,
const vec2 &  v
) 
 

vec2 operator * (  float  d,
const vec2 &  a
) 
 

vec2 operator * (  const vec2 &  a,
float  d
) 
 

int operator!= (  const mat4 &  a,
const mat4 &  b
) 
 

int operator!= (  const mat3 &  a,
const mat3 &  b
) 
 

int operator!= (  const vec4 &  a,
const vec4 &  b
) 
 

int operator!= (  const vec3 &  a,
const vec3 &  b
) 
 

int operator!= (  const vec2 &  a,
const vec2 &  b
) 
 

mat4 operator+ (  const mat4 &  a,
const mat4 &  b
) 
 

mat3 operator+ (  const mat3 &  a,
const mat3 &  b
) 
 

vec4 operator+ (  const vec4 &  a,
const vec4 &  b
) 
 

vec3 operator+ (  const vec3 &  a,
const vec3 &  b
) 
 

vec2 operator+ (  const vec2 &  a,
const vec2 &  b
) 
 

mat4 operator- (  const mat4 &  a,
const mat4 &  b
) 
 

mat4 operator- (  const mat4 &  a  ) 
 

mat3 operator- (  const mat3 &  a,
const mat3 &  b
) 
 

mat3 operator- (  const mat3 &  a  ) 
 

vec4 operator- (  const vec4 &  a,
const vec4 &  b
) 
 

vec4 operator- (  const vec4 &  a  ) 
 

vec3 operator- (  const vec3 &  a,
const vec3 &  b
) 
 

vec3 operator- (  const vec3 &  a  ) 
 

vec2 operator- (  const vec2 &  a,
const vec2 &  b
) 
 

vec2 operator- (  const vec2 &  a  ) 
 

mat4 operator/ (  const mat4 &  a,
float  d
) 
 

mat3 operator/ (  const mat3 &  a,
float  d
) 
 

vec4 operator/ (  const vec4 &  a,
float  d
) 
 

vec3 operator/ (  const vec3 &  a,
float  d
) 
 

vec2 operator/ (  const vec2 &  a,
float  d
) 
 

int operator== (  const mat4 &  a,
const mat4 &  b
) 
 

int operator== (  const mat3 &  a,
const mat3 &  b
) 
 

int operator== (  const vec4 &  a,
const vec4 &  b
) 
 

int operator== (  const vec3 &  a,
const vec3 &  b
) 
 

int operator== (  const vec2 &  a,
const vec2 &  b
) 
 

vec3 operator^ (  const vec3 &  a,
const vec3 &  b
) 
 

vec3 operator^ (  const vec2 &  a,
const vec2 &  b
) 
 

mat4 perspective3D (  float  d  ) 
 

vec4 prod (  const vec4 &  a,
const vec4 &  b
) 
 

vec3 prod (  const vec3 &  a,
const vec3 &  b
) 
 

vec2 prod (  const vec2 &  a,
const vec2 &  b
) 
 

mat3 rotation2D (  const vec2 &  Center,
float  angleDeg
) 
 

mat4 rotation3D (  const vec3 &  Axis,
float  angleDeg
) 
 

mat4 rotation3Drad (  const vec3 &  Axis,
float  angleRad
) 
 

mat3 scaling2D (  const vec2 &  scaleVector  ) 
 

mat4 scaling3D (  const vec3 &  scaleVector  ) 
 

void swap (  mat4 &  a,
mat4 &  b
) 
 

void swap (  mat3 &  a,
mat3 &  b
) 
 

void swap (  vec4 &  a,
vec4 &  b
) 
 

void swap (  vec3 &  a,
vec3 &  b
) 
 

void swap (  vec2 &  a,
vec2 &  b
) 
 

mat3 translation2D (  const vec2 &  v  ) 
 

mat4 translation3D (  const vec3 &  v  ) 
 


Generated on Fri Sep 15 17:51:57 2006 for GLUI by doxygen 1.3.6