#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
| 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. |
None.
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 | |
Mtx, MtxPtr, Point3d, Point3dPtr, Vec, VecPtr, MTXMultVec, MTXMultVecArray, MTXMultVecArraySR
2008/05/26 Corrected errors.
2006/03/01 Initial version.
CONFIDENTIAL