Sophie

Sophie

distrib > Mandriva > 2011.0 > i586 > by-pkgid > a16d689bc65aac5d987d5129109e6de5 > files > 353

irrlicht-doc-1.7.2-1.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Irrlicht Engine: irr::core::CMatrix4&lt; T &gt; Class Template Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<table class="irrlicht" >
  <tr valign="middle"> 
    <td><font size="2"><a class="qindex" href="index.html"><font color="#FFFFFF">Home</font></a> 
      | <a class="qindex" href="namespaces.html"><font color="#FFFFFF">Namespaces</font></a> 
      | <a class="qindex" href="hierarchy.html"><font color="#FFFFFF">Hierarchy</font></a> 
      | <a class="qindex" href="classes.html"><font color="#FFFFFF">Alphabetical 
      List</font></a> | <a class="qindex" href="annotated.html"><font color="#FFFFFF"> 
      Class list</font></a> | <a class="qindex" href="files.html"><font color="#FFFFFF">Files</font></a> 
      | <a class="qindex" href="namespacemembers.html"><font color="#FFFFFF"> 
      Namespace&nbsp;Members</font></a> | <a class="qindex" href="functions.html"><font color="#FFFFFF">Class 
      members</font></a> | <a class="qindex" href="globals.html"><font color="#FFFFFF">File 
      members</font></a> | <a class="qindex" href="pages.html"><font color="#FFFFFF">Tutorials</font></a></font> </td>
  </tr>
</table>
<!-- Generated by Doxygen 1.6.2 -->
  <div class="navpath"><a class="el" href="namespaceirr.html">irr</a>::<a class="el" href="namespaceirr_1_1core.html">core</a>::<a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>
  </div>
<div class="contents">
<h1>irr::core::CMatrix4&lt; T &gt; Class Template Reference</h1><!-- doxytag: class="irr::core::CMatrix4" -->
<p>4x4 matrix. Mostly used as transformation matrix for 3d calculations.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="matrix4_8h_source.html">matrix4.h</a>&gt;</code></p>

