source: OGRE/trunk/ogrenew/Docs/api/html/classOgre_1_1Matrix4.html @ 692

Revision 692, 73.5 KB checked in by mattausch, 18 years ago (diff)

adding ogre 1.2 and dependencies

Line 
1<html>
2<head>
3<title>Ogre::Matrix4 class Reference - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
4<link type="text/css" rel="stylesheet" href="style.css">
5</head>
6
7<body>
8<!-- Generated by Doxygen 1.3.6 -->
9<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
10<h1>Ogre::Matrix4 Class Reference</h1>Class encapsulating a standard 4x4 homogenous matrix. 
11<a href="#_details">More...</a>
12<p>
13<code>#include &lt;<a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>&gt;</code>
14<p>
15<a href="classOgre_1_1Matrix4-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
16<tr><td></td></tr>
17<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
18<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a0">Matrix4</a> ()</td></tr>
19
20<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor.  <a href="#Ogre_1_1Matrix4a0"></a><br><br></td></tr>
21<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a1">Matrix4</a> (<a class="el" href="namespaceOgre.html#a465">Real</a> m00, <a class="el" href="namespaceOgre.html#a465">Real</a> m01, <a class="el" href="namespaceOgre.html#a465">Real</a> m02, <a class="el" href="namespaceOgre.html#a465">Real</a> m03, <a class="el" href="namespaceOgre.html#a465">Real</a> m10, <a class="el" href="namespaceOgre.html#a465">Real</a> m11, <a class="el" href="namespaceOgre.html#a465">Real</a> m12, <a class="el" href="namespaceOgre.html#a465">Real</a> m13, <a class="el" href="namespaceOgre.html#a465">Real</a> m20, <a class="el" href="namespaceOgre.html#a465">Real</a> m21, <a class="el" href="namespaceOgre.html#a465">Real</a> m22, <a class="el" href="namespaceOgre.html#a465">Real</a> m23, <a class="el" href="namespaceOgre.html#a465">Real</a> m30, <a class="el" href="namespaceOgre.html#a465">Real</a> m31, <a class="el" href="namespaceOgre.html#a465">Real</a> m32, <a class="el" href="namespaceOgre.html#a465">Real</a> m33)</td></tr>
22
23<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a2">Matrix4</a> (const <a class="el" href="classOgre_1_1Matrix3.html">Matrix3</a> &amp;m3x3)</td></tr>
24
25<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a standard 4x4 transformation matrix with a zero translation part from a rotation/scaling 3x3 matrix.  <a href="#Ogre_1_1Matrix4a2"></a><br><br></td></tr>
26<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a3">Matrix4</a> (const <a class="el" href="classOgre_1_1Quaternion.html">Quaternion</a> &amp;rot)</td></tr>
27
28<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a standard 4x4 transformation matrix with a zero translation part from a rotation/scaling <a class="el" href="classOgre_1_1Quaternion.html">Quaternion</a>.  <a href="#Ogre_1_1Matrix4a3"></a><br><br></td></tr>
29<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a465">Real</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a4">operator[]</a> (size_t iRow)</td></tr>
30
31<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="namespaceOgre.html#a465">Real</a> *const &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a5">operator[]</a> (size_t iRow) const </td></tr>
32
33<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a6">concatenate</a> (const <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> &amp;m2) const </td></tr>
34
35<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a7">operator *</a> (const <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> &amp;m2) const </td></tr>
36
37<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix concatenation using '*'.  <a href="#Ogre_1_1Matrix4a7"></a><br><br></td></tr>
38<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Vector3.html">Vector3</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a8">operator *</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;v) const </td></tr>
39
40<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Vector transformation using '*'.  <a href="#Ogre_1_1Matrix4a8"></a><br><br></td></tr>
41<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Vector4.html">Vector4</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a9">operator *</a> (const <a class="el" href="classOgre_1_1Vector4.html">Vector4</a> &amp;v) const </td></tr>
42
43<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Plane.html">Plane</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a10">operator *</a> (const <a class="el" href="classOgre_1_1Plane.html">Plane</a> &amp;p) const </td></tr>
44
45<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a11">operator+</a> (const <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> &amp;m2) const </td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix addition.  <a href="#Ogre_1_1Matrix4a11"></a><br><br></td></tr>
48<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a12">operator-</a> (const <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> &amp;m2) const </td></tr>
49
50<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix subtraction.  <a href="#Ogre_1_1Matrix4a12"></a><br><br></td></tr>
51<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a13">operator==</a> (const <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> &amp;m2) const </td></tr>
52
53<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests 2 matrices for equality.  <a href="#Ogre_1_1Matrix4a13"></a><br><br></td></tr>
54<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a14">operator!=</a> (const <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> &amp;m2) const </td></tr>
55
56<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests 2 matrices for inequality.  <a href="#Ogre_1_1Matrix4a14"></a><br><br></td></tr>
57<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a15">operator=</a> (const <a class="el" href="classOgre_1_1Matrix3.html">Matrix3</a> &amp;mat3)</td></tr>
58
59<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment from 3x3 matrix.  <a href="#Ogre_1_1Matrix4a15"></a><br><br></td></tr>
60<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a16">transpose</a> (void) const </td></tr>
61
62<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a17">setTrans</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;v)</td></tr>
63
64<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the translation transformation part of the matrix.  <a href="#Ogre_1_1Matrix4a17"></a><br><br></td></tr>
65<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Vector3.html">Vector3</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a18">getTrans</a> () const </td></tr>
66
67<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extracts the translation transformation part of the matrix.  <a href="#Ogre_1_1Matrix4a18"></a><br><br></td></tr>
68<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a19">makeTrans</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;v)</td></tr>
69
70<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a translation matrix.  <a href="#Ogre_1_1Matrix4a19"></a><br><br></td></tr>
71<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a20">makeTrans</a> (<a class="el" href="namespaceOgre.html#a465">Real</a> tx, <a class="el" href="namespaceOgre.html#a465">Real</a> ty, <a class="el" href="namespaceOgre.html#a465">Real</a> tz)</td></tr>
72
73<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a21">setScale</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;v)</td></tr>
74
75<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the scale part of the matrix.  <a href="#Ogre_1_1Matrix4a21"></a><br><br></td></tr>
76<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a22">extract3x3Matrix</a> (<a class="el" href="classOgre_1_1Matrix3.html">Matrix3</a> &amp;m3x3) const </td></tr>
77
78<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extracts the rotation / scaling part of the Matrix as a 3x3 matrix.  <a href="#Ogre_1_1Matrix4a22"></a><br><br></td></tr>
79<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Quaternion.html">Quaternion</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a23">extractQuaternion</a> () const </td></tr>
80
81<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extracts the rotation / scaling part as a quaternion from the Matrix.  <a href="#Ogre_1_1Matrix4a23"></a><br><br></td></tr>
82<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a24">operator *</a> (<a class="el" href="namespaceOgre.html#a465">Real</a> scalar)</td></tr>
83
84<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a25">adjoint</a> () const </td></tr>
85
86<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a26">determinant</a> () const </td></tr>
87
88<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a27">inverse</a> () const </td></tr>
89
90<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a28">makeTransform</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;position, const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;scale, const <a class="el" href="classOgre_1_1Quaternion.html">Quaternion</a> &amp;orientation)</td></tr>
91
92<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Building a <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> from orientation / scale / position.  <a href="#Ogre_1_1Matrix4a28"></a><br><br></td></tr>
93<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4a29">makeInverseTransform</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;position, const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;scale, const <a class="el" href="classOgre_1_1Quaternion.html">Quaternion</a> &amp;orientation)</td></tr>
94
95<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Building an inverse <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> from orientation / scale / position.  <a href="#Ogre_1_1Matrix4a29"></a><br><br></td></tr>
96<tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr>
97<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4e0">getTrans</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;v)</td></tr>
98
99<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets a translation matrix.  <a href="#Ogre_1_1Matrix4e0"></a><br><br></td></tr>
100<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4e1">getTrans</a> (<a class="el" href="namespaceOgre.html#a465">Real</a> t_x, <a class="el" href="namespaceOgre.html#a465">Real</a> t_y, <a class="el" href="namespaceOgre.html#a465">Real</a> t_z)</td></tr>
101
102<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets a translation matrix - variation for not using a vector.  <a href="#Ogre_1_1Matrix4e1"></a><br><br></td></tr>
103<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4e2">getScale</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;v)</td></tr>
104
105<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets a scale matrix.  <a href="#Ogre_1_1Matrix4e2"></a><br><br></td></tr>
106<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4e3">getScale</a> (<a class="el" href="namespaceOgre.html#a465">Real</a> s_x, <a class="el" href="namespaceOgre.html#a465">Real</a> s_y, <a class="el" href="namespaceOgre.html#a465">Real</a> s_z)</td></tr>
107
108<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets a scale matrix - variation for not using a vector.  <a href="#Ogre_1_1Matrix4e3"></a><br><br></td></tr>
109<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
110<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4s0">ZERO</a></td></tr>
111
112<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4s1">IDENTITY</a></td></tr>
113
114<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4s2">CLIPSPACE2DTOIMAGESPACE</a></td></tr>
115
116<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Useful little matrix which takes 2D clipspace {-1, 1} to {0,1} and inverts the Y.  <a href="#Ogre_1_1Matrix4s2"></a><br><br></td></tr>
117<tr><td colspan=2><br><h2>Friends</h2></td></tr>
118<tr><td class="memItemLeft" nowrap align=right valign=top>_OgreExport friend std::ostream &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4n0">operator&lt;&lt;</a> (std::ostream &amp;o, const <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> &amp;<a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4p0">m</a>)</td></tr>
119
120<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function for writing to a stream.  <a href="#Ogre_1_1Matrix4n0"></a><br><br></td></tr>
121</table>
122<hr><a name="_details"></a><h2>Detailed Description</h2>
123Class encapsulating a standard 4x4 homogenous matrix.
124<p>
125<dl compact><dt><b>Remarks:</b></dt><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. </dd></dl>
126<dl compact><dt><b></b></dt><dd>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. </dd></dl>
127<dl compact><dt><b></b></dt><dd>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). </dd></dl>
128<dl compact><dt><b></b></dt><dd>The generic form M * V which shows the layout of the matrix entries is shown below: <pre><div>
129                [ m[0][0]  m[0][1]  m[0][2]  m[0][3] ]   {x}
130                | m[1][0]  m[1][1]  m[1][2]  m[1][3] | * {y}
131                | m[2][0]  m[2][1]  m[2][2]  m[2][3] |   {z}
132                [ m[3][0]  m[3][1]  m[3][2]  m[3][3] ]   {1}
133            </pre></div> </dd></dl>
134
135<p>
136
137<p>
138Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00069">69</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
139<a class="anchor" name="Ogre_1_1Matrix4a0" doxytag="Ogre::Matrix4::Matrix4" ></a><p>
140<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
141  <tr>
142    <td class="mdRow">
143      <table cellpadding="0" cellspacing="0" border="0">
144        <tr>
145          <td class="md" nowrap valign="top"> Ogre::Matrix4::Matrix4 </td>
146          <td class="md" valign="top">(&nbsp;</td>
147          <td class="mdname1" valign="top" nowrap>          </td>
148          <td class="md" valign="top">&nbsp;)&nbsp;</td>
149          <td class="md" nowrap></td>
150        </tr>
151
152      </table>
153    </td>
154  </tr>
155</table>
156<table cellspacing=5 cellpadding=0 border=0>
157  <tr>
158    <td>
159      &nbsp;
160    </td>
161    <td>
162
163<p>
164Default constructor.
165<p>
166<dl compact><dt><b>Note:</b></dt><dd>It does <b>NOT</b> initialize the matrix for efficiency. </dd></dl>
167
168<p>
169Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00082">82</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.    </td>
170  </tr>
171</table>
172<a class="anchor" name="Ogre_1_1Matrix4a1" doxytag="Ogre::Matrix4::Matrix4" ></a><p>
173<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
174  <tr>
175    <td class="mdRow">
176      <table cellpadding="0" cellspacing="0" border="0">
177        <tr>
178          <td class="md" nowrap valign="top"> Ogre::Matrix4::Matrix4 </td>
179          <td class="md" valign="top">(&nbsp;</td>
180          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
181          <td class="mdname" nowrap> <em>m00</em>, </td>
182        </tr>
183        <tr>
184          <td class="md" nowrap align="right"></td>
185          <td></td>
186          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
187          <td class="mdname" nowrap> <em>m01</em>, </td>
188        </tr>
189        <tr>
190          <td class="md" nowrap align="right"></td>
191          <td></td>
192          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
193          <td class="mdname" nowrap> <em>m02</em>, </td>
194        </tr>
195        <tr>
196          <td class="md" nowrap align="right"></td>
197          <td></td>
198          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
199          <td class="mdname" nowrap> <em>m03</em>, </td>
200        </tr>
201        <tr>
202          <td class="md" nowrap align="right"></td>
203          <td></td>
204          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
205          <td class="mdname" nowrap> <em>m10</em>, </td>
206        </tr>
207        <tr>
208          <td class="md" nowrap align="right"></td>
209          <td></td>
210          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
211          <td class="mdname" nowrap> <em>m11</em>, </td>
212        </tr>
213        <tr>
214          <td class="md" nowrap align="right"></td>
215          <td></td>
216          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
217          <td class="mdname" nowrap> <em>m12</em>, </td>
218        </tr>
219        <tr>
220          <td class="md" nowrap align="right"></td>
221          <td></td>
222          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
223          <td class="mdname" nowrap> <em>m13</em>, </td>
224        </tr>
225        <tr>
226          <td class="md" nowrap align="right"></td>
227          <td></td>
228          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
229          <td class="mdname" nowrap> <em>m20</em>, </td>
230        </tr>
231        <tr>
232          <td class="md" nowrap align="right"></td>
233          <td></td>
234          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
235          <td class="mdname" nowrap> <em>m21</em>, </td>
236        </tr>
237        <tr>
238          <td class="md" nowrap align="right"></td>
239          <td></td>
240          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
241          <td class="mdname" nowrap> <em>m22</em>, </td>
242        </tr>
243        <tr>
244          <td class="md" nowrap align="right"></td>
245          <td></td>
246          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
247          <td class="mdname" nowrap> <em>m23</em>, </td>
248        </tr>
249        <tr>
250          <td class="md" nowrap align="right"></td>
251          <td></td>
252          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
253          <td class="mdname" nowrap> <em>m30</em>, </td>
254        </tr>
255        <tr>
256          <td class="md" nowrap align="right"></td>
257          <td></td>
258          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
259          <td class="mdname" nowrap> <em>m31</em>, </td>
260        </tr>
261        <tr>
262          <td class="md" nowrap align="right"></td>
263          <td></td>
264          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
265          <td class="mdname" nowrap> <em>m32</em>, </td>
266        </tr>
267        <tr>
268          <td class="md" nowrap align="right"></td>
269          <td></td>
270          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
271          <td class="mdname" nowrap> <em>m33</em></td>
272        </tr>
273        <tr>
274          <td></td>
275          <td class="md">)&nbsp;</td>
276          <td class="md" colspan="2"></td>
277        </tr>
278
279      </table>
280    </td>
281  </tr>
282</table>
283<table cellspacing=5 cellpadding=0 border=0>
284  <tr>
285    <td>
286      &nbsp;
287    </td>
288    <td>
289
290<p>
291
292<p>
293Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00086">86</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
294<p>
295References <a class="el" href="OgrePrerequisites_8h-source.html#l00113">Ogre::Real</a>.    </td>
296  </tr>
297</table>
298<a class="anchor" name="Ogre_1_1Matrix4a2" doxytag="Ogre::Matrix4::Matrix4" ></a><p>
299<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
300  <tr>
301    <td class="mdRow">
302      <table cellpadding="0" cellspacing="0" border="0">
303        <tr>
304          <td class="md" nowrap valign="top"> Ogre::Matrix4::Matrix4 </td>
305          <td class="md" valign="top">(&nbsp;</td>
306          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Matrix3.html">Matrix3</a> &amp;&nbsp;</td>
307          <td class="mdname1" valign="top" nowrap> <em>m3x3</em>          </td>
308          <td class="md" valign="top">&nbsp;)&nbsp;</td>
309          <td class="md" nowrap></td>
310        </tr>
311
312      </table>
313    </td>
314  </tr>
315</table>
316<table cellspacing=5 cellpadding=0 border=0>
317  <tr>
318    <td>
319      &nbsp;
320    </td>
321    <td>
322
323<p>
324Creates a standard 4x4 transformation matrix with a zero translation part from a rotation/scaling 3x3 matrix.
325<p>
326
327<p>
328Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00113">113</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.    </td>
329  </tr>
330</table>
331<a class="anchor" name="Ogre_1_1Matrix4a3" doxytag="Ogre::Matrix4::Matrix4" ></a><p>
332<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
333  <tr>
334    <td class="mdRow">
335      <table cellpadding="0" cellspacing="0" border="0">
336        <tr>
337          <td class="md" nowrap valign="top"> Ogre::Matrix4::Matrix4 </td>
338          <td class="md" valign="top">(&nbsp;</td>
339          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Quaternion.html">Quaternion</a> &amp;&nbsp;</td>
340          <td class="mdname1" valign="top" nowrap> <em>rot</em>          </td>
341          <td class="md" valign="top">&nbsp;)&nbsp;</td>
342          <td class="md" nowrap></td>
343        </tr>
344
345      </table>
346    </td>
347  </tr>
348</table>
349<table cellspacing=5 cellpadding=0 border=0>
350  <tr>
351    <td>
352      &nbsp;
353    </td>
354    <td>
355
356<p>
357Creates a standard 4x4 transformation matrix with a zero translation part from a rotation/scaling <a class="el" href="classOgre_1_1Quaternion.html">Quaternion</a>.
358<p>
359
360<p>
361Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00122">122</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
362<p>
363References <a class="el" href="classOgre_1_1Quaternion.html#Ogre_1_1Quaterniona8">Ogre::Quaternion::ToRotationMatrix()</a>.    </td>
364  </tr>
365</table>
366<hr><h2>Member Function Documentation</h2>
367<a class="anchor" name="Ogre_1_1Matrix4a25" doxytag="Ogre::Matrix4::adjoint" ></a><p>
368<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
369  <tr>
370    <td class="mdRow">
371      <table cellpadding="0" cellspacing="0" border="0">
372        <tr>
373          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> Ogre::Matrix4::adjoint </td>
374          <td class="md" valign="top">(&nbsp;</td>
375          <td class="mdname1" valign="top" nowrap>          </td>
376          <td class="md" valign="top">&nbsp;)&nbsp;</td>
377          <td class="md" nowrap> const</td>
378        </tr>
379
380      </table>
381    </td>
382  </tr>
383</table>
384<table cellspacing=5 cellpadding=0 border=0>
385  <tr>
386    <td>
387      &nbsp;
388    </td>
389    <td>
390
391<p>
392    </td>
393  </tr>
394</table>
395<a class="anchor" name="Ogre_1_1Matrix4a6" doxytag="Ogre::Matrix4::concatenate" ></a><p>
396<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
397  <tr>
398    <td class="mdRow">
399      <table cellpadding="0" cellspacing="0" border="0">
400        <tr>
401          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> Ogre::Matrix4::concatenate </td>
402          <td class="md" valign="top">(&nbsp;</td>
403          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> &amp;&nbsp;</td>
404          <td class="mdname1" valign="top" nowrap> <em>m2</em>          </td>
405          <td class="md" valign="top">&nbsp;)&nbsp;</td>
406          <td class="md" nowrap> const</td>
407        </tr>
408
409      </table>
410    </td>
411  </tr>
412</table>
413<table cellspacing=5 cellpadding=0 border=0>
414  <tr>
415    <td>
416      &nbsp;
417    </td>
418    <td>
419
420<p>
421
422<p>
423Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00143">143</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
424<p>
425References <a class="el" href="OgreMatrix4_8h-source.html#l00074">m</a>.    </td>
426  </tr>
427</table>
428<a class="anchor" name="Ogre_1_1Matrix4a26" doxytag="Ogre::Matrix4::determinant" ></a><p>
429<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
430  <tr>
431    <td class="mdRow">
432      <table cellpadding="0" cellspacing="0" border="0">
433        <tr>
434          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a465">Real</a> Ogre::Matrix4::determinant </td>
435          <td class="md" valign="top">(&nbsp;</td>
436          <td class="mdname1" valign="top" nowrap>          </td>
437          <td class="md" valign="top">&nbsp;)&nbsp;</td>
438          <td class="md" nowrap> const</td>
439        </tr>
440
441      </table>
442    </td>
443  </tr>
444</table>
445<table cellspacing=5 cellpadding=0 border=0>
446  <tr>
447    <td>
448      &nbsp;
449    </td>
450    <td>
451
452<p>
453    </td>
454  </tr>
455</table>
456<a class="anchor" name="Ogre_1_1Matrix4a22" doxytag="Ogre::Matrix4::extract3x3Matrix" ></a><p>
457<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
458  <tr>
459    <td class="mdRow">
460      <table cellpadding="0" cellspacing="0" border="0">
461        <tr>
462          <td class="md" nowrap valign="top"> void Ogre::Matrix4::extract3x3Matrix </td>
463          <td class="md" valign="top">(&nbsp;</td>
464          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1Matrix3.html">Matrix3</a> &amp;&nbsp;</td>
465          <td class="mdname1" valign="top" nowrap> <em>m3x3</em>          </td>
466          <td class="md" valign="top">&nbsp;)&nbsp;</td>
467          <td class="md" nowrap> const</td>
468        </tr>
469
470      </table>
471    </td>
472  </tr>
473</table>
474<table cellspacing=5 cellpadding=0 border=0>
475  <tr>
476    <td>
477      &nbsp;
478    </td>
479    <td>
480
481<p>
482Extracts the rotation / scaling part of the Matrix as a 3x3 matrix.
483<p>
484<dl compact><dt><b>Parameters:</b></dt><dd>
485  <table border="0" cellspacing="2" cellpadding="0">
486    <tr><td valign=top><em>m3x3</em>&nbsp;</td><td>Destination <a class="el" href="classOgre_1_1Matrix3.html">Matrix3</a> </td></tr>
487  </table>
488</dl>
489
490<p>
491Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00434">434</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
492<p>
493References <a class="el" href="OgreMatrix3_8h-source.html#l00296">Ogre::Matrix3::m</a>.    </td>
494  </tr>
495</table>
496<a class="anchor" name="Ogre_1_1Matrix4a23" doxytag="Ogre::Matrix4::extractQuaternion" ></a><p>
497<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
498  <tr>
499    <td class="mdRow">
500      <table cellpadding="0" cellspacing="0" border="0">
501        <tr>
502          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Quaternion.html">Quaternion</a> Ogre::Matrix4::extractQuaternion </td>
503          <td class="md" valign="top">(&nbsp;</td>
504          <td class="mdname1" valign="top" nowrap>          </td>
505          <td class="md" valign="top">&nbsp;)&nbsp;</td>
506          <td class="md" nowrap> const</td>
507        </tr>
508
509      </table>
510    </td>
511  </tr>
512</table>
513<table cellspacing=5 cellpadding=0 border=0>
514  <tr>
515    <td>
516      &nbsp;
517    </td>
518    <td>
519
520<p>
521Extracts the rotation / scaling part as a quaternion from the Matrix.
522<p>
523
524<p>
525Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00450">450</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.    </td>
526  </tr>
527</table>
528<a class="anchor" name="Ogre_1_1Matrix4e3" doxytag="Ogre::Matrix4::getScale" ></a><p>
529<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
530  <tr>
531    <td class="mdRow">
532      <table cellpadding="0" cellspacing="0" border="0">
533        <tr>
534          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> Ogre::Matrix4::getScale </td>
535          <td class="md" valign="top">(&nbsp;</td>
536          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
537          <td class="mdname" nowrap> <em>s_x</em>, </td>
538        </tr>
539        <tr>
540          <td class="md" nowrap align="right"></td>
541          <td></td>
542          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
543          <td class="mdname" nowrap> <em>s_y</em>, </td>
544        </tr>
545        <tr>
546          <td class="md" nowrap align="right"></td>
547          <td></td>
548          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
549          <td class="mdname" nowrap> <em>s_z</em></td>
550        </tr>
551        <tr>
552          <td></td>
553          <td class="md">)&nbsp;</td>
554          <td class="md" colspan="2"><code> [static]</code></td>
555        </tr>
556
557      </table>
558    </td>
559  </tr>
560</table>
561<table cellspacing=5 cellpadding=0 border=0>
562  <tr>
563    <td>
564      &nbsp;
565    </td>
566    <td>
567
568<p>
569Gets a scale matrix - variation for not using a vector.
570<p>
571
572<p>
573Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00420">420</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
574<p>
575References <a class="el" href="OgreMatrix4_8h-source.html#l00074">m</a>, and <a class="el" href="OgrePrerequisites_8h-source.html#l00113">Ogre::Real</a>.    </td>
576  </tr>
577</table>
578<a class="anchor" name="Ogre_1_1Matrix4e2" doxytag="Ogre::Matrix4::getScale" ></a><p>
579<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
580  <tr>
581    <td class="mdRow">
582      <table cellpadding="0" cellspacing="0" border="0">
583        <tr>
584          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> Ogre::Matrix4::getScale </td>
585          <td class="md" valign="top">(&nbsp;</td>
586          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
587          <td class="mdname1" valign="top" nowrap> <em>v</em>          </td>
588          <td class="md" valign="top">&nbsp;)&nbsp;</td>
589          <td class="md" nowrap><code> [static]</code></td>
590        </tr>
591
592      </table>
593    </td>
594  </tr>
595</table>
596<table cellspacing=5 cellpadding=0 border=0>
597  <tr>
598    <td>
599      &nbsp;
600    </td>
601    <td>
602
603<p>
604Gets a scale matrix.
605<p>
606
607<p>
608Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00407">407</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
609<p>
610References <a class="el" href="OgreMatrix4_8h-source.html#l00074">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>
611  </tr>
612</table>
613<a class="anchor" name="Ogre_1_1Matrix4e1" doxytag="Ogre::Matrix4::getTrans" ></a><p>
614<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
615  <tr>
616    <td class="mdRow">
617      <table cellpadding="0" cellspacing="0" border="0">
618        <tr>
619          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> Ogre::Matrix4::getTrans </td>
620          <td class="md" valign="top">(&nbsp;</td>
621          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
622          <td class="mdname" nowrap> <em>t_x</em>, </td>
623        </tr>
624        <tr>
625          <td class="md" nowrap align="right"></td>
626          <td></td>
627          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
628          <td class="mdname" nowrap> <em>t_y</em>, </td>
629        </tr>
630        <tr>
631          <td class="md" nowrap align="right"></td>
632          <td></td>
633          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
634          <td class="mdname" nowrap> <em>t_z</em></td>
635        </tr>
636        <tr>
637          <td></td>
638          <td class="md">)&nbsp;</td>
639          <td class="md" colspan="2"><code> [static]</code></td>
640        </tr>
641
642      </table>
643    </td>
644  </tr>
645</table>
646<table cellspacing=5 cellpadding=0 border=0>
647  <tr>
648    <td>
649      &nbsp;
650    </td>
651    <td>
652
653<p>
654Gets a translation matrix - variation for not using a vector.
655<p>
656
657<p>
658Definition 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>.
659<p>
660References <a class="el" href="OgreMatrix4_8h-source.html#l00074">m</a>, and <a class="el" href="OgrePrerequisites_8h-source.html#l00113">Ogre::Real</a>.    </td>
661  </tr>
662</table>
663<a class="anchor" name="Ogre_1_1Matrix4e0" doxytag="Ogre::Matrix4::getTrans" ></a><p>
664<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
665  <tr>
666    <td class="mdRow">
667      <table cellpadding="0" cellspacing="0" border="0">
668        <tr>
669          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> Ogre::Matrix4::getTrans </td>
670          <td class="md" valign="top">(&nbsp;</td>
671          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
672          <td class="mdname1" valign="top" nowrap> <em>v</em>          </td>
673          <td class="md" valign="top">&nbsp;)&nbsp;</td>
674          <td class="md" nowrap><code> [static]</code></td>
675        </tr>
676
677      </table>
678    </td>
679  </tr>
680</table>
681<table cellspacing=5 cellpadding=0 border=0>
682  <tr>
683    <td>
684      &nbsp;
685    </td>
686    <td>
687
688<p>
689Gets a translation matrix.
690<p>
691
692<p>
693Definition 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>.
694<p>
695References <a class="el" href="OgreMatrix4_8h-source.html#l00074">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>
696  </tr>
697</table>
698<a class="anchor" name="Ogre_1_1Matrix4a18" doxytag="Ogre::Matrix4::getTrans" ></a><p>
699<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
700  <tr>
701    <td class="mdRow">
702      <table cellpadding="0" cellspacing="0" border="0">
703        <tr>
704          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> Ogre::Matrix4::getTrans </td>
705          <td class="md" valign="top">(&nbsp;</td>
706          <td class="mdname1" valign="top" nowrap>          </td>
707          <td class="md" valign="top">&nbsp;)&nbsp;</td>
708          <td class="md" nowrap> const</td>
709        </tr>
710
711      </table>
712    </td>
713  </tr>
714</table>
715<table cellspacing=5 cellpadding=0 border=0>
716  <tr>
717    <td>
718      &nbsp;
719    </td>
720    <td>
721
722<p>
723Extracts the translation transformation part of the matrix.
724<p>
725
726<p>
727Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00339">339</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.    </td>
728  </tr>
729</table>
730<a class="anchor" name="Ogre_1_1Matrix4a27" doxytag="Ogre::Matrix4::inverse" ></a><p>
731<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
732  <tr>
733    <td class="mdRow">
734      <table cellpadding="0" cellspacing="0" border="0">
735        <tr>
736          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> Ogre::Matrix4::inverse </td>
737          <td class="md" valign="top">(&nbsp;</td>
738          <td class="mdname1" valign="top" nowrap>          </td>
739          <td class="md" valign="top">&nbsp;)&nbsp;</td>
740          <td class="md" nowrap> const</td>
741        </tr>
742
743      </table>
744    </td>
745  </tr>
746</table>
747<table cellspacing=5 cellpadding=0 border=0>
748  <tr>
749    <td>
750      &nbsp;
751    </td>
752    <td>
753
754<p>
755    </td>
756  </tr>
757</table>
758<a class="anchor" name="Ogre_1_1Matrix4a29" doxytag="Ogre::Matrix4::makeInverseTransform" ></a><p>
759<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
760  <tr>
761    <td class="mdRow">
762      <table cellpadding="0" cellspacing="0" border="0">
763        <tr>
764          <td class="md" nowrap valign="top"> void Ogre::Matrix4::makeInverseTransform </td>
765          <td class="md" valign="top">(&nbsp;</td>
766          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
767          <td class="mdname" nowrap> <em>position</em>, </td>
768        </tr>
769        <tr>
770          <td class="md" nowrap align="right"></td>
771          <td></td>
772          <td class="md" nowrap>const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
773          <td class="mdname" nowrap> <em>scale</em>, </td>
774        </tr>
775        <tr>
776          <td class="md" nowrap align="right"></td>
777          <td></td>
778          <td class="md" nowrap>const <a class="el" href="classOgre_1_1Quaternion.html">Quaternion</a> &amp;&nbsp;</td>
779          <td class="mdname" nowrap> <em>orientation</em></td>
780        </tr>
781        <tr>
782          <td></td>
783          <td class="md">)&nbsp;</td>
784          <td class="md" colspan="2"></td>
785        </tr>
786
787      </table>
788    </td>
789  </tr>
790</table>
791<table cellspacing=5 cellpadding=0 border=0>
792  <tr>
793    <td>
794      &nbsp;
795    </td>
796    <td>
797
798<p>
799Building an inverse <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> from orientation / scale / position.
800<p>
801<dl compact><dt><b>Remarks:</b></dt><dd>As makeTransform except it build the inverse given the same data as makeTransform, so performing -translation, -rotate, 1/scale in that order. </dd></dl>
802    </td>
803  </tr>
804</table>
805<a class="anchor" name="Ogre_1_1Matrix4a20" doxytag="Ogre::Matrix4::makeTrans" ></a><p>
806<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
807  <tr>
808    <td class="mdRow">
809      <table cellpadding="0" cellspacing="0" border="0">
810        <tr>
811          <td class="md" nowrap valign="top"> void Ogre::Matrix4::makeTrans </td>
812          <td class="md" valign="top">(&nbsp;</td>
813          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
814          <td class="mdname" nowrap> <em>tx</em>, </td>
815        </tr>
816        <tr>
817          <td class="md" nowrap align="right"></td>
818          <td></td>
819          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
820          <td class="mdname" nowrap> <em>ty</em>, </td>
821        </tr>
822        <tr>
823          <td class="md" nowrap align="right"></td>
824          <td></td>
825          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
826          <td class="mdname" nowrap> <em>tz</em></td>
827        </tr>
828        <tr>
829          <td></td>
830          <td class="md">)&nbsp;</td>
831          <td class="md" colspan="2"></td>
832        </tr>
833
834      </table>
835    </td>
836  </tr>
837</table>
838<table cellspacing=5 cellpadding=0 border=0>
839  <tr>
840    <td>
841      &nbsp;
842    </td>
843    <td>
844
845<p>
846
847<p>
848Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00355">355</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
849<p>
850References <a class="el" href="OgrePrerequisites_8h-source.html#l00113">Ogre::Real</a>.    </td>
851  </tr>
852</table>
853<a class="anchor" name="Ogre_1_1Matrix4a19" doxytag="Ogre::Matrix4::makeTrans" ></a><p>
854<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
855  <tr>
856    <td class="mdRow">
857      <table cellpadding="0" cellspacing="0" border="0">
858        <tr>
859          <td class="md" nowrap valign="top"> void Ogre::Matrix4::makeTrans </td>
860          <td class="md" valign="top">(&nbsp;</td>
861          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
862          <td class="mdname1" valign="top" nowrap> <em>v</em>          </td>
863          <td class="md" valign="top">&nbsp;)&nbsp;</td>
864          <td class="md" nowrap></td>
865        </tr>
866
867      </table>
868    </td>
869  </tr>
870</table>
871<table cellspacing=5 cellpadding=0 border=0>
872  <tr>
873    <td>
874      &nbsp;
875    </td>
876    <td>
877
878<p>
879Builds a translation matrix.
880<p>
881
882<p>
883Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00347">347</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
884<p>
885References <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>
886  </tr>
887</table>
888<a class="anchor" name="Ogre_1_1Matrix4a28" doxytag="Ogre::Matrix4::makeTransform" ></a><p>
889<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
890  <tr>
891    <td class="mdRow">
892      <table cellpadding="0" cellspacing="0" border="0">
893        <tr>
894          <td class="md" nowrap valign="top"> void Ogre::Matrix4::makeTransform </td>
895          <td class="md" valign="top">(&nbsp;</td>
896          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
897          <td class="mdname" nowrap> <em>position</em>, </td>
898        </tr>
899        <tr>
900          <td class="md" nowrap align="right"></td>
901          <td></td>
902          <td class="md" nowrap>const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
903          <td class="mdname" nowrap> <em>scale</em>, </td>
904        </tr>
905        <tr>
906          <td class="md" nowrap align="right"></td>
907          <td></td>
908          <td class="md" nowrap>const <a class="el" href="classOgre_1_1Quaternion.html">Quaternion</a> &amp;&nbsp;</td>
909          <td class="mdname" nowrap> <em>orientation</em></td>
910        </tr>
911        <tr>
912          <td></td>
913          <td class="md">)&nbsp;</td>
914          <td class="md" colspan="2"></td>
915        </tr>
916
917      </table>
918    </td>
919  </tr>
920</table>
921<table cellspacing=5 cellpadding=0 border=0>
922  <tr>
923    <td>
924      &nbsp;
925    </td>
926    <td>
927
928<p>
929Building a <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> from orientation / scale / position.
930<p>
931<dl compact><dt><b>Remarks:</b></dt><dd>Transform is performed in the order scale, rotate, translation, i.e. translation is independent of orientation axes, scale does not affect size of translation, rotation and scaling are always centered on the origin. </dd></dl>
932    </td>
933  </tr>
934</table>
935<a class="anchor" name="Ogre_1_1Matrix4a24" doxytag="Ogre::Matrix4::operator *" ></a><p>
936<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
937  <tr>
938    <td class="mdRow">
939      <table cellpadding="0" cellspacing="0" border="0">
940        <tr>
941          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> Ogre::Matrix4::operator * </td>
942          <td class="md" valign="top">(&nbsp;</td>
943          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
944          <td class="mdname1" valign="top" nowrap> <em>scalar</em>          </td>
945          <td class="md" valign="top">&nbsp;)&nbsp;</td>
946          <td class="md" nowrap></td>
947        </tr>
948
949      </table>
950    </td>
951  </tr>
952</table>
953<table cellspacing=5 cellpadding=0 border=0>
954  <tr>
955    <td>
956      &nbsp;
957    </td>
958    <td>
959
960<p>
961
962<p>
963Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00463">463</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
964<p>
965References <a class="el" href="OgrePrerequisites_8h-source.html#l00113">Ogre::Real</a>.    </td>
966  </tr>
967</table>
968<a class="anchor" name="Ogre_1_1Matrix4a10" doxytag="Ogre::Matrix4::operator *" ></a><p>
969<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
970  <tr>
971    <td class="mdRow">
972      <table cellpadding="0" cellspacing="0" border="0">
973        <tr>
974          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Plane.html">Plane</a> Ogre::Matrix4::operator * </td>
975          <td class="md" valign="top">(&nbsp;</td>
976          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Plane.html">Plane</a> &amp;&nbsp;</td>
977          <td class="mdname1" valign="top" nowrap> <em>p</em>          </td>
978          <td class="md" valign="top">&nbsp;)&nbsp;</td>
979          <td class="md" nowrap> const</td>
980        </tr>
981
982      </table>
983    </td>
984  </tr>
985</table>
986<table cellspacing=5 cellpadding=0 border=0>
987  <tr>
988    <td>
989      &nbsp;
990    </td>
991    <td>
992
993<p>
994
995<p>
996Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00206">206</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
997<p>
998References <a class="el" href="OgrePlane_8h-source.html#l00099">Ogre::Plane::d</a>, <a class="el" href="OgrePlane_8h-source.html#l00098">Ogre::Plane::normal</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>
999  </tr>
1000</table>
1001<a class="anchor" name="Ogre_1_1Matrix4a9" doxytag="Ogre::Matrix4::operator *" ></a><p>
1002<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1003  <tr>
1004    <td class="mdRow">
1005      <table cellpadding="0" cellspacing="0" border="0">
1006        <tr>
1007          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Vector4.html">Vector4</a> Ogre::Matrix4::operator * </td>
1008          <td class="md" valign="top">(&nbsp;</td>
1009          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector4.html">Vector4</a> &amp;&nbsp;</td>
1010          <td class="mdname1" valign="top" nowrap> <em>v</em>          </td>
1011          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1012          <td class="md" nowrap> const</td>
1013        </tr>
1014
1015      </table>
1016    </td>
1017  </tr>
1018</table>
1019<table cellspacing=5 cellpadding=0 border=0>
1020  <tr>
1021    <td>
1022      &nbsp;
1023    </td>
1024    <td>
1025
1026<p>
1027
1028<p>
1029Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00197">197</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
1030<p>
1031References <a class="el" href="OgreVector4_8h-source.html#l00041">Ogre::Vector4::w</a>, <a class="el" href="OgreVector4_8h-source.html#l00041">Ogre::Vector4::x</a>, <a class="el" href="OgreVector4_8h-source.html#l00041">Ogre::Vector4::y</a>, and <a class="el" href="OgreVector4_8h-source.html#l00041">Ogre::Vector4::z</a>.    </td>
1032  </tr>
1033</table>
1034<a class="anchor" name="Ogre_1_1Matrix4a8" doxytag="Ogre::Matrix4::operator *" ></a><p>
1035<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1036  <tr>
1037    <td class="mdRow">
1038      <table cellpadding="0" cellspacing="0" border="0">
1039        <tr>
1040          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> Ogre::Matrix4::operator * </td>
1041          <td class="md" valign="top">(&nbsp;</td>
1042          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
1043          <td class="mdname1" valign="top" nowrap> <em>v</em>          </td>
1044          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1045          <td class="md" nowrap> const</td>
1046        </tr>
1047
1048      </table>
1049    </td>
1050  </tr>
1051</table>
1052<table cellspacing=5 cellpadding=0 border=0>
1053  <tr>
1054    <td>
1055      &nbsp;
1056    </td>
1057    <td>
1058
1059<p>
1060Vector transformation using '*'.
1061<p>
1062<dl compact><dt><b>Remarks:</b></dt><dd>Transforms the given 3-D vector by the matrix, projecting the result back into <em>w</em> = 1. </dd></dl>
1063<dl compact><dt><b>Note:</b></dt><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>. </dd></dl>
1064
1065<p>
1066Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00185">185</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
1067<p>
1068References <a class="el" href="OgrePrerequisites_8h-source.html#l00113">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>
1069  </tr>
1070</table>
1071<a class="anchor" name="Ogre_1_1Matrix4a7" doxytag="Ogre::Matrix4::operator *" ></a><p>
1072<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1073  <tr>
1074    <td class="mdRow">
1075      <table cellpadding="0" cellspacing="0" border="0">
1076        <tr>
1077          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> Ogre::Matrix4::operator * </td>
1078          <td class="md" valign="top">(&nbsp;</td>
1079          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> &amp;&nbsp;</td>
1080          <td class="mdname1" valign="top" nowrap> <em>m2</em>          </td>
1081          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1082          <td class="md" nowrap> const</td>
1083        </tr>
1084
1085      </table>
1086    </td>
1087  </tr>
1088</table>
1089<table cellspacing=5 cellpadding=0 border=0>
1090  <tr>
1091    <td>
1092      &nbsp;
1093    </td>
1094    <td>
1095
1096<p>
1097Matrix concatenation using '*'.
1098<p>
1099
1100<p>
1101Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00171">171</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.    </td>
1102  </tr>
1103</table>
1104<a class="anchor" name="Ogre_1_1Matrix4a14" doxytag="Ogre::Matrix4::operator!=" ></a><p>
1105<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1106  <tr>
1107    <td class="mdRow">
1108      <table cellpadding="0" cellspacing="0" border="0">
1109        <tr>
1110          <td class="md" nowrap valign="top"> bool Ogre::Matrix4::operator!= </td>
1111          <td class="md" valign="top">(&nbsp;</td>
1112          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> &amp;&nbsp;</td>
1113          <td class="mdname1" valign="top" nowrap> <em>m2</em>          </td>
1114          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1115          <td class="md" nowrap> const</td>
1116        </tr>
1117
1118      </table>
1119    </td>
1120  </tr>
1121</table>
1122<table cellspacing=5 cellpadding=0 border=0>
1123  <tr>
1124    <td>
1125      &nbsp;
1126    </td>
1127    <td>
1128
1129<p>
1130Tests 2 matrices for inequality.
1131<p>
1132
1133<p>
1134Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00295">295</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
1135<p>
1136References <a class="el" href="OgreMatrix4_8h-source.html#l00074">m</a>.    </td>
1137  </tr>
1138</table>
1139<a class="anchor" name="Ogre_1_1Matrix4a11" doxytag="Ogre::Matrix4::operator+" ></a><p>
1140<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1141  <tr>
1142    <td class="mdRow">
1143      <table cellpadding="0" cellspacing="0" border="0">
1144        <tr>
1145          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> Ogre::Matrix4::operator+ </td>
1146          <td class="md" valign="top">(&nbsp;</td>
1147          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> &amp;&nbsp;</td>
1148          <td class="mdname1" valign="top" nowrap> <em>m2</em>          </td>
1149          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1150          <td class="md" nowrap> const</td>
1151        </tr>
1152
1153      </table>
1154    </td>
1155  </tr>
1156</table>
1157<table cellspacing=5 cellpadding=0 border=0>
1158  <tr>
1159    <td>
1160      &nbsp;
1161    </td>
1162    <td>
1163
1164<p>
1165Matrix addition.
1166<p>
1167
1168<p>
1169Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00225">225</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
1170<p>
1171References <a class="el" href="OgreMatrix4_8h-source.html#l00074">m</a>.    </td>
1172  </tr>
1173</table>
1174<a class="anchor" name="Ogre_1_1Matrix4a12" doxytag="Ogre::Matrix4::operator-" ></a><p>
1175<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1176  <tr>
1177    <td class="mdRow">
1178      <table cellpadding="0" cellspacing="0" border="0">
1179        <tr>
1180          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> Ogre::Matrix4::operator- </td>
1181          <td class="md" valign="top">(&nbsp;</td>
1182          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> &amp;&nbsp;</td>
1183          <td class="mdname1" valign="top" nowrap> <em>m2</em>          </td>
1184          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1185          <td class="md" nowrap> const</td>
1186        </tr>
1187
1188      </table>
1189    </td>
1190  </tr>
1191</table>
1192<table cellspacing=5 cellpadding=0 border=0>
1193  <tr>
1194    <td>
1195      &nbsp;
1196    </td>
1197    <td>
1198
1199<p>
1200Matrix subtraction.
1201<p>
1202
1203<p>
1204Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00254">254</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
1205<p>
1206References <a class="el" href="OgreMatrix4_8h-source.html#l00074">m</a>.    </td>
1207  </tr>
1208</table>
1209<a class="anchor" name="Ogre_1_1Matrix4a15" doxytag="Ogre::Matrix4::operator=" ></a><p>
1210<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1211  <tr>
1212    <td class="mdRow">
1213      <table cellpadding="0" cellspacing="0" border="0">
1214        <tr>
1215          <td class="md" nowrap valign="top"> void Ogre::Matrix4::operator= </td>
1216          <td class="md" valign="top">(&nbsp;</td>
1217          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Matrix3.html">Matrix3</a> &amp;&nbsp;</td>
1218          <td class="mdname1" valign="top" nowrap> <em>mat3</em>          </td>
1219          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1220          <td class="md" nowrap></td>
1221        </tr>
1222
1223      </table>
1224    </td>
1225  </tr>
1226</table>
1227<table cellspacing=5 cellpadding=0 border=0>
1228  <tr>
1229    <td>
1230      &nbsp;
1231    </td>
1232    <td>
1233
1234<p>
1235Assignment from 3x3 matrix.
1236<p>
1237
1238<p>
1239Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00308">308</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
1240<p>
1241References <a class="el" href="OgreMatrix3_8h-source.html#l00296">Ogre::Matrix3::m</a>.    </td>
1242  </tr>
1243</table>
1244<a class="anchor" name="Ogre_1_1Matrix4a13" doxytag="Ogre::Matrix4::operator==" ></a><p>
1245<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1246  <tr>
1247    <td class="mdRow">
1248      <table cellpadding="0" cellspacing="0" border="0">
1249        <tr>
1250          <td class="md" nowrap valign="top"> bool Ogre::Matrix4::operator== </td>
1251          <td class="md" valign="top">(&nbsp;</td>
1252          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> &amp;&nbsp;</td>
1253          <td class="mdname1" valign="top" nowrap> <em>m2</em>          </td>
1254          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1255          <td class="md" nowrap> const</td>
1256        </tr>
1257
1258      </table>
1259    </td>
1260  </tr>
1261</table>
1262<table cellspacing=5 cellpadding=0 border=0>
1263  <tr>
1264    <td>
1265      &nbsp;
1266    </td>
1267    <td>
1268
1269<p>
1270Tests 2 matrices for equality.
1271<p>
1272
1273<p>
1274Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00282">282</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
1275<p>
1276References <a class="el" href="OgreMatrix4_8h-source.html#l00074">m</a>.    </td>
1277  </tr>
1278</table>
1279<a class="anchor" name="Ogre_1_1Matrix4a5" doxytag="Ogre::Matrix4::operator[]" ></a><p>
1280<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1281  <tr>
1282    <td class="mdRow">
1283      <table cellpadding="0" cellspacing="0" border="0">
1284        <tr>
1285          <td class="md" nowrap valign="top"> const <a class="el" href="namespaceOgre.html#a465">Real</a>* const Ogre::Matrix4::operator[] </td>
1286          <td class="md" valign="top">(&nbsp;</td>
1287          <td class="md" nowrap valign="top">size_t&nbsp;</td>
1288          <td class="mdname1" valign="top" nowrap> <em>iRow</em>          </td>
1289          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1290          <td class="md" nowrap> const</td>
1291        </tr>
1292
1293      </table>
1294    </td>
1295  </tr>
1296</table>
1297<table cellspacing=5 cellpadding=0 border=0>
1298  <tr>
1299    <td>
1300      &nbsp;
1301    </td>
1302    <td>
1303
1304<p>
1305
1306<p>
1307Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00137">137</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
1308<p>
1309References <a class="el" href="OgrePrerequisites_8h-source.html#l00113">Ogre::Real</a>.    </td>
1310  </tr>
1311</table>
1312<a class="anchor" name="Ogre_1_1Matrix4a4" doxytag="Ogre::Matrix4::operator[]" ></a><p>
1313<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1314  <tr>
1315    <td class="mdRow">
1316      <table cellpadding="0" cellspacing="0" border="0">
1317        <tr>
1318          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a465">Real</a>* Ogre::Matrix4::operator[] </td>
1319          <td class="md" valign="top">(&nbsp;</td>
1320          <td class="md" nowrap valign="top">size_t&nbsp;</td>
1321          <td class="mdname1" valign="top" nowrap> <em>iRow</em>          </td>
1322          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1323          <td class="md" nowrap></td>
1324        </tr>
1325
1326      </table>
1327    </td>
1328  </tr>
1329</table>
1330<table cellspacing=5 cellpadding=0 border=0>
1331  <tr>
1332    <td>
1333      &nbsp;
1334    </td>
1335    <td>
1336
1337<p>
1338
1339<p>
1340Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00131">131</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
1341<p>
1342References <a class="el" href="OgrePrerequisites_8h-source.html#l00113">Ogre::Real</a>.    </td>
1343  </tr>
1344</table>
1345<a class="anchor" name="Ogre_1_1Matrix4a21" doxytag="Ogre::Matrix4::setScale" ></a><p>
1346<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1347  <tr>
1348    <td class="mdRow">
1349      <table cellpadding="0" cellspacing="0" border="0">
1350        <tr>
1351          <td class="md" nowrap valign="top"> void Ogre::Matrix4::setScale </td>
1352          <td class="md" valign="top">(&nbsp;</td>
1353          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
1354          <td class="mdname1" valign="top" nowrap> <em>v</em>          </td>
1355          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1356          <td class="md" nowrap></td>
1357        </tr>
1358
1359      </table>
1360    </td>
1361  </tr>
1362</table>
1363<table cellspacing=5 cellpadding=0 border=0>
1364  <tr>
1365    <td>
1366      &nbsp;
1367    </td>
1368    <td>
1369
1370<p>
1371Sets the scale part of the matrix.
1372<p>
1373
1374<p>
1375Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00398">398</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
1376<p>
1377References <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>
1378  </tr>
1379</table>
1380<a class="anchor" name="Ogre_1_1Matrix4a17" doxytag="Ogre::Matrix4::setTrans" ></a><p>
1381<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1382  <tr>
1383    <td class="mdRow">
1384      <table cellpadding="0" cellspacing="0" border="0">
1385        <tr>
1386          <td class="md" nowrap valign="top"> void Ogre::Matrix4::setTrans </td>
1387          <td class="md" valign="top">(&nbsp;</td>
1388          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
1389          <td class="mdname1" valign="top" nowrap> <em>v</em>          </td>
1390          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1391          <td class="md" nowrap></td>
1392        </tr>
1393
1394      </table>
1395    </td>
1396  </tr>
1397</table>
1398<table cellspacing=5 cellpadding=0 border=0>
1399  <tr>
1400    <td>
1401      &nbsp;
1402    </td>
1403    <td>
1404
1405<p>
1406Sets the translation transformation part of the matrix.
1407<p>
1408
1409<p>
1410Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00330">330</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.
1411<p>
1412References <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>
1413  </tr>
1414</table>
1415<a class="anchor" name="Ogre_1_1Matrix4a16" doxytag="Ogre::Matrix4::transpose" ></a><p>
1416<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1417  <tr>
1418    <td class="mdRow">
1419      <table cellpadding="0" cellspacing="0" border="0">
1420        <tr>
1421          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> Ogre::Matrix4::transpose </td>
1422          <td class="md" valign="top">(&nbsp;</td>
1423          <td class="md" nowrap valign="top">void&nbsp;</td>
1424          <td class="mdname1" valign="top" nowrap>          </td>
1425          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1426          <td class="md" nowrap> const</td>
1427        </tr>
1428
1429      </table>
1430    </td>
1431  </tr>
1432</table>
1433<table cellspacing=5 cellpadding=0 border=0>
1434  <tr>
1435    <td>
1436      &nbsp;
1437    </td>
1438    <td>
1439
1440<p>
1441
1442<p>
1443Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00315">315</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.    </td>
1444  </tr>
1445</table>
1446<hr><h2>Friends And Related Function Documentation</h2>
1447<a class="anchor" name="Ogre_1_1Matrix4n0" doxytag="Ogre::Matrix4::operator<<" ></a><p>
1448<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1449  <tr>
1450    <td class="mdRow">
1451      <table cellpadding="0" cellspacing="0" border="0">
1452        <tr>
1453          <td class="md" nowrap valign="top"> _OgreExport friend std::ostream&amp; operator&lt;&lt; </td>
1454          <td class="md" valign="top">(&nbsp;</td>
1455          <td class="md" nowrap valign="top">std::ostream &amp;&nbsp;</td>
1456          <td class="mdname" nowrap> <em>o</em>, </td>
1457        </tr>
1458        <tr>
1459          <td class="md" nowrap align="right"></td>
1460          <td></td>
1461          <td class="md" nowrap>const <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> &amp;&nbsp;</td>
1462          <td class="mdname" nowrap> <em>m</em></td>
1463        </tr>
1464        <tr>
1465          <td></td>
1466          <td class="md">)&nbsp;</td>
1467          <td class="md" colspan="2"><code> [friend]</code></td>
1468        </tr>
1469
1470      </table>
1471    </td>
1472  </tr>
1473</table>
1474<table cellspacing=5 cellpadding=0 border=0>
1475  <tr>
1476    <td>
1477      &nbsp;
1478    </td>
1479    <td>
1480
1481<p>
1482Function for writing to a stream.
1483<p>
1484
1485<p>
1486Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00475">475</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.    </td>
1487  </tr>
1488</table>
1489<hr><h2>Member Data Documentation</h2>
1490<a class="anchor" name="Ogre_1_1Matrix4p1" doxytag="Ogre::Matrix4::_m" ></a><p>
1491<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1492  <tr>
1493    <td class="mdRow">
1494      <table cellpadding="0" cellspacing="0" border="0">
1495        <tr>
1496          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a465">Real</a> <a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4p1">Ogre::Matrix4::_m</a>[16]<code> [protected]</code>
1497      </table>
1498    </td>
1499  </tr>
1500</table>
1501<table cellspacing=5 cellpadding=0 border=0>
1502  <tr>
1503    <td>
1504      &nbsp;
1505    </td>
1506    <td>
1507
1508<p>
1509
1510<p>
1511Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00075">75</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.    </td>
1512  </tr>
1513</table>
1514<a class="anchor" name="Ogre_1_1Matrix4s2" doxytag="Ogre::Matrix4::CLIPSPACE2DTOIMAGESPACE" ></a><p>
1515<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1516  <tr>
1517    <td class="mdRow">
1518      <table cellpadding="0" cellspacing="0" border="0">
1519        <tr>
1520          <td class="md" nowrap valign="top"> const <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> <a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4s2">Ogre::Matrix4::CLIPSPACE2DTOIMAGESPACE</a><code> [static]</code>
1521      </table>
1522    </td>
1523  </tr>
1524</table>
1525<table cellspacing=5 cellpadding=0 border=0>
1526  <tr>
1527    <td>
1528      &nbsp;
1529    </td>
1530    <td>
1531
1532<p>
1533Useful little matrix which takes 2D clipspace {-1, 1} to {0,1} and inverts the Y.
1534<p>
1535
1536<p>
1537Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00461">461</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.    </td>
1538  </tr>
1539</table>
1540<a class="anchor" name="Ogre_1_1Matrix4s1" doxytag="Ogre::Matrix4::IDENTITY" ></a><p>
1541<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1542  <tr>
1543    <td class="mdRow">
1544      <table cellpadding="0" cellspacing="0" border="0">
1545        <tr>
1546          <td class="md" nowrap valign="top"> const <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> <a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4s1">Ogre::Matrix4::IDENTITY</a><code> [static]</code>
1547      </table>
1548    </td>
1549  </tr>
1550</table>
1551<table cellspacing=5 cellpadding=0 border=0>
1552  <tr>
1553    <td>
1554      &nbsp;
1555    </td>
1556    <td>
1557
1558<p>
1559
1560<p>
1561Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00458">458</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.    </td>
1562  </tr>
1563</table>
1564<a class="anchor" name="Ogre_1_1Matrix4p0" doxytag="Ogre::Matrix4::m" ></a><p>
1565<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1566  <tr>
1567    <td class="mdRow">
1568      <table cellpadding="0" cellspacing="0" border="0">
1569        <tr>
1570          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a465">Real</a> <a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4p0">Ogre::Matrix4::m</a>[4][4]<code> [protected]</code>
1571      </table>
1572    </td>
1573  </tr>
1574</table>
1575<table cellspacing=5 cellpadding=0 border=0>
1576  <tr>
1577    <td>
1578      &nbsp;
1579    </td>
1580    <td>
1581
1582<p>
1583
1584<p>
1585Definition 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>.
1586<p>
1587Referenced by <a class="el" href="OgreMatrix4_8h-source.html#l00143">concatenate()</a>, <a class="el" href="OgreMatrix4_8h-source.html#l00407">getScale()</a>, <a class="el" href="OgreMatrix4_8h-source.html#l00365">getTrans()</a>, <a class="el" href="OgreMatrix4_8h-source.html#l00295">operator!=()</a>, <a class="el" href="OgreMatrix4_8h-source.html#l00225">operator+()</a>, <a class="el" href="OgreMatrix4_8h-source.html#l00254">operator-()</a>, and <a class="el" href="OgreMatrix4_8h-source.html#l00282">operator==()</a>.    </td>
1588  </tr>
1589</table>
1590<a class="anchor" name="Ogre_1_1Matrix4s0" doxytag="Ogre::Matrix4::ZERO" ></a><p>
1591<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1592  <tr>
1593    <td class="mdRow">
1594      <table cellpadding="0" cellspacing="0" border="0">
1595        <tr>
1596          <td class="md" nowrap valign="top"> const <a class="el" href="classOgre_1_1Matrix4.html">Matrix4</a> <a class="el" href="classOgre_1_1Matrix4.html#Ogre_1_1Matrix4s0">Ogre::Matrix4::ZERO</a><code> [static]</code>
1597      </table>
1598    </td>
1599  </tr>
1600</table>
1601<table cellspacing=5 cellpadding=0 border=0>
1602  <tr>
1603    <td>
1604      &nbsp;
1605    </td>
1606    <td>
1607
1608<p>
1609
1610<p>
1611Definition at line <a class="el" href="OgreMatrix4_8h-source.html#l00457">457</a> of file <a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a>.    </td>
1612  </tr>
1613</table>
1614<hr>The documentation for this class was generated from the following file:<ul>
1615<li><a class="el" href="OgreMatrix4_8h-source.html">OgreMatrix4.h</a></ul>
1616<hr>
1617<p>
1618Copyright &copy; 2000-2005 by The OGRE Team<br />
1619<!--Creative Commons License--><a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/"><img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights20.png"/></a><br/>
1620This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License</a>.<br/>
1621                <!--/Creative Commons License--><!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
1622                <Work rdf:about="">
1623                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
1624        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
1625                </Work>
1626                <License rdf:about="http://creativecommons.org/licenses/by-sa/2.5/"><permits rdf:resource="http://web.resource.org/cc/Reproduction"/><permits rdf:resource="http://web.resource.org/cc/Distribution"/><requires rdf:resource="http://web.resource.org/cc/Notice"/><requires rdf:resource="http://web.resource.org/cc/Attribution"/><permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/><requires rdf:resource="http://web.resource.org/cc/ShareAlike"/></License></rdf:RDF> -->
1627
1628Last modified Sun Mar 12 14:40:03 2006
1629</p>
1630</body>
1631</html>
Note: See TracBrowser for help on using the repository browser.