\hypertarget{class_ogre_1_1_affine3}{}\section{Ogre\+:\+:Affine3 Class Reference}
\label{class_ogre_1_1_affine3}\index{Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}


Transform specialization for 3D Affine -\/ encapsulating a 3x4 Matrix.  




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



Inheritance diagram for Ogre\+:\+:Affine3\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=199pt]{class_ogre_1_1_affine3__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_affine3_a30b0a43638d438c54c335453a3bf4636}{Affine3} ()
\begin{DoxyCompactList}\small\item\em Do {\bfseries N\+OT} initialize the matrix for efficiency. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_affine3_a5ce74f781c8c3ce99976c31fba9a6eb0}{Affine3} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&position, const \hyperlink{class_ogre_1_1_quaternion}{Quaternion} \&orientation, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&scale=\hyperlink{class_ogre_1_1_vector3_a6a27e8a3a9156701f586afeed1516fb8}{Vector3\+::\+U\+N\+I\+T\+\_\+\+S\+C\+A\+LE})
\begin{DoxyCompactList}\small\item\em Building a \hyperlink{class_ogre_1_1_affine3}{Affine3} from orientation / scale / position. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_affine3_a23c6bb6170cd619be269bec8ed434ef4}{Affine3} (\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)
\item 
\hyperlink{class_ogre_1_1_affine3_aff614a967fe24db7a8059be148f9c8a1}{Affine3} (const \hyperlink{class_ogre_1_1_matrix4}{Matrix4} \&mat)
\begin{DoxyCompactList}\small\item\em extract the Affine part of a \hyperlink{class_ogre_1_1_matrix4}{Matrix4} \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_affine3_a2a72dd6d84a4f57a881f94de62bc8a34}{decomposition} (\hyperlink{class_ogre_1_1_vector3}{Vector3} \&position, \hyperlink{class_ogre_1_1_vector3}{Vector3} \&scale, \hyperlink{class_ogre_1_1_quaternion}{Quaternion} \&orientation) const
\begin{DoxyCompactList}\small\item\em Decompose to orientation / scale / position. \end{DoxyCompactList}\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_affine3}{Affine3} \hyperlink{class_ogre_1_1_affine3_aad8e3b12ac04a0229d5a2af84f358883}{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 
\hyperlink{class_ogre_1_1_affine3_a4cce7fb866e2a35fc2c425f897d03ca2}{operator const Matrix4 \&} () const
\begin{DoxyCompactList}\small\item\em every \hyperlink{class_ogre_1_1_affine3}{Affine3} transform is also a {\itshape const} \hyperlink{class_ogre_1_1_matrix4}{Matrix4} \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_affine3_a44f73afce352e88d8b8463475baf6b5a}{operator!=} (const \hyperlink{class_ogre_1_1_affine3}{Affine3} \&m2) const
\item 
\hyperlink{class_ogre_1_1_affine3}{Affine3} \& \hyperlink{class_ogre_1_1_affine3_a2511bc98e0348413c8fc00712086b8c5}{operator=} (const \hyperlink{class_ogre_1_1_matrix3}{Matrix3} \&mat3)
\item 
bool \hyperlink{class_ogre_1_1_affine3_ae0ff2f252c8642916d15316ff0e2107c}{operator==} (const \hyperlink{class_ogre_1_1_affine3}{Affine3} \&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 Member Functions}
\begin{DoxyCompactItemize}
\item 
static \hyperlink{class_ogre_1_1_affine3}{Affine3} \hyperlink{class_ogre_1_1_affine3_a0ea806400969075b54313aed739cdce6}{get\+Scale} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&v)
\begin{DoxyCompactList}\small\item\em Gets a scale matrix. \end{DoxyCompactList}\item 
static \hyperlink{class_ogre_1_1_affine3}{Affine3} \hyperlink{class_ogre_1_1_affine3_a9fcc18e98ded8a18261e66f92fc2dfe8}{get\+Scale} (\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} s\+\_\+x, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} s\+\_\+y, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} s\+\_\+z)
\begin{DoxyCompactList}\small\item\em Gets a scale matrix -\/ variation for not using a vector. \end{DoxyCompactList}\item 
static \hyperlink{class_ogre_1_1_affine3}{Affine3} \hyperlink{class_ogre_1_1_affine3_aa9ab6eb8ff75222d1154f14bdd3d2a8e}{get\+Trans} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&v)
\begin{DoxyCompactList}\small\item\em Gets a translation matrix. \end{DoxyCompactList}\item 
static \hyperlink{class_ogre_1_1_affine3}{Affine3} \hyperlink{class_ogre_1_1_affine3_ae45c5a41dd3e6b752e406a5597a1990d}{get\+Trans} (\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} t\+\_\+x, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} t\+\_\+y, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} t\+\_\+z)
\begin{DoxyCompactList}\small\item\em Gets a translation matrix -\/ variation for not using a vector. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static const \hyperlink{class_ogre_1_1_affine3}{Affine3} \hyperlink{class_ogre_1_1_affine3_af37f4f9d112151323e0f53d135c13612}{I\+D\+E\+N\+T\+I\+TY}
\item 
static const \hyperlink{class_ogre_1_1_affine3}{Affine3} \hyperlink{class_ogre_1_1_affine3_a9a771b8258d88c5a37f58494de1b0597}{Z\+E\+RO}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Transform specialization for 3D Affine -\/ encapsulating a 3x4 Matrix. 

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



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

