\hypertarget{class_ogre_1_1_matrix4}{}\section{Ogre\+:\+:Matrix4 Class Reference}
\label{class_ogre_1_1_matrix4}\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}


Transform specialization for projective -\/ encapsulating a 4x4 Matrix.  




{\ttfamily \#include $<$Ogre\+Matrix4.\+h$>$}



Inheritance diagram for Ogre\+:\+:Matrix4\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=199pt]{class_ogre_1_1_matrix4__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_matrix4_abde37761a7b38997925b6805f6494f72}{Matrix4} ()
\begin{DoxyCompactList}\small\item\em Do {\bfseries N\+OT} initialize the matrix for efficiency. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_matrix4_a91cac2ee0f0e8bd582c24db497afcd21}{Matrix4} (\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} m00, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} m01, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} m02, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} m03, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} m10, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} m11, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} m12, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} m13, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} m20, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} m21, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} m22, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} m23, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} m30, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} m31, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} m32, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} m33)
\item 
\hyperlink{class_ogre_1_1_matrix4_a65ee69637da03019f9efcf3e9d0831b0}{Matrix4} (const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} $\ast$arr)
\item 
\hyperlink{class_ogre_1_1_matrix4_a8ae0763e439e87045b1ce46dca2c279c}{Matrix4} (const \hyperlink{class_ogre_1_1_matrix3}{Matrix3} \&m3x3)
\begin{DoxyCompactList}\small\item\em Creates a standard 4x4 transformation matrix with a zero translation part from a rotation/scaling 3x3 matrix. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_matrix4_aaf7dc461a266459ab6916e7f97991969}{Matrix4} (const \hyperlink{class_ogre_1_1_quaternion}{Quaternion} \&rot)
\begin{DoxyCompactList}\small\item\em Creates a standard 4x4 transformation matrix with a zero translation part from a rotation/scaling \hyperlink{class_ogre_1_1_quaternion}{Quaternion}. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_matrix4}{Matrix4} \hyperlink{class_ogre_1_1_matrix4_a0da0cacf5f846f642152e149a965a03d}{adjoint} () const
\item 
\hyperlink{class_ogre_1_1_matrix4}{Matrix4} \hyperlink{class_ogre_1_1_matrix4_a9b550a4d5065bffd37fcc4c0af5b8c30}{concatenate} (const \hyperlink{class_ogre_1_1_matrix4}{Matrix4} \&m2) const
\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{class_ogre_1_1_transform_base_a7fea969b4c39eb571b5798a7ff23d16e}{determinant} () const
\item 
void \hyperlink{class_ogre_1_1_transform_base_ad5400b5a490eb1df3e80d7d5d193b2aa}{extract3x3\+Matrix} (\hyperlink{class_ogre_1_1_matrix3}{Matrix3} \&m3x3) const
\item 
\hyperlink{class_ogre_1_1_quaternion}{Quaternion} \hyperlink{class_ogre_1_1_transform_base_a2a5aa7dda4dbac2401fb251f22b9b038}{extract\+Quaternion} () const
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_transform_base_aadd0be612b9026d71e25c667123c38fd}{get\+Trans} () const
\begin{DoxyCompactList}\small\item\em Extracts the translation transformation part of the matrix. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_matrix4}{Matrix4} \hyperlink{class_ogre_1_1_matrix4_acd0397dd92f1e5d8c3c5ee7bd269472b}{inverse} () const
\item 
\hyperlink{class_ogre_1_1_matrix3}{Matrix3} \hyperlink{class_ogre_1_1_transform_base_a7703077c23c37d7eb1889f9c9f5197c0}{linear} () const
\begin{DoxyCompactList}\small\item\em Extracts the rotation / scaling part of the Matrix as a 3x3 matrix. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_transform_base_a804a6a6e44386202d103a516149eb4be}{make\+Inverse\+Transform} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&position, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&scale, const \hyperlink{class_ogre_1_1_quaternion}{Quaternion} \&orientation)
\begin{DoxyCompactList}\small\item\em Building an inverse \hyperlink{class_ogre_1_1_affine3}{Affine3} from orientation / scale / position. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_transform_base_a633f5ace5a3b3870d60d1b3d08dc1477}{make\+Trans} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&v)
\begin{DoxyCompactList}\small\item\em Builds a translation matrix. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_transform_base_a84c9eb0fd3027630e299615e9ea6efb0}{make\+Trans} (\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} tx, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} ty, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} tz)
\item 
void \hyperlink{class_ogre_1_1_transform_base_a9115cefcc7321c90659b976bcce542f3}{make\+Transform} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&position, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&scale, const \hyperlink{class_ogre_1_1_quaternion}{Quaternion} \&orientation)
\begin{DoxyCompactList}\small\item\em Building a \hyperlink{class_ogre_1_1_affine3}{Affine3} from orientation / scale / position. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_matrix4_a178b8b39b5b3ac1faa89086f62bf9db9}{operator!=} (const \hyperlink{class_ogre_1_1_matrix4}{Matrix4} \&m2) const
\begin{DoxyCompactList}\small\item\em Tests 2 matrices for inequality. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_matrix4}{Matrix4} \hyperlink{class_ogre_1_1_matrix4_a9f9cbc672543185e14b45dfab31f63e3}{operator$\ast$} (\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} scalar) const
\item 
\hyperlink{class_ogre_1_1_matrix4}{Matrix4} \& \hyperlink{class_ogre_1_1_matrix4_ad90fcdeb711a14b8c3a953e005e527b2}{operator=} (const \hyperlink{class_ogre_1_1_matrix3}{Matrix3} \&mat3)
\item 
bool \hyperlink{class_ogre_1_1_matrix4_ac535a3ed291e9518b89f79134b47dd29}{operator==} (const \hyperlink{class_ogre_1_1_matrix4}{Matrix4} \&m2) const
\begin{DoxyCompactList}\small\item\em Tests 2 matrices for equality. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} $\ast$ \hyperlink{class_ogre_1_1_transform_base_aa21a63d88ef4ffc429f2c8edbabe1a1f}{operator\mbox{[}$\,$\mbox{]}} (size\+\_\+t i\+Row)
\item 
const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} $\ast$ \hyperlink{class_ogre_1_1_transform_base_ad6af815a07b45f0459cc223b7aab8d21}{operator\mbox{[}$\,$\mbox{]}} (size\+\_\+t i\+Row) const
\item 
void \hyperlink{class_ogre_1_1_transform_base_a46525728e27cbc3aeb2cbf1c75912174}{set3x3\+Matrix} (const \hyperlink{class_ogre_1_1_matrix3}{Matrix3} \&mat3)
\begin{DoxyCompactList}\small\item\em Assignment from 3x3 matrix. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_transform_base_a4fce454d3b27bb2ebc5e3cabf4b931eb}{set\+Scale} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&v)
\begin{DoxyCompactList}\small\item\em Sets the scale part of the matrix. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_transform_base_a54652722d399be755ebfd3fa1af886f1}{set\+Trans} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&v)
\begin{DoxyCompactList}\small\item\em Sets the translation transformation part of the matrix. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_matrix4}{Matrix4} \hyperlink{group___math_ga1e597cc58a82b0966165b5cf783ed852}{transpose} () const
\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static const \hyperlink{class_ogre_1_1_matrix4}{Matrix4} \hyperlink{class_ogre_1_1_matrix4_a08a798c0d8c8290dbc0287ca6561f549}{C\+L\+I\+P\+S\+P\+A\+C\+E2\+D\+T\+O\+I\+M\+A\+G\+E\+S\+P\+A\+CE}
\begin{DoxyCompactList}\small\item\em Useful little matrix which takes 2D clipspace \{-\/1, 1\} to \{0,1\} and inverts the Y. \end{DoxyCompactList}\item 
static const \hyperlink{class_ogre_1_1_matrix4}{Matrix4} \hyperlink{class_ogre_1_1_matrix4_af2f61127dd1911c9ac2b4cbc0b4f3668}{I\+D\+E\+N\+T\+I\+TY}
\item 
static const \hyperlink{class_ogre_1_1_matrix4}{Matrix4} \hyperlink{class_ogre_1_1_matrix4_a838ac3cb744a01a39dfe35c61e942d7a}{Z\+E\+RO}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Transform specialization for projective -\/ encapsulating a 4x4 Matrix. 

