MTXMultVecSR

Syntax

#include <revolution/mtx.h>

void C_MTXMultVecSR ( const Mtx m, const Vec* src, Vec* dst );
void PSMTXMultVecSR ( const Mtx m, const Vec* src, Vec* dst );

#define MTXMultVecSR  C_MTXMultVecSR // for debug build
#define MTXMultVecSR  PSMTXMultVecSR // for nondebug build

Arguments

m Source matrix to multiply. m is not altered by this function. m may be either a Mtx or a MtxPtr.
src Pointer to the source vector (Vec type) to be multiplied. src may also be a pointer to a Point3d.
dst Pointer to resultant (Vec, the result of the (m3x3 x src) multiplication. dst may also be a pointer to a Point3d. OK if src=dst

Return Values

None.

Description

Pre-multiplies a 3D vector or 3D point and a 3x3 sub-matrix (Scale and Rotate component of 3x4 matrix m).

During a debug build, MTXMultVecSR is interpreted as C_MTXMultVecSR, which is a normal C language version. During a nondebug build for a Broadway processor, the paired-singles equivalent of this function, PSMTXMultVecSR, will be automatically substituted. You can also call each of C_MTXMultVecSR/PSMTXMultVecSR explicitly.

| m00   m01   m02   m03 | | m00   m01   m02 |
When m =  | m10   m11   m12   m13 | ,     dst =   | m10   m11   m12 |   x  src
| m20   m21   m22   m23 | | m20   m21   m22 |

See Also

Mtx, MtxPtr, Point3d, Point3dPtr, Vec, VecPtr, MTXMultVec, MTXMultVecArray, MTXMultVecArraySR

Revision History

2008/05/26 Corrected errors.
2006/03/01 Initial version.


CONFIDENTIAL