<p><a href="classirr_1_1core_1_1_c_matrix4-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4fe">eConstructor</a> { <br/>
&nbsp;&nbsp;<a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4fea3566901f796f109f56c30a682ec132b3">EM4CONST_NOTHING</a> =  0, 
<a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4feab61ca9be4d8fcd46a77ea3a3f6112c28">EM4CONST_COPY</a>, 
<a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4feabe4fda38ad4e2e186bd0b12e776ad71f">EM4CONST_IDENTITY</a>, 
<a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4fea6d05daa023ea476dea59533ce3d07d23">EM4CONST_TRANSPOSED</a>, 
<br/>
&nbsp;&nbsp;<a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4fea4d69cdac3d8daf867fcaa1ec889f2c09">EM4CONST_INVERSE</a>, 
<a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4feadff480a8b2060068f8c0971dcb8c9e6b">EM4CONST_INVERSE_TRANSPOSED</a>
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Constructor Flags. </p>
 <a href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4fe">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#ad2dc80f2aed15900839389cf52f9e798">buildAxisAlignedBillboard</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;camPos, const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;center, const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;translation, const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;axis, const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;from)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a matrix which rotates a source vector to a look vector over an arbitrary axis.  <a href="#ad2dc80f2aed15900839389cf52f9e798"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a78e15297c806006898df58498755ecd4">buildCameraLookAtMatrixLH</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;position, const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;target, const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;upVector)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a left-handed look-at matrix.  <a href="#a78e15297c806006898df58498755ecd4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a62ebd6002a5018c1096ac368f6be271a">buildCameraLookAtMatrixRH</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;position, const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;target, const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;upVector)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a right-handed look-at matrix.  <a href="#a62ebd6002a5018c1096ac368f6be271a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a88a7d2f56d4ce637823379de308f673a">buildNDCToDCMatrix</a> (const <a class="el" href="classirr_1_1core_1_1rect.html">core::rect</a>&lt; <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> &gt; &amp;area, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> zScale)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a matrix which transforms a normalized Device Coordinate to Device Coordinates.  <a href="#a88a7d2f56d4ce637823379de308f673a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#ae4a0618e2da724a26a5d8a201a63d8a5">buildProjectionMatrixOrthoLH</a> (<a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> widthOfViewVolume, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> heightOfViewVolume, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> zNear, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> zFar)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a left-handed orthogonal projection matrix.  <a href="#ae4a0618e2da724a26a5d8a201a63d8a5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#ae7a837a3b2d86bfc830d25c6144b7a46">buildProjectionMatrixOrthoRH</a> (<a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> widthOfViewVolume, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> heightOfViewVolume, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> zNear, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> zFar)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a right-handed orthogonal projection matrix.  <a href="#ae7a837a3b2d86bfc830d25c6144b7a46"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a1895b967a8f8c9d7ad90fe5434f2499f">buildProjectionMatrixPerspectiveFovLH</a> (<a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> fieldOfViewRadians, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> aspectRatio, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> zNear, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> zFar)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a left-handed perspective projection matrix based on a field of view.  <a href="#a1895b967a8f8c9d7ad90fe5434f2499f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a5bea6c6f5479720841cea61651e35879">buildProjectionMatrixPerspectiveFovRH</a> (<a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> fieldOfViewRadians, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> aspectRatio, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> zNear, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> zFar)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a right-handed perspective projection matrix based on a field of view.  <a href="#a5bea6c6f5479720841cea61651e35879"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a8306f02451b06f8e6710f23631654086">buildProjectionMatrixPerspectiveLH</a> (<a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> widthOfViewVolume, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> heightOfViewVolume, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> zNear, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> zFar)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a left-handed perspective projection matrix.  <a href="#a8306f02451b06f8e6710f23631654086"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a649a29922f622503399bcb16c97b78b4">buildProjectionMatrixPerspectiveRH</a> (<a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> widthOfViewVolume, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> heightOfViewVolume, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> zNear, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> zFar)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a right-handed perspective projection matrix.  <a href="#a649a29922f622503399bcb16c97b78b4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a4802c6a89ad813e2919f68f512fb320f">buildRotateFromTo</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;from, const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;to)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a matrix that rotates from one vector to another.  <a href="#a4802c6a89ad813e2919f68f512fb320f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a583d0ece1d80f69101660e1cbe441768">buildShadowMatrix</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;light, <a class="el" href="classirr_1_1core_1_1plane3d.html">core::plane3df</a> plane, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> point=1.0f)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a matrix that flattens geometry into a plane.  <a href="#a583d0ece1d80f69101660e1cbe441768"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#afc72faaf2c883d9c0fdc1e0940d1acde">buildTextureTransform</a> (<a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> rotateRad, const <a class="el" href="classirr_1_1core_1_1vector2d.html">core::vector2df</a> &amp;rotatecenter, const <a class="el" href="classirr_1_1core_1_1vector2d.html">core::vector2df</a> &amp;translate, const <a class="el" href="classirr_1_1core_1_1vector2d.html">core::vector2df</a> &amp;scale)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set to a texture transformation matrix with the given parameters.  <a href="#afc72faaf2c883d9c0fdc1e0940d1acde"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#acdb7afc2248d97a7e882cd1bdeed07b7">CMatrix4</a> (const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;other, <a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4fe">eConstructor</a> constructor=EM4CONST_COPY)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor.  <a href="#acdb7afc2248d97a7e882cd1bdeed07b7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#af771bfde63cdaa3baa4d9f6121e56411">CMatrix4</a> (<a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4fe">eConstructor</a> constructor=EM4CONST_IDENTITY)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor.  <a href="#af771bfde63cdaa3baa4d9f6121e56411"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a5342bc1ac46e8bf7e287f1d58ec702c2">equals</a> (const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">core::CMatrix4</a>&lt; T &gt; &amp;other, const T tolerance=(T) <a class="el" href="namespaceirr_1_1core.html#a7b314c22d6804639cbcbce5231724f0b">ROUNDING_ERROR_f64</a>) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two matrices using the equal method.  <a href="#a5342bc1ac46e8bf7e287f1d58ec702c2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#ab91cb550bdacbc7b79a47d5b4ee5f4fa">getDefinitelyIdentityMatrix</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets if the matrix is definitely identity matrix.  <a href="#ab91cb550bdacbc7b79a47d5b4ee5f4fa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a33c110cd75fdddb840a990ab52f10900">getInverse</a> (<a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;out) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the inversed matrix of this one.  <a href="#a33c110cd75fdddb840a990ab52f10900"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#af8c024c494998296fc7ed63603d7cb62">getInversePrimitive</a> (<a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;out) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inverts a primitive matrix which only contains a translation and a rotation.  <a href="#af8c024c494998296fc7ed63603d7cb62"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3d</a>&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#aa348817a724b49816da5c181ba672e1d">getRotationDegrees</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the rotation, as set by setRotation().  <a href="#aa348817a724b49816da5c181ba672e1d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3d</a>&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#aa29f46680cea92b6d38886d1e9759cdd">getScale</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get Scale.  <a href="#aa29f46680cea92b6d38886d1e9759cdd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#aec84b278e87611352b75298238e54006">getTranslation</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the current translation.  <a href="#aec84b278e87611352b75298238e54006"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#abc4f641ad798591424020e38efe21636">getTransposed</a> (<a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;dest) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets transposed matrix.  <a href="#abc4f641ad798591424020e38efe21636"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a83e8a629180ab12262d2e2cf52c7991b">getTransposed</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets transposed matrix.  <a href="#a83e8a629180ab12262d2e2cf52c7991b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a0c9ed4a87ab8a1340e075490cd9de309">interpolate</a> (const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">core::CMatrix4</a>&lt; T &gt; &amp;b, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> time) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new matrix as interpolated matrix from two other ones.  <a href="#a0c9ed4a87ab8a1340e075490cd9de309"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a7996bee0d3056d6647dc9cc840ed0ad8">inverseRotateVect</a> (<a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;vect) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Rotate a vector by the inverse of the rotation part of this matrix.  <a href="#a7996bee0d3056d6647dc9cc840ed0ad8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a83bf069639e0538f047041ae51042907">inverseTranslateVect</a> (<a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;vect) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Translate a vector by the inverse of the translation part of this matrix.  <a href="#a83bf069639e0538f047041ae51042907"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a24e7bc5d302f6c0cb11bad0771a40826">isIdentity</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the matrix is the identity matrix.  <a href="#a24e7bc5d302f6c0cb11bad0771a40826"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#ab4b515a697bb3749a8e1dd9fc31342bd">isIdentity_integer_base</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the matrix is the identity matrix.  <a href="#ab4b515a697bb3749a8e1dd9fc31342bd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#afc4fe0bdfb771b15eff91264c0ed37f9">isOrthogonal</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the matrix is orthogonal.  <a href="#afc4fe0bdfb771b15eff91264c0ed37f9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a45f876ed1aed2c3c98b87fee6d938604">makeIdentity</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set matrix to identity.  <a href="#a45f876ed1aed2c3c98b87fee6d938604"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a3fbface2cb6b959af64f82a5bb17540e">makeInverse</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates inverse of matrix. Slow.  <a href="#a3fbface2cb6b959af64f82a5bb17540e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a1e1f04cdf57dc76be2875427498a0d62">multiplyWith1x4Matrix</a> (T *matrix) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplies this matrix by a 1x4 matrix.  <a href="#a1e1f04cdf57dc76be2875427498a0d62"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a99b4c127f31033b5f7314b98164b99ed">operator!=</a> (const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;other) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if other matrix is not equal to this matrix.  <a href="#a99b4c127f31033b5f7314b98164b99ed"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a370e3a1ed88e95011125d09943b50e3b">operator()</a> (const <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> row, const <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> col) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simple operator for directly accessing every element of the matrix.  <a href="#a370e3a1ed88e95011125d09943b50e3b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#aaede6824ed3ee05b928815d52e1834d1">operator()</a> (const <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> row, const <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> col)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simple operator for directly accessing every element of the matrix.  <a href="#aaede6824ed3ee05b928815d52e1834d1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a2695d5d90aa8cf55e06649fc83752466">operator*</a> (const T &amp;scalar) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply by scalar.  <a href="#a2695d5d90aa8cf55e06649fc83752466"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a4173ab9beecf99940ba2eb01081f1613">operator*</a> (const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;other) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply by another matrix.  <a href="#a4173ab9beecf99940ba2eb01081f1613"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#ae78879a3d7f0113ba5208d5476c3af9c">operator*=</a> (const T &amp;scalar)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply by scalar.  <a href="#ae78879a3d7f0113ba5208d5476c3af9c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#ac3d29f86c91d9d095ab155ecb8870f87">operator*=</a> (const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;other)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply by another matrix.  <a href="#ac3d29f86c91d9d095ab155ecb8870f87"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#ac2192a7d9dd89dcd23fe2f9ded3252bf">operator+</a> (const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;other) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add another matrix.  <a href="#ac2192a7d9dd89dcd23fe2f9ded3252bf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#af91c5be0562ce4be3f8feedd3d017ba1">operator+=</a> (const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;other)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add another matrix.  <a href="#af91c5be0562ce4be3f8feedd3d017ba1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#aee45563e7f9fdf3d4ef7f5a9d63d87c0">operator-</a> (const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;other) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtract another matrix.  <a href="#aee45563e7f9fdf3d4ef7f5a9d63d87c0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a24eb7faa1418765ba87d3f02f27d643f">operator-=</a> (const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;other)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtract another matrix.  <a href="#a24eb7faa1418765ba87d3f02f27d643f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#aa77c0ec30f4e42f7281392440898e9e3">operator=</a> (const T &amp;scalar)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets all elements of this matrix to the value.  <a href="#aa77c0ec30f4e42f7281392440898e9e3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a47571eb3acae9a6aa330a03edcea7896">operator=</a> (const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;other)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets this matrix equal to the other matrix.  <a href="#a47571eb3acae9a6aa330a03edcea7896"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a81029252a2a83ef4647f5d8a02cf62b5">operator==</a> (const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;other) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if other matrix is equal to this matrix.  <a href="#a81029252a2a83ef4647f5d8a02cf62b5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a1c7a81521e81280c31b8ae3397d1fffe">operator[]</a> (<a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> index) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simple operator for linearly accessing every element of the matrix.  <a href="#a1c7a81521e81280c31b8ae3397d1fffe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#aead4909f8bb2ab40875af175caf0085f">operator[]</a> (<a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> index)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simple operator for linearly accessing every element of the matrix.  <a href="#aead4909f8bb2ab40875af175caf0085f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">T *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a2d9b231425d1b8abddb9e1e997fbf2ea">pointer</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const T *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a11a3ffa3eb0987030e7a8758dee8965a">pointer</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns pointer to internal array.  <a href="#a11a3ffa3eb0987030e7a8758dee8965a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#aa188488f489118e4daafd3b2ebab5119">rotateVect</a> (T *out, const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;in) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An alternate transform vector method, writing into an array of 3 floats.  <a href="#aa188488f489118e4daafd3b2ebab5119"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a592d57581118b651a24dc68b17b99ff6">rotateVect</a> (<a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;out, const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;in) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An alternate transform vector method, writing into a second vector.  <a href="#a592d57581118b651a24dc68b17b99ff6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a8abcfbf972b19946c3022db380c6d153">rotateVect</a> (<a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;vect) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Rotate a vector by the rotation part of this matrix.  <a href="#a8abcfbf972b19946c3022db380c6d153"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a8503c58913ba9407ba00b173d8a3e25c">setbyproduct</a> (const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;other_a, const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;other_b)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set this matrix to the product of two matrices  <a href="#a8503c58913ba9407ba00b173d8a3e25c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a526a2a11dcd8b18c9e77deb84094778d">setbyproduct_nocheck</a> (const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;other_a, const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;other_b)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set this matrix to the product of two matrices.  <a href="#a526a2a11dcd8b18c9e77deb84094778d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a87f7195337a2bf7a49978c2ec1100c0a">setDefinitelyIdentityMatrix</a> (bool isDefinitelyIdentityMatrix)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets if the matrix is definitely identity matrix.  <a href="#a87f7195337a2bf7a49978c2ec1100c0a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#afd84b9c93b4c8e9dc2abefa4a28057f9">setInverseRotationDegrees</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;rotation)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make an inverted rotation matrix from Euler angles.  <a href="#afd84b9c93b4c8e9dc2abefa4a28057f9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a1a15d7b55769678512144f0fb7e15a92">setInverseRotationRadians</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;rotation)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make an inverted rotation matrix from Euler angles.  <a href="#a1a15d7b55769678512144f0fb7e15a92"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a258e103fcb6ce1564978624280ecb7fe">setInverseTranslation</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;translation)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the inverse translation of the current matrix. Will erase any previous values.  <a href="#a258e103fcb6ce1564978624280ecb7fe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#ae59fb2248865eba3026d13b9756ba1e1">setM</a> (const T *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets all matrix data members at once.  <a href="#ae59fb2248865eba3026d13b9756ba1e1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a8117628146ce654b3b292af7c49e25e2">setRotationCenter</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;center, const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;translate)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a combined matrix which translates to a center before rotation and translates from origin afterwards.  <a href="#a8117628146ce654b3b292af7c49e25e2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a8ee5ef8619d4b0f56d72ac84495ed644">setRotationDegrees</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;rotation)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make a rotation matrix from Euler angles. The 4th row and column are unmodified.  <a href="#a8ee5ef8619d4b0f56d72ac84495ed644"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a05aac7bd2e7651369fc813a51258afbe">setRotationRadians</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;rotation)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make a rotation matrix from Euler angles. The 4th row and column are unmodified.  <a href="#a05aac7bd2e7651369fc813a51258afbe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a18af980e2bc3575f60576b6d4b4cc0f3">setScale</a> (const T scale)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set Scale.  <a href="#a18af980e2bc3575f60576b6d4b4cc0f3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a47117d44419af87e70084c01ab852049">setScale</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;scale)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set Scale.  <a href="#a47117d44419af87e70084c01ab852049"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a445a7653292ae4ffb0baa50032a8674e">setTextureRotationCenter</a> (<a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> radAngle)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set texture transformation rotation.  <a href="#a445a7653292ae4ffb0baa50032a8674e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#aed32a7a8da9c4cee5babe8f6b4aa7dd4">setTextureScale</a> (<a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> sx, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> sy)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set texture transformation scale.  <a href="#aed32a7a8da9c4cee5babe8f6b4aa7dd4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#adbd668867d117dc9331e68abef0af221">setTextureScaleCenter</a> (<a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> sx, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> sy)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set texture transformation scale, and recenter at (0.5,0.5).  <a href="#adbd668867d117dc9331e68abef0af221"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a2bab9633697a892f08d89c7aeee6daf6">setTextureTranslate</a> (<a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> x, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set texture transformation translation.  <a href="#a2bab9633697a892f08d89c7aeee6daf6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a7d999210cc7427e9d744271e50d26c3c">setTextureTranslateTransposed</a> (<a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> x, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set texture transformation translation, using a transposed representation.  <a href="#a7d999210cc7427e9d744271e50d26c3c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#ac04a3b341cbfbb7986be682691655622">setTranslation</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;translation)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the translation of the current matrix. Will erase any previous values.  <a href="#ac04a3b341cbfbb7986be682691655622"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#ac12468d698fbf6cd545e8b3fbf2a0042">transformBox</a> (<a class="el" href="classirr_1_1core_1_1aabbox3d.html">core::aabbox3d</a>&lt; <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> &gt; &amp;box) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transforms a axis aligned bounding box.  <a href="#ac12468d698fbf6cd545e8b3fbf2a0042"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a87451aea9c07b71d1a8b6091b8cefa63">transformBoxEx</a> (<a class="el" href="classirr_1_1core_1_1aabbox3d.html">core::aabbox3d</a>&lt; <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> &gt; &amp;box) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transforms a axis aligned bounding box.  <a href="#a87451aea9c07b71d1a8b6091b8cefa63"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a949042276c2025189cc568c8080d7579">transformPlane</a> (const <a class="el" href="classirr_1_1core_1_1plane3d.html">core::plane3d</a>&lt; <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> &gt; &amp;in, <a class="el" href="classirr_1_1core_1_1plane3d.html">core::plane3d</a>&lt; <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> &gt; &amp;out) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transforms a plane by this matrix.  <a href="#a949042276c2025189cc568c8080d7579"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#ac4f0d4156d573d8b73eb51dce76e094e">transformPlane</a> (<a class="el" href="classirr_1_1core_1_1plane3d.html">core::plane3d</a>&lt; <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> &gt; &amp;plane) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transforms a plane by this matrix.  <a href="#ac4f0d4156d573d8b73eb51dce76e094e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#aad3d6e0c59e2d5709a534abc2b86dbd3">transformVect</a> (T *out, const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;in) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An alternate transform vector method, writing into an array of 4 floats.  <a href="#aad3d6e0c59e2d5709a534abc2b86dbd3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a7f630ed6811ab36921c2fe6f63f7f426">transformVect</a> (<a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;out, const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;in) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transforms input vector by this matrix and stores result in output vector.  <a href="#a7f630ed6811ab36921c2fe6f63f7f426"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#aa6bb8b39114749d70e51bd1b90bce0a1">transformVect</a> (<a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;vect) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transforms the vector by this matrix.  <a href="#aa6bb8b39114749d70e51bd1b90bce0a1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a587cb77fd7de7a13771c96a90c4f3de0">translateVect</a> (<a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;vect) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Translate a vector by the translation part of this matrix.  <a href="#a587cb77fd7de7a13771c96a90c4f3de0"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class T&gt;<br/>
 class irr::core::CMatrix4&lt; T &gt;</h3>

