Introduction | Files | Utilities | Gallery | ToDo list

slap.h File Reference

Small Linear Algrebra Package (SLAP); this code is auto-generated. More...

Go to the source code of this file.

Classes

struct  vector2_t
 2 vector structure. More...
struct  vector3_t
 3 vector structure. More...
struct  vector4_t
 4 vector structure. More...
struct  matrix33_t
 3 by 3 matrix structure. More...
struct  matrix44_t
 4 by 4 matrix structure. More...
struct  pose2_t
 Basic 2D pose structure. More...

Functions

vector2_t vector2_set (double v0, double v1)
 Set vector elements.
vector2_t vector2_add (vector2_t a, vector2_t b)
 Add two vectors.
vector2_t vector2_sub (vector2_t a, vector2_t b)
 Subtract vectors: c = a - b.
vector2_t vector2_unit (vector2_t a)
 Return unit vector.
vector2_t vector2_scale (double a, vector2_t b)
 Scale vector: c = ab.
double vector2_dot (vector2_t a, vector2_t b)
 Dot product: c = a.b.
double vector2_mag (vector2_t a)
 Vector magnitude: b = |a|.
double vector2_dist (vector2_t a, vector2_t b)
 Euclidian distance between points a and b.
vector3_t vector3_set (double v0, double v1, double v2)
 Set vector elements.
vector3_t vector3_add (vector3_t a, vector3_t b)
 Add two vectors.
vector3_t vector3_sub (vector3_t a, vector3_t b)
 Subtract vectors: c = a - b.
vector3_t vector3_unit (vector3_t a)
 Return unit vector.
vector3_t vector3_scale (double a, vector3_t b)
 Scale vector: c = ab.
double vector3_dot (vector3_t a, vector3_t b)
 Dot product: c = a.b.
vector3_t vector3_cross (vector3_t a, vector3_t b)
 Cross product: c = a x b.
double vector3_mag (vector3_t a)
 Vector magnitude: b = |a|.
double vector3_dist (vector3_t a, vector3_t b)
 Euclidian distance between points a and b.
vector4_t vector4_set (double v0, double v1, double v2, double v3)
 Set vector elements.
vector4_t vector4_add (vector4_t a, vector4_t b)
 Add two vectors.
vector4_t vector4_sub (vector4_t a, vector4_t b)
 Subtract vectors: c = a - b.
vector4_t vector4_unit (vector4_t a)
 Return unit vector.
vector4_t vector4_scale (double a, vector4_t b)
 Scale vector: c = ab.
double vector4_dot (vector4_t a, vector4_t b)
 Dot product: c = a.b.
double vector4_mag (vector4_t a)
 Vector magnitude: b = |a|.
double vector4_dist (vector4_t a, vector4_t b)
 Euclidian distance between points a and b.
matrix33_t matrix33_set (double v00, double v01, double v02, double v10, double v11, double v12, double v20, double v21, double v22)
 Set matrix elements.
matrix33_t matrix33_setv (double v[16])
 Set matrix elements.
matrix33_t matrix33_ident ()
 Construct identity matrix.
matrix33_t matrix33_add (matrix33_t a, matrix33_t b)
 Add two matrixs.
matrix33_t matrix33_sub (matrix33_t a, matrix33_t b)
 Subtract matrixs: c = a - b.
matrix33_t matrix33_mul (matrix33_t a, matrix33_t b)
 Matrix multiplication c = ab.
vector3_t matrix33_mul_3 (matrix33_t a, vector3_t b)
 Matrix/vector multiplication c = ab.
matrix33_t matrix33_trans (matrix33_t a)
 Transpose matrix.
matrix33_t matrix33_inv (matrix33_t a)
 Inv matrix.
int matrix33_isnan (matrix33_t a)
 Check for nan elements.
matrix33_t matrix33_mul_33 (matrix33_t a, matrix33_t b)
 Matrix multiplication c = ab.
matrix44_t matrix44_set (double v00, double v01, double v02, double v03, double v10, double v11, double v12, double v13, double v20, double v21, double v22, double v23, double v30, double v31, double v32, double v33)
 Set matrix elements.
matrix44_t matrix44_setv (double v[16])
 Set matrix elements.
matrix44_t matrix44_ident ()
 Construct identity matrix.
matrix44_t matrix44_add (matrix44_t a, matrix44_t b)
 Add two matrixs.
matrix44_t matrix44_sub (matrix44_t a, matrix44_t b)
 Subtract matrixs: c = a - b.
matrix44_t matrix44_mul (matrix44_t a, matrix44_t b)
 Matrix multiplication c = ab.
vector4_t matrix44_mul_4 (matrix44_t a, vector4_t b)
 Matrix/vector multiplication c = ab.
matrix44_t matrix44_trans (matrix44_t a)
 Transpose matrix.
matrix44_t matrix44_inv (matrix44_t a)
 Inv matrix.
int matrix44_isnan (matrix44_t a)
 Check for nan elements.
matrix44_t matrix44_mul_44 (matrix44_t a, matrix44_t b)
 Matrix multiplication c = ab.
pose2_t pose2_set (vector2_t pos, double rot)
 Set pose elements.
pose2_t pose2_inv (pose2_t a)
 Take pose "inverse"; i.e. if c = a + b, then b = -a + c.
pose2_t pose2_add (pose2_t a, pose2_t b)
 Add two poses c = a + b.
vector2_t pose2_add_pos (vector2_t a, pose2_t b)
 Add two poses c = a + b.
double pose2_add_rot (double a, pose2_t b)
 Add two poses (rotation component) c = a + b.
pose2_t pose2_sub (pose2_t a, pose2_t b)
 Subtract poses: c = a - b.
vector2_t pose2_sub_pos (vector2_t a, pose2_t b)
 Subtract two poses c = a - b.
double pose2_sub_rot (double a, pose2_t b)
 Subtract two poses (rotation component) c = a - b.


Detailed Description

Small Linear Algrebra Package (SLAP); this code is auto-generated.


Generated on Tue Dec 14 14:37:39 2004 for Simple map utilities by doxygen 1.3.8