# MulObjectMat44_F16

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

### Synopsis

`void MulObjectMat44_F16( void *objectlist[],ObjOffset2 *offsetstruct, mat44f16 mat, int32 count )`

### Description

This function multiplies a matrix within object structures by an external 4x4 matrix of 16.16 fractions, and repeats over a number of objects. The results of the product are deposited in the destination matrix in each object structure pointed to by the objectlist array.

The object structure argument defines offsets within objects to the elements to be manipulated. The definition for ObjOffset2 is as follows:

`typedef struct ObjOffset2 {int32 oo2_DestMatOffset; int32 oo2_SrcMatOffset;} ObjOffset2;`

- oo2_DestMatOffset is the offset (in bytes) from the beginning of an object structure to where to write the result of the matrix multiply.
- oo2_SrcMatOffset is the offset (in bytes) from the beginning of an object structure to the location of the matrix 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.

mat
  A 4x4 matrix of 16.16 fractions to be multiplied.

count
  The number of vectors for the multiplication.

### Implementation

SWI implemented in operamath V20.

### Associated Files

operamath.h

### See Also

``MulObjectMat33_F16`()`