\hypertarget{group__Eina__Matrix3__Group}{}\section{3x3 floating point matrices}
\label{group__Eina__Matrix3__Group}\index{3x3 floating point matrices@{3x3 floating point matrices}}


Definition and operations for 3x3 matrices.  


\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct__Eina__Matrix3}{\+\_\+\+Eina\+\_\+\+Matrix3}}
\begin{DoxyCompactList}\small\item\em A 3x3 floating point matrix. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga5b0911176c8d5df13db64a3f6b6539b6}\label{group__Eina__Matrix3__Group_ga5b0911176c8d5df13db64a3f6b6539b6}} 
\#define \mbox{\hyperlink{group__Eina__Matrix3__Group_ga5b0911176c8d5df13db64a3f6b6539b6}{E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X3\+\_\+\+F\+O\+R\+M\+AT}}~\char`\"{}g \%g \%g $\vert$ \%g \%g \%g $\vert$ \%g \%g \%g\char`\"{}
\begin{DoxyCompactList}\small\item\em Helper macro for printf formatting. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Matrix3__Group_gaa8275fdf48cc11b6e647c7f45d077faa}{E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X3\+\_\+\+A\+R\+GS}}(m)
\begin{DoxyCompactList}\small\item\em Helper macro for printf formatting arg. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}\label{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}} 
typedef struct \mbox{\hyperlink{struct__Eina__Matrix3}{\+\_\+\+Eina\+\_\+\+Matrix3}} \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}}
\begin{DoxyCompactList}\small\item\em A 3x3 floating point matrix. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Matrix__Group_ga3aec91bee6618dff67cb662d5136abbd}{Eina\+\_\+\+Matrix\+\_\+\+Type}} \mbox{\hyperlink{group__Eina__Matrix3__Group_ga6588e63af9ea1233474a83a4b62435c9}{eina\+\_\+matrix3\+\_\+type\+\_\+get}} (const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m)
\begin{DoxyCompactList}\small\item\em Returns the type of the given floating point matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_ga951490d9a54c3fa3a5772770dee10be3}{eina\+\_\+matrix3\+\_\+values\+\_\+set}} (\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m, double xx, double xy, double xz, double yx, double yy, double yz, double zx, double zy, double zz)
\begin{DoxyCompactList}\small\item\em Sets the values of the coefficients of the given floating point matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_ga98ba3159d2fffa6c9b6a7d8142ff08e3}{eina\+\_\+matrix3\+\_\+values\+\_\+get}} (const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m, double $\ast$xx, double $\ast$xy, double $\ast$xz, double $\ast$yx, double $\ast$yy, double $\ast$yz, double $\ast$zx, double $\ast$zy, double $\ast$zz)
\begin{DoxyCompactList}\small\item\em Gets the values of the coefficients of the given floating point matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_ga5d6da3046d40b44d88518d3c78323a83}{eina\+\_\+matrix3\+\_\+fixed\+\_\+values\+\_\+get}} (const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m, \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} $\ast$xx, \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} $\ast$xy, \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} $\ast$xz, \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} $\ast$yx, \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} $\ast$yy, \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} $\ast$yz, \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} $\ast$zx, \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} $\ast$zy, \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} $\ast$zz)
\begin{DoxyCompactList}\small\item\em Gets the values of the coefficients of the given fixed point matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_ga9a0ee23962650f64dc31a4bca841eda5}{eina\+\_\+matrix3\+\_\+matrix3\+\_\+f16p16\+\_\+to}} (const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m, \mbox{\hyperlink{structEina__Matrix3__F16p16}{Eina\+\_\+\+Matrix3\+\_\+\+F16p16}} $\ast$fm)
\begin{DoxyCompactList}\small\item\em Transforms the given floating point matrix to the given fixed point matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Matrix3__Group_ga63e3602a6c99f6d54c93344bc2f4c0fe}{eina\+\_\+matrix3\+\_\+equal}} (const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m1, const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m2)
\begin{DoxyCompactList}\small\item\em Checks whether the two matrices are equivalent. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_ga3f00095de0ad7a0d29b89d32e49fb3d2}{eina\+\_\+matrix3\+\_\+compose}} (const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m1, const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m2, \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$dst)
\begin{DoxyCompactList}\small\item\em Sets dst as the matrix multiplication (composition) of two matrices. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_ga29fe0b4e756cae9d661f5094ce17e070}{eina\+\_\+matrix3\+\_\+translate}} (\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$t, double tx, double ty)
\begin{DoxyCompactList}\small\item\em Sets the matrix values for a translation operation. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_ga9e361a9529cf826d6490e623b67fb38e}{eina\+\_\+matrix3\+\_\+scale}} (\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$t, double sx, double sy)
\begin{DoxyCompactList}\small\item\em Sets the matrix values for a scaling operation. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8a8536999b0dafa4d0a228a757fe51f5}{eina\+\_\+matrix3\+\_\+rotate}} (\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$t, double rad)
\begin{DoxyCompactList}\small\item\em Sets the matrix values for a rotation operation. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_ga72b6337081f5147cba9f1fdc02221ff4}{eina\+\_\+matrix3\+\_\+identity}} (\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$t)
\begin{DoxyCompactList}\small\item\em Sets the given floating point matrix to the identity matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} double \mbox{\hyperlink{group__Eina__Matrix3__Group_gaf740128f9de0a75205e5e5b281b70b97}{eina\+\_\+matrix3\+\_\+determinant}} (const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m)
\begin{DoxyCompactList}\small\item\em Calculates the determinant of the given matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_gacd6427f4abc71892f85bda895a75f630}{eina\+\_\+matrix3\+\_\+divide}} (\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m, double scalar)
\begin{DoxyCompactList}\small\item\em Divides the given matrix by a scalar number. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_ga2770022e76d8feb341e7fae5a3f74d08}{eina\+\_\+matrix3\+\_\+inverse}} (const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m, \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m2)
\begin{DoxyCompactList}\small\item\em Computes the inverse of the given matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_gaf3f9ba6958fb70c9b470a33a8f51ca12}{eina\+\_\+matrix3\+\_\+transpose}} (const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m, \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$a)
\begin{DoxyCompactList}\small\item\em Computes the transpose of the given matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_ga770f6b256e09428e974bae49afa745cb}{eina\+\_\+matrix3\+\_\+cofactor}} (const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m, \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$a)
\begin{DoxyCompactList}\small\item\em Computes the cofactor of the given matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_ga84733b7f05a192a9a7fccf30c1f123cb}{eina\+\_\+matrix3\+\_\+adjoint}} (const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m, \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$a)
\begin{DoxyCompactList}\small\item\em Computes the adjoint of the given matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_gad13f3dbbbcb4b25045eb153615883210}{eina\+\_\+matrix3\+\_\+point\+\_\+transform}} (const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m, double x, double y, double $\ast$xr, double $\ast$yr)
\begin{DoxyCompactList}\small\item\em Computes the transform of a 2D point using the given matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_gab9898752ea243090d3bac00ad7f553da}{eina\+\_\+matrix3\+\_\+rectangle\+\_\+transform}} (const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m, const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$r, const \mbox{\hyperlink{group__Eina__Quad__Group_gad1216c445ce98862b68ba588f9635b0f}{Eina\+\_\+\+Quad}} $\ast$q)
\begin{DoxyCompactList}\small\item\em Computes the transformation of a rectangle using the given matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Matrix3__Group_gaef040bc9f03a8d40bc7b54555cbb805a}{eina\+\_\+matrix3\+\_\+quad\+\_\+quad\+\_\+map}} (\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m, const \mbox{\hyperlink{group__Eina__Quad__Group_gad1216c445ce98862b68ba588f9635b0f}{Eina\+\_\+\+Quad}} $\ast$src, const \mbox{\hyperlink{group__Eina__Quad__Group_gad1216c445ce98862b68ba588f9635b0f}{Eina\+\_\+\+Quad}} $\ast$dst)
\begin{DoxyCompactList}\small\item\em Creates a projective matrix that maps a quadrangle to a quadrangle. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Matrix3__Group_ga1b8c491399b918243595bf381cb41345}{eina\+\_\+matrix3\+\_\+square\+\_\+quad\+\_\+map}} (\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m, const \mbox{\hyperlink{group__Eina__Quad__Group_gad1216c445ce98862b68ba588f9635b0f}{Eina\+\_\+\+Quad}} $\ast$q)
\begin{DoxyCompactList}\small\item\em Creates a matrix for unit-\/square to quad mapping. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Matrix3__Group_ga9d281c49037ef7359c275d546f2848f7}{eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map}} (\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m, const \mbox{\hyperlink{group__Eina__Quad__Group_gad1216c445ce98862b68ba588f9635b0f}{Eina\+\_\+\+Quad}} $\ast$q)
\begin{DoxyCompactList}\small\item\em Creates a matrix for mapping squares to match quad. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_gae1560a8703d5a3956d922984e20f9ec8}{eina\+\_\+matrix3\+\_\+array\+\_\+set}} (\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m, const double $\ast$v)
\begin{DoxyCompactList}\small\item\em Sets matrix values using an array. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_gab9c3d9a817ab4b438b17455617556d7b}{eina\+\_\+matrix3\+\_\+copy}} (\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$dst, const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$src)
\begin{DoxyCompactList}\small\item\em Copies a matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_ga0f2cfcd1d1c13e6f93971a32b19d144d}{eina\+\_\+matrix3\+\_\+multiply}} (\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$out, const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$mat\+\_\+a, const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$mat\+\_\+b)
\begin{DoxyCompactList}\small\item\em Multiplies two matrices. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_gaef3683e868fb7bcb151227b0a97acdd6}{eina\+\_\+matrix3\+\_\+multiply\+\_\+copy}} (\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$out, const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$mat\+\_\+a, const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$mat\+\_\+b)
\begin{DoxyCompactList}\small\item\em Multiplies two matrices without overwriting them. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_ga2106857298cf173e97121e8299d1d207}{eina\+\_\+matrix3\+\_\+scale\+\_\+transform\+\_\+set}} (\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$out, double s\+\_\+x, double s\+\_\+y)
\begin{DoxyCompactList}\small\item\em Sets the scale parameters (XX, YY) of a matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_gaf37e247b78330b8d0fe1660987043f8c}{eina\+\_\+matrix3\+\_\+position\+\_\+transform\+\_\+set}} (\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$out, const double p\+\_\+x, const double p\+\_\+y)
\begin{DoxyCompactList}\small\item\em Sets the positional parameters (XZ, YZ) of a matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_gadfb7e4874030a72891a4317088dfd4ed}{eina\+\_\+normal3\+\_\+matrix\+\_\+get}} (\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$out, const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$m)
\begin{DoxyCompactList}\small\item\em Sets normal of the given matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix3__Group_ga5b1546fe16b1f8a3e6fff0ae2c093d00}{eina\+\_\+matrix3\+\_\+matrix4\+\_\+to}} (\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$m4, const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m3)
\begin{DoxyCompactList}\small\item\em Converts an Eina\+\_\+\+Matrix3 into an \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}}. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Definition and operations for 3x3 matrices. 



