Sophie

Sophie

distrib > Mandriva > 10.0-com > i586 > by-pkgid > 06719cf03808e17ae6f0852ca1052dc2 > files > 2536

libogre1-devel-0.13.0-1mdk.i586.rpm

<html>
<head>
<title>Ogre::Matrix4 class Reference - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<link type="text/css" rel="stylesheet" href="style.css">
</head>

<body>
<!-- Generated by Doxygen 1.2.16 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
<hr><h1>Ogre::Matrix4  Class Reference</h1>Class encapsulating a standard 4x4 homogenous matrix. 
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>&gt;</code>
<p>
Collaboration diagram for Ogre::Matrix4:<p><center><img src="classOgre_1_1Matrix4__coll__graph.png" border="0" usemap="#Ogre_1_1Matrix4__coll__map" alt="Collaboration graph"></center>
<map name="Ogre_1_1Matrix4__coll__map">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classOgre_1_1Matrix4-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a0">Matrix4</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Default constructor.</em> <a href="#Ogre_1_1Matrix4a0"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a1">Matrix4</a> (<a class="el" href="namespaceOgre.html#a349">Real</a> m00, <a class="el" href="namespaceOgre.html#a349">Real</a> m01, <a class="el" href="namespaceOgre.html#a349">Real</a> m02, <a class="el" href="namespaceOgre.html#a349">Real</a> m03, <a class="el" href="namespaceOgre.html#a349">Real</a> m10, <a class="el" href="namespaceOgre.html#a349">Real</a> m11, <a class="el" href="namespaceOgre.html#a349">Real</a> m12, <a class="el" href="namespaceOgre.html#a349">Real</a> m13, <a class="el" href="namespaceOgre.html#a349">Real</a> m20, <a class="el" href="namespaceOgre.html#a349">Real</a> m21, <a class="el" href="namespaceOgre.html#a349">Real</a> m22, <a class="el" href="namespaceOgre.html#a349">Real</a> m23, <a class="el" href="namespaceOgre.html#a349">Real</a> m30, <a class="el" href="namespaceOgre.html#a349">Real</a> m31, <a class="el" href="namespaceOgre.html#a349">Real</a> m32, <a class="el" href="namespaceOgre.html#a349">Real</a> m33)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a349">Real</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a2">operator[]</a> (unsigned iRow)</td></tr>
<tr><td nowrap align=right valign=top>const <a class="el" href="namespaceOgre.html#a349">Real</a> *const&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a3">operator[]</a> (unsigned iRow) const</td></tr>
<tr><td nowrap align=right valign=top>Matrix4&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a4">concatenate</a> (const Matrix4 &amp;m2) const</td></tr>
<tr><td nowrap align=right valign=top>Matrix4&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a5">operator *</a> (const Matrix4 &amp;m2) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Matrix concatenation using '*'.</em> <a href="#Ogre_1_1Matrix4a5"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classOgre_1_1Vector3.html">Vector3</a>&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a6">operator *</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;v) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Vector transformation using '*'.</em> <a href="#Ogre_1_1Matrix4a6"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>Matrix4&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a7">operator+</a> (const Matrix4 &amp;m2) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Matrix addition.</em> <a href="#Ogre_1_1Matrix4a7"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>Matrix4&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a8">operator-</a> (const Matrix4 &amp;m2) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Matrix subtraction.</em> <a href="#Ogre_1_1Matrix4a8"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a9">operator==</a> (const Matrix4 &amp;m2) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Tests 2 matrices for equality.</em> <a href="#Ogre_1_1Matrix4a9"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a10">operator!=</a> (Matrix4 &amp;m2) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Tests 2 matrices for inequality.</em> <a href="#Ogre_1_1Matrix4a10"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a11">operator=</a> (const <a class="el" href="classOgre_1_1Matrix3.html">Matrix3</a> &amp;mat3)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Assignment from 3x3 matrix.</em> <a href="#Ogre_1_1Matrix4a11"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>Matrix4&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a12">transpose</a> (void) const</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a13">setTrans</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;v)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Sets the translation transformation part of the matrix.</em> <a href="#Ogre_1_1Matrix4a13"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a14">makeTrans</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;v)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Builds a translation matrix.</em> <a href="#Ogre_1_1Matrix4a14"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a15">makeTrans</a> (<a class="el" href="namespaceOgre.html#a349">Real</a> tx, <a class="el" href="namespaceOgre.html#a349">Real</a> ty, <a class="el" href="namespaceOgre.html#a349">Real</a> tz)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a16">setScale</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;v)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Sets the scale part of the matrix.</em> <a href="#Ogre_1_1Matrix4a16"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a17">extract3x3Matrix</a> (<a class="el" href="classOgre_1_1Matrix3.html">Matrix3</a> &amp;m3x3) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Extracts the rotation / scaling part of the Matrix as a 3x3 matrix.</em> <a href="#Ogre_1_1Matrix4a17"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>Matrix4&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a18">operator *</a> (<a class="el" href="namespaceOgre.html#a349">Real</a> scalar)</td></tr>
<tr><td nowrap align=right valign=top>Matrix4&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a19">adjoint</a> () const</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a20">determinant</a> () const</td></tr>
<tr><td nowrap align=right valign=top>Matrix4&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a21">inverse</a> () const</td></tr>
<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>Matrix4&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4d0">getTrans</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;v)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Gets a translation matrix.</em> <a href="#Ogre_1_1Matrix4d0"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>Matrix4&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4d1">getTrans</a> (<a class="el" href="namespaceOgre.html#a349">Real</a> t_x, <a class="el" href="namespaceOgre.html#a349">Real</a> t_y, <a class="el" href="namespaceOgre.html#a349">Real</a> t_z)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Gets a translation matrix - variation for not using a vector.</em> <a href="#Ogre_1_1Matrix4d1"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>Matrix4&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4d2">getScale</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;v)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Gets a scale matrix.</em> <a href="#Ogre_1_1Matrix4d2"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>Matrix4&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4d3">getScale</a> (<a class="el" href="namespaceOgre.html#a349">Real</a> s_x, <a class="el" href="namespaceOgre.html#a349">Real</a> s_y, <a class="el" href="namespaceOgre.html#a349">Real</a> s_z)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Gets a scale matrix - variation for not using a vector.</em> <a href="#Ogre_1_1Matrix4d3"></a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top>const Matrix4&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4p0">ZERO</a></td></tr>
<tr><td nowrap align=right valign=top>const Matrix4&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4p1">IDENTITY</a></td></tr>
<tr><td colspan=2><br><h2>Friends</h2></td></tr>
<tr><td nowrap align=right valign=top>_OgreExport friend std::ostream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4l0">operator&lt;&lt;</a> (std::ostream &amp;o, const Matrix4 &amp;<a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4n0">m</a>)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Function for writing to a stream.</em> <a href="#Ogre_1_1Matrix4l0"></a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Class encapsulating a standard 4x4 homogenous matrix.
<p>
<dl compact><dt><b>
Remarks: </b><dd>
 OGRE uses column vectors when applying matrix multiplications, This means a vector is represented as a single column, 4-row matrix. This has the effect that the tranformations implemented by the matrices happens right-to-left e.g. if vector V is to be transformed by M1 then M2 then M3, the calculation would be M3 * M2 * M1 * V. The order that matrices are concatenated is vital since matrix multiplication is not cummatative, i.e. you can get a different result if you concatenate in the wrong order. 
