Macros | |
#define | DotProduct(a, b) ((a)[0] * (b)[0] + (a)[1] * (b)[1] + (a)[2] * (b)[2]) |
#define | VectorAdd(a, b, c) |
#define | VectorBlend(v1, v2, b, v) |
#define | VectorCompare(x, y) VectorCompCompare (x, ==, y) |
#define | VectorCompBound(a, b, c, d) |
#define | VectorCompCompare(x, op, y) (((x)[0] op (y)[0]) && ((x)[1] op (y)[1]) && ((x)[2] op (y)[2])) |
#define | VectorCompDiv(a, b, c) |
#define | VectorCompMax(a, b, c) |
#define | VectorCompMin(a, b, c) |
#define | VectorCompMult(a, b, c) |
#define | VectorCopy(a, b) |
#define | VectorDistance(a, b) sqrt(VectorDistance_fast(a, b)) |
#define | VectorDistance_fast(a, b) |
#define | VectorExpand(v) (v)[0], (v)[1], (v)[2] |
#define | VectorIsZero(a) (!(a)[0] && !(a)[1] && !(a)[2]) |
#define | VectorLength(a) sqrt(DotProduct(a, a)) |
#define | VectorMultAdd(a, s, b, c) |
#define | VectorMultSub(a, s, b, c) |
#define | VectorNegate(a, b) |
#define | VectorScale(a, b, c) |
#define | VectorSet(a, b, c, d) |
#define | VectorShear(a, b, c) |
Shear vector b by vector a. More... | |
#define | VectorSubtract(a, b, c) |
#define | VectorUnshear(a, b, c) |
#define | VectorZero(a) ((a)[2] = (a)[1] = (a)[0] = 0); |
Functions | |
vec_t | _DotProduct (const vec3_t v1, const vec3_t v2) |
void | _VectorAdd (const vec3_t veca, const vec3_t vecb, vec3_t out) |
int | _VectorCompare (const vec3_t v1, const vec3_t v2) |
void | _VectorCopy (const vec3_t in, vec3_t out) |
vec_t | _VectorLength (const vec3_t v) |
void | _VectorMA (const vec3_t veca, float scale, const vec3_t vecb, vec3_t vecc) |
vec_t | _VectorNormalize (vec3_t v) |
void | _VectorScale (const vec3_t in, vec_t scale, vec3_t out) |
void | _VectorSubtract (const vec3_t veca, const vec3_t vecb, vec3_t out) |
void | CrossProduct (const vec3_t v1, const vec3_t v2, vec3_t cross) |
float | VectorNormalize (vec3_t v) |
Variables | |
const vec_t *const | vec3_origin |
#define DotProduct | ( | a, | |
b | |||
) | ((a)[0] * (b)[0] + (a)[1] * (b)[1] + (a)[2] * (b)[2]) |
#define VectorAdd | ( | a, | |
b, | |||
c | |||
) |
#define VectorBlend | ( | v1, | |
v2, | |||
b, | |||
v | |||
) |
#define VectorCompare | ( | x, | |
y | |||
) | VectorCompCompare (x, ==, y) |
#define VectorCompBound | ( | a, | |
b, | |||
c, | |||
d | |||
) |
#define VectorCompCompare | ( | x, | |
op, | |||
y | |||
) | (((x)[0] op (y)[0]) && ((x)[1] op (y)[1]) && ((x)[2] op (y)[2])) |
#define VectorCompDiv | ( | a, | |
b, | |||
c | |||
) |
#define VectorCompMax | ( | a, | |
b, | |||
c | |||
) |
#define VectorCompMin | ( | a, | |
b, | |||
c | |||
) |
#define VectorCompMult | ( | a, | |
b, | |||
c | |||
) |
#define VectorCopy | ( | a, | |
b | |||
) |
#define VectorDistance | ( | a, | |
b | |||
) | sqrt(VectorDistance_fast(a, b)) |
#define VectorDistance_fast | ( | a, | |
b | |||
) |
#define VectorExpand | ( | v | ) | (v)[0], (v)[1], (v)[2] |
#define VectorIsZero | ( | a | ) | (!(a)[0] && !(a)[1] && !(a)[2]) |
#define VectorLength | ( | a | ) | sqrt(DotProduct(a, a)) |
#define VectorMultAdd | ( | a, | |
s, | |||
b, | |||
c | |||
) |
#define VectorMultSub | ( | a, | |
s, | |||
b, | |||
c | |||
) |
#define VectorNegate | ( | a, | |
b | |||
) |
#define VectorScale | ( | a, | |
b, | |||
c | |||
) |
#define VectorSet | ( | a, | |
b, | |||
c, | |||
d | |||
) |
#define VectorShear | ( | a, | |
b, | |||
c | |||
) |
Shear vector b by vector a.
Vector a represents the shear factors XY, XZ, YZ, ie in matrix form: [ 1 0 0 ] [ b0 ] [ a0 1 0 ] [ b1 ] [ a1 a2 1 ] [ b2 ]
The reason for this particular scheme is that is how Mat4Decompose calculates the shear from a matrix.
#define VectorSubtract | ( | a, | |
b, | |||
c | |||
) |
#define VectorUnshear | ( | a, | |
b, | |||
c | |||
) |
#define VectorZero | ( | a | ) | ((a)[2] = (a)[1] = (a)[0] = 0); |
|
inline |