\subsection{Macro Definition Documentation}
\mbox{\Hypertarget{group__Eina__Matrix3__Group_gaa8275fdf48cc11b6e647c7f45d077faa}\label{group__Eina__Matrix3__Group_gaa8275fdf48cc11b6e647c7f45d077faa}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X3\+\_\+\+A\+R\+GS@{E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X3\+\_\+\+A\+R\+GS}}
\index{E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X3\+\_\+\+A\+R\+GS@{E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X3\+\_\+\+A\+R\+GS}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X3\+\_\+\+A\+R\+GS}{EINA\_MATRIX3\_ARGS}}
{\footnotesize\ttfamily \#define E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X3\+\_\+\+A\+R\+GS(\begin{DoxyParamCaption}\item[{}]{m }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
(m)->xx, (m)->xy, (m)->xz, \(\backslash\)
    (m)->yx, (m)->yy, (m)->yz,                          \(\backslash\)
    (m)->zx, (m)->zy, (m)->zz
\end{DoxyCode}


Helper macro for printf formatting arg. 



\subsection{Function Documentation}
\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga6588e63af9ea1233474a83a4b62435c9}\label{group__Eina__Matrix3__Group_ga6588e63af9ea1233474a83a4b62435c9}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+type\+\_\+get@{eina\+\_\+matrix3\+\_\+type\+\_\+get}}
\index{eina\+\_\+matrix3\+\_\+type\+\_\+get@{eina\+\_\+matrix3\+\_\+type\+\_\+get}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+type\+\_\+get()}{eina\_matrix3\_type\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Matrix__Group_ga3aec91bee6618dff67cb662d5136abbd}{Eina\+\_\+\+Matrix\+\_\+\+Type}} eina\+\_\+matrix3\+\_\+type\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m }\end{DoxyParamCaption})}



