\hypertarget{class_ogre_1_1_matrix4}{}\doxysection{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=220pt]{class_ogre_1_1_matrix4__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\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 
\mbox{\hyperlink{class_ogre_1_1_matrix4_a8ae0763e439e87045b1ce46dca2c279c}{Matrix4}} (const \mbox{\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 
\mbox{\hyperlink{class_ogre_1_1_matrix4_aaf7dc461a266459ab6916e7f97991969}{Matrix4}} (const \mbox{\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 \mbox{\hyperlink{class_ogre_1_1_quaternion}{Quaternion}}. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_matrix4_a65ee69637da03019f9efcf3e9d0831b0}{Matrix4}} (const \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} $\ast$arr)
\item 
\mbox{\hyperlink{class_ogre_1_1_matrix4_a91cac2ee0f0e8bd582c24db497afcd21}{Matrix4}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} m00, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} m01, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} m02, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} m03, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} m10, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} m11, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} m12, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} m13, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} m20, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} m21, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} m22, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} m23, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} m30, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} m31, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} m32, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} m33)
\item 
\mbox{\hyperlink{class_ogre_1_1_matrix4}{Matrix4}} \mbox{\hyperlink{class_ogre_1_1_matrix4_a0da0cacf5f846f642152e149a965a03d}{adjoint}} () const
\item 
\mbox{\hyperlink{class_ogre_1_1_matrix4}{Matrix4}} \mbox{\hyperlink{class_ogre_1_1_matrix4_a9b550a4d5065bffd37fcc4c0af5b8c30}{concatenate}} (const \mbox{\hyperlink{class_ogre_1_1_matrix4}{Matrix4}} \&m2) const
\item 
\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{struct_ogre_1_1_transform_base_real_a9abae638b21413a41bc5b004ecacecd4}{determinant}} () const
\item 
void \mbox{\hyperlink{struct_ogre_1_1_transform_base_real_a3f43524c27cb439313bd081ae280642c}{extract3x3\+Matrix}} (\mbox{\hyperlink{class_ogre_1_1_matrix3}{Matrix3}} \&m3x3) const
\item 
\mbox{\hyperlink{class_ogre_1_1_quaternion}{Quaternion}} \mbox{\hyperlink{struct_ogre_1_1_transform_base_real_aef6aefde7236f81a2343af8a1d81da50}{extract\+Quaternion}} () const
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ 3, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} $>$ \mbox{\hyperlink{class_ogre_1_1_transform_base_a92260a3e504b84292acac6d600c9ef36}{get\+Trans}} () const
\begin{DoxyCompactList}\small\item\em Extracts the translation transformation part of the matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_matrix4}{Matrix4}} \mbox{\hyperlink{class_ogre_1_1_matrix4_acd0397dd92f1e5d8c3c5ee7bd269472b}{inverse}} () const
\item 
\mbox{\hyperlink{class_ogre_1_1_matrix3}{Matrix3}} \mbox{\hyperlink{struct_ogre_1_1_transform_base_real_a99c2bd12bee6aedcb27fcd4cd70e1a6b}{linear}} () const
\begin{DoxyCompactList}\small\item\em Extracts the rotation / scaling part of the Matrix as a 3x3 matrix. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{struct_ogre_1_1_transform_base_real_abf2a16142c5dfd6360fb5e697fbf578d}{make\+Inverse\+Transform}} (const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&position, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&scale, const \mbox{\hyperlink{class_ogre_1_1_quaternion}{Quaternion}} \&orientation)
\begin{DoxyCompactList}\small\item\em Building an inverse \mbox{\hyperlink{class_ogre_1_1_affine3}{Affine3}} from orientation / scale / position. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{struct_ogre_1_1_transform_base_real_ab5d6ffc4f1604d59552be2c4d9f4a01a}{make\+Trans}} (const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&v)
\begin{DoxyCompactList}\small\item\em Builds a translation matrix. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{struct_ogre_1_1_transform_base_real_aa0f27bb6d140ca1d09a03c9e27c5f96c}{make\+Trans}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} tx, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} ty, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} tz)
\item 
void \mbox{\hyperlink{struct_ogre_1_1_transform_base_real_ad58c2d3fb3345558228fe3bafdf1b732}{make\+Transform}} (const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&position, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&scale, const \mbox{\hyperlink{class_ogre_1_1_quaternion}{Quaternion}} \&orientation)
\begin{DoxyCompactList}\small\item\em Building a \mbox{\hyperlink{class_ogre_1_1_affine3}{Affine3}} from orientation / scale / position. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{class_ogre_1_1_matrix4_a178b8b39b5b3ac1faa89086f62bf9db9}{operator!=}} (const \mbox{\hyperlink{class_ogre_1_1_matrix4}{Matrix4}} \&m2) const
\begin{DoxyCompactList}\small\item\em Tests 2 matrices for inequality. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_matrix4}{Matrix4}} \mbox{\hyperlink{class_ogre_1_1_matrix4_a9f9cbc672543185e14b45dfab31f63e3}{operator$\ast$}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} scalar) const
\item 
\mbox{\hyperlink{class_ogre_1_1_matrix4}{Matrix4}} \& \mbox{\hyperlink{class_ogre_1_1_matrix4_ad90fcdeb711a14b8c3a953e005e527b2}{operator=}} (const \mbox{\hyperlink{class_ogre_1_1_matrix3}{Matrix3}} \&mat3)
\item 
bool \mbox{\hyperlink{class_ogre_1_1_matrix4_ac535a3ed291e9518b89f79134b47dd29}{operator==}} (const \mbox{\hyperlink{class_ogre_1_1_matrix4}{Matrix4}} \&m2) const
\begin{DoxyCompactList}\small\item\em Tests 2 matrices for equality. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} $\ast$ \mbox{\hyperlink{class_ogre_1_1_transform_base_a8cb72d4aa4fcb719ea6110758bb6e89e}{operator\mbox{[}$\,$\mbox{]}}} (size\+\_\+t i\+Row)
\item 
const \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} $\ast$ \mbox{\hyperlink{class_ogre_1_1_transform_base_afbc5442e28735144fe9e1f41daa89c3a}{operator\mbox{[}$\,$\mbox{]}}} (size\+\_\+t i\+Row) const
\item 
void \mbox{\hyperlink{struct_ogre_1_1_transform_base_real_aebf4846bf9c86970bc9569d132892708}{set3x3\+Matrix}} (const \mbox{\hyperlink{class_ogre_1_1_matrix3}{Matrix3}} \&mat3)
\begin{DoxyCompactList}\small\item\em Assignment from 3x3 matrix. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_transform_base_ac029df849f85850a59921e5f361927c4}{set\+Scale}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ 3, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} $>$ \&v)
\begin{DoxyCompactList}\small\item\em Sets the scale part of the matrix. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_transform_base_acd424a976abe0bd586dd6b46876dc235}{set\+Trans}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ 3, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} $>$ \&v)
\begin{DoxyCompactList}\small\item\em Sets the translation transformation part of the matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_matrix4}{Matrix4}} \mbox{\hyperlink{group___math_gaebc7c568cc1d6f13405a756be1af73fa}{transpose}} () const
\end{DoxyCompactItemize}
\doxysubsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static const \mbox{\hyperlink{class_ogre_1_1_matrix4}{Matrix4}} \mbox{\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 \mbox{\hyperlink{class_ogre_1_1_matrix4}{Matrix4}} \mbox{\hyperlink{class_ogre_1_1_matrix4_af2f61127dd1911c9ac2b4cbc0b4f3668}{I\+D\+E\+N\+T\+I\+TY}}
\item 
static const \mbox{\hyperlink{class_ogre_1_1_matrix4}{Matrix4}} \mbox{\hyperlink{class_ogre_1_1_matrix4_a838ac3cb744a01a39dfe35c61e942d7a}{Z\+E\+RO}}
\end{DoxyCompactItemize}


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

\doxysubsection{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}}
\doxysubsubsection{\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}}
\doxysubsubsection{\texorpdfstring{Matrix4()}{Matrix4()}\hspace{0.1cm}{\footnotesize\ttfamily [2/5]}}
{\footnotesize\ttfamily Ogre\+::\+Matrix4\+::\+Matrix4 (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{m00,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{m01,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{m02,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{m03,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{m10,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{m11,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{m12,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{m13,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{m20,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{m21,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{m22,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{m23,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{m30,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{m31,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{m32,  }\item[{\mbox{\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}}
\doxysubsubsection{\texorpdfstring{Matrix4()}{Matrix4()}\hspace{0.1cm}{\footnotesize\ttfamily [3/5]}}
{\footnotesize\ttfamily Ogre\+::\+Matrix4\+::\+Matrix4 (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} $\ast$}]{arr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}

\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}}
\doxysubsubsection{\texorpdfstring{Matrix4()}{Matrix4()}\hspace{0.1cm}{\footnotesize\ttfamily [4/5]}}
{\footnotesize\ttfamily Ogre\+::\+Matrix4\+::\+Matrix4 (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_matrix3}{Matrix3}} \&}]{m3x3 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}



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}}
\doxysubsubsection{\texorpdfstring{Matrix4()}{Matrix4()}\hspace{0.1cm}{\footnotesize\ttfamily [5/5]}}
{\footnotesize\ttfamily Ogre\+::\+Matrix4\+::\+Matrix4 (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_quaternion}{Quaternion}} \&}]{rot }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}



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



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



\doxysubsection{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}}
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_matrix4}{Matrix4}}\& Ogre\+::\+Matrix4\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\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}}
\doxysubsubsection{\texorpdfstring{concatenate()}{concatenate()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_matrix4}{Matrix4}} Ogre\+::\+Matrix4\+::concatenate (\begin{DoxyParamCaption}\item[{const \mbox{\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}}
\doxysubsubsection{\texorpdfstring{operator==()}{operator==()}}
{\footnotesize\ttfamily bool Ogre\+::\+Matrix4\+::operator== (\begin{DoxyParamCaption}\item[{const \mbox{\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}}
\doxysubsubsection{\texorpdfstring{operator"!=()}{operator!=()}}
{\footnotesize\ttfamily bool Ogre\+::\+Matrix4\+::operator!= (\begin{DoxyParamCaption}\item[{const \mbox{\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}}
\doxysubsubsection{\texorpdfstring{operator$\ast$()}{operator*()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_matrix4}{Matrix4}} Ogre\+::\+Matrix4\+::operator$\ast$ (\begin{DoxyParamCaption}\item[{\mbox{\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}}
\doxysubsubsection{\texorpdfstring{adjoint()}{adjoint()}}
{\footnotesize\ttfamily \mbox{\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}}
\doxysubsubsection{\texorpdfstring{inverse()}{inverse()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_matrix4}{Matrix4}} Ogre\+::\+Matrix4\+::inverse (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



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

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



Builds a translation matrix. 

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

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



Assignment from 3x3 matrix. 

\mbox{\Hypertarget{struct_ogre_1_1_transform_base_real_a99c2bd12bee6aedcb27fcd4cd70e1a6b}\label{struct_ogre_1_1_transform_base_real_a99c2bd12bee6aedcb27fcd4cd70e1a6b}} 
\index{Ogre::Matrix4@{Ogre::Matrix4}!linear@{linear}}
\index{linear@{linear}!Ogre::Matrix4@{Ogre::Matrix4}}
\doxysubsubsection{\texorpdfstring{linear()}{linear()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_matrix3}{Matrix3}} Ogre\+::\+Transform\+Base\+Real\+::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{struct_ogre_1_1_transform_base_real_a3f43524c27cb439313bd081ae280642c}\label{struct_ogre_1_1_transform_base_real_a3f43524c27cb439313bd081ae280642c}} 
\index{Ogre::Matrix4@{Ogre::Matrix4}!extract3x3Matrix@{extract3x3Matrix}}
\index{extract3x3Matrix@{extract3x3Matrix}!Ogre::Matrix4@{Ogre::Matrix4}}
\doxysubsubsection{\texorpdfstring{extract3x3Matrix()}{extract3x3Matrix()}}
{\footnotesize\ttfamily void Ogre\+::\+Transform\+Base\+Real\+::extract3x3\+Matrix (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_matrix3}{Matrix3}} \&}]{m3x3 }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}

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

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

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



Building a \mbox{\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{struct_ogre_1_1_transform_base_real_abf2a16142c5dfd6360fb5e697fbf578d}\label{struct_ogre_1_1_transform_base_real_abf2a16142c5dfd6360fb5e697fbf578d}} 
\index{Ogre::Matrix4@{Ogre::Matrix4}!makeInverseTransform@{makeInverseTransform}}
\index{makeInverseTransform@{makeInverseTransform}!Ogre::Matrix4@{Ogre::Matrix4}}
\doxysubsubsection{\texorpdfstring{makeInverseTransform()}{makeInverseTransform()}}
{\footnotesize\ttfamily void Ogre\+::\+Transform\+Base\+Real\+::make\+Inverse\+Transform (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{position,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{scale,  }\item[{const \mbox{\hyperlink{class_ogre_1_1_quaternion}{Quaternion}} \&}]{orientation }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Building an inverse \mbox{\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}
\mbox{\Hypertarget{class_ogre_1_1_transform_base_a8cb72d4aa4fcb719ea6110758bb6e89e}\label{class_ogre_1_1_transform_base_a8cb72d4aa4fcb719ea6110758bb6e89e}} 
\index{Ogre::Matrix4@{Ogre::Matrix4}!operator\mbox{[}\mbox{]}@{operator[]}}
\index{operator\mbox{[}\mbox{]}@{operator[]}!Ogre::Matrix4@{Ogre::Matrix4}}
\doxysubsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} $\ast$ \mbox{\hyperlink{class_ogre_1_1_transform_base}{Ogre\+::\+Transform\+Base}}$<$ rows, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}  $>$\+::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_afbc5442e28735144fe9e1f41daa89c3a}\label{class_ogre_1_1_transform_base_afbc5442e28735144fe9e1f41daa89c3a}} 
\index{Ogre::Matrix4@{Ogre::Matrix4}!operator\mbox{[}\mbox{]}@{operator[]}}
\index{operator\mbox{[}\mbox{]}@{operator[]}!Ogre::Matrix4@{Ogre::Matrix4}}
\doxysubsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} $\ast$ \mbox{\hyperlink{class_ogre_1_1_transform_base}{Ogre\+::\+Transform\+Base}}$<$ rows, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}  $>$\+::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_acd424a976abe0bd586dd6b46876dc235}\label{class_ogre_1_1_transform_base_acd424a976abe0bd586dd6b46876dc235}} 
\index{Ogre::Matrix4@{Ogre::Matrix4}!setTrans@{setTrans}}
\index{setTrans@{setTrans}!Ogre::Matrix4@{Ogre::Matrix4}}
\doxysubsubsection{\texorpdfstring{setTrans()}{setTrans()}}
{\footnotesize\ttfamily void \mbox{\hyperlink{class_ogre_1_1_transform_base}{Ogre\+::\+Transform\+Base}}$<$ rows, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}  $>$\+::set\+Trans (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ 3, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}  $>$ \&}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Sets the translation transformation part of the matrix. 

\mbox{\Hypertarget{class_ogre_1_1_transform_base_a92260a3e504b84292acac6d600c9ef36}\label{class_ogre_1_1_transform_base_a92260a3e504b84292acac6d600c9ef36}} 
\index{Ogre::Matrix4@{Ogre::Matrix4}!getTrans@{getTrans}}
\index{getTrans@{getTrans}!Ogre::Matrix4@{Ogre::Matrix4}}
\doxysubsubsection{\texorpdfstring{getTrans()}{getTrans()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$3, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} $>$ \mbox{\hyperlink{class_ogre_1_1_transform_base}{Ogre\+::\+Transform\+Base}}$<$ rows, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}  $>$\+::get\+Trans (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Extracts the translation transformation part of the matrix. 

\mbox{\Hypertarget{class_ogre_1_1_transform_base_ac029df849f85850a59921e5f361927c4}\label{class_ogre_1_1_transform_base_ac029df849f85850a59921e5f361927c4}} 
\index{Ogre::Matrix4@{Ogre::Matrix4}!setScale@{setScale}}
\index{setScale@{setScale}!Ogre::Matrix4@{Ogre::Matrix4}}
\doxysubsubsection{\texorpdfstring{setScale()}{setScale()}}
{\footnotesize\ttfamily void \mbox{\hyperlink{class_ogre_1_1_transform_base}{Ogre\+::\+Transform\+Base}}$<$ rows, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}  $>$\+::set\+Scale (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ 3, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}  $>$ \&}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Sets the scale part of the matrix. 



\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{class_ogre_1_1_matrix4_a838ac3cb744a01a39dfe35c61e942d7a}\label{class_ogre_1_1_matrix4_a838ac3cb744a01a39dfe35c61e942d7a}} 
\index{Ogre::Matrix4@{Ogre::Matrix4}!ZERO@{ZERO}}
\index{ZERO@{ZERO}!Ogre::Matrix4@{Ogre::Matrix4}}
\doxysubsubsection{\texorpdfstring{ZERO}{ZERO}}
{\footnotesize\ttfamily const \mbox{\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}!IDENTITY@{IDENTITY}}
\index{IDENTITY@{IDENTITY}!Ogre::Matrix4@{Ogre::Matrix4}}
\doxysubsubsection{\texorpdfstring{IDENTITY}{IDENTITY}}
{\footnotesize\ttfamily const \mbox{\hyperlink{class_ogre_1_1_matrix4}{Matrix4}} Ogre\+::\+Matrix4\+::\+I\+D\+E\+N\+T\+I\+TY\hspace{0.3cm}{\ttfamily [static]}}

\mbox{\Hypertarget{class_ogre_1_1_matrix4_a08a798c0d8c8290dbc0287ca6561f549}\label{class_ogre_1_1_matrix4_a08a798c0d8c8290dbc0287ca6561f549}} 
\index{Ogre::Matrix4@{Ogre::Matrix4}!CLIPSPACE2DTOIMAGESPACE@{CLIPSPACE2DTOIMAGESPACE}}
\index{CLIPSPACE2DTOIMAGESPACE@{CLIPSPACE2DTOIMAGESPACE}!Ogre::Matrix4@{Ogre::Matrix4}}
\doxysubsubsection{\texorpdfstring{CLIPSPACE2DTOIMAGESPACE}{CLIPSPACE2DTOIMAGESPACE}}
{\footnotesize\ttfamily const \mbox{\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 
\mbox{\hyperlink{_ogre_matrix4_8h}{Ogre\+Matrix4.\+h}}\end{DoxyCompactItemize}
