|
Defines |
#define | VEC_ZERO_2(a) |
| Zero out a 2D vector.
|
#define | VEC_ZERO(a) |
| Zero out a 3D vector.
|
#define | VEC_ZERO_4(a) |
| Zero out a 4D vector.
|
#define | VEC_COPY_2(b, a) |
| Vector copy.
|
#define | VEC_COPY(b, a) |
| Copy 3D vector.
|
#define | VEC_COPY_4(b, a) |
| Copy 4D vector.
|
#define | VEC_SWAP(b, a) |
| VECTOR SWAP.
|
#define | VEC_DIFF_2(v21, v2, v1) |
| Vector difference.
|
#define | VEC_DIFF(v21, v2, v1) |
| Vector difference.
|
#define | VEC_DIFF_4(v21, v2, v1) |
| Vector difference.
|
#define | VEC_SUM_2(v21, v2, v1) |
| Vector sum.
|
#define | VEC_SUM(v21, v2, v1) |
| Vector sum.
|
#define | VEC_SUM_4(v21, v2, v1) |
| Vector sum.
|
#define | VEC_SCALE_2(c, a, b) |
| scalar times vector
|
#define | VEC_SCALE(c, a, b) |
| scalar times vector
|
#define | VEC_SCALE_4(c, a, b) |
| scalar times vector
|
#define | VEC_ACCUM_2(c, a, b) |
| accumulate scaled vector
|
#define | VEC_ACCUM(c, a, b) |
| accumulate scaled vector
|
#define | VEC_ACCUM_4(c, a, b) |
| accumulate scaled vector
|
#define | VEC_DOT_2(a, b) ((a)[0]*(b)[0] + (a)[1]*(b)[1]) |
| Vector dot product.
|
#define | VEC_DOT(a, b) ((a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2]) |
| Vector dot product.
|
#define | VEC_DOT_4(a, b) ((a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2] + (a)[3]*(b)[3]) |
| Vector dot product.
|
#define | VEC_IMPACT_SQ(bsq, direction, position) |
| vector impact parameter (squared)
|
#define | VEC_IMPACT(bsq, direction, position) |
| vector impact parameter
|
#define | VEC_LENGTH_2(a, l) |
| Vector length.
|
#define | VEC_LENGTH(a, l) |
| Vector length.
|
#define | VEC_LENGTH_4(a, l) |
| Vector length.
|
#define | VEC_INV_LENGTH_2(a, l) |
| Vector inv length.
|
#define | VEC_INV_LENGTH(a, l) |
| Vector inv length.
|
#define | VEC_INV_LENGTH_4(a, l) |
| Vector inv length.
|
#define | VEC_DISTANCE(_len, _va, _vb) |
| distance between two points
|
#define | VEC_CONJUGATE_LENGTH(a, l) |
| Vector length.
|
#define | VEC_NORMALIZE(a) |
| Vector length.
|
#define | VEC_RENORMALIZE(a, newlen) |
| Set Vector size.
|
#define | VEC_CROSS(c, a, b) |
| Vector cross.
|
#define | VEC_PERPENDICULAR(vp, v, n) |
#define | VEC_PARALLEL(vp, v, n) |
#define | VEC_PROJECT(vp, v, n) |
#define | VEC_UNPROJECT(vp, v, n) |
#define | VEC_REFLECT(vr, v, n) |
#define | VEC_BLEND_AB(vr, sa, a, sb, b) |
#define | VEC_BLEND(vr, a, b, s) VEC_BLEND_AB(vr,(1-s),a,s,b) |
#define | VEC_SET3(a, b, op, c) a[0]=b[0] op c[0]; a[1]=b[1] op c[1]; a[2]=b[2] op c[2]; |
#define | VEC_MAYOR_COORD(vec, maxc) |
| Finds the bigger cartesian coordinate from a vector.
|
#define | VEC_MINOR_AXES(vec, i0, i1) |
| Finds the 2 smallest cartesian coordinates from a vector.
|
#define | VEC_EQUAL(v1, v2) (v1[0]==v2[0]&&v1[1]==v2[1]&&v1[2]==v2[2]) |
#define | VEC_NEAR_EQUAL(v1, v2) (GIM_NEAR_EQUAL(v1[0],v2[0])&&GIM_NEAR_EQUAL(v1[1],v2[1])&&GIM_NEAR_EQUAL(v1[2],v2[2])) |
#define | X_AXIS_CROSS_VEC(dst, src) |
| Vector cross.
|
#define | Y_AXIS_CROSS_VEC(dst, src) |
#define | Z_AXIS_CROSS_VEC(dst, src) |
#define | IDENTIFY_MATRIX_3X3(m) |
| initialize matrix
|
#define | IDENTIFY_MATRIX_4X4(m) |
#define | ZERO_MATRIX_4X4(m) |
#define | ROTX_CS(m, cosine, sine) |
#define | ROTY_CS(m, cosine, sine) |
#define | ROTZ_CS(m, cosine, sine) |
#define | COPY_MATRIX_2X2(b, a) |
#define | COPY_MATRIX_2X3(b, a) |
#define | COPY_MATRIX_3X3(b, a) |
#define | COPY_MATRIX_4X4(b, a) |
#define | TRANSPOSE_MATRIX_2X2(b, a) |
#define | TRANSPOSE_MATRIX_3X3(b, a) |
#define | TRANSPOSE_MATRIX_4X4(b, a) |
#define | SCALE_MATRIX_2X2(b, s, a) |
#define | SCALE_MATRIX_3X3(b, s, a) |
#define | SCALE_MATRIX_4X4(b, s, a) |
#define | SCALE_VEC_MATRIX_2X2(b, svec, a) |
#define | SCALE_VEC_MATRIX_3X3(b, svec, a) |
#define | SCALE_VEC_MATRIX_4X4(b, svec, a) |
#define | ACCUM_SCALE_MATRIX_2X2(b, s, a) |
#define | ACCUM_SCALE_MATRIX_3X3(b, s, a) |
#define | ACCUM_SCALE_MATRIX_4X4(b, s, a) |
#define | MATRIX_PRODUCT_2X2(c, a, b) |
#define | MATRIX_PRODUCT_3X3(c, a, b) |
#define | MATRIX_PRODUCT_4X4(c, a, b) |
#define | MAT_DOT_VEC_2X2(p, m, v) |
#define | MAT_DOT_VEC_3X3(p, m, v) |
#define | MAT_DOT_VEC_4X4(p, m, v) |
#define | MAT_DOT_VEC_3X4(p, m, v) |
#define | VEC_DOT_MAT_3X3(p, v, m) |
#define | MAT_DOT_VEC_2X3(p, m, v) |
#define | MAT_TRANSFORM_PLANE_4X4(pout, m, plane) |
| Transform a plane.
|
#define | INV_TRANSP_MAT_DOT_VEC_2X2(p, m, v) |
#define | NORM_XFORM_2X2(p, m, v) |
#define | OUTER_PRODUCT_2X2(m, v, t) |
#define | OUTER_PRODUCT_3X3(m, v, t) |
#define | OUTER_PRODUCT_4X4(m, v, t) |
#define | ACCUM_OUTER_PRODUCT_2X2(m, v, t) |
#define | ACCUM_OUTER_PRODUCT_3X3(m, v, t) |
#define | ACCUM_OUTER_PRODUCT_4X4(m, v, t) |
#define | DETERMINANT_2X2(d, m) |
#define | DETERMINANT_3X3(d, m) |
#define | COFACTOR_4X4_IJ(fac, m, i, j) |
#define | DETERMINANT_4X4(d, m) |
#define | COFACTOR_2X2(a, m) |
#define | COFACTOR_3X3(a, m) |
#define | COFACTOR_4X4(a, m) |
#define | ADJOINT_2X2(a, m) |
#define | ADJOINT_3X3(a, m) |
#define | ADJOINT_4X4(a, m) |
#define | SCALE_ADJOINT_2X2(a, s, m) |
#define | SCALE_ADJOINT_3X3(a, s, m) |
#define | SCALE_ADJOINT_4X4(a, s, m) |
#define | INVERT_2X2(b, det, a) |
#define | INVERT_3X3(b, det, a) |
#define | INVERT_4X4(b, det, a) |
#define | MAT_GET_ROW(mat, vec3, rowindex) |
| Get the triple(3) row of a transform matrix.
|
#define | MAT_GET_ROW2(mat, vec2, rowindex) |
| Get the tuple(2) row of a transform matrix.
|
#define | MAT_GET_ROW4(mat, vec4, rowindex) |
| Get the quad (4) row of a transform matrix.
|
#define | MAT_GET_COL(mat, vec3, colindex) |
| Get the triple(3) col of a transform matrix.
|
#define | MAT_GET_COL2(mat, vec2, colindex) |
| Get the tuple(2) col of a transform matrix.
|
#define | MAT_GET_COL4(mat, vec4, colindex) |
| Get the quad (4) col of a transform matrix.
|
#define | MAT_GET_X(mat, vec3) |
| Get the triple(3) col of a transform matrix.
|
#define | MAT_GET_Y(mat, vec3) |
| Get the triple(3) col of a transform matrix.
|
#define | MAT_GET_Z(mat, vec3) |
| Get the triple(3) col of a transform matrix.
|
#define | MAT_SET_X(mat, vec3) |
| Get the triple(3) col of a transform matrix.
|
#define | MAT_SET_Y(mat, vec3) |
| Get the triple(3) col of a transform matrix.
|
#define | MAT_SET_Z(mat, vec3) |
| Get the triple(3) col of a transform matrix.
|
#define | MAT_GET_TRANSLATION(mat, vec3) |
| Get the triple(3) col of a transform matrix.
|
#define | MAT_SET_TRANSLATION(mat, vec3) |
| Set the triple(3) col of a transform matrix.
|
#define | MAT_DOT_ROW(mat, vec3, rowindex) (vec3[0]*mat[rowindex][0] + vec3[1]*mat[rowindex][1] + vec3[2]*mat[rowindex][2]) |
| Returns the dot product between a vec3f and the row of a matrix.
|
#define | MAT_DOT_ROW2(mat, vec2, rowindex) (vec2[0]*mat[rowindex][0] + vec2[1]*mat[rowindex][1]) |
| Returns the dot product between a vec2f and the row of a matrix.
|
#define | MAT_DOT_ROW4(mat, vec4, rowindex) (vec4[0]*mat[rowindex][0] + vec4[1]*mat[rowindex][1] + vec4[2]*mat[rowindex][2] + vec4[3]*mat[rowindex][3]) |
| Returns the dot product between a vec4f and the row of a matrix.
|
#define | MAT_DOT_COL(mat, vec3, colindex) (vec3[0]*mat[0][colindex] + vec3[1]*mat[1][colindex] + vec3[2]*mat[2][colindex]) |
| Returns the dot product between a vec3f and the col of a matrix.
|
#define | MAT_DOT_COL2(mat, vec2, colindex) (vec2[0]*mat[0][colindex] + vec2[1]*mat[1][colindex]) |
| Returns the dot product between a vec2f and the col of a matrix.
|
#define | MAT_DOT_COL4(mat, vec4, colindex) (vec4[0]*mat[0][colindex] + vec4[1]*mat[1][colindex] + vec4[2]*mat[2][colindex] + vec4[3]*mat[3][colindex]) |
| Returns the dot product between a vec4f and the col of a matrix.
|
#define | INV_MAT_DOT_VEC_3X3(p, m, v) |