Returns the type of the given floating point matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em m} & The floating point matrix. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The type of the matrix.
\end{DoxyReturn}
This function returns the type of the matrix {\ttfamily m}. No check is done on {\ttfamily m}.

\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+D\+B\+L\+\_\+\+EQ, E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+F\+F\+I\+NE, E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+D\+E\+N\+T\+I\+TY, and E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+T\+Y\+P\+E\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+VE.



Referenced by eina\+\_\+matrix3\+\_\+multiply().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga951490d9a54c3fa3a5772770dee10be3}\label{group__Eina__Matrix3__Group_ga951490d9a54c3fa3a5772770dee10be3}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+values\+\_\+set@{eina\+\_\+matrix3\+\_\+values\+\_\+set}}
\index{eina\+\_\+matrix3\+\_\+values\+\_\+set@{eina\+\_\+matrix3\+\_\+values\+\_\+set}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+values\+\_\+set()}{eina\_matrix3\_values\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+values\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m,  }\item[{double}]{xx,  }\item[{double}]{xy,  }\item[{double}]{xz,  }\item[{double}]{yx,  }\item[{double}]{yy,  }\item[{double}]{yz,  }\item[{double}]{zx,  }\item[{double}]{zy,  }\item[{double}]{zz }\end{DoxyParamCaption})}



Sets the values of the coefficients of the given floating point matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em m} & The floating point matrix. \\
\hline
\mbox{\tt in}  & {\em xx} & The first coefficient value. \\
\hline
\mbox{\tt in}  & {\em xy} & The second coefficient value. \\
\hline
\mbox{\tt in}  & {\em xz} & The third coefficient value. \\
\hline
\mbox{\tt in}  & {\em yx} & The fourth coefficient value. \\
\hline
\mbox{\tt in}  & {\em yy} & The fifth coefficient value. \\
\hline
\mbox{\tt in}  & {\em yz} & The sixth coefficient value. \\
\hline
\mbox{\tt in}  & {\em zx} & The seventh coefficient value. \\
\hline
\mbox{\tt in}  & {\em zy} & The eighth coefficient value. \\
\hline
\mbox{\tt in}  & {\em zz} & The ninth coefficient value.\\
\hline
\end{DoxyParams}
This function sets the values of the coefficients of the matrix {\ttfamily m}. No check is done on {\ttfamily m}.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Matrix3__Group_ga98ba3159d2fffa6c9b6a7d8142ff08e3}{eina\+\_\+matrix3\+\_\+values\+\_\+get()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga98ba3159d2fffa6c9b6a7d8142ff08e3}\label{group__Eina__Matrix3__Group_ga98ba3159d2fffa6c9b6a7d8142ff08e3}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+values\+\_\+get@{eina\+\_\+matrix3\+\_\+values\+\_\+get}}
\index{eina\+\_\+matrix3\+\_\+values\+\_\+get@{eina\+\_\+matrix3\+\_\+values\+\_\+get}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+values\+\_\+get()}{eina\_matrix3\_values\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+values\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m,  }\item[{double $\ast$}]{xx,  }\item[{double $\ast$}]{xy,  }\item[{double $\ast$}]{xz,  }\item[{double $\ast$}]{yx,  }\item[{double $\ast$}]{yy,  }\item[{double $\ast$}]{yz,  }\item[{double $\ast$}]{zx,  }\item[{double $\ast$}]{zy,  }\item[{double $\ast$}]{zz }\end{DoxyParamCaption})}



Gets the values of the coefficients of the given floating point matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em m} & The floating point matrix. \\
\hline
\mbox{\tt out}  & {\em xx} & The first coefficient value. \\
\hline
\mbox{\tt out}  & {\em xy} & The second coefficient value. \\
\hline
\mbox{\tt out}  & {\em xz} & The third coefficient value. \\
\hline
\mbox{\tt out}  & {\em yx} & The fourth coefficient value. \\
\hline
\mbox{\tt out}  & {\em yy} & The fifth coefficient value. \\
\hline
\mbox{\tt out}  & {\em yz} & The sixth coefficient value. \\
\hline
\mbox{\tt out}  & {\em zx} & The seventh coefficient value. \\
\hline
\mbox{\tt out}  & {\em zy} & The eighth coefficient value. \\
\hline
\mbox{\tt out}  & {\em zz} & The ninth coefficient value.\\
\hline
\end{DoxyParams}
This function gets the values of the coefficients of the matrix {\ttfamily m}. No check is done on {\ttfamily m}.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Matrix3__Group_ga951490d9a54c3fa3a5772770dee10be3}{eina\+\_\+matrix3\+\_\+values\+\_\+set()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga5d6da3046d40b44d88518d3c78323a83}\label{group__Eina__Matrix3__Group_ga5d6da3046d40b44d88518d3c78323a83}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+fixed\+\_\+values\+\_\+get@{eina\+\_\+matrix3\+\_\+fixed\+\_\+values\+\_\+get}}
\index{eina\+\_\+matrix3\+\_\+fixed\+\_\+values\+\_\+get@{eina\+\_\+matrix3\+\_\+fixed\+\_\+values\+\_\+get}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+fixed\+\_\+values\+\_\+get()}{eina\_matrix3\_fixed\_values\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+fixed\+\_\+values\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m,  }\item[{\mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} $\ast$}]{xx,  }\item[{\mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} $\ast$}]{xy,  }\item[{\mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} $\ast$}]{xz,  }\item[{\mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} $\ast$}]{yx,  }\item[{\mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} $\ast$}]{yy,  }\item[{\mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} $\ast$}]{yz,  }\item[{\mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} $\ast$}]{zx,  }\item[{\mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} $\ast$}]{zy,  }\item[{\mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} $\ast$}]{zz }\end{DoxyParamCaption})}



