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;
- oo1_DestArrayPtrOffset is the offset (in bytes) from the beginning of an object structure to the location of the pointer to an array of vectors to fill with the results of the multiplies.
- oo1_SrcArrayPtrOffset is the offset (in bytes) from the beginning of an object structure to the location of the pointer to an array of vectors to be multiplied.
- oo1_MatOffset is the offset (in bytes) from the beginning of an object structure to the location of the matrix to be multiplied.
- oo1_CountOffset is the offset (in bytes) from the beginning of an object structure to the location of the count of the number of vectors to be multiplied.
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
()