\mbox{\Hypertarget{class_ogre_1_1_affine3_a5ce74f781c8c3ce99976c31fba9a6eb0}\label{class_ogre_1_1_affine3_a5ce74f781c8c3ce99976c31fba9a6eb0}} 
\index{Ogre\+::\+Affine3@{Ogre\+::\+Affine3}!Affine3@{Affine3}}
\index{Affine3@{Affine3}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\subsubsection{\texorpdfstring{Affine3()}{Affine3()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily Ogre\+::\+Affine3\+::\+Affine3 (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{position,  }\item[{const \hyperlink{class_ogre_1_1_quaternion}{Quaternion} \&}]{orientation,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{scale = {\ttfamily \hyperlink{class_ogre_1_1_vector3_a6a27e8a3a9156701f586afeed1516fb8}{Vector3\+::\+U\+N\+I\+T\+\_\+\+S\+C\+A\+LE}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



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_affine3_a23c6bb6170cd619be269bec8ed434ef4}\label{class_ogre_1_1_affine3_a23c6bb6170cd619be269bec8ed434ef4}} 
\index{Ogre\+::\+Affine3@{Ogre\+::\+Affine3}!Affine3@{Affine3}}
\index{Affine3@{Affine3}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\subsubsection{\texorpdfstring{Affine3()}{Affine3()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily Ogre\+::\+Affine3\+::\+Affine3 (\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 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_affine3_aff614a967fe24db7a8059be148f9c8a1}\label{class_ogre_1_1_affine3_aff614a967fe24db7a8059be148f9c8a1}} 
\index{Ogre\+::\+Affine3@{Ogre\+::\+Affine3}!Affine3@{Affine3}}
\index{Affine3@{Affine3}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\subsubsection{\texorpdfstring{Affine3()}{Affine3()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily Ogre\+::\+Affine3\+::\+Affine3 (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_matrix4}{Matrix4} \&}]{mat }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}



extract the Affine part of a \hyperlink{class_ogre_1_1_matrix4}{Matrix4} 



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_affine3_a2511bc98e0348413c8fc00712086b8c5}\label{class_ogre_1_1_affine3_a2511bc98e0348413c8fc00712086b8c5}} 
\index{Ogre\+::\+Affine3@{Ogre\+::\+Affine3}!operator=@{operator=}}
\index{operator=@{operator=}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\subsubsection{\texorpdfstring{operator=()}{operator=()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_affine3}{Affine3}\& Ogre\+::\+Affine3\+::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_affine3_ae0ff2f252c8642916d15316ff0e2107c}\label{class_ogre_1_1_affine3_ae0ff2f252c8642916d15316ff0e2107c}} 
\index{Ogre\+::\+Affine3@{Ogre\+::\+Affine3}!operator==@{operator==}}
\index{operator==@{operator==}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\subsubsection{\texorpdfstring{operator==()}{operator==()}}
{\footnotesize\ttfamily bool Ogre\+::\+Affine3\+::operator== (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_affine3}{Affine3} \&}]{m2 }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Tests 2 matrices for equality. 

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

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

\mbox{\Hypertarget{class_ogre_1_1_affine3_a2a72dd6d84a4f57a881f94de62bc8a34}\label{class_ogre_1_1_affine3_a2a72dd6d84a4f57a881f94de62bc8a34}} 
\index{Ogre\+::\+Affine3@{Ogre\+::\+Affine3}!decomposition@{decomposition}}
\index{decomposition@{decomposition}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\subsubsection{\texorpdfstring{decomposition()}{decomposition()}}
{\footnotesize\ttfamily void Ogre\+::\+Affine3\+::decomposition (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{position,  }\item[{\hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{scale,  }\item[{\hyperlink{class_ogre_1_1_quaternion}{Quaternion} \&}]{orientation }\end{DoxyParamCaption}) const}



Decompose to orientation / scale / position. 

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



every \hyperlink{class_ogre_1_1_affine3}{Affine3} transform is also a {\itshape const} \hyperlink{class_ogre_1_1_matrix4}{Matrix4} 



References Ogre\+::\+Transform\+Base\+::get\+Trans().

\mbox{\Hypertarget{class_ogre_1_1_affine3_aa9ab6eb8ff75222d1154f14bdd3d2a8e}\label{class_ogre_1_1_affine3_aa9ab6eb8ff75222d1154f14bdd3d2a8e}} 
\index{Ogre\+::\+Affine3@{Ogre\+::\+Affine3}!get\+Trans@{get\+Trans}}
\index{get\+Trans@{get\+Trans}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\subsubsection{\texorpdfstring{get\+Trans()}{getTrans()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily static \hyperlink{class_ogre_1_1_affine3}{Affine3} Ogre\+::\+Affine3\+::get\+Trans (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gets a translation matrix. 



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

\mbox{\Hypertarget{class_ogre_1_1_affine3_ae45c5a41dd3e6b752e406a5597a1990d}\label{class_ogre_1_1_affine3_ae45c5a41dd3e6b752e406a5597a1990d}} 
\index{Ogre\+::\+Affine3@{Ogre\+::\+Affine3}!get\+Trans@{get\+Trans}}
\index{get\+Trans@{get\+Trans}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\subsubsection{\texorpdfstring{get\+Trans()}{getTrans()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily static \hyperlink{class_ogre_1_1_affine3}{Affine3} Ogre\+::\+Affine3\+::get\+Trans (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{t\+\_\+x,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{t\+\_\+y,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{t\+\_\+z }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gets a translation matrix -\/ variation for not using a vector. 

\mbox{\Hypertarget{class_ogre_1_1_affine3_a0ea806400969075b54313aed739cdce6}\label{class_ogre_1_1_affine3_a0ea806400969075b54313aed739cdce6}} 
\index{Ogre\+::\+Affine3@{Ogre\+::\+Affine3}!get\+Scale@{get\+Scale}}
\index{get\+Scale@{get\+Scale}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\subsubsection{\texorpdfstring{get\+Scale()}{getScale()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily static \hyperlink{class_ogre_1_1_affine3}{Affine3} Ogre\+::\+Affine3\+::get\+Scale (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gets a scale matrix. 



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

\mbox{\Hypertarget{class_ogre_1_1_affine3_a9fcc18e98ded8a18261e66f92fc2dfe8}\label{class_ogre_1_1_affine3_a9fcc18e98ded8a18261e66f92fc2dfe8}} 
\index{Ogre\+::\+Affine3@{Ogre\+::\+Affine3}!get\+Scale@{get\+Scale}}
\index{get\+Scale@{get\+Scale}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\subsubsection{\texorpdfstring{get\+Scale()}{getScale()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily static \hyperlink{class_ogre_1_1_affine3}{Affine3} Ogre\+::\+Affine3\+::get\+Scale (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{s\+\_\+x,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{s\+\_\+y,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{s\+\_\+z }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gets a scale matrix -\/ variation for not using a vector. 

\mbox{\Hypertarget{class_ogre_1_1_transform_base_aa21a63d88ef4ffc429f2c8edbabe1a1f}\label{class_ogre_1_1_transform_base_aa21a63d88ef4ffc429f2c8edbabe1a1f}} 
\index{Ogre\+::\+Affine3@{Ogre\+::\+Affine3}!operator\mbox{[}\mbox{]}@{operator[]}}
\index{operator\mbox{[}\mbox{]}@{operator[]}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\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\+::\+Affine3@{Ogre\+::\+Affine3}!operator\mbox{[}\mbox{]}@{operator[]}}
\index{operator\mbox{[}\mbox{]}@{operator[]}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\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\+::\+Affine3@{Ogre\+::\+Affine3}!set3x3\+Matrix@{set3x3\+Matrix}}
\index{set3x3\+Matrix@{set3x3\+Matrix}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\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\+::\+Affine3@{Ogre\+::\+Affine3}!linear@{linear}}
\index{linear@{linear}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\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\+::\+Affine3@{Ogre\+::\+Affine3}!extract3x3\+Matrix@{extract3x3\+Matrix}}
\index{extract3x3\+Matrix@{extract3x3\+Matrix}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\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\+::\+Affine3@{Ogre\+::\+Affine3}!extract\+Quaternion@{extract\+Quaternion}}
\index{extract\+Quaternion@{extract\+Quaternion}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\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\+::\+Affine3@{Ogre\+::\+Affine3}!set\+Trans@{set\+Trans}}
\index{set\+Trans@{set\+Trans}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\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\+::\+Affine3@{Ogre\+::\+Affine3}!get\+Trans@{get\+Trans}}
\index{get\+Trans@{get\+Trans}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\subsubsection{\texorpdfstring{get\+Trans()}{getTrans()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\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 operator const Matrix4 \&().

\mbox{\Hypertarget{class_ogre_1_1_transform_base_a4fce454d3b27bb2ebc5e3cabf4b931eb}\label{class_ogre_1_1_transform_base_a4fce454d3b27bb2ebc5e3cabf4b931eb}} 
\index{Ogre\+::\+Affine3@{Ogre\+::\+Affine3}!set\+Scale@{set\+Scale}}
\index{set\+Scale@{set\+Scale}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\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\+::\+Affine3@{Ogre\+::\+Affine3}!make\+Trans@{make\+Trans}}
\index{make\+Trans@{make\+Trans}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\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\+::\+Affine3@{Ogre\+::\+Affine3}!make\+Trans@{make\+Trans}}
\index{make\+Trans@{make\+Trans}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\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\+::\+Affine3@{Ogre\+::\+Affine3}!determinant@{determinant}}
\index{determinant@{determinant}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\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\+::\+Affine3@{Ogre\+::\+Affine3}!make\+Transform@{make\+Transform}}
\index{make\+Transform@{make\+Transform}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\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\+::\+Affine3@{Ogre\+::\+Affine3}!make\+Inverse\+Transform@{make\+Inverse\+Transform}}
\index{make\+Inverse\+Transform@{make\+Inverse\+Transform}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\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_affine3_a9a771b8258d88c5a37f58494de1b0597}\label{class_ogre_1_1_affine3_a9a771b8258d88c5a37f58494de1b0597}} 
\index{Ogre\+::\+Affine3@{Ogre\+::\+Affine3}!Z\+E\+RO@{Z\+E\+RO}}
\index{Z\+E\+RO@{Z\+E\+RO}!Ogre\+::\+Affine3@{Ogre\+::\+Affine3}}
\subsubsection{\texorpdfstring{Z\+E\+RO}{ZERO}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_affine3}{Affine3} Ogre\+::\+Affine3\+::\+Z\+E\+RO\hspace{0.3cm}{\ttfamily [static]}}

\mbox{\Hypertarget{class_ogre_1_1_affine3_af37f4f9d112151323e0f53d135c13612}\label{class_ogre_1_1_affine3_af37f4f9d112151323e0f53d135c13612}} 
\index{Ogre\+::\+Affine3@{Ogre\+::\+Affine3}!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\+::\+Affine3@{Ogre\+::\+Affine3}}
\subsubsection{\texorpdfstring{I\+D\+E\+N\+T\+I\+TY}{IDENTITY}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_affine3}{Affine3} Ogre\+::\+Affine3\+::\+I\+D\+E\+N\+T\+I\+TY\hspace{0.3cm}{\ttfamily [static]}}



Referenced by Ogre\+::\+Instanced\+Entity\+::\+\_\+get\+Parent\+Node\+Full\+Transform().



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