Gets the values of the coefficients of the given fixed point matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em m} & The fixed point matrix. \\
\hline
\mbox{\tt out}  & {\em xx} & The first coefficient value. \\
\hline
\mbox{\tt out}  & {\em xy} & The second coefficient value. \\
\hline
\mbox{\tt out}  & {\em xz} & The third coefficient value. \\
\hline
\mbox{\tt out}  & {\em yx} & The fourth coefficient value. \\
\hline
\mbox{\tt out}  & {\em yy} & The fifth coefficient value. \\
\hline
\mbox{\tt out}  & {\em yz} & The sixth coefficient value. \\
\hline
\mbox{\tt out}  & {\em zx} & The seventh coefficient value. \\
\hline
\mbox{\tt out}  & {\em zy} & The eighth coefficient value. \\
\hline
\mbox{\tt out}  & {\em zz} & The nine-\/th coefficient value.\\
\hline
\end{DoxyParams}
This function gets the values of the coefficients of the matrix {\ttfamily m}. No check is done on {\ttfamily m}.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Matrix3__Group_ga951490d9a54c3fa3a5772770dee10be3}{eina\+\_\+matrix3\+\_\+values\+\_\+set()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References eina\+\_\+f16p16\+\_\+double\+\_\+from().



Referenced by eina\+\_\+matrix3\+\_\+matrix3\+\_\+f16p16\+\_\+to().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga9a0ee23962650f64dc31a4bca841eda5}\label{group__Eina__Matrix3__Group_ga9a0ee23962650f64dc31a4bca841eda5}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+matrix3\+\_\+f16p16\+\_\+to@{eina\+\_\+matrix3\+\_\+matrix3\+\_\+f16p16\+\_\+to}}
\index{eina\+\_\+matrix3\+\_\+matrix3\+\_\+f16p16\+\_\+to@{eina\+\_\+matrix3\+\_\+matrix3\+\_\+f16p16\+\_\+to}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+matrix3\+\_\+f16p16\+\_\+to()}{eina\_matrix3\_matrix3\_f16p16\_to()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+matrix3\+\_\+f16p16\+\_\+to (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m,  }\item[{\mbox{\hyperlink{structEina__Matrix3__F16p16}{Eina\+\_\+\+Matrix3\+\_\+\+F16p16}} $\ast$}]{fm }\end{DoxyParamCaption})}



Transforms the given floating point matrix to the given fixed point matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em m} & The floating point matrix. \\
\hline
\mbox{\tt out}  & {\em fm} & The fixed point matrix.\\
\hline
\end{DoxyParams}
This function transforms the floating point matrix {\ttfamily m} to a fixed point matrix and stores the coefficients into the fixed point matrix {\ttfamily fm}.

\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References eina\+\_\+matrix3\+\_\+fixed\+\_\+values\+\_\+get().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga63e3602a6c99f6d54c93344bc2f4c0fe}\label{group__Eina__Matrix3__Group_ga63e3602a6c99f6d54c93344bc2f4c0fe}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+equal@{eina\+\_\+matrix3\+\_\+equal}}
\index{eina\+\_\+matrix3\+\_\+equal@{eina\+\_\+matrix3\+\_\+equal}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+equal()}{eina\_matrix3\_equal()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+matrix3\+\_\+equal (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m1,  }\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m2 }\end{DoxyParamCaption})}



Checks whether the two matrices are equivalent. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em m1} & The first matrix. \\
\hline
\mbox{\tt in}  & {\em m2} & The second matrix. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} if the two matrices are equal, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise.
\end{DoxyReturn}
This function returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} if the matrices {\ttfamily m1} and {\ttfamily m2} are equal, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. No check is done on the matrices.

\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+D\+B\+L\+\_\+\+EQ, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, E\+I\+N\+A\+\_\+\+T\+R\+UE, \+\_\+\+Eina\+\_\+\+Matrix3\+::xx, \+\_\+\+Eina\+\_\+\+Matrix3\+::xy, \+\_\+\+Eina\+\_\+\+Matrix3\+::xz, \+\_\+\+Eina\+\_\+\+Matrix3\+::yx, \+\_\+\+Eina\+\_\+\+Matrix3\+::yy, \+\_\+\+Eina\+\_\+\+Matrix3\+::yz, \+\_\+\+Eina\+\_\+\+Matrix3\+::zx, \+\_\+\+Eina\+\_\+\+Matrix3\+::zy, and \+\_\+\+Eina\+\_\+\+Matrix3\+::zz.

\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga3f00095de0ad7a0d29b89d32e49fb3d2}\label{group__Eina__Matrix3__Group_ga3f00095de0ad7a0d29b89d32e49fb3d2}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+compose@{eina\+\_\+matrix3\+\_\+compose}}
\index{eina\+\_\+matrix3\+\_\+compose@{eina\+\_\+matrix3\+\_\+compose}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+compose()}{eina\_matrix3\_compose()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+compose (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m1,  }\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m2,  }\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{dst }\end{DoxyParamCaption})}



Sets dst as the matrix multiplication (composition) of two matrices. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em m1} & The first matrix. Must be non-\/\+N\+U\+LL. \\
\hline
\mbox{\tt in}  & {\em m2} & The second matrix. Must be non-\/\+N\+U\+LL. \\
\hline
\mbox{\tt out}  & {\em dst} & The results matrix.\\
\hline
\end{DoxyParams}
In matrix multiplication, AB, the resultant matrix is created from the rows of A multiplied against the columns of B and summed. This is not commutative; i.\+e. AB != BA, so the ordering of arguments {\ttfamily m1} and {\ttfamily m2} matters.

\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


Referenced by eina\+\_\+matrix3\+\_\+multiply(), eina\+\_\+matrix3\+\_\+quad\+\_\+quad\+\_\+map(), eina\+\_\+matrix3\+\_\+rotate(), eina\+\_\+matrix3\+\_\+scale(), and eina\+\_\+matrix3\+\_\+translate().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga29fe0b4e756cae9d661f5094ce17e070}\label{group__Eina__Matrix3__Group_ga29fe0b4e756cae9d661f5094ce17e070}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+translate@{eina\+\_\+matrix3\+\_\+translate}}
\index{eina\+\_\+matrix3\+\_\+translate@{eina\+\_\+matrix3\+\_\+translate}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+translate()}{eina\_matrix3\_translate()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+translate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{t,  }\item[{double}]{tx,  }\item[{double}]{ty }\end{DoxyParamCaption})}



Sets the matrix values for a translation operation. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em m} & The matrix. \\
\hline
\mbox{\tt in}  & {\em tx} & The X coordinate translation. \\
\hline
\mbox{\tt in}  & {\em ty} & The Y coordinate translation.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References eina\+\_\+matrix3\+\_\+compose().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga9e361a9529cf826d6490e623b67fb38e}\label{group__Eina__Matrix3__Group_ga9e361a9529cf826d6490e623b67fb38e}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+scale@{eina\+\_\+matrix3\+\_\+scale}}
\index{eina\+\_\+matrix3\+\_\+scale@{eina\+\_\+matrix3\+\_\+scale}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+scale()}{eina\_matrix3\_scale()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+scale (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{t,  }\item[{double}]{sx,  }\item[{double}]{sy }\end{DoxyParamCaption})}



