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 align="left">MTXTranspose</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_MTXTranspose ( const Mtx <EM>src</EM>, Mtx <EM>xPose</EM> );<BR> void PSMTXTranspose ( const Mtx <EM>src</EM>, Mtx <EM>xPose</EM> );<BR> <BR> #define MTXTranspose&nbsp; C_MTXTranspose // for debug build<BR> #define MTXTranspose&nbsp; PSMTXTranspose // 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" valign="top" align="left" bgcolor="#ffffe8"><CODE><EM><STRONG>src</STRONG></EM> </CODE></TD>
21<TD width="520" valign="top" align="left">Source matrix.  <code><em><strong>src</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>. <code><em><strong>src</strong></em></code> is unaffected unless <code><em><strong>src</strong></em>=<em><strong>xPose</strong></em></code>.</TD>
22    </TR>
23    <TR>
24<TD width="120" valign="top" align="left" bgcolor="#ffffe8"><CODE><EM><STRONG>xPose</STRONG></EM></CODE></TD>
25<TD width="520">Transpose of source matrix with a fourth column of (<CODE>0,0,0</CODE>).<BR> <code><em><strong>xPose</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>.<BR><CODE><EM><STRONG>src</STRONG></EM></CODE> can be the same as <CODE><EM><STRONG>xPose</STRONG></EM></CODE>.</TD>
26    </TR>
27  </TBODY>
28</TABLE>
29</DIV>
30<H2 align="left">Return Values</H2>
31<P align="left">None.</P>
32<H2 align="left">Description</H2>
33<P align="left">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 <code><em><strong>src</strong></em></code> and set the fourth column to ( <code>0,0,0</code> ).&nbsp; </P>
34<P align="left">A transpose operation causes the original <code><em><strong>src</strong></em></code> translation term to be lost; however, this shouldn't be a problem  because this function's intended usage 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>
35<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>PSMTXTranspose</code>, will be automatically substituted. You can also call <code>C_MTXTranspose</CODE> or <code>SMTXTranspose</code> explicitly.</P>
36<P align="left">The C version of this function becomes more efficient if <code><em><strong>src</strong></em></code> is not equal to <em><strong><code>xPose</code></strong></em> as it saves a copy operation from a temporary matrix.</P>
37
38
39<H2 align="left">See Also</H2>
40<P align="left"><A href="../structures/Mtx_MtxPtr.html"><CODE>Mtx, MtxPtr, </CODE></A><CODE><A href="../stack/MTXPushInvXpose.html">MTXPushInvXpose</A></CODE></P>
41<H2>Revision History</H2>
42<P>2006/03/01 Initial version.</P>
43<hr>
44<P>CONFIDENTIAL</p>
45</BODY>
46</HTML>