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>MTXMultVecSR</H1>
12
13<H2>Syntax</H2>
14<dl><dd><pre class="construction">
15#include &lt;revolution/mtx.h&gt;
16
17void C_MTXMultVecSR ( const Mtx m, const Vec* src, Vec* dst );
18void PSMTXMultVecSR ( const Mtx m, const Vec* src, Vec* dst );
19
20#define MTXMultVecSR&nbsp; C_MTXMultVecSR // for debug build
21#define MTXMultVecSR&nbsp; PSMTXMultVecSR // for nondebug build
22</pre></dd></dl>
23
24<H2>Arguments</H2>
25<TABLE class="arguments" border="1" >
26  <TBODY>
27    <TR>
28<TH>m</TH>
29<TD>Source matrix to multiply. <SPAN class="argument">m</SPAN> is not altered by this function. <code><em><strong>m</strong></em></code> may be either a <a href="../Structures/Mtx_MtxPtr.html"><code>Mtx</code></a> or a <a href="../Structures/Mtx_MtxPtr.html"><code>MtxPtr</code></a>.</TD>
30    </TR>
31    <TR>
32<TH>src</TH>
33<TD>Pointer to the source vector (<A href="../structures/Vec_VecPtr.html"><CODE>Vec</CODE></A> type) to be multiplied. <code><em><strong>src</strong></em></code> may also be a pointer to a <code><strong>Point3d</strong></code>.</TD>
34    </TR>
35    <TR>
36<TH>dst</TH>
37<TD>Pointer to resultant (<A href="../structures/Vec_VecPtr.html"><CODE>Vec</CODE></A >, the result of the (<SPAN class="argument">m</SPAN><SUB>3x3</SUB> x <SPAN class="argument">src</SPAN>) multiplication. <code><strong>dst</strong></code> may also be a pointer to a <code><strong>Point3d</strong></code>. OK if <SPAN class="argument">src</SPAN>=<SPAN class="argument">dst</SPAN>.&nbsp;</TD>
38    </TR>
39  </TBODY>
40</TABLE>
41
42<H2>Return Values</H2>
43<P>None.</P>
44
45<H2>Description</H2>
46<P>Pre-multiplies a 3D vector or 3D point and a 3x3 sub-matrix (<u>S</u>cale and <u>R</u>otate component of 3x4 matrix <SPAN class="argument">m</SPAN>).</P>
47<P>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 each of <code>C_MTXMultVecSR/PSMTXMultVecSR</code> explicitly.<br></P>
48<TABLE border="0" width="59%" cellpadding="0" cellspacing="0">
49  <TBODY>
50    <TR>
51      <TD width="4%" nowrap></TD>
52      <TD width="6%" nowrap>|&nbsp;m00&nbsp;</TD>
53      <TD width="5%" nowrap>&nbsp;m01&nbsp;</TD>
54      <TD width="6%" nowrap>&nbsp;m02&nbsp;</TD>
55      <TD width="6%" nowrap>&nbsp;m03&nbsp;|</TD>
56      <TD width="6%" nowrap></TD>
57      <TD width="7%" nowrap></TD>
58      <TD width="5%" nowrap>|&nbsp;m00&nbsp;</TD>
59      <TD width="4%" nowrap>&nbsp;m01&nbsp;</TD>
60      <TD width="4%" nowrap>&nbsp;m02&nbsp;|</TD>
61      <TD width="22%" nowrap></TD>
62    </TR>
63    <TR>
64    <TD width="4%" nowrap>When <SPAN class="argument">m</SPAN>&nbsp;=&nbsp;</TD>
65      <TD width="6%" nowrap>|&nbsp;m10&nbsp;</TD>
66      <TD width="5%" nowrap>&nbsp;m11&nbsp;</TD>
67      <TD width="6%" nowrap>&nbsp;m12&nbsp;</TD>
68      <TD width="6%" nowrap>&nbsp;m13&nbsp;|</TD>
69    <TD width="6%" nowrap>,</TD>
70      <TD width="7%" nowrap>&nbsp;&nbsp;&nbsp; <SPAN class="argument">dst</SPAN>&nbsp;= &nbsp;</TD>
71      <TD width="5%" nowrap>|&nbsp;m10&nbsp;</TD>
72      <TD width="4%" nowrap>&nbsp;m11&nbsp;</TD>
73      <TD width="4%" nowrap>&nbsp;m12&nbsp;|</TD>
74      <TD width="22%" nowrap>&nbsp; x&nbsp; <SPAN class="argument">src</SPAN></TD>
75    </TR>
76    <TR>
77      <TD width="4%" nowrap></TD>
78      <TD width="6%" nowrap>|&nbsp;m20&nbsp;</TD>
79      <TD width="5%" nowrap>&nbsp;m21&nbsp;</TD>
80      <TD width="6%" nowrap>&nbsp;m22&nbsp;</TD>
81      <TD width="6%" nowrap>&nbsp;m23&nbsp;|</TD>
82      <TD width="6%" nowrap></TD>
83      <TD width="7%" nowrap></TD>
84      <TD width="5%" nowrap>|&nbsp;m20&nbsp;</TD>
85      <TD width="4%" nowrap>&nbsp;m21&nbsp;</TD>
86      <TD width="4%" nowrap>&nbsp;m22&nbsp;|</TD>
87      <TD width="22%" nowrap></TD>
88    </TR>
89  </TBODY>
90</TABLE>
91
92<H2>See Also</H2>
93<P class="reference">
94<A href="../structures/Mtx_MtxPtr.html">Mtx, MtxPtr</A>,
95<A href="../structures/Point3d_Point3dPtr.html">Point3d, Point3dPtr</A>,
96<A href="../structures/Vec_VecPtr.html">Vec, VecPtr</A>,
97<A href="MTXMultVec.html">MTXMultVec</A>,
98<A href="MTXMultVecArray.html">MTXMultVecArray</A>,
99<A href="MTXMultVecArraySR.html">MTXMultVecArraySR</A>
100</P>
101
102<H2>Revision History</H2>
103<P>
1042008/05/26 Corrected errors.<br>2006/03/01 Initial version.<br>
105</P>
106
107<hr><p>CONFIDENTIAL</p></body>
108</HTML>