Sets the matrix values for a scaling operation. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em m} & The matrix. \\
\hline
\mbox{\tt in}  & {\em sx} & The X coordinate scaling factor. \\
\hline
\mbox{\tt in}  & {\em sy} & The Y coordinate scaling factor.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References eina\+\_\+matrix3\+\_\+compose().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga8a8536999b0dafa4d0a228a757fe51f5}\label{group__Eina__Matrix3__Group_ga8a8536999b0dafa4d0a228a757fe51f5}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+rotate@{eina\+\_\+matrix3\+\_\+rotate}}
\index{eina\+\_\+matrix3\+\_\+rotate@{eina\+\_\+matrix3\+\_\+rotate}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+rotate()}{eina\_matrix3\_rotate()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+rotate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{t,  }\item[{double}]{rad }\end{DoxyParamCaption})}



Sets the matrix values for a rotation operation. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em t} & The matrix. \\
\hline
\mbox{\tt in}  & {\em rad} & The number of radians to rotate.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References eina\+\_\+matrix3\+\_\+compose().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga72b6337081f5147cba9f1fdc02221ff4}\label{group__Eina__Matrix3__Group_ga72b6337081f5147cba9f1fdc02221ff4}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+identity@{eina\+\_\+matrix3\+\_\+identity}}
\index{eina\+\_\+matrix3\+\_\+identity@{eina\+\_\+matrix3\+\_\+identity}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+identity()}{eina\_matrix3\_identity()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+identity (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{t }\end{DoxyParamCaption})}



Sets the given floating point matrix to the identity matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em m} & The matrix to set to identity.\\
\hline
\end{DoxyParams}
This function sets {\ttfamily m} to the identity matrix. No check is done on {\ttfamily m}.

\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


Referenced by eina\+\_\+matrix3\+\_\+inverse(), eina\+\_\+matrix3\+\_\+position\+\_\+transform\+\_\+set(), and eina\+\_\+matrix3\+\_\+scale\+\_\+transform\+\_\+set().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_gaf740128f9de0a75205e5e5b281b70b97}\label{group__Eina__Matrix3__Group_gaf740128f9de0a75205e5e5b281b70b97}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+determinant@{eina\+\_\+matrix3\+\_\+determinant}}
\index{eina\+\_\+matrix3\+\_\+determinant@{eina\+\_\+matrix3\+\_\+determinant}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+determinant()}{eina\_matrix3\_determinant()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} double eina\+\_\+matrix3\+\_\+determinant (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m }\end{DoxyParamCaption})}



Calculates the determinant of the given matrix. 


\begin{DoxyParams}{Parameters}
{\em m\mbox{[}in\mbox{]}} & The matrix. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The determinant.
\end{DoxyReturn}
This function returns the determinant of the matrix {\ttfamily m}. No check is done on {\ttfamily m}.

\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


Referenced by eina\+\_\+matrix3\+\_\+inverse().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_gacd6427f4abc71892f85bda895a75f630}\label{group__Eina__Matrix3__Group_gacd6427f4abc71892f85bda895a75f630}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+divide@{eina\+\_\+matrix3\+\_\+divide}}
\index{eina\+\_\+matrix3\+\_\+divide@{eina\+\_\+matrix3\+\_\+divide}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+divide()}{eina\_matrix3\_divide()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+divide (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m,  }\item[{double}]{scalar }\end{DoxyParamCaption})}



Divides the given matrix by a scalar number. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em m} & The matrix. \\
\hline
\mbox{\tt in}  & {\em scalar} & The scalar number.\\
\hline
\end{DoxyParams}
This function divides the matrix {\ttfamily m} by {\ttfamily scalar}. No check is done on {\ttfamily m}.

\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


Referenced by eina\+\_\+matrix3\+\_\+inverse(), and eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga2770022e76d8feb341e7fae5a3f74d08}\label{group__Eina__Matrix3__Group_ga2770022e76d8feb341e7fae5a3f74d08}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+inverse@{eina\+\_\+matrix3\+\_\+inverse}}
\index{eina\+\_\+matrix3\+\_\+inverse@{eina\+\_\+matrix3\+\_\+inverse}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+inverse()}{eina\_matrix3\_inverse()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+inverse (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m,  }\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m2 }\end{DoxyParamCaption})}



Computes the inverse of the given matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em m} & The source matrix. \\
\hline
\mbox{\tt out}  & {\em m2} & The inverse matrix.\\
\hline
\end{DoxyParams}
This function inverts the matrix {\ttfamily m} and stores the result in {\ttfamily m2}. No check is done on {\ttfamily m} or {\ttfamily m2}. If {\ttfamily m} cannot be inverted, then {\ttfamily m2} is set to the identity matrix.

\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+D\+B\+L\+\_\+\+EQ, eina\+\_\+matrix3\+\_\+adjoint(), eina\+\_\+matrix3\+\_\+determinant(), eina\+\_\+matrix3\+\_\+divide(), and eina\+\_\+matrix3\+\_\+identity().



Referenced by eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_gaf3f9ba6958fb70c9b470a33a8f51ca12}\label{group__Eina__Matrix3__Group_gaf3f9ba6958fb70c9b470a33a8f51ca12}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+transpose@{eina\+\_\+matrix3\+\_\+transpose}}
\index{eina\+\_\+matrix3\+\_\+transpose@{eina\+\_\+matrix3\+\_\+transpose}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+transpose()}{eina\_matrix3\_transpose()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+transpose (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m,  }\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{a }\end{DoxyParamCaption})}



Computes the transpose of the given matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em m} & The source matrix. \\
\hline
\mbox{\tt out}  & {\em a} & The transposed matrix.\\
\hline
\end{DoxyParams}
This function transposes the matrix {\ttfamily m} and stores the result in {\ttfamily a}. No check is done on {\ttfamily m} or {\ttfamily a}. The transpose of a matrix essentially flips a matrix over its diagonal.

\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


Referenced by eina\+\_\+matrix3\+\_\+adjoint().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga770f6b256e09428e974bae49afa745cb}\label{group__Eina__Matrix3__Group_ga770f6b256e09428e974bae49afa745cb}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+cofactor@{eina\+\_\+matrix3\+\_\+cofactor}}
\index{eina\+\_\+matrix3\+\_\+cofactor@{eina\+\_\+matrix3\+\_\+cofactor}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+cofactor()}{eina\_matrix3\_cofactor()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+cofactor (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m,  }\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{a }\end{DoxyParamCaption})}



