Site Tools


documentation:development:opera:pf25:ppgfldr:pgsfldr:spr:03spr056

MulObjectVec4Mat44_F16

Multiplies many vectors within an object structure by a 4×4 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 3×3 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()

documentation/development/opera/pf25/ppgfldr/pgsfldr/spr/03spr056.txt · Last modified: 2022/10/10 16:53 by 127.0.0.1