<p>4x4 matrix. Mostly used as transformation matrix for 3d calculations. </p>
<p>The matrix is a D3D style matrix, row major with translations in the 4th row. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00046">46</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a7bb79712227617f706ed57a34f3eb4fe"></a><!-- doxytag: member="irr::core::CMatrix4::eConstructor" ref="a7bb79712227617f706ed57a34f3eb4fe" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4fe">irr::core::CMatrix4::eConstructor</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor Flags. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a7bb79712227617f706ed57a34f3eb4fea3566901f796f109f56c30a682ec132b3"></a><!-- doxytag: member="EM4CONST_NOTHING" ref="a7bb79712227617f706ed57a34f3eb4fea3566901f796f109f56c30a682ec132b3" args="" -->EM4CONST_NOTHING</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a7bb79712227617f706ed57a34f3eb4feab61ca9be4d8fcd46a77ea3a3f6112c28"></a><!-- doxytag: member="EM4CONST_COPY" ref="a7bb79712227617f706ed57a34f3eb4feab61ca9be4d8fcd46a77ea3a3f6112c28" args="" -->EM4CONST_COPY</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a7bb79712227617f706ed57a34f3eb4feabe4fda38ad4e2e186bd0b12e776ad71f"></a><!-- doxytag: member="EM4CONST_IDENTITY" ref="a7bb79712227617f706ed57a34f3eb4feabe4fda38ad4e2e186bd0b12e776ad71f" args="" -->EM4CONST_IDENTITY</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a7bb79712227617f706ed57a34f3eb4fea6d05daa023ea476dea59533ce3d07d23"></a><!-- doxytag: member="EM4CONST_TRANSPOSED" ref="a7bb79712227617f706ed57a34f3eb4fea6d05daa023ea476dea59533ce3d07d23" args="" -->EM4CONST_TRANSPOSED</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a7bb79712227617f706ed57a34f3eb4fea4d69cdac3d8daf867fcaa1ec889f2c09"></a><!-- doxytag: member="EM4CONST_INVERSE" ref="a7bb79712227617f706ed57a34f3eb4fea4d69cdac3d8daf867fcaa1ec889f2c09" args="" -->EM4CONST_INVERSE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a7bb79712227617f706ed57a34f3eb4feadff480a8b2060068f8c0971dcb8c9e6b"></a><!-- doxytag: member="EM4CONST_INVERSE_TRANSPOSED" ref="a7bb79712227617f706ed57a34f3eb4feadff480a8b2060068f8c0971dcb8c9e6b" args="" -->EM4CONST_INVERSE_TRANSPOSED</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00051">51</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="af771bfde63cdaa3baa4d9f6121e56411"></a><!-- doxytag: member="irr::core::CMatrix4::CMatrix4" ref="af771bfde63cdaa3baa4d9f6121e56411" args="(eConstructor constructor=EM4CONST_IDENTITY)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::<a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4fe">eConstructor</a>&nbsp;</td>
          <td class="paramname"> <em>constructor</em> = <code>EM4CONST_IDENTITY</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default constructor. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>constructor</em>&nbsp;</td><td>Choose the initialization style </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00405">405</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="acdb7afc2248d97a7e882cd1bdeed07b7"></a><!-- doxytag: member="irr::core::CMatrix4::CMatrix4" ref="acdb7afc2248d97a7e882cd1bdeed07b7" args="(const CMatrix4&lt; T &gt; &amp;other, eConstructor constructor=EM4CONST_COPY)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::<a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4fe">eConstructor</a>&nbsp;</td>
          <td class="paramname"> <em>constructor</em> = <code>EM4CONST_COPY</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy constructor. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>other</em>&nbsp;</td><td>Other matrix to copy from </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>constructor</em>&nbsp;</td><td>Choose the initialization style </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00428">428</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="matrix4_8h_source.html#l01226">irr::core::CMatrix4&lt; T &gt;::getInverse()</a>, and <a class="el" href="matrix4_8h_source.html#l01757">irr::core::CMatrix4&lt; T &gt;::getTransposed()</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ad2dc80f2aed15900839389cf52f9e798"></a><!-- doxytag: member="irr::core::CMatrix4::buildAxisAlignedBillboard" ref="ad2dc80f2aed15900839389cf52f9e798" args="(const core::vector3df &amp;camPos, const core::vector3df &amp;center, const core::vector3df &amp;translation, const core::vector3df &amp;axis, const core::vector3df &amp;from)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::buildAxisAlignedBillboard </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>camPos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>center</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>translation</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>axis</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>from</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a matrix which rotates a source vector to a look vector over an arbitrary axis. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>camPos,:</em>&nbsp;</td><td>viewer position in world coo </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>center,:</em>&nbsp;</td><td>object position in world-coo and rotation pivot </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>translation,:</em>&nbsp;</td><td>object final translation from center </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>axis,:</em>&nbsp;</td><td>axis to rotate about </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>from,:</em>&nbsp;</td><td>source vector to rotate from </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01873">1873</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00147">irr::core::vector3d&lt; T &gt;::crossProduct()</a>, <a class="el" href="vector3d_8h_source.html#l00125">irr::core::vector3d&lt; T &gt;::dotProduct()</a>, <a class="el" href="vector3d_8h_source.html#l00168">irr::core::vector3d&lt; T &gt;::normalize()</a>, <a class="el" href="matrix4_8h_source.html#l01930">irr::core::CMatrix4&lt; T &gt;::setRotationCenter()</a>, <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

</div>
</div>
<a class="anchor" id="a78e15297c806006898df58498755ecd4"></a><!-- doxytag: member="irr::core::CMatrix4::buildCameraLookAtMatrixLH" ref="a78e15297c806006898df58498755ecd4" args="(const vector3df &amp;position, const vector3df &amp;target, const vector3df &amp;upVector)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::buildCameraLookAtMatrixLH </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>upVector</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a left-handed look-at matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01658">1658</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00147">irr::core::vector3d&lt; T &gt;::crossProduct()</a>, <a class="el" href="vector3d_8h_source.html#l00125">irr::core::vector3d&lt; T &gt;::dotProduct()</a>, <a class="el" href="vector3d_8h_source.html#l00168">irr::core::vector3d&lt; T &gt;::normalize()</a>, <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

</div>
</div>
<a class="anchor" id="a62ebd6002a5018c1096ac368f6be271a"></a><!-- doxytag: member="irr::core::CMatrix4::buildCameraLookAtMatrixRH" ref="a62ebd6002a5018c1096ac368f6be271a" args="(const vector3df &amp;position, const vector3df &amp;target, const vector3df &amp;upVector)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::buildCameraLookAtMatrixRH </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>upVector</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a right-handed look-at matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01699">1699</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00147">irr::core::vector3d&lt; T &gt;::crossProduct()</a>, <a class="el" href="vector3d_8h_source.html#l00125">irr::core::vector3d&lt; T &gt;::dotProduct()</a>, <a class="el" href="vector3d_8h_source.html#l00168">irr::core::vector3d&lt; T &gt;::normalize()</a>, <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

</div>
</div>
<a class="anchor" id="a88a7d2f56d4ce637823379de308f673a"></a><!-- doxytag: member="irr::core::CMatrix4::buildNDCToDCMatrix" ref="a88a7d2f56d4ce637823379de308f673a" args="(const core::rect&lt; s32 &gt; &amp;area, f32 zScale)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::buildNDCToDCMatrix </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1rect.html">core::rect</a>&lt; <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>area</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>zScale</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a matrix which transforms a normalized Device Coordinate to Device Coordinates. </p>
<p>Used to scale &lt;-1,-1&gt;&lt;1,1&gt; to viewport, for example from &lt;-1,-1&gt; &lt;1,1&gt; to the viewport &lt;0,0&gt;&lt;0,640&gt; </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01796">1796</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="rect_8h_source.html#l00190">irr::core::rect&lt; T &gt;::getHeight()</a>, <a class="el" href="rect_8h_source.html#l00184">irr::core::rect&lt; T &gt;::getWidth()</a>, <a class="el" href="rect_8h_source.html#l00267">irr::core::rect&lt; T &gt;::LowerRightCorner</a>, <a class="el" href="matrix4_8h_source.html#l00923">irr::core::CMatrix4&lt; T &gt;::makeIdentity()</a>, <a class="el" href="matrix4_8h_source.html#l00763">irr::core::CMatrix4&lt; T &gt;::setScale()</a>, and <a class="el" href="rect_8h_source.html#l00265">irr::core::rect&lt; T &gt;::UpperLeftCorner</a>.</p>