Computes the cofactor of the given matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em m} & The source matrix. \\
\hline
\mbox{\tt out}  & {\em a} & The cofactored matrix.\\
\hline
\end{DoxyParams}
This function cofactors the matrix {\ttfamily m} and stores the result in {\ttfamily a}. No check is done on {\ttfamily m} or {\ttfamily a}. The cofactor of a matrix3 at row i, column j is computed by taking the determinant of the submatrix formed by deleting the i-\/th row and j-\/th column, and then multiplying by (-\/1)$^\wedge$(i+j).

\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


Referenced by eina\+\_\+matrix3\+\_\+adjoint().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga84733b7f05a192a9a7fccf30c1f123cb}\label{group__Eina__Matrix3__Group_ga84733b7f05a192a9a7fccf30c1f123cb}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+adjoint@{eina\+\_\+matrix3\+\_\+adjoint}}
\index{eina\+\_\+matrix3\+\_\+adjoint@{eina\+\_\+matrix3\+\_\+adjoint}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+adjoint()}{eina\_matrix3\_adjoint()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+adjoint (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m,  }\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{a }\end{DoxyParamCaption})}



Computes the adjoint of the given matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em m} & The matrix to be adjointed. \\
\hline
\mbox{\tt out}  & {\em a} & The adjoint matrix.\\
\hline
\end{DoxyParams}
This function finds the adjoint of the matrix {\ttfamily m} and stores the result in {\ttfamily a}. No check is done on {\ttfamily m} or {\ttfamily a}. The adjoint of a matrix3 is effectively the transpose of its cofactor.

\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References eina\+\_\+matrix3\+\_\+cofactor(), and eina\+\_\+matrix3\+\_\+transpose().



Referenced by eina\+\_\+matrix3\+\_\+inverse().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_gad13f3dbbbcb4b25045eb153615883210}\label{group__Eina__Matrix3__Group_gad13f3dbbbcb4b25045eb153615883210}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+point\+\_\+transform@{eina\+\_\+matrix3\+\_\+point\+\_\+transform}}
\index{eina\+\_\+matrix3\+\_\+point\+\_\+transform@{eina\+\_\+matrix3\+\_\+point\+\_\+transform}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+point\+\_\+transform()}{eina\_matrix3\_point\_transform()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+point\+\_\+transform (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m,  }\item[{double}]{x,  }\item[{double}]{y,  }\item[{double $\ast$}]{xr,  }\item[{double $\ast$}]{yr }\end{DoxyParamCaption})}



Computes the transform of a 2D point using the given matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em m} & The transformation matrix to apply. \\
\hline
\mbox{\tt in}  & {\em x} & The x point to be transformed. \\
\hline
\mbox{\tt in}  & {\em y} & The y point to be transformed. \\
\hline
\mbox{\tt out}  & {\em xr} & The transformed x point. \\
\hline
\mbox{\tt out}  & {\em yr} & The transformed y point.\\
\hline
\end{DoxyParams}
Applies the transformation matrix {\ttfamily m} to the point (x,y), and stores the result in ($\ast$xr,$\ast$yr). No check is done on {\ttfamily m}; {\ttfamily xr} and {\ttfamily yr} must point to valid memory. A fast-\/path is included for if the zx and zy components of the matrix are zero.

\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+D\+B\+L\+\_\+\+EQ.



Referenced by eina\+\_\+matrix3\+\_\+rectangle\+\_\+transform().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_gab9898752ea243090d3bac00ad7f553da}\label{group__Eina__Matrix3__Group_gab9898752ea243090d3bac00ad7f553da}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+rectangle\+\_\+transform@{eina\+\_\+matrix3\+\_\+rectangle\+\_\+transform}}
\index{eina\+\_\+matrix3\+\_\+rectangle\+\_\+transform@{eina\+\_\+matrix3\+\_\+rectangle\+\_\+transform}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+rectangle\+\_\+transform()}{eina\_matrix3\_rectangle\_transform()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+rectangle\+\_\+transform (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m,  }\item[{const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{r,  }\item[{const \mbox{\hyperlink{group__Eina__Quad__Group_gad1216c445ce98862b68ba588f9635b0f}{Eina\+\_\+\+Quad}} $\ast$}]{q }\end{DoxyParamCaption})}



Computes the transformation of a rectangle using the given matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em m} & The transformation matrix to apply. \\
\hline
\mbox{\tt in}  & {\em r} & The rectangle to be transformed. \\
\hline
\mbox{\tt out}  & {\em q} & The resultant transformed points.\\
\hline
\end{DoxyParams}
Performs a point transformation of each corner of the rectangle {\ttfamily r}, and stores the result in the quadrangle {\ttfamily q}. No checks are done on the inputs, and {\ttfamily q} must point to valid memory.

\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References eina\+\_\+matrix3\+\_\+point\+\_\+transform(), \+\_\+\+Eina\+\_\+\+Rectangle\+::h, \+\_\+\+Eina\+\_\+\+Rectangle\+::w, \+\_\+\+Eina\+\_\+\+Rectangle\+::x, and \+\_\+\+Eina\+\_\+\+Rectangle\+::y.

\mbox{\Hypertarget{group__Eina__Matrix3__Group_gaef040bc9f03a8d40bc7b54555cbb805a}\label{group__Eina__Matrix3__Group_gaef040bc9f03a8d40bc7b54555cbb805a}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+quad\+\_\+quad\+\_\+map@{eina\+\_\+matrix3\+\_\+quad\+\_\+quad\+\_\+map}}
\index{eina\+\_\+matrix3\+\_\+quad\+\_\+quad\+\_\+map@{eina\+\_\+matrix3\+\_\+quad\+\_\+quad\+\_\+map}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+quad\+\_\+quad\+\_\+map()}{eina\_matrix3\_quad\_quad\_map()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+matrix3\+\_\+quad\+\_\+quad\+\_\+map (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m,  }\item[{const \mbox{\hyperlink{group__Eina__Quad__Group_gad1216c445ce98862b68ba588f9635b0f}{Eina\+\_\+\+Quad}} $\ast$}]{src,  }\item[{const \mbox{\hyperlink{group__Eina__Quad__Group_gad1216c445ce98862b68ba588f9635b0f}{Eina\+\_\+\+Quad}} $\ast$}]{dst }\end{DoxyParamCaption})}



