\hypertarget{group__Eina__Matrix4__Group}{}\section{4x4 Matrices in floating point}
\label{group__Eina__Matrix4__Group}\index{4x4 Matrices in floating point@{4x4 Matrices in floating point}}


Matrix definition and operations.  


\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct__Eina__Matrix4}{\+\_\+\+Eina\+\_\+\+Matrix4}}
\item 
struct \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}}
\begin{DoxyCompactList}\small\item\em Floating point matrix4 handler. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Eina__Matrix4__Group_ga00bf57dd54cdcd989690d8f74b01c486}\label{group__Eina__Matrix4__Group_ga00bf57dd54cdcd989690d8f74b01c486}} 
typedef struct \mbox{\hyperlink{struct__Eina__Matrix4}{\+\_\+\+Eina\+\_\+\+Matrix4}} \mbox{\hyperlink{group__Eina__Matrix4__Group_ga00bf57dd54cdcd989690d8f74b01c486}{Eina\+\_\+\+Matrix4}}
\begin{DoxyCompactList}\small\item\em Floating point matrix4 handler. \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__Matrix4__Group_gab90d01761fdd15c16aee906a4fe9b08a}{eina\+\_\+matrix4\+\_\+type\+\_\+get}} (const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\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__Matrix4__Group_gaf29a7fb105fba478e9be7f0e96f9c3fb}{eina\+\_\+matrix4\+\_\+values\+\_\+set}} (\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$m, double xx, double xy, double xz, double xw, double yx, double yy, double yz, double yw, double zx, double zy, double zz, double zw, double wx, double wy, double wz, double ww)
\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__Matrix4__Group_gae72935b35a3f1b7d2c3005f4fbaa5303}{eina\+\_\+matrix4\+\_\+values\+\_\+get}} (const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$m, double $\ast$xx, double $\ast$xy, double $\ast$xz, double $\ast$xw, double $\ast$yx, double $\ast$yy, double $\ast$yz, double $\ast$yw, double $\ast$zx, double $\ast$zy, double $\ast$zz, double $\ast$zw, double $\ast$wx, double $\ast$wy, double $\ast$wz, double $\ast$ww)
\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}} double \mbox{\hyperlink{group__Eina__Matrix4__Group_ga8482180376b7d4254fce4034829d5bd4}{eina\+\_\+matrix4\+\_\+determinant}} (const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$m)
\begin{DoxyCompactList}\small\item\em Returns the determinant of 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__Matrix4__Group_ga7232d8a00b3c99ac50c2ebd7d91ce401}{eina\+\_\+matrix4\+\_\+normalized}} (\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$out, const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$in)
\begin{DoxyCompactList}\small\item\em Returns the determinant of 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__Matrix4__Group_gad14b308cc33c2a4bc891143168d11bb5}{eina\+\_\+matrix4\+\_\+inverse}} (\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$out, const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$in)
\begin{DoxyCompactList}\small\item\em Returns the inverse of the given matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix4__Group_gac502822483eaf4ed97f15922b84f5383}{eina\+\_\+matrix4\+\_\+transpose}} (\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$out, const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$in)
\begin{DoxyCompactList}\small\item\em Returns the transpose of the given matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix4__Group_ga0ca6916f62bb08c601a635e131830d7c}{eina\+\_\+matrix4\+\_\+matrix3\+\_\+to}} (\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m3, const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$m4)
\begin{DoxyCompactList}\small\item\em Converts an \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} into an Eina\+\_\+\+Matrix3. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix4__Group_gaaf47679cf88dc83b8fb3507a0e058773}{eina\+\_\+matrix4\+\_\+identity}} (\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$out)
\begin{DoxyCompactList}\small\item\em Sets an identity matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix4__Group_ga55e37c00680f5ae0c1c879f017d1e490}{eina\+\_\+matrix4\+\_\+multiply\+\_\+copy}} (\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$out, const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$mat\+\_\+a, const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$mat\+\_\+b)
\begin{DoxyCompactList}\small\item\em Multiplies two matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix4__Group_gae114911456365be994aa310f3c34b9e3}{eina\+\_\+matrix4\+\_\+array\+\_\+set}} (\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$m, const double $\ast$v)
\begin{DoxyCompactList}\small\item\em Sets array to matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix4__Group_ga9614af7142d815b7dd2223313bb96cce}{eina\+\_\+matrix4\+\_\+copy}} (\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$dst, const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$src)
\begin{DoxyCompactList}\small\item\em Copies matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix4__Group_ga137c7d19693d31bf64ab395eae45dc07}{eina\+\_\+matrix4\+\_\+multiply}} (\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$out, const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$mat\+\_\+a, const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$mat\+\_\+b)
\begin{DoxyCompactList}\small\item\em Multiplies two matrix with check. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Matrix4__Group_ga9810f76d859f9e17f56e94e06f51ecd5}{eina\+\_\+matrix4\+\_\+ortho\+\_\+set}} (\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$m, double left, double right, double bottom, double top, double dnear, double dfar)
\begin{DoxyCompactList}\small\item\em Sets orthogonality matrix. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Matrix definition and operations. 