</div>
</div>
<a class="anchor" id="ae4a0618e2da724a26a5d8a201a63d8a5"></a><!-- doxytag: member="irr::core::CMatrix4::buildProjectionMatrixOrthoLH" ref="ae4a0618e2da724a26a5d8a201a63d8a5" args="(f32 widthOfViewVolume, f32 heightOfViewVolume, f32 zNear, f32 zFar)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::buildProjectionMatrixOrthoLH </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>widthOfViewVolume</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>heightOfViewVolume</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>zNear</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>zFar</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a left-handed orthogonal projection matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01487">1487</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="irr_types_8h_source.html#l00153">_IRR_DEBUG_BREAK_IF</a>.</p>

</div>
</div>
<a class="anchor" id="ae7a837a3b2d86bfc830d25c6144b7a46"></a><!-- doxytag: member="irr::core::CMatrix4::buildProjectionMatrixOrthoRH" ref="ae7a837a3b2d86bfc830d25c6144b7a46" args="(f32 widthOfViewVolume, f32 heightOfViewVolume, f32 zNear, f32 zFar)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::buildProjectionMatrixOrthoRH </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>widthOfViewVolume</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>heightOfViewVolume</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>zNear</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>zFar</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a right-handed orthogonal projection matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01522">1522</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="irr_types_8h_source.html#l00153">_IRR_DEBUG_BREAK_IF</a>.</p>

</div>
</div>
<a class="anchor" id="a1895b967a8f8c9d7ad90fe5434f2499f"></a><!-- doxytag: member="irr::core::CMatrix4::buildProjectionMatrixPerspectiveFovLH" ref="a1895b967a8f8c9d7ad90fe5434f2499f" args="(f32 fieldOfViewRadians, f32 aspectRatio, f32 zNear, f32 zFar)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::buildProjectionMatrixPerspectiveFovLH </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>fieldOfViewRadians</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>aspectRatio</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>zNear</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>zFar</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a left-handed perspective projection matrix based on a field of view. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01450">1450</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="irr_types_8h_source.html#l00153">_IRR_DEBUG_BREAK_IF</a>, and <a class="el" href="irr_math_8h_source.html#l00464">irr::core::reciprocal()</a>.</p>

</div>
</div>
<a class="anchor" id="a5bea6c6f5479720841cea61651e35879"></a><!-- doxytag: member="irr::core::CMatrix4::buildProjectionMatrixPerspectiveFovRH" ref="a5bea6c6f5479720841cea61651e35879" args="(f32 fieldOfViewRadians, f32 aspectRatio, f32 zNear, f32 zFar)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::buildProjectionMatrixPerspectiveFovRH </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>fieldOfViewRadians</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>aspectRatio</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>zNear</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>zFar</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a right-handed perspective projection matrix based on a field of view. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01411">1411</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="irr_types_8h_source.html#l00153">_IRR_DEBUG_BREAK_IF</a>, and <a class="el" href="irr_math_8h_source.html#l00464">irr::core::reciprocal()</a>.</p>

</div>
</div>
<a class="anchor" id="a8306f02451b06f8e6710f23631654086"></a><!-- doxytag: member="irr::core::CMatrix4::buildProjectionMatrixPerspectiveLH" ref="a8306f02451b06f8e6710f23631654086" args="(f32 widthOfViewVolume, f32 heightOfViewVolume, f32 zNear, f32 zFar)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::buildProjectionMatrixPerspectiveLH </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>widthOfViewVolume</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>heightOfViewVolume</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>zNear</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>zFar</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a left-handed perspective projection matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01592">1592</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="irr_types_8h_source.html#l00153">_IRR_DEBUG_BREAK_IF</a>.</p>

</div>
</div>
<a class="anchor" id="a649a29922f622503399bcb16c97b78b4"></a><!-- doxytag: member="irr::core::CMatrix4::buildProjectionMatrixPerspectiveRH" ref="a649a29922f622503399bcb16c97b78b4" args="(f32 widthOfViewVolume, f32 heightOfViewVolume, f32 zNear, f32 zFar)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::buildProjectionMatrixPerspectiveRH </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>widthOfViewVolume</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>heightOfViewVolume</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>zNear</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>zFar</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a right-handed perspective projection matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01557">1557</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="irr_types_8h_source.html#l00153">_IRR_DEBUG_BREAK_IF</a>.</p>

</div>
</div>
<a class="anchor" id="a4802c6a89ad813e2919f68f512fb320f"></a><!-- doxytag: member="irr::core::CMatrix4::buildRotateFromTo" ref="a4802c6a89ad813e2919f68f512fb320f" args="(const core::vector3df &amp;from, const core::vector3df &amp;to)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::buildRotateFromTo </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>from</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>to</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a matrix that rotates from one vector to another. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>from,:</em>&nbsp;</td><td>vector to rotate from </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>to,:</em>&nbsp;</td><td>vector to rotate to</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>from,:</em>&nbsp;</td><td>vector to rotate from </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>to,:</em>&nbsp;</td><td>vector to rotate to</td></tr>
  </table>
  </dd>
</dl>
<p><a href="http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToMatrix/index.htm">http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToMatrix/index.htm</a> </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01817">1817</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00147">irr::core::vector3d&lt; T &gt;::crossProduct()</a>, <a class="el" href="vector3d_8h_source.html#l00125">irr::core::vector3d&lt; T &gt;::dotProduct()</a>, <a class="el" href="vector3d_8h_source.html#l00168">irr::core::vector3d&lt; T &gt;::normalize()</a>, <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

</div>
</div>
<a class="anchor" id="a583d0ece1d80f69101660e1cbe441768"></a><!-- doxytag: member="irr::core::CMatrix4::buildShadowMatrix" ref="a583d0ece1d80f69101660e1cbe441768" args="(const core::vector3df &amp;light, core::plane3df plane, f32 point=1.0f)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::buildShadowMatrix </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>light</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1plane3d.html">core::plane3df</a>&nbsp;</td>
          <td class="paramname"> <em>plane</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>point</em> = <code>1.0f</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a matrix that flattens geometry into a plane. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>light,:</em>&nbsp;</td><td>light source </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>plane,:</em>&nbsp;</td><td>plane into which the geometry if flattened into </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>point,:</em>&nbsp;</td><td>value between 0 and 1, describing the light source. If this is 1, it is a point light, if it is 0, it is a directional light. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01626">1626</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="plane3d_8h_source.html#l00226">irr::core::plane3d&lt; T &gt;::D</a>, <a class="el" href="vector3d_8h_source.html#l00125">irr::core::vector3d&lt; T &gt;::dotProduct()</a>, <a class="el" href="plane3d_8h_source.html#l00223">irr::core::plane3d&lt; T &gt;::Normal</a>, <a class="el" href="vector3d_8h_source.html#l00168">irr::core::vector3d&lt; T &gt;::normalize()</a>, <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

</div>
</div>
<a class="anchor" id="afc72faaf2c883d9c0fdc1e0940d1acde"></a><!-- doxytag: member="irr::core::CMatrix4::buildTextureTransform" ref="afc72faaf2c883d9c0fdc1e0940d1acde" args="(f32 rotateRad, const core::vector2df &amp;rotatecenter, const core::vector2df &amp;translate, const core::vector2df &amp;scale)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::buildTextureTransform </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>rotateRad</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector2d.html">core::vector2df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rotatecenter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector2d.html">core::vector2df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>translate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector2d.html">core::vector2df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>scale</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set to a texture transformation matrix with the given parameters. </p>
<p>Generate texture coordinates as linear functions so that: u = Ux*x + Uy*y + Uz*z + Uw v = Vx*x + Vy*y + Vz*z + Vw The matrix M for this case is: Ux Vx 0 0 Uy Vy 0 0 Uz Vz 0 0 Uw Vw 0 0 </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01954">1954</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="vector2d_8h_source.html#l00313">irr::core::vector2d&lt; T &gt;::X</a>, and <a class="el" href="vector2d_8h_source.html#l00316">irr::core::vector2d&lt; T &gt;::Y</a>.</p>

</div>
</div>
<a class="anchor" id="a5342bc1ac46e8bf7e287f1d58ec702c2"></a><!-- doxytag: member="irr::core::CMatrix4::equals" ref="a5342bc1ac46e8bf7e287f1d58ec702c2" args="(const core::CMatrix4&lt; T &gt; &amp;other, const T tolerance=(T) ROUNDING_ERROR_f64) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::equals </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">core::CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T&nbsp;</td>
          <td class="paramname"> <em>tolerance</em> = <code>(T)<a class="el" href="namespaceirr_1_1core.html#a7b314c22d6804639cbcbce5231724f0b">ROUNDING_ERROR_f64</a></code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compare two matrices using the equal method. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l02099">2099</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="irr_math_8h_source.html#l00178">irr::core::equals()</a>.</p>