<p>
 The use of column vectors and right-to-left ordering is the standard in most mathematical texts, and id the same as used in OpenGL. It is, however, the opposite of Direct3D, which has inexplicably chosen to differ from the accepted standard and uses row vectors and left-to-right matrix multiplication. 
<p>
 OGRE deals with the differences between D3D and OpenGL etc. internally when operating through different render systems. OGRE users only need to conform to standard maths conventions, i.e. right-to-left matrix multiplication, (OGRE transposes matrices it passes to D3D to compensate). 
<p>
 The generic form M * V which shows the layout of the matrix  entries is shown below: <pre>
                [ m[0][0]  m[0][1]  m[0][2]  m[0][3] ]   {x}
                | m[1][0]  m[1][1]  m[1][2]  m[1][3] | * {y}
                | m[2][0]  m[2][1]  m[2][2]  m[2][3] |   {z}
                [ m[3][0]  m[3][1]  m[3][2]  m[3][3] ]   {1}
            </pre> </dl>
<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00068">68</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="Ogre_1_1Matrix4a0" doxytag="Ogre::Matrix4::Matrix4"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> Ogre::Matrix4::Matrix4 </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Default constructor.
<p>
<dl compact><dt><b>
Note: </b><dd>
 It does <b>NOT</b> initialize the matrix for efficiency. </dl>
