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>MTXTranspose</TITLE>
9</HEAD>
10<BODY>
11<H1>MTXTranspose</H1>
12
13<H2>Syntax</H2>
14<dl><dd><pre class="construction">
15#include &lt;revolution/mtx.h&gt;
16
17void C_MTXTranspose ( const Mtx src, Mtx xPose );
18void PSMTXTranspose ( const Mtx src, Mtx xPose );
19
20#define MTXTranspose&nbsp; C_MTXTranspose // for debug build
21#define MTXTranspose&nbsp; PSMTXTranspose // for nondebug build
22</pre></dd></dl>
23
24<H2>Arguments</H2>
25<TABLE class="arguments" border="1" >
26  <TBODY>
27    <TR>
28<TH>src</TH>
29<TD>Source matrix. <code><em><strong>src</strong></em></code> may be either a <a href="../Structures/Mtx_MtxPtr.html">Mtx</a> or a <a href="../Structures/Mtx_MtxPtr.html">MtxPtr</a>. <SPAN class="argument">src</SPAN> is unaffected unless <SPAN class="argument">src</SPAN> = <SPAN class="argument">xPose</SPAN>.</TD>
30    </TR>
31    <TR>
32<TH>xPose</TH>
33<TD>Transpose of source matrix with a fourth column of (<CODE>0,0,0</CODE>). <code><em><strong>xPose</strong></em></code> may be either a <a href="../Structures/Mtx_MtxPtr.html">Mtx</a> or a <a     href="../Structures/Mtx_MtxPtr.html">MtxPtr</a>. OK if <SPAN class="argument">src</SPAN> = <SPAN class="argument">xPose</SPAN>.&nbsp;</TD>
34    </TR>
35  </TBODY>
36</TABLE>
37
38<H2>Return Values</H2>
39<P>None.</P>
40
41<H2>Description</H2>
42<P>Copies the transpose of <code><em><strong>src</strong></em></code> into <code><em><strong>xPose</strong></em></code>. <code><em><strong>src</strong></em></code> is unaffected unless <code><em><strong>src</strong></em>=<em><strong>xPose</strong></em></code>. To transpose a 3x4 matrix, transpose the 3x3 rotation sub-matrix of <SPAN class="argument">src</SPAN> and set the fourth column to (<CODE>0,0,0</CODE>).</P>
43<P>A transpose operation causes the loss of the original <code><em><strong>src</strong></em></code> translation term; however, this should not be a problem because this function's intended use is for the creation of inverse-transpose matrices for normal transformations.&nbsp;Since these are rotation matrices applied to vectors, a translation term is not required.</P>
44<P>During a debug build, <code>MTXTranspose</code> is interpreted as <code>C_MTXTranspose</code>, which is a normal C language version. During a nondebug build for a Broadway processor, the paired-singles equivalent of this function, <code><font face="Courier New">PSMTXTranspose</font></code>, will be automatically substituted. You can also call each of <code>C_MTXTranspose/PSMTXTranspose</code> explicitly.</P>
45<P>The C version of this function becomes more efficient if <SPAN class="argument">src</SPAN> is not equal to <SPAN class="argument">xPose</SPAN> because that saves a copy operation from a temporary matrix.</P>
46
47<H2>See Also</H2>
48<P class="reference">
49<A href="../structures/Mtx_MtxPtr.html">Mtx, MtxPtr</A>,
50<A href="../stack/MTXPushInvXpose.html">MTXPushInvXpose</A>
51</P>
52
53<H2>Revision History</H2>
54<P>
552006/03/01 Initial version.<br>
56</P>
57
58<hr><p>CONFIDENTIAL</p></body>
59</HTML>