Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

panda/src/linmath/lmatrix3_src.I File Reference

Go to the source code of this file.

Defines

#define VECTOR3_MATRIX3_PRODUCT(v_res, v, mat)
#define MATRIX3_PRODUCT(res, a, b)
#define SWAP__(x, y)   { FLOATTYPE temp = (x); (x) = (y); (y) = temp;}
#define DET2(E00, E01, E10, E11)   ((E00)*(E11) - (E10)*(E01))
#define MATRIX3_DETERMINANT(mat)

Functions

INLINE_LINMATH const FLOATNAME (LMatrix3)&FLOATNAME(LMatrix3)
 Sets each element of the matrix to the indicated fill_value.

INLINE_LINMATH FLOATNAME (LVecBase3) FLOATNAME(LMatrix3)
 Returns the indicated row of the matrix as a three-component vector.

INLINE_LINMATH FLOATNAME (LVecBase2) FLOATNAME(LMatrix3)
 Returns the indicated row of the matrix as a two-component vector, ignoring the last column.


Detailed Description

Definition in file lmatrix3_src.I.


Define Documentation

#define DET2 E00,
E01,
E10,
E11   )     ((E00)*(E11) - (E10)*(E01))
 

Definition at line 909 of file lmatrix3_src.I.

#define MATRIX3_DETERMINANT mat   ) 
 

Value:

( (mat)._00 * DET2((mat)._11,(mat)._12,(mat)._21,(mat)._22)    \
    -(mat)._01 * DET2((mat)._10,(mat)._12,(mat)._20,(mat)._22)    \
    +(mat)._02 * DET2((mat)._10,(mat)._11,(mat)._20,(mat)._21))

Definition at line 910 of file lmatrix3_src.I.

#define MATRIX3_PRODUCT res,
a,
 ) 
 

Value:

res._m.m._00 = a._m.m._00*b._m.m._00 + a._m.m._01*b._m.m._10 + a._m.m._02*b._m.m._20;   \
res._m.m._01 = a._m.m._00*b._m.m._01 + a._m.m._01*b._m.m._11 + a._m.m._02*b._m.m._21;   \
res._m.m._02 = a._m.m._00*b._m.m._02 + a._m.m._01*b._m.m._12 + a._m.m._02*b._m.m._22;   \
res._m.m._10 = a._m.m._10*b._m.m._00 + a._m.m._11*b._m.m._10 + a._m.m._12*b._m.m._20;   \
res._m.m._11 = a._m.m._10*b._m.m._01 + a._m.m._11*b._m.m._11 + a._m.m._12*b._m.m._21;   \
res._m.m._12 = a._m.m._10*b._m.m._02 + a._m.m._11*b._m.m._12 + a._m.m._12*b._m.m._22;   \
res._m.m._20 = a._m.m._20*b._m.m._00 + a._m.m._21*b._m.m._10 + a._m.m._22*b._m.m._20;   \
res._m.m._21 = a._m.m._20*b._m.m._01 + a._m.m._21*b._m.m._11 + a._m.m._22*b._m.m._21;   \
res._m.m._22 = a._m.m._20*b._m.m._02 + a._m.m._21*b._m.m._12 + a._m.m._22*b._m.m._22;

Definition at line 615 of file lmatrix3_src.I.

#define SWAP__ x,
y   )     { FLOATTYPE temp = (x); (x) = (y); (y) = temp;}
 

#define VECTOR3_MATRIX3_PRODUCT v_res,
v,
mat   ) 
 

Value:

v_res._v.v._0 = v._v.v._0*mat._m.m._00 + v._v.v._1*mat._m.m._10 + v._v.v._2*mat._m.m._20;   \
v_res._v.v._1 = v._v.v._0*mat._m.m._01 + v._v.v._1*mat._m.m._11 + v._v.v._2*mat._m.m._21;   \
v_res._v.v._2 = v._v.v._0*mat._m.m._02 + v._v.v._1*mat._m.m._12 + v._v.v._2*mat._m.m._22;

Definition at line 508 of file lmatrix3_src.I.


Function Documentation

INLINE_LINMATH FLOATNAME LVecBase2   ) 
 

Returns the indicated row of the matrix as a two-component vector, ignoring the last column.

This assumes the matrix is an affine transform.

Definition at line 266 of file lmatrix3_src.I.

INLINE_LINMATH FLOATNAME LVecBase3   ) 
 

Returns the indicated row of the matrix as a three-component vector.

This is a fully general operation.

Definition at line 229 of file lmatrix3_src.I.

References FLOATNAME, and int().

INLINE_LINMATH const FLOATNAME LMatrix3   ) 
 

Sets each element of the matrix to the indicated fill_value.

This function definition must appear first, since some inline functions below take advantage of it.

Definition at line 36 of file lmatrix3_src.I.

References FLOATNAME, and INLINE_LINMATH.


Generated on Fri May 2 00:45:51 2003 for Panda by doxygen1.3