<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00081">81</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
Referenced by <a class="el" href="OgreMatrix4_8cpp-source.html#l00056">adjoint</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4a1" doxytag="Ogre::Matrix4::Matrix4"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> Ogre::Matrix4::Matrix4 </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>m00</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>m01</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>m02</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>m03</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>m10</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>m11</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>m12</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>m13</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>m20</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>m21</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>m22</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>m23</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>m30</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>m31</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>m32</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>m33</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00085">85</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
References <a class="el" href="OgrePrerequisites_8h-source.html#l00086">Ogre::Real</a>.    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="Ogre_1_1Matrix4a19" doxytag="Ogre::Matrix4::adjoint"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> Matrix4 Ogre::Matrix4::adjoint </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8cpp-source.html#l00056">56</a> of file <a class="el" href="OgreMatrix4_8cpp-source.html">OgreMatrix4.cpp</a>.
<p>
References <a class="el" href="OgreMatrix4_8h-source.html#l00081">Matrix4</a>(), and <a class="el" href="OgreMatrix4_8cpp-source.html#l00048">Ogre::MINOR</a>().
<p>
Referenced by <a class="el" href="OgreMatrix4_8cpp-source.html#l00088">inverse</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4a4" doxytag="Ogre::Matrix4::concatenate"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> Matrix4 Ogre::Matrix4::concatenate </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const Matrix4 &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>m2</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00121">121</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
References <a class="el" href="OgreMatrix4_8h-source.html#l00073">m</a>.
<p>
Referenced by <a class="el" href="OgreD3D9RenderSystem_8cpp-source.html#l01134">Ogre::D3D9RenderSystem::_setTextureMatrix</a>(), and <a class="el" href="OgreD3D7RenderSystem_8cpp-source.html#l00911">Ogre::D3DRenderSystem::_setTextureMatrix</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4a20" doxytag="Ogre::Matrix4::determinant"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a349">Real</a> Ogre::Matrix4::determinant </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8cpp-source.html#l00080">80</a> of file <a class="el" href="OgreMatrix4_8cpp-source.html">OgreMatrix4.cpp</a>.
<p>
References <a class="el" href="OgreMatrix4_8h-source.html#l00073">m</a>, <a class="el" href="OgreMatrix4_8cpp-source.html#l00048">Ogre::MINOR</a>(), and <a class="el" href="OgrePrerequisites_8h-source.html#l00086">Ogre::Real</a>.
<p>
Referenced by <a class="el" href="OgreMatrix4_8cpp-source.html#l00088">inverse</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4a17" doxytag="Ogre::Matrix4::extract3x3Matrix"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void Ogre::Matrix4::extract3x3Matrix </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1Matrix3.html">Matrix3</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>m3x3</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Extracts the rotation / scaling part of the Matrix as a 3x3 matrix.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>m3x3</em>&nbsp;</td><td>
Destination <a class="el" href="classOgre_1_1Matrix3.html">Matrix3</a> </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00379">379</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
References <a class="el" href="OgreMatrix3_8h-source.html#l00208">Ogre::Matrix3::m</a>.
<p>
Referenced by <a class="el" href="OgreRenderSystem_8cpp-source.html#l00321">Ogre::RenderSystem::softwareVertexBlend</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4d3" doxytag="Ogre::Matrix4::getScale"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> Matrix4 Ogre::Matrix4::getScale </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>s_x</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>s_y</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>s_z</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Gets a scale matrix - variation for not using a vector.
<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00365">365</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
References <a class="el" href="OgreMatrix4_8h-source.html#l00073">m</a>, and <a class="el" href="OgrePrerequisites_8h-source.html#l00086">Ogre::Real</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4d2" doxytag="Ogre::Matrix4::getScale"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> Matrix4 Ogre::Matrix4::getScale </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>v</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Gets a scale matrix.
<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00352">352</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
References <a class="el" href="OgreMatrix4_8h-source.html#l00073">m</a>, <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::x</a>, <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::y</a>, and <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::z</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4d1" doxytag="Ogre::Matrix4::getTrans"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> Matrix4 Ogre::Matrix4::getTrans </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>t_x</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>t_y</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>t_z</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Gets a translation matrix - variation for not using a vector.
<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00324">324</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
References <a class="el" href="OgreMatrix4_8h-source.html#l00073">m</a>, and <a class="el" href="OgrePrerequisites_8h-source.html#l00086">Ogre::Real</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4d0" doxytag="Ogre::Matrix4::getTrans"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> Matrix4 Ogre::Matrix4::getTrans </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>v</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Gets a translation matrix.
<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00310">310</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
References <a class="el" href="OgreMatrix4_8h-source.html#l00073">m</a>, <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::x</a>, <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::y</a>, and <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::z</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4a21" doxytag="Ogre::Matrix4::inverse"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> Matrix4 Ogre::Matrix4::inverse </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8cpp-source.html#l00088">88</a> of file <a class="el" href="OgreMatrix4_8cpp-source.html">OgreMatrix4.cpp</a>.
<p>
References <a class="el" href="OgreMatrix4_8cpp-source.html#l00056">adjoint</a>(), and <a class="el" href="OgreMatrix4_8cpp-source.html#l00080">determinant</a>().
<p>
Referenced by <a class="el" href="OgreAutoParamDataSource_8cpp-source.html#l00142">Ogre::AutoParamDataSource::getInverseViewMatrix</a>(), <a class="el" href="OgreAutoParamDataSource_8cpp-source.html#l00122">Ogre::AutoParamDataSource::getInverseWorldMatrix</a>(), and <a class="el" href="OgreAutoParamDataSource_8cpp-source.html#l00132">Ogre::AutoParamDataSource::getInverseWorldViewMatrix</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4a15" doxytag="Ogre::Matrix4::makeTrans"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void Ogre::Matrix4::makeTrans </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>tx</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>ty</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>tz</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00300">300</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
References <a class="el" href="OgrePrerequisites_8h-source.html#l00086">Ogre::Real</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4a14" doxytag="Ogre::Matrix4::makeTrans"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void Ogre::Matrix4::makeTrans </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>v</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Builds a translation matrix.
<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00292">292</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
References <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::x</a>, <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::y</a>, and <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::z</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4a18" doxytag="Ogre::Matrix4::operator *"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> Matrix4 Ogre::Matrix4::operator * </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>scalar</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00396">396</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
References <a class="el" href="OgrePrerequisites_8h-source.html#l00086">Ogre::Real</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4a6" doxytag="Ogre::Matrix4::operator *"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> Ogre::Matrix4::operator * </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>v</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Vector transformation using '*'.
<p>
<dl compact><dt><b>
Remarks: </b><dd>
 Transforms the given 3-D vector by the matrix, projecting the  result back into <em>w</em> = 1. </dl><dl compact><dt><b>