Creates a projective matrix that maps a quadrangle to a quadrangle. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em m} & The transformation matrix to create. \\
\hline
\mbox{\tt in}  & {\em src} & The source quadrangle. \\
\hline
\mbox{\tt in}  & {\em dst} & The destination quadrangle. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} if matrix could be successfully created, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise.
\end{DoxyReturn}
Calculates a matrix {\ttfamily m} that can be used to transform from an arbitrary source quadrangle {\ttfamily src} to another arbitrary quadrangle {\ttfamily dst}. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, eina\+\_\+matrix3\+\_\+compose(), eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map(), eina\+\_\+matrix3\+\_\+square\+\_\+quad\+\_\+map(), and E\+I\+N\+A\+\_\+\+T\+R\+UE.

\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga1b8c491399b918243595bf381cb41345}\label{group__Eina__Matrix3__Group_ga1b8c491399b918243595bf381cb41345}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+square\+\_\+quad\+\_\+map@{eina\+\_\+matrix3\+\_\+square\+\_\+quad\+\_\+map}}
\index{eina\+\_\+matrix3\+\_\+square\+\_\+quad\+\_\+map@{eina\+\_\+matrix3\+\_\+square\+\_\+quad\+\_\+map}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+square\+\_\+quad\+\_\+map()}{eina\_matrix3\_square\_quad\_map()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+matrix3\+\_\+square\+\_\+quad\+\_\+map (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m,  }\item[{const \mbox{\hyperlink{group__Eina__Quad__Group_gad1216c445ce98862b68ba588f9635b0f}{Eina\+\_\+\+Quad}} $\ast$}]{q }\end{DoxyParamCaption})}



Creates a matrix for unit-\/square to quad mapping. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em m} & The transformation matrix to create. \\
\hline
\mbox{\tt in}  & {\em q} & The source quadrangle. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} if matrix could be successfully created, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise.
\end{DoxyReturn}
Calculates a matrix {\ttfamily m} that can be used to transform an arbitrary quadrangle {\ttfamily q} into a square. If {\ttfamily q} is a parallelogram, then a fast path affine transformation is used, otherwise it computes the matrix using a full projective transformation operation. No other checks are done on {\ttfamily m} or {\ttfamily q}.

\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+D\+B\+L\+\_\+\+EQ, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, and E\+I\+N\+A\+\_\+\+T\+R\+UE.



Referenced by eina\+\_\+matrix3\+\_\+quad\+\_\+quad\+\_\+map(), and eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga9d281c49037ef7359c275d546f2848f7}\label{group__Eina__Matrix3__Group_ga9d281c49037ef7359c275d546f2848f7}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map@{eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map}}
\index{eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map@{eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map()}{eina\_matrix3\_quad\_square\_map()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+matrix3\+\_\+quad\+\_\+square\+\_\+map (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m,  }\item[{const \mbox{\hyperlink{group__Eina__Quad__Group_gad1216c445ce98862b68ba588f9635b0f}{Eina\+\_\+\+Quad}} $\ast$}]{q }\end{DoxyParamCaption})}



Creates a matrix for mapping squares to match quad. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em m} & The transformation matrix to create. \\
\hline
\mbox{\tt in}  & {\em q} & The source quadrangle. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} on successful transform creation, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise.
\end{DoxyReturn}
Calculates a matrix {\ttfamily m} that can be used to transform a square to fit a given quadrangle. The created matrix will always have its zz element equal to 1.\+0. The {\ttfamily m} matrix and {\ttfamily q} quad must be valid memory.

\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+D\+B\+L\+\_\+\+EQ, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, eina\+\_\+matrix3\+\_\+divide(), eina\+\_\+matrix3\+\_\+inverse(), eina\+\_\+matrix3\+\_\+square\+\_\+quad\+\_\+map(), and E\+I\+N\+A\+\_\+\+T\+R\+UE.



Referenced by eina\+\_\+matrix3\+\_\+quad\+\_\+quad\+\_\+map().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_gae1560a8703d5a3956d922984e20f9ec8}\label{group__Eina__Matrix3__Group_gae1560a8703d5a3956d922984e20f9ec8}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+array\+\_\+set@{eina\+\_\+matrix3\+\_\+array\+\_\+set}}
\index{eina\+\_\+matrix3\+\_\+array\+\_\+set@{eina\+\_\+matrix3\+\_\+array\+\_\+set}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+array\+\_\+set()}{eina\_matrix3\_array\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+array\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m,  }\item[{const double $\ast$}]{v }\end{DoxyParamCaption})}



Sets matrix values using an array. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em m} & The result matrix. \\
\hline
\mbox{\tt in}  & {\em v} & The array\mbox{[}9\mbox{]} of values.\\
\hline
\end{DoxyParams}
Uses the first 9 elements in the given C array {\ttfamily v} to set the values in the matrix {\ttfamily m}. The values will be set in the order of the elements in the Eina\+\_\+\+Matrix3 structure.

\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Matrix3__Group_gab9c3d9a817ab4b438b17455617556d7b}\label{group__Eina__Matrix3__Group_gab9c3d9a817ab4b438b17455617556d7b}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+copy@{eina\+\_\+matrix3\+\_\+copy}}
\index{eina\+\_\+matrix3\+\_\+copy@{eina\+\_\+matrix3\+\_\+copy}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+copy()}{eina\_matrix3\_copy()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+copy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{dst,  }\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{src }\end{DoxyParamCaption})}



Copies a matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em dst} & Copy of the matrix. \\
\hline
\mbox{\tt in}  & {\em src} & The matrix to copy.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+16 
\end{DoxySince}


Referenced by eina\+\_\+matrix3\+\_\+multiply(), and eina\+\_\+matrix3\+\_\+multiply\+\_\+copy().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga0f2cfcd1d1c13e6f93971a32b19d144d}\label{group__Eina__Matrix3__Group_ga0f2cfcd1d1c13e6f93971a32b19d144d}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+multiply@{eina\+\_\+matrix3\+\_\+multiply}}
\index{eina\+\_\+matrix3\+\_\+multiply@{eina\+\_\+matrix3\+\_\+multiply}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+multiply()}{eina\_matrix3\_multiply()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+multiply (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{mat\+\_\+a,  }\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{mat\+\_\+b }\end{DoxyParamCaption})}



Multiplies two matrices. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em out} & The resulting matrix. \\
\hline
\mbox{\tt in}  & {\em mat\+\_\+a} & The first member of the multiplication. \\
\hline
\mbox{\tt in}  & {\em mat\+\_\+b} & The second member of the multiplication.\\
\hline
\end{DoxyParams}
{\ttfamily out} must not point to the same structure as {\ttfamily mat\+\_\+a} or {\ttfamily mat\+\_\+b}, else the calculation results will be incorrect. Use \mbox{\hyperlink{group__Eina__Matrix3__Group_gaef3683e868fb7bcb151227b0a97acdd6}{eina\+\_\+matrix3\+\_\+multiply\+\_\+copy()}} instead in this case.