\subsection{Function Documentation}
\mbox{\Hypertarget{group__Eina__Matrix4__Group_gab90d01761fdd15c16aee906a4fe9b08a}\label{group__Eina__Matrix4__Group_gab90d01761fdd15c16aee906a4fe9b08a}} 
\index{4x4 Matrices in floating point@{4x4 Matrices in floating point}!eina\+\_\+matrix4\+\_\+type\+\_\+get@{eina\+\_\+matrix4\+\_\+type\+\_\+get}}
\index{eina\+\_\+matrix4\+\_\+type\+\_\+get@{eina\+\_\+matrix4\+\_\+type\+\_\+get}!4x4 Matrices in floating point@{4x4 Matrices in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix4\+\_\+type\+\_\+get()}{eina\_matrix4\_type\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Matrix__Group_ga3aec91bee6618dff67cb662d5136abbd}{Eina\+\_\+\+Matrix\+\_\+\+Type}} eina\+\_\+matrix4\+\_\+type\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{m }\end{DoxyParamCaption})}



Returns the type of the given floating point matrix. 


\begin{DoxyParams}{Parameters}
{\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.\+15 
\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, 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\+\_\+matrix4\+\_\+multiply().

\mbox{\Hypertarget{group__Eina__Matrix4__Group_gaf29a7fb105fba478e9be7f0e96f9c3fb}\label{group__Eina__Matrix4__Group_gaf29a7fb105fba478e9be7f0e96f9c3fb}} 
\index{4x4 Matrices in floating point@{4x4 Matrices in floating point}!eina\+\_\+matrix4\+\_\+values\+\_\+set@{eina\+\_\+matrix4\+\_\+values\+\_\+set}}
\index{eina\+\_\+matrix4\+\_\+values\+\_\+set@{eina\+\_\+matrix4\+\_\+values\+\_\+set}!4x4 Matrices in floating point@{4x4 Matrices in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix4\+\_\+values\+\_\+set()}{eina\_matrix4\_values\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix4\+\_\+values\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{m,  }\item[{double}]{xx,  }\item[{double}]{xy,  }\item[{double}]{xz,  }\item[{double}]{xw,  }\item[{double}]{yx,  }\item[{double}]{yy,  }\item[{double}]{yz,  }\item[{double}]{yw,  }\item[{double}]{zx,  }\item[{double}]{zy,  }\item[{double}]{zz,  }\item[{double}]{zw,  }\item[{double}]{wx,  }\item[{double}]{wy,  }\item[{double}]{wz,  }\item[{double}]{ww }\end{DoxyParamCaption})}



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


\begin{DoxyParams}{Parameters}
{\em m} & The floating point matrix. \\
\hline
{\em xx} & The first coefficient value. \\
\hline
{\em xy} & The second coefficient value. \\
\hline
{\em xz} & The third coefficient value. \\
\hline
{\em xw} & The fourth coefficient value. \\
\hline
{\em yx} & The fifth coefficient value. \\
\hline
{\em yy} & The sixth coefficient value. \\
\hline
{\em yz} & The seventh coefficient value. \\
\hline
{\em yw} & The heighth coefficient value. \\
\hline
{\em zx} & The nineth coefficient value. \\
\hline
{\em zy} & The tenth coefficient value. \\
\hline
{\em zz} & The eleventh coefficient value. \\
\hline
{\em zw} & The twelfth coefficient value. \\
\hline
{\em wx} & The thirteenth coefficient value. \\
\hline
{\em wy} & The fourteenth coefficient value. \\
\hline
{\em wz} & The fifteenth coefficient value. \\
\hline
{\em ww} & The sizteenth 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__Matrix4__Group_gae72935b35a3f1b7d2c3005f4fbaa5303}{eina\+\_\+matrix4\+\_\+values\+\_\+get()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+15 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Matrix4__Group_gae72935b35a3f1b7d2c3005f4fbaa5303}\label{group__Eina__Matrix4__Group_gae72935b35a3f1b7d2c3005f4fbaa5303}} 
\index{4x4 Matrices in floating point@{4x4 Matrices in floating point}!eina\+\_\+matrix4\+\_\+values\+\_\+get@{eina\+\_\+matrix4\+\_\+values\+\_\+get}}
\index{eina\+\_\+matrix4\+\_\+values\+\_\+get@{eina\+\_\+matrix4\+\_\+values\+\_\+get}!4x4 Matrices in floating point@{4x4 Matrices in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix4\+\_\+values\+\_\+get()}{eina\_matrix4\_values\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix4\+\_\+values\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{m,  }\item[{double $\ast$}]{xx,  }\item[{double $\ast$}]{xy,  }\item[{double $\ast$}]{xz,  }\item[{double $\ast$}]{xw,  }\item[{double $\ast$}]{yx,  }\item[{double $\ast$}]{yy,  }\item[{double $\ast$}]{yz,  }\item[{double $\ast$}]{yw,  }\item[{double $\ast$}]{zx,  }\item[{double $\ast$}]{zy,  }\item[{double $\ast$}]{zz,  }\item[{double $\ast$}]{zw,  }\item[{double $\ast$}]{wx,  }\item[{double $\ast$}]{wy,  }\item[{double $\ast$}]{wz,  }\item[{double $\ast$}]{ww }\end{DoxyParamCaption})}



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