</div>
</div>
<a class="anchor" id="ab91cb550bdacbc7b79a47d5b4ee5f4fa"></a><!-- doxytag: member="irr::core::CMatrix4::getDefinitelyIdentityMatrix" ref="ab91cb550bdacbc7b79a47d5b4ee5f4fa" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::getDefinitelyIdentityMatrix </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets if the matrix is definitely identity matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l02087">2087</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="a33c110cd75fdddb840a990ab52f10900"></a><!-- doxytag: member="irr::core::CMatrix4::getInverse" ref="a33c110cd75fdddb840a990ab52f10900" args="(CMatrix4&lt; T &gt; &amp;out) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::getInverse </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>out</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the inversed matrix of this one. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>out,:</em>&nbsp;</td><td>where result matrix is written to. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns false if there is no inverse matrix. </dd></dl>

<p><p>Calculates the inverse of this Matrix The inverse is calculated using Cramers rule. If no inverse exists then 'false' is returned. </p>
</p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01226">1226</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="matrix4_8h_source.html#l00939">irr::core::CMatrix4&lt; T &gt;::isIdentity()</a>, <a class="el" href="irr_math_8h_source.html#l00215">irr::core::iszero()</a>, and <a class="el" href="irr_math_8h_source.html#l00464">irr::core::reciprocal()</a>.</p>

<p>Referenced by <a class="el" href="matrix4_8h_source.html#l00428">irr::core::CMatrix4&lt; T &gt;::CMatrix4()</a>, and <a class="el" href="matrix4_8h_source.html#l01343">irr::core::CMatrix4&lt; T &gt;::makeInverse()</a>.</p>

</div>
</div>
<a class="anchor" id="af8c024c494998296fc7ed63603d7cb62"></a><!-- doxytag: member="irr::core::CMatrix4::getInversePrimitive" ref="af8c024c494998296fc7ed63603d7cb62" args="(CMatrix4&lt; T &gt; &amp;out) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::getInversePrimitive </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>out</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Inverts a primitive matrix which only contains a translation and a rotation. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>out,:</em>&nbsp;</td><td>where result matrix is written to.</td></tr>
  </table>
  </dd>
</dl>
<p>Inverts a primitive matrix which only contains a translation and a rotation </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>out,:</em>&nbsp;</td><td>where result matrix is written to. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01312">1312</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa348817a724b49816da5c181ba672e1d"></a><!-- doxytag: member="irr::core::CMatrix4::getRotationDegrees" ref="aa348817a724b49816da5c181ba672e1d" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3d</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::getRotationDegrees </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the rotation, as set by setRotation(). </p>
<p>Returns a rotation that is equivalent to that set by <a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a8ee5ef8619d4b0f56d72ac84495ed644" title="Make a rotation matrix from Euler angles. The 4th row and column are unmodified.">setRotationDegrees()</a>.</p>
<p>This code was orginally written by by Chev.</p>
<p>This code was sent in by Chev. Note that it does not necessarily return the *same* Euler angles as those set by <a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a8ee5ef8619d4b0f56d72ac84495ed644" title="Make a rotation matrix from Euler angles. The 4th row and column are unmodified.">setRotationDegrees()</a>, but the rotation will be equivalent, i.e. will have the same result when used to rotate a vector or node. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00848">848</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="matrix4_8h_source.html#l00783">irr::core::CMatrix4&lt; T &gt;::getScale()</a>, <a class="el" href="irr_math_8h_source.html#l00215">irr::core::iszero()</a>, <a class="el" href="irr_math_8h_source.html#l00076">irr::core::RADTODEG64</a>, <a class="el" href="irr_math_8h_source.html#l00464">irr::core::reciprocal()</a>, <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

</div>
</div>
<a class="anchor" id="aa29f46680cea92b6d38886d1e9759cdd"></a><!-- doxytag: member="irr::core::CMatrix4::getScale" ref="aa29f46680cea92b6d38886d1e9759cdd" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::getScale </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get Scale. </p>
<p>Returns the absolute values of the scales of the matrix.</p>
<p>Note that this always returns the absolute (positive) values. Unfortunately it does not appear to be possible to extract any original negative values. The best that we could do would be to arbitrarily make one scale negative if one or three of them were negative. FIXME - return the original values. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00783">783</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="irr_math_8h_source.html#l00215">irr::core::iszero()</a>.</p>

<p>Referenced by <a class="el" href="matrix4_8h_source.html#l00848">irr::core::CMatrix4&lt; T &gt;::getRotationDegrees()</a>.</p>

</div>
</div>
<a class="anchor" id="aec84b278e87611352b75298238e54006"></a><!-- doxytag: member="irr::core::CMatrix4::getTranslation" ref="aec84b278e87611352b75298238e54006" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::getTranslation </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the current translation. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00732">732</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>Referenced by <a class="el" href="_i_scene_node_8h_source.html#l00512">irr::scene::ISceneNode::getAbsolutePosition()</a>.</p>

</div>
</div>
<a class="anchor" id="abc4f641ad798591424020e38efe21636"></a><!-- doxytag: member="irr::core::CMatrix4::getTransposed" ref="abc4f641ad798591424020e38efe21636" args="(CMatrix4&lt; T &gt; &amp;dest) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::getTransposed </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>dest</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets transposed matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01767">1767</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="a83e8a629180ab12262d2e2cf52c7991b"></a><!-- doxytag: member="irr::core::CMatrix4::getTransposed" ref="a83e8a629180ab12262d2e2cf52c7991b" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::getTransposed </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets transposed matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01757">1757</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="matrix4_8h_source.html#l00053">irr::core::CMatrix4&lt; T &gt;::EM4CONST_NOTHING</a>.</p>

<p>Referenced by <a class="el" href="matrix4_8h_source.html#l00428">irr::core::CMatrix4&lt; T &gt;::CMatrix4()</a>.</p>

</div>
</div>
<a class="anchor" id="a0c9ed4a87ab8a1340e075490cd9de309"></a><!-- doxytag: member="irr::core::CMatrix4::interpolate" ref="a0c9ed4a87ab8a1340e075490cd9de309" args="(const core::CMatrix4&lt; T &gt; &amp;b, f32 time) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::interpolate </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">core::CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>time</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a new matrix as interpolated matrix from two other ones. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>b,:</em>&nbsp;</td><td>other matrix to interpolate with </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>time,:</em>&nbsp;</td><td>Must be a value between 0 and 1. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01740">1740</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="matrix4_8h_source.html#l00053">irr::core::CMatrix4&lt; T &gt;::EM4CONST_NOTHING</a>.</p>

</div>
</div>
<a class="anchor" id="a7996bee0d3056d6647dc9cc840ed0ad8"></a><!-- doxytag: member="irr::core::CMatrix4::inverseRotateVect" ref="a7996bee0d3056d6647dc9cc840ed0ad8" args="(vector3df &amp;vect) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::inverseRotateVect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vect</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Rotate a vector by the inverse of the rotation part of this matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01055">1055</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

</div>
</div>
<a class="anchor" id="a83bf069639e0538f047041ae51042907"></a><!-- doxytag: member="irr::core::CMatrix4::inverseTranslateVect" ref="a83bf069639e0538f047041ae51042907" args="(vector3df &amp;vect) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::inverseTranslateVect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vect</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Translate a vector by the inverse of the translation part of this matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01209">1209</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

</div>
</div>
<a class="anchor" id="a24e7bc5d302f6c0cb11bad0771a40826"></a><!-- doxytag: member="irr::core::CMatrix4::isIdentity" ref="a24e7bc5d302f6c0cb11bad0771a40826" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::isIdentity </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns true if the matrix is the identity matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00939">939</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="irr_math_8h_source.html#l00178">irr::core::equals()</a>, and <a class="el" href="irr_math_8h_source.html#l00215">irr::core::iszero()</a>.</p>

<p>Referenced by <a class="el" href="matrix4_8h_source.html#l01226">irr::core::CMatrix4&lt; T &gt;::getInverse()</a>, <a class="el" href="matrix4_8h_source.html#l00693">irr::core::CMatrix4&lt; T &gt;::operator*()</a>, <a class="el" href="matrix4_8h_source.html#l00614">irr::core::CMatrix4&lt; T &gt;::operator*=()</a>, <a class="el" href="matrix4_8h_source.html#l00676">irr::core::CMatrix4&lt; T &gt;::setbyproduct()</a>, <a class="el" href="matrix4_8h_source.html#l01122">irr::core::CMatrix4&lt; T &gt;::transformBox()</a>, and <a class="el" href="matrix4_8h_source.html#l01136">irr::core::CMatrix4&lt; T &gt;::transformBoxEx()</a>.</p>

</div>
</div>
<a class="anchor" id="ab4b515a697bb3749a8e1dd9fc31342bd"></a><!-- doxytag: member="irr::core::CMatrix4::isIdentity_integer_base" ref="ab4b515a697bb3749a8e1dd9fc31342bd" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::isIdentity_integer_base </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns true if the matrix is the identity matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00994">994</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="irr_math_8h_source.html#l00281">F32_VALUE_1</a>, and <a class="el" href="irr_math_8h_source.html#l00290">irr::core::IR()</a>.</p>

</div>
</div>
<a class="anchor" id="afc4fe0bdfb771b15eff91264c0ed37f9"></a><!-- doxytag: member="irr::core::CMatrix4::isOrthogonal" ref="afc4fe0bdfb771b15eff91264c0ed37f9" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::isOrthogonal </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns true if the matrix is orthogonal. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00965">965</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="irr_math_8h_source.html#l00215">irr::core::iszero()</a>.</p>

</div>
</div>
<a class="anchor" id="a45f876ed1aed2c3c98b87fee6d938604"></a><!-- doxytag: member="irr::core::CMatrix4::makeIdentity" ref="a45f876ed1aed2c3c98b87fee6d938604" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::makeIdentity </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set matrix to identity. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00923">923</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>Referenced by <a class="el" href="matrix4_8h_source.html#l01796">irr::core::CMatrix4&lt; T &gt;::buildNDCToDCMatrix()</a>.</p>