\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References eina\+\_\+matrix3\+\_\+compose(), eina\+\_\+matrix3\+\_\+copy(), eina\+\_\+matrix3\+\_\+type\+\_\+get(), and E\+I\+N\+A\+\_\+\+M\+A\+T\+R\+I\+X\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+D\+E\+N\+T\+I\+TY.



Referenced by eina\+\_\+matrix3\+\_\+multiply\+\_\+copy().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_gaef3683e868fb7bcb151227b0a97acdd6}\label{group__Eina__Matrix3__Group_gaef3683e868fb7bcb151227b0a97acdd6}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+multiply\+\_\+copy@{eina\+\_\+matrix3\+\_\+multiply\+\_\+copy}}
\index{eina\+\_\+matrix3\+\_\+multiply\+\_\+copy@{eina\+\_\+matrix3\+\_\+multiply\+\_\+copy}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+multiply\+\_\+copy()}{eina\_matrix3\_multiply\_copy()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+multiply\+\_\+copy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{mat\+\_\+a,  }\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{mat\+\_\+b }\end{DoxyParamCaption})}



Multiplies two matrices without overwriting them. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em out} & The resulting matrix. \\
\hline
\mbox{\tt in}  & {\em mat\+\_\+a} & The first member of the multiplication. \\
\hline
\mbox{\tt in}  & {\em mat\+\_\+b} & The second member of the multiplication.\\
\hline
\end{DoxyParams}
Safely multiplies {\ttfamily mat\+\_\+a} and {\ttfamily mat\+\_\+b} by checking if the {\ttfamily out} parameter points to either of them, and if so uses a temporary matrix for the intermediary calculations.

\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References eina\+\_\+matrix3\+\_\+copy(), and eina\+\_\+matrix3\+\_\+multiply().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga2106857298cf173e97121e8299d1d207}\label{group__Eina__Matrix3__Group_ga2106857298cf173e97121e8299d1d207}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+scale\+\_\+transform\+\_\+set@{eina\+\_\+matrix3\+\_\+scale\+\_\+transform\+\_\+set}}
\index{eina\+\_\+matrix3\+\_\+scale\+\_\+transform\+\_\+set@{eina\+\_\+matrix3\+\_\+scale\+\_\+transform\+\_\+set}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+scale\+\_\+transform\+\_\+set()}{eina\_matrix3\_scale\_transform\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+scale\+\_\+transform\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{out,  }\item[{double}]{s\+\_\+x,  }\item[{double}]{s\+\_\+y }\end{DoxyParamCaption})}



Sets the scale parameters (XX, YY) of a matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em out} & The resulting matrix. \\
\hline
\mbox{\tt in}  & {\em s\+\_\+x} & The scale value for x. \\
\hline
\mbox{\tt in}  & {\em s\+\_\+y} & The scale value for y.\\
\hline
\end{DoxyParams}
Sets only the XX and YY components of the matrix, leaving the rest of the matrix as it was.

\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References eina\+\_\+matrix3\+\_\+identity().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_gaf37e247b78330b8d0fe1660987043f8c}\label{group__Eina__Matrix3__Group_gaf37e247b78330b8d0fe1660987043f8c}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+position\+\_\+transform\+\_\+set@{eina\+\_\+matrix3\+\_\+position\+\_\+transform\+\_\+set}}
\index{eina\+\_\+matrix3\+\_\+position\+\_\+transform\+\_\+set@{eina\+\_\+matrix3\+\_\+position\+\_\+transform\+\_\+set}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+position\+\_\+transform\+\_\+set()}{eina\_matrix3\_position\_transform\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+position\+\_\+transform\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{out,  }\item[{const double}]{p\+\_\+x,  }\item[{const double}]{p\+\_\+y }\end{DoxyParamCaption})}



Sets the positional parameters (XZ, YZ) of a matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em out} & The resulting matrix. \\
\hline
\mbox{\tt in}  & {\em p\+\_\+x} & The position value for x. \\
\hline
\mbox{\tt in}  & {\em p\+\_\+y} & The position value for y.\\
\hline
\end{DoxyParams}
Sets only the XZ and YZ components of the matrix, leaving the rest of the matrix as it was.

\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References eina\+\_\+matrix3\+\_\+identity().

\mbox{\Hypertarget{group__Eina__Matrix3__Group_gadfb7e4874030a72891a4317088dfd4ed}\label{group__Eina__Matrix3__Group_gadfb7e4874030a72891a4317088dfd4ed}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+normal3\+\_\+matrix\+\_\+get@{eina\+\_\+normal3\+\_\+matrix\+\_\+get}}
\index{eina\+\_\+normal3\+\_\+matrix\+\_\+get@{eina\+\_\+normal3\+\_\+matrix\+\_\+get}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+normal3\+\_\+matrix\+\_\+get()}{eina\_normal3\_matrix\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+normal3\+\_\+matrix\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{m }\end{DoxyParamCaption})}



Sets normal of the given matrix. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em out} & The resulting matrix. \\
\hline
\mbox{\tt in}  & {\em m} & The matrix.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Matrix3__Group_ga5b1546fe16b1f8a3e6fff0ae2c093d00}\label{group__Eina__Matrix3__Group_ga5b1546fe16b1f8a3e6fff0ae2c093d00}} 
\index{3x3 floating point matrices@{3x3 floating point matrices}!eina\+\_\+matrix3\+\_\+matrix4\+\_\+to@{eina\+\_\+matrix3\+\_\+matrix4\+\_\+to}}
\index{eina\+\_\+matrix3\+\_\+matrix4\+\_\+to@{eina\+\_\+matrix3\+\_\+matrix4\+\_\+to}!3x3 floating point matrices@{3x3 floating point matrices}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix3\+\_\+matrix4\+\_\+to()}{eina\_matrix3\_matrix4\_to()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix3\+\_\+matrix4\+\_\+to (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{m4,  }\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m3 }\end{DoxyParamCaption})}



Converts an Eina\+\_\+\+Matrix3 into an \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}}. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em m3} & The destination Eina\+\_\+\+Matrix3. \\
\hline
\mbox{\tt in}  & {\em m4} & The source \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}}.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+15 
\end{DoxySince}
