1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<HTML>
3<HEAD>
4<META http-equiv="Content-Type" content="text/html; charset=windows-1252">
5<META name="GENERATOR" content="Microsoft FrontPage 5.0">
6<META http-equiv="Content-Style-Type" content="text/css">
7<LINK rel="stylesheet" type="text/css" href="../../CSS/revolution.css">
8<TITLE>MTXMultVecSR</TITLE>
9</HEAD>
10<BODY>
11<H1 align="left">MTXMultVecSR</H1>
12<H2 align="left">C Specification</H2>
13<BLOCKQUOTE><CODE><CODE>#include &lt;revolution/mtx.h&gt;</CODE></CODE></BLOCKQUOTE>
14<BLOCKQUOTE><CODE><CODE>void C_MTXMultVecSR ( const Mtx <EM>m</EM>, const Vec* <EM>src</EM>, Vec* <EM>dst</EM> );<BR> void PSMTXMultVecSR ( const Mtx <EM>m</EM>, const Vec* <EM>src</EM>, Vec* <EM>dst</EM> );<BR> <BR> #define MTXMultVecSR&nbsp; C_MTXMultVecSR // for debug build<BR> #define MTXMultVecSR&nbsp; PSMTXMultVecSR // for nondebug build</CODE></CODE></BLOCKQUOTE>
15<H2 align="left">Arguments</H2>
16<DIV align="left">
17<TABLE border="1" cellpadding="3" cellspacing="0.1">
18  <TBODY>
19    <TR>
20<TD width="120" bgcolor="#ffffe8"><CODE><STRONG><EM>m</EM></STRONG></CODE></TD>
21<TD width="520">Source matrix for multiply.&nbsp;&nbsp; <code><em><strong>m</strong></em></code> is unaffected by this function.&nbsp; <code><em><strong>m</strong></em></code> may be either an <A href="../structures/Mtx_MtxPtr.html"><code>Mtx</code></a> or an <A href="../structures/Mtx_MtxPtr.html"><code>MtxPtr</code></a>.</TD>
22    </TR>
23    <TR>
24<TD width="120" bgcolor="#ffffe8"><CODE><STRONG><EM>src</EM></STRONG></CODE></TD>
25<TD width="520">Pointer to source <A href="../structures/Vec_VecPtr.html"><CODE>Vec</CODE></A>, the source vector to be multiplied. <code><em><strong>src</strong></em></code> may also be a pointer to a <A href="../structures/Point3d_Point3dPtr.html"><CODE>Point3d</CODE></A>.</TD>
26    </TR>
27    <TR>
28<TD width="120" bgcolor="#ffffe8"><CODE><STRONG><EM>dst</EM></STRONG></CODE></TD>
29<TD width="520">Pointer to the resulting <A href="../structures/Vec_VecPtr.html"><CODE>Vec</CODE></A>, the result of the (<EM><STRONG><CODE><VAR>m</VAR></CODE></STRONG></EM> <SUB>3x3</SUB> x <EM><STRONG><CODE>src</CODE></STRONG></EM>) multiplication. <code><em><strong>dst</STRONG></EM></code> may also be a pointer to a <A href="../structures/Point3d_Point3dPtr.html"><CODE>Point3d</CODE></A>. <CODE><EM><STRONG>src</STRONG></EM></CODE> can be the same as <CODE><EM><STRONG>dst</STRONG></EM></CODE>.</TD>
30    </TR>
31  </TBODY>
32</TABLE>
33</DIV>
34<H2 align="left">Return Values</H2>
35<P align="left">None.</P>
36<H2 align="left">Description</H2>
37<P align="left">Multiplies a 3D vector or 3D point on the left with a 3x3 sub-matrix (<u>S</u>cale and <u>R</u>otate component of 3x4 matrix <CODE><EM><STRONG>m</STRONG></EM></CODE>).</P>
38<P align="left">During a debug build, <code>MTXMultVecSR</code> is interpreted as <code>C_MTXMultVecSR</code>, which is a normal C language version. During a nondebug build for a Broadway processor, the paired-singles equivalent of this function, <code>PSMTXMultVecSR</code>, will be automatically substituted. You can also call <code>C_MTXMultVecSR</CODE> or <CODE>PSMTXMultVecSR</code> explicitly.</P>
39<TABLE border="0" width="59%" cellpadding="0" cellspacing="0">
40  <TBODY>
41    <TR>
42      <TD width="4%" nowrap></TD>
43<TD width="6%" nowrap>|&nbsp;m00&nbsp;</TD>
44<TD width="5%" nowrap>&nbsp;m01&nbsp;</TD>
45<TD width="6%" nowrap>&nbsp;m02&nbsp;</TD>
46<TD width="6%" nowrap>&nbsp;m03&nbsp;|</TD>
47      <TD width="6%" nowrap></TD>
48      <TD width="7%" nowrap></TD>
49<TD width="5%" nowrap>|&nbsp;m00&nbsp;</TD>
50<TD width="4%" nowrap>&nbsp;m01&nbsp;</TD>
51<TD width="4%" nowrap>&nbsp;m02&nbsp;|</TD>
52      <TD width="22%" nowrap></TD>
53    </TR>
54    <TR>
55<TD width="4%" nowrap>When <CODE><EM><STRONG>m</STRONG></EM></CODE>&nbsp;=&nbsp;</TD>
56<TD width="6%" nowrap>|&nbsp;m10&nbsp;</TD>
57<TD width="5%" nowrap>&nbsp;m11&nbsp;</TD>
58<TD width="6%" nowrap>&nbsp;m12&nbsp;</TD>
59<TD width="6%" nowrap>&nbsp;m13&nbsp;|</TD>
60<TD width="6%" nowrap>, </TD>
61<TD width="7%" nowrap>&nbsp;&nbsp;&nbsp; <tt><em><strong>dst</strong></em></tt>&nbsp;= &nbsp;</TD>
62<TD width="5%" nowrap>|&nbsp;m10&nbsp;</TD>
63<TD width="4%" nowrap>&nbsp;m11&nbsp;</TD>
64<TD width="4%" nowrap>&nbsp;m12&nbsp;|</TD>
65<TD width="22%" nowrap>&nbsp; x&nbsp; <CODE><EM><STRONG>src</STRONG></EM></CODE>.</TD>
66    </TR>
67    <TR>
68      <TD width="4%" nowrap></TD>
69<TD width="6%" nowrap>|&nbsp;m20&nbsp;</TD>
70<TD width="5%" nowrap>&nbsp;m21&nbsp;</TD>
71<TD width="6%" nowrap>&nbsp;m22&nbsp;</TD>
72<TD width="6%" nowrap>&nbsp;m23&nbsp;|</TD>
73      <TD width="6%" nowrap></TD>
74      <TD width="7%" nowrap></TD>
75<TD width="5%" nowrap>|&nbsp;m20&nbsp;</TD>
76<TD width="4%" nowrap>&nbsp;m21&nbsp;</TD>
77<TD width="4%" nowrap>&nbsp;m22&nbsp;|</TD>
78      <TD width="22%" nowrap></TD>
79    </TR>
80  </TBODY>
81</TABLE>
82
83
84<H2 align="left">See Also</H2>
85<P align="left"><A href="../structures/Mtx_MtxPtr.html"><CODE>Mtx, MtxPtr</A></CODE>, <A href="../structures/Point3d_Point3dPtr.html"><CODE>Point3d, Point3dPtr</A></CODE>, <CODE><A href="../structures/Vec_VecPtr.html">Vec, VecPtr</A></CODE>, <A href="MTXMultVec.html"><CODE>MTXMultVec</CODE></A>, <CODE><A href="MTXMultVecArray.html">MTXMultVecArray</A></CODE>, <CODE><A href="MTXMultVecArraySR.html">MTXMultVecArraySR</A></CODE></P>
86<H2>Revision History</H2>
87<P>2006/03/01 Initial version.</P>
88<hr>
89<P>CONFIDENTIAL</p>
90</BODY>
91</HTML>