</div>
</div>
<a class="anchor" id="a3fbface2cb6b959af64f82a5bb17540e"></a><!-- doxytag: member="irr::core::CMatrix4::makeInverse" ref="a3fbface2cb6b959af64f82a5bb17540e" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::makeInverse </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Calculates inverse of matrix. Slow. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns false if there is no inverse matrix. </dd></dl>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01343">1343</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="matrix4_8h_source.html#l00053">irr::core::CMatrix4&lt; T &gt;::EM4CONST_NOTHING</a>, and <a class="el" href="matrix4_8h_source.html#l01226">irr::core::CMatrix4&lt; T &gt;::getInverse()</a>.</p>

</div>
</div>
<a class="anchor" id="a1e1f04cdf57dc76be2875427498a0d62"></a><!-- doxytag: member="irr::core::CMatrix4::multiplyWith1x4Matrix" ref="a1e1f04cdf57dc76be2875427498a0d62" args="(T *matrix) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::multiplyWith1x4Matrix </td>
          <td>(</td>
          <td class="paramtype">T *&nbsp;</td>
          <td class="paramname"> <em>matrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Multiplies this matrix by a 1x4 matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01187">1187</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="a99b4c127f31033b5f7314b98164b99ed"></a><!-- doxytag: member="irr::core::CMatrix4::operator!=" ref="a99b4c127f31033b5f7314b98164b99ed" args="(const CMatrix4&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::operator!= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns true if other matrix is not equal to this matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01403">1403</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="a370e3a1ed88e95011125d09943b50e3b"></a><!-- doxytag: member="irr::core::CMatrix4::operator()" ref="a370e3a1ed88e95011125d09943b50e3b" args="(const s32 row, const s32 col) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const T&amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::operator() </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a>&nbsp;</td>
          <td class="paramname"> <em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a>&nbsp;</td>
          <td class="paramname"> <em>col</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Simple operator for directly accessing every element of the matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00079">79</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="aaede6824ed3ee05b928815d52e1834d1"></a><!-- doxytag: member="irr::core::CMatrix4::operator()" ref="aaede6824ed3ee05b928815d52e1834d1" args="(const s32 row, const s32 col)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T&amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::operator() </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a>&nbsp;</td>
          <td class="paramname"> <em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a>&nbsp;</td>
          <td class="paramname"> <em>col</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Simple operator for directly accessing every element of the matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00070">70</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2695d5d90aa8cf55e06649fc83752466"></a><!-- doxytag: member="irr::core::CMatrix4::operator*" ref="a2695d5d90aa8cf55e06649fc83752466" args="(const T &amp;scalar) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::operator* </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>scalar</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Multiply by scalar. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00564">564</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="matrix4_8h_source.html#l00053">irr::core::CMatrix4&lt; T &gt;::EM4CONST_NOTHING</a>.</p>

</div>
</div>
<a class="anchor" id="a4173ab9beecf99940ba2eb01081f1613"></a><!-- doxytag: member="irr::core::CMatrix4::operator*" ref="a4173ab9beecf99940ba2eb01081f1613" args="(const CMatrix4&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Multiply by another matrix. </p>
<p>multiply by another matrix </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00693">693</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="matrix4_8h_source.html#l00053">irr::core::CMatrix4&lt; T &gt;::EM4CONST_NOTHING</a>, and <a class="el" href="matrix4_8h_source.html#l00939">irr::core::CMatrix4&lt; T &gt;::isIdentity()</a>.</p>

</div>
</div>
<a class="anchor" id="ae78879a3d7f0113ba5208d5476c3af9c"></a><!-- doxytag: member="irr::core::CMatrix4::operator*=" ref="ae78879a3d7f0113ba5208d5476c3af9c" args="(const T &amp;scalar)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::operator*= </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>scalar</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Multiply by scalar. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00590">590</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac3d29f86c91d9d095ab155ecb8870f87"></a><!-- doxytag: member="irr::core::CMatrix4::operator*=" ref="ac3d29f86c91d9d095ab155ecb8870f87" args="(const CMatrix4&lt; T &gt; &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::operator*= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Multiply by another matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00614">614</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="matrix4_8h_source.html#l00939">irr::core::CMatrix4&lt; T &gt;::isIdentity()</a>, and <a class="el" href="matrix4_8h_source.html#l00641">irr::core::CMatrix4&lt; T &gt;::setbyproduct_nocheck()</a>.</p>

</div>
</div>
<a class="anchor" id="ac2192a7d9dd89dcd23fe2f9ded3252bf"></a><!-- doxytag: member="irr::core::CMatrix4::operator+" ref="ac2192a7d9dd89dcd23fe2f9ded3252bf" args="(const CMatrix4&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add another matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00464">464</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="matrix4_8h_source.html#l00053">irr::core::CMatrix4&lt; T &gt;::EM4CONST_NOTHING</a>.</p>

</div>
</div>
<a class="anchor" id="af91c5be0562ce4be3f8feedd3d017ba1"></a><!-- doxytag: member="irr::core::CMatrix4::operator+=" ref="af91c5be0562ce4be3f8feedd3d017ba1" args="(const CMatrix4&lt; T &gt; &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add another matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00490">490</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="aee45563e7f9fdf3d4ef7f5a9d63d87c0"></a><!-- doxytag: member="irr::core::CMatrix4::operator&#45;" ref="aee45563e7f9fdf3d4ef7f5a9d63d87c0" args="(const CMatrix4&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Subtract another matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00514">514</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="matrix4_8h_source.html#l00053">irr::core::CMatrix4&lt; T &gt;::EM4CONST_NOTHING</a>.</p>

</div>
</div>
<a class="anchor" id="a24eb7faa1418765ba87d3f02f27d643f"></a><!-- doxytag: member="irr::core::CMatrix4::operator&#45;=" ref="a24eb7faa1418765ba87d3f02f27d643f" args="(const CMatrix4&lt; T &gt; &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::operator-= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Subtract another matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00540">540</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa77c0ec30f4e42f7281392440898e9e3"></a><!-- doxytag: member="irr::core::CMatrix4::operator=" ref="aa77c0ec30f4e42f7281392440898e9e3" args="(const T &amp;scalar)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>scalar</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets all elements of this matrix to the value. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01375">1375</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="a47571eb3acae9a6aa330a03edcea7896"></a><!-- doxytag: member="irr::core::CMatrix4::operator=" ref="a47571eb3acae9a6aa330a03edcea7896" args="(const CMatrix4&lt; T &gt; &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets this matrix equal to the other matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01362">1362</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="a81029252a2a83ef4647f5d8a02cf62b5"></a><!-- doxytag: member="irr::core::CMatrix4::operator==" ref="a81029252a2a83ef4647f5d8a02cf62b5" args="(const CMatrix4&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns true if other matrix is equal to this matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01388">1388</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1c7a81521e81280c31b8ae3397d1fffe"></a><!-- doxytag: member="irr::core::CMatrix4::operator[]" ref="a1c7a81521e81280c31b8ae3397d1fffe" args="(u32 index) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const T&amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::operator[] </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a>&nbsp;</td>
          <td class="paramname"> <em>index</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Simple operator for linearly accessing every element of the matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00091">91</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="aead4909f8bb2ab40875af175caf0085f"></a><!-- doxytag: member="irr::core::CMatrix4::operator[]" ref="aead4909f8bb2ab40875af175caf0085f" args="(u32 index)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T&amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::operator[] </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a>&nbsp;</td>
          <td class="paramname"> <em>index</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Simple operator for linearly accessing every element of the matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00082">82</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2d9b231425d1b8abddb9e1e997fbf2ea"></a><!-- doxytag: member="irr::core::CMatrix4::pointer" ref="a2d9b231425d1b8abddb9e1e997fbf2ea" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T* <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::pointer </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00101">101</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="a11a3ffa3eb0987030e7a8758dee8965a"></a><!-- doxytag: member="irr::core::CMatrix4::pointer" ref="a11a3ffa3eb0987030e7a8758dee8965a" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const T* <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::pointer </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns pointer to internal array. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00100">100</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>Referenced by <a class="el" href="quaternion_8h_source.html#l00315">irr::core::quaternion::getMatrix()</a>, and <a class="el" href="quaternion_8h_source.html#l00357">irr::core::quaternion::getMatrixCenter()</a>.</p>

</div>
</div>
<a class="anchor" id="aa188488f489118e4daafd3b2ebab5119"></a><!-- doxytag: member="irr::core::CMatrix4::rotateVect" ref="aa188488f489118e4daafd3b2ebab5119" args="(T *out, const core::vector3df &amp;in) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::rotateVect </td>
          <td>(</td>
          <td class="paramtype">T *&nbsp;</td>
          <td class="paramname"> <em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>in</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>An alternate transform vector method, writing into an array of 3 floats. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01047">1047</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

</div>
</div>
<a class="anchor" id="a592d57581118b651a24dc68b17b99ff6"></a><!-- doxytag: member="irr::core::CMatrix4::rotateVect" ref="a592d57581118b651a24dc68b17b99ff6" args="(core::vector3df &amp;out, const core::vector3df &amp;in) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::rotateVect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>in</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>An alternate transform vector method, writing into a second vector. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01038">1038</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

</div>
</div>
<a class="anchor" id="a8abcfbf972b19946c3022db380c6d153"></a><!-- doxytag: member="irr::core::CMatrix4::rotateVect" ref="a8abcfbf972b19946c3022db380c6d153" args="(vector3df &amp;vect) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::rotateVect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vect</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Rotate a vector by the rotation part of this matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01028">1028</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

</div>
</div>
<a class="anchor" id="a8503c58913ba9407ba00b173d8a3e25c"></a><!-- doxytag: member="irr::core::CMatrix4::setbyproduct" ref="a8503c58913ba9407ba00b173d8a3e25c" args="(const CMatrix4&lt; T &gt; &amp;other_a, const CMatrix4&lt; T &gt; &amp;other_b)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::setbyproduct </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>other_a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>other_b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set this matrix to the product of two matrices </p>
<p>multiply by another matrix </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00676">676</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="matrix4_8h_source.html#l00939">irr::core::CMatrix4&lt; T &gt;::isIdentity()</a>, and <a class="el" href="matrix4_8h_source.html#l00641">irr::core::CMatrix4&lt; T &gt;::setbyproduct_nocheck()</a>.</p>

</div>
</div>
<a class="anchor" id="a526a2a11dcd8b18c9e77deb84094778d"></a><!-- doxytag: member="irr::core::CMatrix4::setbyproduct_nocheck" ref="a526a2a11dcd8b18c9e77deb84094778d" args="(const CMatrix4&lt; T &gt; &amp;other_a, const CMatrix4&lt; T &gt; &amp;other_b)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::setbyproduct_nocheck </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>other_a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>other_b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set this matrix to the product of two matrices. </p>
<p>multiply by another matrix</p>
<p>no optimization used, use it if you know you never have a identity matrix </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00641">641</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>Referenced by <a class="el" href="matrix4_8h_source.html#l00614">irr::core::CMatrix4&lt; T &gt;::operator*=()</a>, and <a class="el" href="matrix4_8h_source.html#l00676">irr::core::CMatrix4&lt; T &gt;::setbyproduct()</a>.</p>

</div>
</div>
<a class="anchor" id="a87f7195337a2bf7a49978c2ec1100c0a"></a><!-- doxytag: member="irr::core::CMatrix4::setDefinitelyIdentityMatrix" ref="a87f7195337a2bf7a49978c2ec1100c0a" args="(bool isDefinitelyIdentityMatrix)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::setDefinitelyIdentityMatrix </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>isDefinitelyIdentityMatrix</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets if the matrix is definitely identity matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l02077">2077</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>Referenced by <a class="el" href="quaternion_8h_source.html#l00315">irr::core::quaternion::getMatrix()</a>, and <a class="el" href="quaternion_8h_source.html#l00382">irr::core::quaternion::getMatrix_transposed()</a>.</p>

</div>
</div>
<a class="anchor" id="afd84b9c93b4c8e9dc2abefa4a28057f9"></a><!-- doxytag: member="irr::core::CMatrix4::setInverseRotationDegrees" ref="afd84b9c93b4c8e9dc2abefa4a28057f9" args="(const vector3d&lt; T &gt; &amp;rotation)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::setInverseRotationDegrees </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>rotation</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Make an inverted rotation matrix from Euler angles. </p>
<p>The 4th row and column are unmodified. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00807">807</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="irr_math_8h_source.html#l00067">irr::core::DEGTORAD</a>, and <a class="el" href="matrix4_8h_source.html#l00890">irr::core::CMatrix4&lt; T &gt;::setInverseRotationRadians()</a>.</p>

</div>
</div>
<a class="anchor" id="a1a15d7b55769678512144f0fb7e15a92"></a><!-- doxytag: member="irr::core::CMatrix4::setInverseRotationRadians" ref="a1a15d7b55769678512144f0fb7e15a92" args="(const vector3d&lt; T &gt; &amp;rotation)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::setInverseRotationRadians </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>rotation</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Make an inverted rotation matrix from Euler angles. </p>
<p>The 4th row and column are unmodified. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00890">890</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

<p>Referenced by <a class="el" href="matrix4_8h_source.html#l00807">irr::core::CMatrix4&lt; T &gt;::setInverseRotationDegrees()</a>.</p>

</div>
</div>
<a class="anchor" id="a258e103fcb6ce1564978624280ecb7fe"></a><!-- doxytag: member="irr::core::CMatrix4::setInverseTranslation" ref="a258e103fcb6ce1564978624280ecb7fe" args="(const vector3d&lt; T &gt; &amp;translation)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::setInverseTranslation </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>translation</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the inverse translation of the current matrix. Will erase any previous values. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00751">751</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

</div>
</div>
<a class="anchor" id="ae59fb2248865eba3026d13b9756ba1e1"></a><!-- doxytag: member="irr::core::CMatrix4::setM" ref="ae59fb2248865eba3026d13b9756ba1e1" args="(const T *data)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::setM </td>
          <td>(</td>
          <td class="paramtype">const T *&nbsp;</td>
          <td class="paramname"> <em>data</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets all matrix data members at once. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l02064">2064</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8117628146ce654b3b292af7c49e25e2"></a><!-- doxytag: member="irr::core::CMatrix4::setRotationCenter" ref="a8117628146ce654b3b292af7c49e25e2" args="(const core::vector3df &amp;center, const core::vector3df &amp;translate)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::setRotationCenter </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>center</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>translate</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a combined matrix which translates to a center before rotation and translates from origin afterwards. </p>
<p>Builds a combined matrix which translate to a center before rotation and translate afterwards.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>center</em>&nbsp;</td><td>Position to rotate around </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>translate</em>&nbsp;</td><td>Translation applied after the rotation </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01930">1930</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

<p>Referenced by <a class="el" href="matrix4_8h_source.html#l01873">irr::core::CMatrix4&lt; T &gt;::buildAxisAlignedBillboard()</a>, and <a class="el" href="quaternion_8h_source.html#l00357">irr::core::quaternion::getMatrixCenter()</a>.</p>

</div>
</div>
<a class="anchor" id="a8ee5ef8619d4b0f56d72ac84495ed644"></a><!-- doxytag: member="irr::core::CMatrix4::setRotationDegrees" ref="a8ee5ef8619d4b0f56d72ac84495ed644" args="(const vector3d&lt; T &gt; &amp;rotation)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::setRotationDegrees </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>rotation</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Make a rotation matrix from Euler angles. The 4th row and column are unmodified. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00801">801</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="irr_math_8h_source.html#l00067">irr::core::DEGTORAD</a>, and <a class="el" href="matrix4_8h_source.html#l00813">irr::core::CMatrix4&lt; T &gt;::setRotationRadians()</a>.</p>

<p>Referenced by <a class="el" href="_i_scene_node_8h_source.html#l00199">irr::scene::ISceneNode::getRelativeTransformation()</a>.</p>

</div>
</div>
<a class="anchor" id="a05aac7bd2e7651369fc813a51258afbe"></a><!-- doxytag: member="irr::core::CMatrix4::setRotationRadians" ref="a05aac7bd2e7651369fc813a51258afbe" args="(const vector3d&lt; T &gt; &amp;rotation)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::setRotationRadians </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>rotation</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Make a rotation matrix from Euler angles. The 4th row and column are unmodified. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00813">813</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

<p>Referenced by <a class="el" href="matrix4_8h_source.html#l00801">irr::core::CMatrix4&lt; T &gt;::setRotationDegrees()</a>.</p>

</div>
</div>
<a class="anchor" id="a18af980e2bc3575f60576b6d4b4cc0f3"></a><!-- doxytag: member="irr::core::CMatrix4::setScale" ref="a18af980e2bc3575f60576b6d4b4cc0f3" args="(const T scale)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt;T&gt;&amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::setScale </td>
          <td>(</td>
          <td class="paramtype">const T&nbsp;</td>
          <td class="paramname"> <em>scale</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set Scale. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00190">190</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="matrix4_8h_source.html#l00190">irr::core::CMatrix4&lt; T &gt;::setScale()</a>.</p>

<p>Referenced by <a class="el" href="matrix4_8h_source.html#l00190">irr::core::CMatrix4&lt; T &gt;::setScale()</a>.</p>

</div>
</div>
<a class="anchor" id="a47117d44419af87e70084c01ab852049"></a><!-- doxytag: member="irr::core::CMatrix4::setScale" ref="a47117d44419af87e70084c01ab852049" args="(const vector3d&lt; T &gt; &amp;scale)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::setScale </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>scale</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set Scale. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00763">763</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

<p>Referenced by <a class="el" href="matrix4_8h_source.html#l01796">irr::core::CMatrix4&lt; T &gt;::buildNDCToDCMatrix()</a>, and <a class="el" href="_i_scene_node_8h_source.html#l00199">irr::scene::ISceneNode::getRelativeTransformation()</a>.</p>

</div>
</div>
<a class="anchor" id="a445a7653292ae4ffb0baa50032a8674e"></a><!-- doxytag: member="irr::core::CMatrix4::setTextureRotationCenter" ref="a445a7653292ae4ffb0baa50032a8674e" args="(f32 radAngle)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::setTextureRotationCenter </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>radAngle</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set texture transformation rotation. </p>
<p>Rotate about z axis, recenter at (0.5,0.5). Doesn't clear other elements than those affected </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>radAngle</em>&nbsp;</td><td>Angle in radians </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Altered matrix </dd></dl>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01990">1990</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="aed32a7a8da9c4cee5babe8f6b4aa7dd4"></a><!-- doxytag: member="irr::core::CMatrix4::setTextureScale" ref="aed32a7a8da9c4cee5babe8f6b4aa7dd4" args="(f32 sx, f32 sy)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::setTextureScale </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>sx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>sy</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set texture transformation scale. </p>
<p>Doesn't clear other elements than those affected. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sx</em>&nbsp;</td><td>Scale factor on x axis </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sy</em>&nbsp;</td><td>Scale factor on y axis </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Altered matrix. </dd></dl>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l02036">2036</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="adbd668867d117dc9331e68abef0af221"></a><!-- doxytag: member="irr::core::CMatrix4::setTextureScaleCenter" ref="adbd668867d117dc9331e68abef0af221" args="(f32 sx, f32 sy)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::setTextureScaleCenter </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>sx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>sy</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set texture transformation scale, and recenter at (0.5,0.5). </p>
<p>Doesn't clear other elements than those affected. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sx</em>&nbsp;</td><td>Scale factor on x axis </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sy</em>&nbsp;</td><td>Scale factor on y axis </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Altered matrix. </dd></dl>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l02048">2048</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2bab9633697a892f08d89c7aeee6daf6"></a><!-- doxytag: member="irr::core::CMatrix4::setTextureTranslate" ref="a2bab9633697a892f08d89c7aeee6daf6" args="(f32 x, f32 y)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::setTextureTranslate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set texture transformation translation. </p>
<p>Doesn't clear other elements than those affected. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Offset on x axis </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Offset on y axis </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Altered matrix </dd></dl>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l02011">2011</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7d999210cc7427e9d744271e50d26c3c"></a><!-- doxytag: member="irr::core::CMatrix4::setTextureTranslateTransposed" ref="a7d999210cc7427e9d744271e50d26c3c" args="(f32 x, f32 y)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::setTextureTranslateTransposed </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set texture transformation translation, using a transposed representation. </p>
<p>Doesn't clear other elements than those affected. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Offset on x axis </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Offset on y axis </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Altered matrix </dd></dl>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l02024">2024</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac04a3b341cbfbb7986be682691655622"></a><!-- doxytag: member="irr::core::CMatrix4::setTranslation" ref="ac04a3b341cbfbb7986be682691655622" args="(const vector3d&lt; T &gt; &amp;translation)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1_c_matrix4.html">CMatrix4</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::setTranslation </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>translation</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the translation of the current matrix. Will erase any previous values. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l00739">739</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

<p>Referenced by <a class="el" href="_i_scene_node_8h_source.html#l00199">irr::scene::ISceneNode::getRelativeTransformation()</a>.</p>

</div>
</div>
<a class="anchor" id="ac12468d698fbf6cd545e8b3fbf2a0042"></a><!-- doxytag: member="irr::core::CMatrix4::transformBox" ref="ac12468d698fbf6cd545e8b3fbf2a0042" args="(core::aabbox3d&lt; f32 &gt; &amp;box) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::transformBox </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1aabbox3d.html">core::aabbox3d</a>&lt; <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>box</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Transforms a axis aligned bounding box. </p>
<p>The result box of this operation may not be accurate at all. For correct results, use <a class="el" href="classirr_1_1core_1_1_c_matrix4.html#a87451aea9c07b71d1a8b6091b8cefa63" title="Transforms a axis aligned bounding box.">transformBoxEx()</a> </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01122">1122</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="matrix4_8h_source.html#l00939">irr::core::CMatrix4&lt; T &gt;::isIdentity()</a>, <a class="el" href="aabbox3d_8h_source.html#l00309">irr::core::aabbox3d&lt; T &gt;::MaxEdge</a>, <a class="el" href="aabbox3d_8h_source.html#l00306">irr::core::aabbox3d&lt; T &gt;::MinEdge</a>, <a class="el" href="aabbox3d_8h_source.html#l00161">irr::core::aabbox3d&lt; T &gt;::repair()</a>, and <a class="el" href="matrix4_8h_source.html#l01064">irr::core::CMatrix4&lt; T &gt;::transformVect()</a>.</p>

</div>
</div>
<a class="anchor" id="a87451aea9c07b71d1a8b6091b8cefa63"></a><!-- doxytag: member="irr::core::CMatrix4::transformBoxEx" ref="a87451aea9c07b71d1a8b6091b8cefa63" args="(core::aabbox3d&lt; f32 &gt; &amp;box) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::transformBoxEx </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1aabbox3d.html">core::aabbox3d</a>&lt; <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>box</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Transforms a axis aligned bounding box. </p>
<p>Transforms a axis aligned bounding box more accurately than <a class="el" href="classirr_1_1core_1_1_c_matrix4.html#ac12468d698fbf6cd545e8b3fbf2a0042" title="Transforms a axis aligned bounding box.">transformBox()</a>.</p>
<p>The result box of this operation should by accurate, but this operation is slower than <a class="el" href="classirr_1_1core_1_1_c_matrix4.html#ac12468d698fbf6cd545e8b3fbf2a0042" title="Transforms a axis aligned bounding box.">transformBox()</a>. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01136">1136</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="matrix4_8h_source.html#l00939">irr::core::CMatrix4&lt; T &gt;::isIdentity()</a>, <a class="el" href="aabbox3d_8h_source.html#l00309">irr::core::aabbox3d&lt; T &gt;::MaxEdge</a>, <a class="el" href="aabbox3d_8h_source.html#l00306">irr::core::aabbox3d&lt; T &gt;::MinEdge</a>, <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

<p>Referenced by <a class="el" href="_i_scene_node_8h_source.html#l00178">irr::scene::ISceneNode::getTransformedBoundingBox()</a>.</p>

</div>
</div>
<a class="anchor" id="a949042276c2025189cc568c8080d7579"></a><!-- doxytag: member="irr::core::CMatrix4::transformPlane" ref="a949042276c2025189cc568c8080d7579" args="(const core::plane3d&lt; f32 &gt; &amp;in, core::plane3d&lt; f32 &gt; &amp;out) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::transformPlane </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1plane3d.html">core::plane3d</a>&lt; <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1plane3d.html">core::plane3d</a>&lt; <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>out</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Transforms a plane by this matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01114">1114</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="matrix4_8h_source.html#l01098">irr::core::CMatrix4&lt; T &gt;::transformPlane()</a>.</p>

</div>
</div>
<a class="anchor" id="ac4f0d4156d573d8b73eb51dce76e094e"></a><!-- doxytag: member="irr::core::CMatrix4::transformPlane" ref="ac4f0d4156d573d8b73eb51dce76e094e" args="(core::plane3d&lt; f32 &gt; &amp;plane) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::transformPlane </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1plane3d.html">core::plane3d</a>&lt; <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>plane</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Transforms a plane by this matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01098">1098</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="matrix4_8h_source.html#l00058">irr::core::CMatrix4&lt; T &gt;::EM4CONST_INVERSE_TRANSPOSED</a>, <a class="el" href="plane3d_8h_source.html#l00150">irr::core::plane3d&lt; T &gt;::getMemberPoint()</a>, <a class="el" href="plane3d_8h_source.html#l00223">irr::core::plane3d&lt; T &gt;::Normal</a>, <a class="el" href="plane3d_8h_source.html#l00053">irr::core::plane3d&lt; T &gt;::setPlane()</a>, and <a class="el" href="matrix4_8h_source.html#l01064">irr::core::CMatrix4&lt; T &gt;::transformVect()</a>.</p>

<p>Referenced by <a class="el" href="_s_view_frustum_8h_source.html#l00136">irr::scene::SViewFrustum::transform()</a>, and <a class="el" href="matrix4_8h_source.html#l01114">irr::core::CMatrix4&lt; T &gt;::transformPlane()</a>.</p>

</div>
</div>
<a class="anchor" id="aad3d6e0c59e2d5709a534abc2b86dbd3"></a><!-- doxytag: member="irr::core::CMatrix4::transformVect" ref="aad3d6e0c59e2d5709a534abc2b86dbd3" args="(T *out, const core::vector3df &amp;in) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::transformVect </td>
          <td>(</td>
          <td class="paramtype">T *&nbsp;</td>
          <td class="paramname"> <em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>in</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>An alternate transform vector method, writing into an array of 4 floats. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01087">1087</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

</div>
</div>
<a class="anchor" id="a7f630ed6811ab36921c2fe6f63f7f426"></a><!-- doxytag: member="irr::core::CMatrix4::transformVect" ref="a7f630ed6811ab36921c2fe6f63f7f426" args="(vector3df &amp;out, const vector3df &amp;in) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::transformVect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>in</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Transforms input vector by this matrix and stores result in output vector. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01078">1078</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

</div>
</div>
<a class="anchor" id="aa6bb8b39114749d70e51bd1b90bce0a1"></a><!-- doxytag: member="irr::core::CMatrix4::transformVect" ref="aa6bb8b39114749d70e51bd1b90bce0a1" args="(vector3df &amp;vect) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::transformVect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vect</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Transforms the vector by this matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01064">1064</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

<p>Referenced by <a class="el" href="_s_vertex_manipulator_8h_source.html#l00257">irr::scene::SVertexPositionTransformManipulator::operator()()</a>, <a class="el" href="_s_view_frustum_8h_source.html#l00136">irr::scene::SViewFrustum::transform()</a>, <a class="el" href="matrix4_8h_source.html#l01122">irr::core::CMatrix4&lt; T &gt;::transformBox()</a>, and <a class="el" href="matrix4_8h_source.html#l01098">irr::core::CMatrix4&lt; T &gt;::transformPlane()</a>.</p>

</div>
</div>
<a class="anchor" id="a587cb77fd7de7a13771c96a90c4f3de0"></a><!-- doxytag: member="irr::core::CMatrix4::translateVect" ref="a587cb77fd7de7a13771c96a90c4f3de0" args="(vector3df &amp;vect) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1_c_matrix4.html">irr::core::CMatrix4</a>&lt; T &gt;::translateVect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vect</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Translate a vector by the translation part of this matrix. </p>

<p>Definition at line <a class="el" href="matrix4_8h_source.html#l01217">1217</a> of file <a class="el" href="matrix4_8h_source.html">matrix4.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00398">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00401">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00404">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="matrix4_8h_source.html">matrix4.h</a></li>
</ul>
</div>
<hr size="1">
<address style="align: right;">
<small> </small>
</address>
<table width="100%" border="0" cellspacing="0" cellpadding="2">
  <tr> 
    <td width="0"> <div align="left"><small><a href="http://irrlicht.sourceforge.net" target="_blank"><img src="irrlicht.png" alt="The Irrlicht Engine" align="middle" border=0 width=88 height=31></a></small></div></td>
    <td> <div align="left"><small><em><font size="2">The <a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht 
        Engine</a> Documentation &copy; 2003-2010 by Nikolaus Gebhardt. Generated 
        on Sun Oct 24 12:42:03 2010 by <a href="http://www.doxygen.org" target="_blank">Doxygen</a> 
        (1.6.2)</font></em></small></div></td>
  </tr>
</table>
<address style="align: right;">
</address>
</body>
</html>