\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_matrix4_abde37761a7b38997925b6805f6494f72}\label{class_ogre_1_1_matrix4_abde37761a7b38997925b6805f6494f72}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!Matrix4@{Matrix4}}
\index{Matrix4@{Matrix4}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{Matrix4()}{Matrix4()}\hspace{0.1cm}{\footnotesize\ttfamily [1/5]}}
{\footnotesize\ttfamily Ogre\+::\+Matrix4\+::\+Matrix4 (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Do {\bfseries N\+OT} initialize the matrix for efficiency. 

\mbox{\Hypertarget{class_ogre_1_1_matrix4_a91cac2ee0f0e8bd582c24db497afcd21}\label{class_ogre_1_1_matrix4_a91cac2ee0f0e8bd582c24db497afcd21}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!Matrix4@{Matrix4}}
\index{Matrix4@{Matrix4}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{Matrix4()}{Matrix4()}\hspace{0.1cm}{\footnotesize\ttfamily [2/5]}}
{\footnotesize\ttfamily Ogre\+::\+Matrix4\+::\+Matrix4 (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{m00,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{m01,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{m02,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{m03,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{m10,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{m11,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{m12,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{m13,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{m20,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{m21,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{m22,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{m23,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{m30,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{m31,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{m32,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{m33 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_matrix4_a65ee69637da03019f9efcf3e9d0831b0}\label{class_ogre_1_1_matrix4_a65ee69637da03019f9efcf3e9d0831b0}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!Matrix4@{Matrix4}}
\index{Matrix4@{Matrix4}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{Matrix4()}{Matrix4()}\hspace{0.1cm}{\footnotesize\ttfamily [3/5]}}
{\footnotesize\ttfamily Ogre\+::\+Matrix4\+::\+Matrix4 (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} $\ast$}]{arr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_matrix4_a8ae0763e439e87045b1ce46dca2c279c}\label{class_ogre_1_1_matrix4_a8ae0763e439e87045b1ce46dca2c279c}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!Matrix4@{Matrix4}}
\index{Matrix4@{Matrix4}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{Matrix4()}{Matrix4()}\hspace{0.1cm}{\footnotesize\ttfamily [4/5]}}
{\footnotesize\ttfamily Ogre\+::\+Matrix4\+::\+Matrix4 (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_matrix3}{Matrix3} \&}]{m3x3 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Creates a standard 4x4 transformation matrix with a zero translation part from a rotation/scaling 3x3 matrix. 

\mbox{\Hypertarget{class_ogre_1_1_matrix4_aaf7dc461a266459ab6916e7f97991969}\label{class_ogre_1_1_matrix4_aaf7dc461a266459ab6916e7f97991969}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!Matrix4@{Matrix4}}
\index{Matrix4@{Matrix4}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{Matrix4()}{Matrix4()}\hspace{0.1cm}{\footnotesize\ttfamily [5/5]}}
{\footnotesize\ttfamily Ogre\+::\+Matrix4\+::\+Matrix4 (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_quaternion}{Quaternion} \&}]{rot }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Creates a standard 4x4 transformation matrix with a zero translation part from a rotation/scaling \hyperlink{class_ogre_1_1_quaternion}{Quaternion}. 



References Ogre\+::\+Quaternion\+::\+To\+Rotation\+Matrix().



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_matrix4_ad90fcdeb711a14b8c3a953e005e527b2}\label{class_ogre_1_1_matrix4_ad90fcdeb711a14b8c3a953e005e527b2}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!operator=@{operator=}}
\index{operator=@{operator=}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{operator=()}{operator=()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_matrix4}{Matrix4}\& Ogre\+::\+Matrix4\+::operator= (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_matrix3}{Matrix3} \&}]{mat3 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_matrix4_a9b550a4d5065bffd37fcc4c0af5b8c30}\label{class_ogre_1_1_matrix4_a9b550a4d5065bffd37fcc4c0af5b8c30}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!concatenate@{concatenate}}
\index{concatenate@{concatenate}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{concatenate()}{concatenate()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_matrix4}{Matrix4} Ogre\+::\+Matrix4\+::concatenate (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_matrix4}{Matrix4} \&}]{m2 }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_matrix4_ac535a3ed291e9518b89f79134b47dd29}\label{class_ogre_1_1_matrix4_ac535a3ed291e9518b89f79134b47dd29}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!operator==@{operator==}}
\index{operator==@{operator==}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{operator==()}{operator==()}}
{\footnotesize\ttfamily bool Ogre\+::\+Matrix4\+::operator== (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_matrix4}{Matrix4} \&}]{m2 }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Tests 2 matrices for equality. 

\mbox{\Hypertarget{class_ogre_1_1_matrix4_a178b8b39b5b3ac1faa89086f62bf9db9}\label{class_ogre_1_1_matrix4_a178b8b39b5b3ac1faa89086f62bf9db9}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!operator"!=@{operator"!=}}
\index{operator"!=@{operator"!=}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{operator"!=()}{operator!=()}}
{\footnotesize\ttfamily bool Ogre\+::\+Matrix4\+::operator!= (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_matrix4}{Matrix4} \&}]{m2 }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Tests 2 matrices for inequality. 

\mbox{\Hypertarget{class_ogre_1_1_matrix4_a9f9cbc672543185e14b45dfab31f63e3}\label{class_ogre_1_1_matrix4_a9f9cbc672543185e14b45dfab31f63e3}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{operator$\ast$()}{operator*()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_matrix4}{Matrix4} Ogre\+::\+Matrix4\+::operator$\ast$ (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{scalar }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_matrix4_a0da0cacf5f846f642152e149a965a03d}\label{class_ogre_1_1_matrix4_a0da0cacf5f846f642152e149a965a03d}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!adjoint@{adjoint}}
\index{adjoint@{adjoint}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{adjoint()}{adjoint()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_matrix4}{Matrix4} Ogre\+::\+Matrix4\+::adjoint (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

\mbox{\Hypertarget{class_ogre_1_1_matrix4_acd0397dd92f1e5d8c3c5ee7bd269472b}\label{class_ogre_1_1_matrix4_acd0397dd92f1e5d8c3c5ee7bd269472b}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!inverse@{inverse}}
\index{inverse@{inverse}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{inverse()}{inverse()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_matrix4}{Matrix4} Ogre\+::\+Matrix4\+::inverse (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Referenced by Ogre\+::operator$\ast$().

\mbox{\Hypertarget{class_ogre_1_1_transform_base_aa21a63d88ef4ffc429f2c8edbabe1a1f}\label{class_ogre_1_1_transform_base_aa21a63d88ef4ffc429f2c8edbabe1a1f}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!operator\mbox{[}\mbox{]}@{operator[]}}
\index{operator\mbox{[}\mbox{]}@{operator[]}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}$\ast$ Ogre\+::\+Transform\+Base\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{i\+Row }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}

\mbox{\Hypertarget{class_ogre_1_1_transform_base_ad6af815a07b45f0459cc223b7aab8d21}\label{class_ogre_1_1_transform_base_ad6af815a07b45f0459cc223b7aab8d21}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!operator\mbox{[}\mbox{]}@{operator[]}}
\index{operator\mbox{[}\mbox{]}@{operator[]}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}$\ast$ Ogre\+::\+Transform\+Base\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{i\+Row }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}

\mbox{\Hypertarget{class_ogre_1_1_transform_base_a46525728e27cbc3aeb2cbf1c75912174}\label{class_ogre_1_1_transform_base_a46525728e27cbc3aeb2cbf1c75912174}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!set3x3\+Matrix@{set3x3\+Matrix}}
\index{set3x3\+Matrix@{set3x3\+Matrix}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{set3x3\+Matrix()}{set3x3Matrix()}}
{\footnotesize\ttfamily void Ogre\+::\+Transform\+Base\+::set3x3\+Matrix (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_matrix3}{Matrix3} \&}]{mat3 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Assignment from 3x3 matrix. 

\mbox{\Hypertarget{class_ogre_1_1_transform_base_a7703077c23c37d7eb1889f9c9f5197c0}\label{class_ogre_1_1_transform_base_a7703077c23c37d7eb1889f9c9f5197c0}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!linear@{linear}}
\index{linear@{linear}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{linear()}{linear()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_matrix3}{Matrix3} Ogre\+::\+Transform\+Base\+::linear (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Extracts the rotation / scaling part of the Matrix as a 3x3 matrix. 

\mbox{\Hypertarget{class_ogre_1_1_transform_base_ad5400b5a490eb1df3e80d7d5d193b2aa}\label{class_ogre_1_1_transform_base_ad5400b5a490eb1df3e80d7d5d193b2aa}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!extract3x3\+Matrix@{extract3x3\+Matrix}}
\index{extract3x3\+Matrix@{extract3x3\+Matrix}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{extract3x3\+Matrix()}{extract3x3Matrix()}}
{\footnotesize\ttfamily void Ogre\+::\+Transform\+Base\+::extract3x3\+Matrix (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_matrix3}{Matrix3} \&}]{m3x3 }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}

\mbox{\Hypertarget{class_ogre_1_1_transform_base_a2a5aa7dda4dbac2401fb251f22b9b038}\label{class_ogre_1_1_transform_base_a2a5aa7dda4dbac2401fb251f22b9b038}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!extract\+Quaternion@{extract\+Quaternion}}
\index{extract\+Quaternion@{extract\+Quaternion}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{extract\+Quaternion()}{extractQuaternion()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_quaternion}{Quaternion} Ogre\+::\+Transform\+Base\+::extract\+Quaternion (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}

\mbox{\Hypertarget{class_ogre_1_1_transform_base_a54652722d399be755ebfd3fa1af886f1}\label{class_ogre_1_1_transform_base_a54652722d399be755ebfd3fa1af886f1}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!set\+Trans@{set\+Trans}}
\index{set\+Trans@{set\+Trans}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{set\+Trans()}{setTrans()}}
{\footnotesize\ttfamily void Ogre\+::\+Transform\+Base\+::set\+Trans (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Sets the translation transformation part of the matrix. 



References Ogre\+::\+Vector3\+::x, Ogre\+::\+Vector3\+::y, and Ogre\+::\+Vector3\+::z.

\mbox{\Hypertarget{class_ogre_1_1_transform_base_aadd0be612b9026d71e25c667123c38fd}\label{class_ogre_1_1_transform_base_aadd0be612b9026d71e25c667123c38fd}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!get\+Trans@{get\+Trans}}
\index{get\+Trans@{get\+Trans}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{get\+Trans()}{getTrans()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Transform\+Base\+::get\+Trans (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Extracts the translation transformation part of the matrix. 



Referenced by Ogre\+::\+Affine3\+::operator const Matrix4 \&().

\mbox{\Hypertarget{class_ogre_1_1_transform_base_a4fce454d3b27bb2ebc5e3cabf4b931eb}\label{class_ogre_1_1_transform_base_a4fce454d3b27bb2ebc5e3cabf4b931eb}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!set\+Scale@{set\+Scale}}
\index{set\+Scale@{set\+Scale}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{set\+Scale()}{setScale()}}
{\footnotesize\ttfamily void Ogre\+::\+Transform\+Base\+::set\+Scale (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Sets the scale part of the matrix. 



References Ogre\+::\+Vector3\+::x, Ogre\+::\+Vector3\+::y, and Ogre\+::\+Vector3\+::z.

\mbox{\Hypertarget{class_ogre_1_1_transform_base_a633f5ace5a3b3870d60d1b3d08dc1477}\label{class_ogre_1_1_transform_base_a633f5ace5a3b3870d60d1b3d08dc1477}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!make\+Trans@{make\+Trans}}
\index{make\+Trans@{make\+Trans}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{make\+Trans()}{makeTrans()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Transform\+Base\+::make\+Trans (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Builds a translation matrix. 



References Ogre\+::\+Vector3\+::x, Ogre\+::\+Vector3\+::y, and Ogre\+::\+Vector3\+::z.

\mbox{\Hypertarget{class_ogre_1_1_transform_base_a84c9eb0fd3027630e299615e9ea6efb0}\label{class_ogre_1_1_transform_base_a84c9eb0fd3027630e299615e9ea6efb0}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!make\+Trans@{make\+Trans}}
\index{make\+Trans@{make\+Trans}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{make\+Trans()}{makeTrans()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Transform\+Base\+::make\+Trans (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{tx,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{ty,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{tz }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}

\mbox{\Hypertarget{class_ogre_1_1_transform_base_a7fea969b4c39eb571b5798a7ff23d16e}\label{class_ogre_1_1_transform_base_a7fea969b4c39eb571b5798a7ff23d16e}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!determinant@{determinant}}
\index{determinant@{determinant}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{determinant()}{determinant()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Transform\+Base\+::determinant (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}

\mbox{\Hypertarget{class_ogre_1_1_transform_base_a9115cefcc7321c90659b976bcce542f3}\label{class_ogre_1_1_transform_base_a9115cefcc7321c90659b976bcce542f3}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!make\+Transform@{make\+Transform}}
\index{make\+Transform@{make\+Transform}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{make\+Transform()}{makeTransform()}}
{\footnotesize\ttfamily void Ogre\+::\+Transform\+Base\+::make\+Transform (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{position,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{scale,  }\item[{const \hyperlink{class_ogre_1_1_quaternion}{Quaternion} \&}]{orientation }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Building a \hyperlink{class_ogre_1_1_affine3}{Affine3} from orientation / scale / position. 

\begin{DoxyRemark}{Remarks}
Transform is performed in the order scale, rotate, translation, i.\+e. translation is independent of orientation axes, scale does not affect size of translation, rotation and scaling are always centered on the origin. 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_transform_base_a804a6a6e44386202d103a516149eb4be}\label{class_ogre_1_1_transform_base_a804a6a6e44386202d103a516149eb4be}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!make\+Inverse\+Transform@{make\+Inverse\+Transform}}
\index{make\+Inverse\+Transform@{make\+Inverse\+Transform}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{make\+Inverse\+Transform()}{makeInverseTransform()}}
{\footnotesize\ttfamily void Ogre\+::\+Transform\+Base\+::make\+Inverse\+Transform (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{position,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{scale,  }\item[{const \hyperlink{class_ogre_1_1_quaternion}{Quaternion} \&}]{orientation }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Building an inverse \hyperlink{class_ogre_1_1_affine3}{Affine3} from orientation / scale / position. 

\begin{DoxyRemark}{Remarks}
As make\+Transform except it build the inverse given the same data as make\+Transform, so performing -\/translation, -\/rotate, 1/scale in that order. 
\end{DoxyRemark}


\subsection{Member Data Documentation}
\mbox{\Hypertarget{class_ogre_1_1_matrix4_a838ac3cb744a01a39dfe35c61e942d7a}\label{class_ogre_1_1_matrix4_a838ac3cb744a01a39dfe35c61e942d7a}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!Z\+E\+RO@{Z\+E\+RO}}
\index{Z\+E\+RO@{Z\+E\+RO}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{Z\+E\+RO}{ZERO}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_matrix4}{Matrix4} Ogre\+::\+Matrix4\+::\+Z\+E\+RO\hspace{0.3cm}{\ttfamily [static]}}

\mbox{\Hypertarget{class_ogre_1_1_matrix4_af2f61127dd1911c9ac2b4cbc0b4f3668}\label{class_ogre_1_1_matrix4_af2f61127dd1911c9ac2b4cbc0b4f3668}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!I\+D\+E\+N\+T\+I\+TY@{I\+D\+E\+N\+T\+I\+TY}}
\index{I\+D\+E\+N\+T\+I\+TY@{I\+D\+E\+N\+T\+I\+TY}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{I\+D\+E\+N\+T\+I\+TY}{IDENTITY}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_matrix4}{Matrix4} Ogre\+::\+Matrix4\+::\+I\+D\+E\+N\+T\+I\+TY\hspace{0.3cm}{\ttfamily [static]}}



Referenced by Ogre\+::\+Frustum\+::is\+Custom\+View\+Matrix\+Enabled().

\mbox{\Hypertarget{class_ogre_1_1_matrix4_a08a798c0d8c8290dbc0287ca6561f549}\label{class_ogre_1_1_matrix4_a08a798c0d8c8290dbc0287ca6561f549}} 
\index{Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}!C\+L\+I\+P\+S\+P\+A\+C\+E2\+D\+T\+O\+I\+M\+A\+G\+E\+S\+P\+A\+CE@{C\+L\+I\+P\+S\+P\+A\+C\+E2\+D\+T\+O\+I\+M\+A\+G\+E\+S\+P\+A\+CE}}
\index{C\+L\+I\+P\+S\+P\+A\+C\+E2\+D\+T\+O\+I\+M\+A\+G\+E\+S\+P\+A\+CE@{C\+L\+I\+P\+S\+P\+A\+C\+E2\+D\+T\+O\+I\+M\+A\+G\+E\+S\+P\+A\+CE}!Ogre\+::\+Matrix4@{Ogre\+::\+Matrix4}}
\subsubsection{\texorpdfstring{C\+L\+I\+P\+S\+P\+A\+C\+E2\+D\+T\+O\+I\+M\+A\+G\+E\+S\+P\+A\+CE}{CLIPSPACE2DTOIMAGESPACE}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_matrix4}{Matrix4} Ogre\+::\+Matrix4\+::\+C\+L\+I\+P\+S\+P\+A\+C\+E2\+D\+T\+O\+I\+M\+A\+G\+E\+S\+P\+A\+CE\hspace{0.3cm}{\ttfamily [static]}}



Useful little matrix which takes 2D clipspace \{-\/1, 1\} to \{0,1\} and inverts the Y. 



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\hyperlink{_ogre_matrix4_8h}{Ogre\+Matrix4.\+h}\end{DoxyCompactItemize}