Note: </b><dd>
 This means that the initial <em>w</em> is considered to be 1.0, and then all the tree elements of the resulting 3-D vector are divided by the resulting <em>w</em>. </dl>
<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00163">163</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
References <a class="el" href="OgrePrerequisites_8h-source.html#l00086">Ogre::Real</a>, <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::x</a>, <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::y</a>, and <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::z</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4a5" doxytag="Ogre::Matrix4::operator *"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> Matrix4 Ogre::Matrix4::operator * </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const Matrix4 &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>m2</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Matrix concatenation using '*'.
<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00149">149</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4a10" doxytag="Ogre::Matrix4::operator!="></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> bool Ogre::Matrix4::operator!= </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">Matrix4 &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>m2</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Tests 2 matrices for inequality.
<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00248">248</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
References <a class="el" href="OgreMatrix4_8h-source.html#l00073">m</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4a7" doxytag="Ogre::Matrix4::operator+"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> Matrix4 Ogre::Matrix4::operator+ </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const Matrix4 &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>m2</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Matrix addition.
<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00178">178</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
References <a class="el" href="OgreMatrix4_8h-source.html#l00073">m</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4a8" doxytag="Ogre::Matrix4::operator-"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> Matrix4 Ogre::Matrix4::operator- </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const Matrix4 &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>m2</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Matrix subtraction.
<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00207">207</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
References <a class="el" href="OgreMatrix4_8h-source.html#l00073">m</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4a11" doxytag="Ogre::Matrix4::operator="></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void Ogre::Matrix4::operator= </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Matrix3.html">Matrix3</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>mat3</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Assignment from 3x3 matrix.
<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00261">261</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
References <a class="el" href="OgreMatrix3_8h-source.html#l00208">Ogre::Matrix3::m</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4a9" doxytag="Ogre::Matrix4::operator=="></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> bool Ogre::Matrix4::operator== </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const Matrix4 &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>m2</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Tests 2 matrices for equality.
<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00235">235</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
References <a class="el" href="OgreMatrix4_8h-source.html#l00073">m</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4a3" doxytag="Ogre::Matrix4::operator[]"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const <a class="el" href="namespaceOgre.html#a349">Real</a>* const Ogre::Matrix4::operator[] </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">unsigned&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>iRow</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00115">115</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
References <a class="el" href="OgrePrerequisites_8h-source.html#l00086">Ogre::Real</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4a2" doxytag="Ogre::Matrix4::operator[]"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a349">Real</a>* Ogre::Matrix4::operator[] </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">unsigned&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>iRow</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00109">109</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
References <a class="el" href="OgrePrerequisites_8h-source.html#l00086">Ogre::Real</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4a16" doxytag="Ogre::Matrix4::setScale"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void Ogre::Matrix4::setScale </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>v</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Sets the scale part of the matrix.
<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00343">343</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
References <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::x</a>, <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::y</a>, and <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::z</a>.
<p>
Referenced by <a class="el" href="OgreOctreeSceneManager_8cpp-source.html#l00166">Ogre::OctreeSceneManager::init</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4a13" doxytag="Ogre::Matrix4::setTrans"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void Ogre::Matrix4::setTrans </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>v</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Sets the translation transformation part of the matrix.
<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00283">283</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
References <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::x</a>, <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::y</a>, and <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::z</a>.
<p>
Referenced by <a class="el" href="OgreMeshManager_8cpp-source.html#l00408">Ogre::MeshManager::createCurvedIllusionPlane</a>(), <a class="el" href="OgreMeshManager_8cpp-source.html#l00250">Ogre::MeshManager::createCurvedPlane</a>(), <a class="el" href="OgreMeshManager_8cpp-source.html#l00097">Ogre::MeshManager::createPlane</a>(), <a class="el" href="OgreNode_8cpp-source.html#l00492">Ogre::Node::makeInverseTransform</a>(), <a class="el" href="OgreNode_8cpp-source.html#l00470">Ogre::Node::makeTransform</a>(), and <a class="el" href="OgreOverlay_8cpp-source.html#l00254">Ogre::Overlay::updateTransform</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4a12" doxytag="Ogre::Matrix4::transpose"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> Matrix4 Ogre::Matrix4::transpose </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00268">268</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
Referenced by <a class="el" href="OgreGpuProgram_8cpp-source.html#l00105">Ogre::GpuProgramParameters::setConstant</a>().    </td>
  </tr>