\begin{DoxyParams}{Parameters}
{\em m} & The floating point matrix. \\
\hline
{\em xx} & The first coefficient value. \\
\hline
{\em xy} & The second coefficient value. \\
\hline
{\em xz} & The third coefficient value. \\
\hline
{\em xw} & The fourth coefficient value. \\
\hline
{\em yx} & The fifth coefficient value. \\
\hline
{\em yy} & The sixth coefficient value. \\
\hline
{\em yz} & The seventh coefficient value. \\
\hline
{\em yw} & The heighth coefficient value. \\
\hline
{\em zx} & The nineth coefficient value. \\
\hline
{\em zy} & The tenth coefficient value. \\
\hline
{\em zz} & The eleventh coefficient value. \\
\hline
{\em zw} & The twelfth coefficient value. \\
\hline
{\em wx} & The thirteenth coefficient value. \\
\hline
{\em wy} & The fourteenth coefficient value. \\
\hline
{\em wz} & The fifteenth coefficient value. \\
\hline
{\em ww} & The sizteenth 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__Matrix4__Group_gaf29a7fb105fba478e9be7f0e96f9c3fb}{eina\+\_\+matrix4\+\_\+values\+\_\+set()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+15 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Matrix4__Group_ga8482180376b7d4254fce4034829d5bd4}\label{group__Eina__Matrix4__Group_ga8482180376b7d4254fce4034829d5bd4}} 
\index{4x4 Matrices in floating point@{4x4 Matrices in floating point}!eina\+\_\+matrix4\+\_\+determinant@{eina\+\_\+matrix4\+\_\+determinant}}
\index{eina\+\_\+matrix4\+\_\+determinant@{eina\+\_\+matrix4\+\_\+determinant}!4x4 Matrices in floating point@{4x4 Matrices in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix4\+\_\+determinant()}{eina\_matrix4\_determinant()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} double eina\+\_\+matrix4\+\_\+determinant (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{m }\end{DoxyParamCaption})}



