MulObjectVec4Mat44_F16

Multiplies many vectors within an object structure by a 4x4 matrix of 16.16 values.

Synopsis

void MulObjectVec4Mat44_F16( void *objectlist[],ObjOffset1 *offsetstruct, int32 count )

Description

This function multiplies one or more vectors within object structures by a 3x3 matrix of 16.16 fractions also within that structure, and repeats over a number of objects. The results of the product are deposited in the destination arrays pointed to by object structures pointed to by the objectlist array.

The object structure argument defines offsets within objects to the elements to be manipulated. The object structure has a pointer to an array of points associated with the object, a pointer to an array of transformed points, a count of the number of points, and an orientation matrix. The definition for ObjOffset1 is as follows:

typedef struct ObjOffset1 {int32 oo1_DestArrayPtrOffset; int32 oo1_SrcArrayPtrOffset; int32 oo1_MatOffset; int32 oo1_CountOffset;} ObjOffset1;

Arguments

objectlist
An array of pointers to object structures to modify.
offsetstruct
A pointer to the source object structure that defines offsets within object's to the elements to be multiplied.
count
The number of vectors for the multiplication.

Implementation

SWI implemented in operamath V20.

Associated Files

operamath.h

See Also

MulObjectVec3Mat33_F16()