</table>
<hr><h2>Friends And Related Function Documentation</h2>
<a name="Ogre_1_1Matrix4l0" doxytag="Ogre::Matrix4::operator<<"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> _OgreExport friend std::ostream&amp; operator&lt;&lt; </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">std::ostream &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>o</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const Matrix4 &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>m</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [friend]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Function for writing to a stream.
<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00408">408</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.    </td>
  </tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a name="Ogre_1_1Matrix4n1" doxytag="Ogre::Matrix4::_m"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a349">Real</a> Ogre::Matrix4::_m[16]<code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00074">74</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4p1" doxytag="Ogre::Matrix4::IDENTITY"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const Matrix4 Ogre::Matrix4::IDENTITY<code> [static]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4n0" doxytag="Ogre::Matrix4::m"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a349">Real</a> Ogre::Matrix4::m[4][4]<code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00073">73</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
<p>
Referenced by <a class="el" href="OgreD3D9RenderSystem_8cpp-source.html#l01134">Ogre::D3D9RenderSystem::_setTextureMatrix</a>(), <a class="el" href="OgreD3D7RenderSystem_8cpp-source.html#l00911">Ogre::D3DRenderSystem::_setTextureMatrix</a>(), <a class="el" href="OgreMatrix4_8h-source.html#l00121">concatenate</a>(), <a class="el" href="OgreD3D7RenderSystem_8cpp-source.html#l00721">Ogre::D3DRenderSystem::convertD3DMatrix</a>(), <a class="el" href="OgreMatrix4_8cpp-source.html#l00080">determinant</a>(), <a class="el" href="OgreMatrix4_8h-source.html#l00352">getScale</a>(), <a class="el" href="OgreMatrix4_8h-source.html#l00310">getTrans</a>(), <a class="el" href="OgreD3D7RenderSystem_8cpp-source.html#l00691">Ogre::D3DRenderSystem::makeD3DMatrix</a>(), <a class="el" href="OgreD3D9Mappings_8cpp-source.html#l00538">Ogre::D3D9Mappings::makeD3DXMatrix</a>(), <a class="el" href="OgreMatrix4_8h-source.html#l00248">operator!=</a>(), <a class="el" href="OgreMatrix4_8h-source.html#l00178">operator+</a>(), <a class="el" href="OgreMatrix4_8h-source.html#l00207">operator-</a>(), and <a class="el" href="OgreMatrix4_8h-source.html#l00235">operator==</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1Matrix4p0" doxytag="Ogre::Matrix4::ZERO"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const Matrix4 Ogre::Matrix4::ZERO<code> [static]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a><li><a class="el" href="OgreMatrix4_8cpp-source.html">OgreMatrix4.cpp</a></ul>
<p>
Copyright &copy; 2002-2003 by The OGRE Team<br />
Last modified Wed Jan 21 00:18:07 2004
</p>
</body>
</html>