Returns the determinant of the given matrix. 


\begin{DoxyParams}{Parameters}
{\em m} & 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.\+16 
\end{DoxySince}


Referenced by eina\+\_\+matrix4\+\_\+normalized().

\mbox{\Hypertarget{group__Eina__Matrix4__Group_ga7232d8a00b3c99ac50c2ebd7d91ce401}\label{group__Eina__Matrix4__Group_ga7232d8a00b3c99ac50c2ebd7d91ce401}} 
\index{4x4 Matrices in floating point@{4x4 Matrices in floating point}!eina\+\_\+matrix4\+\_\+normalized@{eina\+\_\+matrix4\+\_\+normalized}}
\index{eina\+\_\+matrix4\+\_\+normalized@{eina\+\_\+matrix4\+\_\+normalized}!4x4 Matrices in floating point@{4x4 Matrices in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix4\+\_\+normalized()}{eina\_matrix4\_normalized()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+matrix4\+\_\+normalized (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{in }\end{DoxyParamCaption})}



Returns the determinant of the given matrix. 


\begin{DoxyParams}{Parameters}
{\em m} & 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.\+16 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, eina\+\_\+matrix4\+\_\+determinant(), and E\+I\+N\+A\+\_\+\+T\+R\+UE.

\mbox{\Hypertarget{group__Eina__Matrix4__Group_gad14b308cc33c2a4bc891143168d11bb5}\label{group__Eina__Matrix4__Group_gad14b308cc33c2a4bc891143168d11bb5}} 
\index{4x4 Matrices in floating point@{4x4 Matrices in floating point}!eina\+\_\+matrix4\+\_\+inverse@{eina\+\_\+matrix4\+\_\+inverse}}
\index{eina\+\_\+matrix4\+\_\+inverse@{eina\+\_\+matrix4\+\_\+inverse}!4x4 Matrices in floating point@{4x4 Matrices in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix4\+\_\+inverse()}{eina\_matrix4\_inverse()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+matrix4\+\_\+inverse (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{in }\end{DoxyParamCaption})}



Returns the inverse of the given matrix. 


\begin{DoxyParams}{Parameters}
{\em out} & The inverse matrix \\
\hline
{\em in} & The matrix. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+16 
\end{DoxySince}


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

\mbox{\Hypertarget{group__Eina__Matrix4__Group_gac502822483eaf4ed97f15922b84f5383}\label{group__Eina__Matrix4__Group_gac502822483eaf4ed97f15922b84f5383}} 
\index{4x4 Matrices in floating point@{4x4 Matrices in floating point}!eina\+\_\+matrix4\+\_\+transpose@{eina\+\_\+matrix4\+\_\+transpose}}
\index{eina\+\_\+matrix4\+\_\+transpose@{eina\+\_\+matrix4\+\_\+transpose}!4x4 Matrices in floating point@{4x4 Matrices in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix4\+\_\+transpose()}{eina\_matrix4\_transpose()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix4\+\_\+transpose (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{in }\end{DoxyParamCaption})}



Returns the transpose of the given matrix. 


\begin{DoxyParams}{Parameters}
{\em out} & The transpose matrix \\
\hline
{\em in} & The matrix.\\
\hline
\end{DoxyParams}
Just going to swap row and column.

\begin{DoxySince}{Since}
1.\+16 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Matrix4__Group_ga0ca6916f62bb08c601a635e131830d7c}\label{group__Eina__Matrix4__Group_ga0ca6916f62bb08c601a635e131830d7c}} 
\index{4x4 Matrices in floating point@{4x4 Matrices in floating point}!eina\+\_\+matrix4\+\_\+matrix3\+\_\+to@{eina\+\_\+matrix4\+\_\+matrix3\+\_\+to}}
\index{eina\+\_\+matrix4\+\_\+matrix3\+\_\+to@{eina\+\_\+matrix4\+\_\+matrix3\+\_\+to}!4x4 Matrices in floating point@{4x4 Matrices in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix4\+\_\+matrix3\+\_\+to()}{eina\_matrix4\_matrix3\_to()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix4\+\_\+matrix3\+\_\+to (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m3,  }\item[{const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{m4 }\end{DoxyParamCaption})}



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


\begin{DoxyParams}{Parameters}
{\em m3} & The destination Eina\+\_\+\+Matrix3. \\
\hline
{\em m4} & The source \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}}.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+15 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Matrix4__Group_gaaf47679cf88dc83b8fb3507a0e058773}\label{group__Eina__Matrix4__Group_gaaf47679cf88dc83b8fb3507a0e058773}} 
\index{4x4 Matrices in floating point@{4x4 Matrices in floating point}!eina\+\_\+matrix4\+\_\+identity@{eina\+\_\+matrix4\+\_\+identity}}
\index{eina\+\_\+matrix4\+\_\+identity@{eina\+\_\+matrix4\+\_\+identity}!4x4 Matrices in floating point@{4x4 Matrices in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix4\+\_\+identity()}{eina\_matrix4\_identity()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix4\+\_\+identity (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{out }\end{DoxyParamCaption})}



Sets an identity matrix. 


\begin{DoxyParams}{Parameters}
{\em out} & The matrix to set\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+16 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Matrix4__Group_ga55e37c00680f5ae0c1c879f017d1e490}\label{group__Eina__Matrix4__Group_ga55e37c00680f5ae0c1c879f017d1e490}} 
\index{4x4 Matrices in floating point@{4x4 Matrices in floating point}!eina\+\_\+matrix4\+\_\+multiply\+\_\+copy@{eina\+\_\+matrix4\+\_\+multiply\+\_\+copy}}
\index{eina\+\_\+matrix4\+\_\+multiply\+\_\+copy@{eina\+\_\+matrix4\+\_\+multiply\+\_\+copy}!4x4 Matrices in floating point@{4x4 Matrices in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix4\+\_\+multiply\+\_\+copy()}{eina\_matrix4\_multiply\_copy()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix4\+\_\+multiply\+\_\+copy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{mat\+\_\+a,  }\item[{const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{mat\+\_\+b }\end{DoxyParamCaption})}



Multiplies two matrix. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting matrix \\
\hline
{\em a} & The first member of the multiplication \\
\hline
{\em b} & The second member of the multiplication\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


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

\mbox{\Hypertarget{group__Eina__Matrix4__Group_gae114911456365be994aa310f3c34b9e3}\label{group__Eina__Matrix4__Group_gae114911456365be994aa310f3c34b9e3}} 
\index{4x4 Matrices in floating point@{4x4 Matrices in floating point}!eina\+\_\+matrix4\+\_\+array\+\_\+set@{eina\+\_\+matrix4\+\_\+array\+\_\+set}}
\index{eina\+\_\+matrix4\+\_\+array\+\_\+set@{eina\+\_\+matrix4\+\_\+array\+\_\+set}!4x4 Matrices in floating point@{4x4 Matrices in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix4\+\_\+array\+\_\+set()}{eina\_matrix4\_array\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix4\+\_\+array\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{m,  }\item[{const double $\ast$}]{v }\end{DoxyParamCaption})}



Sets array to matrix. 


\begin{DoxyParams}{Parameters}
{\em m} & The result matrix \\
\hline
{\em v} & The the array\mbox{[}16\mbox{]} for set\\
\hline
\end{DoxyParams}
Set to matrix first 16 elements from array

\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Matrix4__Group_ga9614af7142d815b7dd2223313bb96cce}\label{group__Eina__Matrix4__Group_ga9614af7142d815b7dd2223313bb96cce}} 
\index{4x4 Matrices in floating point@{4x4 Matrices in floating point}!eina\+\_\+matrix4\+\_\+copy@{eina\+\_\+matrix4\+\_\+copy}}
\index{eina\+\_\+matrix4\+\_\+copy@{eina\+\_\+matrix4\+\_\+copy}!4x4 Matrices in floating point@{4x4 Matrices in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix4\+\_\+copy()}{eina\_matrix4\_copy()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix4\+\_\+copy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{dst,  }\item[{const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{src }\end{DoxyParamCaption})}



Copies matrix. 


\begin{DoxyParams}{Parameters}
{\em dst} & The matrix copy \\
\hline
{\em src} & The matrix for copy.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


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

\mbox{\Hypertarget{group__Eina__Matrix4__Group_ga137c7d19693d31bf64ab395eae45dc07}\label{group__Eina__Matrix4__Group_ga137c7d19693d31bf64ab395eae45dc07}} 
\index{4x4 Matrices in floating point@{4x4 Matrices in floating point}!eina\+\_\+matrix4\+\_\+multiply@{eina\+\_\+matrix4\+\_\+multiply}}
\index{eina\+\_\+matrix4\+\_\+multiply@{eina\+\_\+matrix4\+\_\+multiply}!4x4 Matrices in floating point@{4x4 Matrices in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix4\+\_\+multiply()}{eina\_matrix4\_multiply()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix4\+\_\+multiply (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{mat\+\_\+a,  }\item[{const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{mat\+\_\+b }\end{DoxyParamCaption})}



Multiplies two matrix with check. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting matrix \\
\hline
{\em a} & The first member of the multiplication \\
\hline
{\em b} & The second member of the multiplication\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References eina\+\_\+matrix4\+\_\+copy(), eina\+\_\+matrix4\+\_\+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\+\_\+matrix4\+\_\+multiply\+\_\+copy().

\mbox{\Hypertarget{group__Eina__Matrix4__Group_ga9810f76d859f9e17f56e94e06f51ecd5}\label{group__Eina__Matrix4__Group_ga9810f76d859f9e17f56e94e06f51ecd5}} 
\index{4x4 Matrices in floating point@{4x4 Matrices in floating point}!eina\+\_\+matrix4\+\_\+ortho\+\_\+set@{eina\+\_\+matrix4\+\_\+ortho\+\_\+set}}
\index{eina\+\_\+matrix4\+\_\+ortho\+\_\+set@{eina\+\_\+matrix4\+\_\+ortho\+\_\+set}!4x4 Matrices in floating point@{4x4 Matrices in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+matrix4\+\_\+ortho\+\_\+set()}{eina\_matrix4\_ortho\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+matrix4\+\_\+ortho\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{m,  }\item[{double}]{left,  }\item[{double}]{right,  }\item[{double}]{bottom,  }\item[{double}]{top,  }\item[{double}]{dnear,  }\item[{double}]{dfar }\end{DoxyParamCaption})}



Sets orthogonality matrix. 


\begin{DoxyParams}{Parameters}
{\em m} & The resulting matrix \\
\hline
{\em right} & The right value \\
\hline
{\em left} & The left value \\
\hline
{\em bottom} & The bottom value \\
\hline
{\em top} & The top value \\
\hline
{\em dneat} & The dnear value \\
\hline
{\em dfar} & The dfar value\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
