\hypertarget{group__Eina__Quaternion__Group}{}\doxysection{Quaternion}
\label{group__Eina__Quaternion__Group}\index{Quaternion@{Quaternion}}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct__Eina__Quaternion}{\+\_\+\+Eina\+\_\+\+Quaternion}}
\item 
struct \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{\+\_\+\+Eina\+\_\+\+Quaternion\+\_\+\+F16p16}}
\item 
struct \mbox{\hyperlink{struct__Eina__Point__3D}{\+\_\+\+Eina\+\_\+\+Point\+\_\+3D}}
\item 
struct \mbox{\hyperlink{struct__Eina__Point__3D__F16p16}{\+\_\+\+Eina\+\_\+\+Point\+\_\+3\+D\+\_\+\+F16p16}}
\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Eina__Quaternion__Group_gaf3e86d959225541c6d1901bcf4184c94}\label{group__Eina__Quaternion__Group_gaf3e86d959225541c6d1901bcf4184c94}} 
typedef struct \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{\+\_\+\+Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} {\bfseries Eina\+\_\+\+Quaternion\+\_\+\+F16p16}
\item 
\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga25f07194e225abdd0b684dfc56b849ef}\label{group__Eina__Quaternion__Group_ga25f07194e225abdd0b684dfc56b849ef}} 
typedef struct \mbox{\hyperlink{struct__Eina__Quaternion}{\+\_\+\+Eina\+\_\+\+Quaternion}} {\bfseries Eina\+\_\+\+Quaternion}
\item 
\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga4ad231369cc4585baedf6e538333577b}\label{group__Eina__Quaternion__Group_ga4ad231369cc4585baedf6e538333577b}} 
typedef struct \mbox{\hyperlink{struct__Eina__Point__3D}{\+\_\+\+Eina\+\_\+\+Point\+\_\+3D}} {\bfseries Eina\+\_\+\+Point\+\_\+3D}
\item 
\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga0e97c375ae6ec4f5c0a55933df17ee05}\label{group__Eina__Quaternion__Group_ga0e97c375ae6ec4f5c0a55933df17ee05}} 
typedef struct \mbox{\hyperlink{struct__Eina__Point__3D__F16p16}{\+\_\+\+Eina\+\_\+\+Point\+\_\+3\+D\+\_\+\+F16p16}} {\bfseries Eina\+\_\+\+Point\+\_\+3\+D\+\_\+\+F16p16}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga2d237f662d14603a03459203ae8210fc}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+set}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$out, \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} x, \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} y, \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} z, \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} w)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} \mbox{\hyperlink{group__Eina__Quaternion__Group_ga3fe70adea9af4d11539bc3d191961f0e}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+norm}} (const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$q)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga9b35e1bdfdd6baf0648473a3a2a8d507}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+negative}} (\mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$in)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga9b1e267236a67dadf547b1ee1a01553d}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+add}} (\mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$b)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga8366311ffbb431466154b8a22db87e2e}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+mul}} (\mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$b)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_gaeff0f8f6fe9c6a38b1882626d7ca06d0}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+scale}} (\mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$a, \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} b)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_gacdd70201d7a595ee20cea1eb75fedb9a}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+conjugate}} (\mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$in)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} \mbox{\hyperlink{group__Eina__Quaternion__Group_gab6b35d38218be7f6c15c599ce33a264d}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+dot}} (const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$b)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_gafb17d199afa871d4b80451451b89a738}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+lerp}} (\mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$b, \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} pos)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_gadcb7e7a76af9cc92854097a6ef3bcad1}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+slerp}} (\mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$b, \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} pos)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga9c52fe47bee8a14b982bbe1d764a70f5}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+nlerp}} (\mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$b, \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} pos)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga09fac2318bffa06014f00a93ddaeb0ea}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+rotate}} (\mbox{\hyperlink{struct__Eina__Point__3D__F16p16}{Eina\+\_\+\+Point\+\_\+3\+D\+\_\+\+F16p16}} $\ast$p, const \mbox{\hyperlink{struct__Eina__Point__3D__F16p16}{Eina\+\_\+\+Point\+\_\+3\+D\+\_\+\+F16p16}} $\ast$center, const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$q)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga391f59cdcaf93787bf40ca77e1e41c7f}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+rotation\+\_\+matrix3\+\_\+get}} (\mbox{\hyperlink{structEina__Matrix3__F16p16}{Eina\+\_\+\+Matrix3\+\_\+\+F16p16}} $\ast$m, const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$q)
\item 
\mbox{\Hypertarget{group__Eina__Quaternion__Group_gaa6981569e2593ab6c9cb106d3940c3da}\label{group__Eina__Quaternion__Group_gaa6981569e2593ab6c9cb106d3940c3da}} 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void {\bfseries eina\+\_\+quaternion\+\_\+set} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$q, double x, double y, double z, double w)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} double \mbox{\hyperlink{group__Eina__Quaternion__Group_gaac87669aab3e92eee583298f609b3967}{eina\+\_\+quaternion\+\_\+norm}} (const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$q)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_gaa66e592f82e2fddb55e0cf086444d1b8}{eina\+\_\+quaternion\+\_\+negative}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$in)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_gab850adafbf72af14b371f560070422a7}{eina\+\_\+quaternion\+\_\+add}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$b)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga33dc7332189666bf7ed58562051b4622}{eina\+\_\+quaternion\+\_\+mul}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$b)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga06531e44931413b0b8f913aabdf49dcd}{eina\+\_\+quaternion\+\_\+scale}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$a, double b)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga971cfb5a1fcbf99235bc27a4d4f456e8}{eina\+\_\+quaternion\+\_\+conjugate}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$in)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} double \mbox{\hyperlink{group__Eina__Quaternion__Group_ga7dfa117185d38af7b73cd568268ba613}{eina\+\_\+quaternion\+\_\+dot}} (const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$b)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga2f47c6d8370ad7dd8bdad6d3244c8077}{eina\+\_\+quaternion\+\_\+normalized}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$in)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_gaf1258ed41d7e73438c5d07e0e149483a}{eina\+\_\+quaternion\+\_\+lerp}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$b, double pos)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga524c883b4a85e59dbdf436976e549bb1}{eina\+\_\+quaternion\+\_\+slerp}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$b, double pos)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga2e6bf084c7c50bff924483e6bd4a8110}{eina\+\_\+quaternion\+\_\+nlerp}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$b, double pos)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga8a440e0fbbe57bbf75e363291db9602f}{eina\+\_\+quaternion\+\_\+rotate}} (\mbox{\hyperlink{struct__Eina__Point__3D}{Eina\+\_\+\+Point\+\_\+3D}} $\ast$p, const \mbox{\hyperlink{struct__Eina__Point__3D}{Eina\+\_\+\+Point\+\_\+3D}} $\ast$center, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$q)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga4aa7173221300d5f4b7b76687d4b0a5f}{eina\+\_\+quaternion\+\_\+rotation\+\_\+matrix3\+\_\+get}} (\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$q)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_gad12be1d9ebfb6b1925986a5d1357545f}{eina\+\_\+matrix3\+\_\+quaternion\+\_\+get}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$q, const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Quaternion__Group_gaf0d8405b84382faefe7771a8b590bc2c}{eina\+\_\+matrix4\+\_\+quaternion\+\_\+to}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$rotation, \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$perspective, \mbox{\hyperlink{struct__Eina__Point__3D}{Eina\+\_\+\+Point\+\_\+3D}} $\ast$translation, \mbox{\hyperlink{struct__Eina__Point__3D}{Eina\+\_\+\+Point\+\_\+3D}} $\ast$scale, \mbox{\hyperlink{struct__Eina__Point__3D}{Eina\+\_\+\+Point\+\_\+3D}} $\ast$skew, const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$m)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga6fbc748841a73b772fb3ef2835c0e88a}{eina\+\_\+quaternion\+\_\+matrix4\+\_\+to}} (\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$m, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$rotation, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$perspective, const \mbox{\hyperlink{struct__Eina__Point__3D}{Eina\+\_\+\+Point\+\_\+3D}} $\ast$translation, const \mbox{\hyperlink{struct__Eina__Point__3D}{Eina\+\_\+\+Point\+\_\+3D}} $\ast$scale, const \mbox{\hyperlink{struct__Eina__Point__3D}{Eina\+\_\+\+Point\+\_\+3D}} $\ast$skew)
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga72810b6bdc79bf8a54f3618f75c92612}{eina\+\_\+quaternion\+\_\+inverse}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$q)
\begin{DoxyCompactList}\small\item\em Compute the inverse of the given quaternion. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga80f9f04251f0b936981e0c181e778def}{eina\+\_\+quaternion\+\_\+array\+\_\+set}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$dst, const double $\ast$v)
\begin{DoxyCompactList}\small\item\em Set array to quaternion. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga1d87bd2aed5530c30956e2be0a77bcee}{eina\+\_\+quaternion\+\_\+copy}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$dst, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$src)
\begin{DoxyCompactList}\small\item\em Copy quaternion. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_gae7793161dce0104682fd11240b91c1d2}{eina\+\_\+quaternion\+\_\+homogeneous\+\_\+regulate}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$v)
\begin{DoxyCompactList}\small\item\em Homogeneous quaternion. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga81f77ac9ecdae84385c9b009eb5c17d9}{eina\+\_\+quaternion\+\_\+subtract}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$b)
\begin{DoxyCompactList}\small\item\em Subtract two quaternions. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} double \mbox{\hyperlink{group__Eina__Quaternion__Group_gae5fb64f42615930dd8943bcfc6da86d0}{eina\+\_\+quaternion\+\_\+length\+\_\+get}} (const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$v)
\begin{DoxyCompactList}\small\item\em Return the length of the given quaternion. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} double \mbox{\hyperlink{group__Eina__Quaternion__Group_ga60ebd4f5b8b8766e0e330b334220f060}{eina\+\_\+quaternion\+\_\+length\+\_\+square\+\_\+get}} (const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$v)
\begin{DoxyCompactList}\small\item\em Return the length in square of the given quaternion. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} double \mbox{\hyperlink{group__Eina__Quaternion__Group_gafdf0b95cb9a95b9d369e46dc08e283da}{eina\+\_\+quaternion\+\_\+distance\+\_\+get}} (const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$b)
\begin{DoxyCompactList}\small\item\em Return the distance between of two quaternions. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} double \mbox{\hyperlink{group__Eina__Quaternion__Group_gab64107e4e8c5c807aabaab3ddeaeb503}{eina\+\_\+quaternion\+\_\+distance\+\_\+square\+\_\+get}} (const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$b)
\begin{DoxyCompactList}\small\item\em Return the distance in square between of two quaternions. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Quaternion__Group_gab0c84a72c45a623c5e8a1cecf6322377}{eina\+\_\+quaternion\+\_\+transform}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$v, const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$m)
\begin{DoxyCompactList}\small\item\em Transform quaternion. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} double \mbox{\hyperlink{group__Eina__Quaternion__Group_ga9104750118eaff6bf807e479ac775c3a}{eina\+\_\+quaternion\+\_\+angle\+\_\+plains}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$a, \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$b)
\begin{DoxyCompactList}\small\item\em Return the angle plains between of two quaternions. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga2d237f662d14603a03459203ae8210fc}\label{group__Eina__Quaternion__Group_ga2d237f662d14603a03459203ae8210fc}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_f16p16\_set@{eina\_quaternion\_f16p16\_set}}
\index{eina\_quaternion\_f16p16\_set@{eina\_quaternion\_f16p16\_set}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_f16p16\_set()}{eina\_quaternion\_f16p16\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+f16p16\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{out,  }\item[{\mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}}}]{x,  }\item[{\mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}}}]{y,  }\item[{\mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}}}]{z,  }\item[{\mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}}}]{w }\end{DoxyParamCaption})}

\begin{DoxySince}{Since}
1.\+15 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga3fe70adea9af4d11539bc3d191961f0e}\label{group__Eina__Quaternion__Group_ga3fe70adea9af4d11539bc3d191961f0e}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_f16p16\_norm@{eina\_quaternion\_f16p16\_norm}}
\index{eina\_quaternion\_f16p16\_norm@{eina\_quaternion\_f16p16\_norm}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_f16p16\_norm()}{eina\_quaternion\_f16p16\_norm()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} eina\+\_\+quaternion\+\_\+f16p16\+\_\+norm (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{q }\end{DoxyParamCaption})}

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


References \mbox{\hyperlink{group__Eina__Fp__Group_gaeb9f484e18531b8a03c0cd19c0be058a}{eina\+\_\+f16p16\+\_\+add()}}, \mbox{\hyperlink{group__Eina__Fp__Group_ga0c9947221c07f0578711c2832072af29}{eina\+\_\+f16p16\+\_\+mul()}}, and \mbox{\hyperlink{group__Eina__Fp__Group_gae61d643e8d01c19cd3f39adcbcaad098}{eina\+\_\+f16p16\+\_\+sqrt()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga9b35e1bdfdd6baf0648473a3a2a8d507}\label{group__Eina__Quaternion__Group_ga9b35e1bdfdd6baf0648473a3a2a8d507}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_f16p16\_negative@{eina\_quaternion\_f16p16\_negative}}
\index{eina\_quaternion\_f16p16\_negative@{eina\_quaternion\_f16p16\_negative}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_f16p16\_negative()}{eina\_quaternion\_f16p16\_negative()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+f16p16\+\_\+negative (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{in }\end{DoxyParamCaption})}

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


References \mbox{\hyperlink{group__Eina__Fp__Group_gab94007c7b8abd616603d81d76868a4b9}{eina\+\_\+f16p16\+\_\+sub()}}.



Referenced by \mbox{\hyperlink{group__Eina__Quaternion__Group_ga9c52fe47bee8a14b982bbe1d764a70f5}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+nlerp()}}, and \mbox{\hyperlink{group__Eina__Quaternion__Group_gadcb7e7a76af9cc92854097a6ef3bcad1}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+slerp()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga9b1e267236a67dadf547b1ee1a01553d}\label{group__Eina__Quaternion__Group_ga9b1e267236a67dadf547b1ee1a01553d}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_f16p16\_add@{eina\_quaternion\_f16p16\_add}}
\index{eina\_quaternion\_f16p16\_add@{eina\_quaternion\_f16p16\_add}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_f16p16\_add()}{eina\_quaternion\_f16p16\_add()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+f16p16\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{b }\end{DoxyParamCaption})}

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


References \mbox{\hyperlink{group__Eina__Fp__Group_gaeb9f484e18531b8a03c0cd19c0be058a}{eina\+\_\+f16p16\+\_\+add()}}.



Referenced by \mbox{\hyperlink{group__Eina__Quaternion__Group_ga9c52fe47bee8a14b982bbe1d764a70f5}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+nlerp()}}, and \mbox{\hyperlink{group__Eina__Quaternion__Group_gadcb7e7a76af9cc92854097a6ef3bcad1}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+slerp()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga8366311ffbb431466154b8a22db87e2e}\label{group__Eina__Quaternion__Group_ga8366311ffbb431466154b8a22db87e2e}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_f16p16\_mul@{eina\_quaternion\_f16p16\_mul}}
\index{eina\_quaternion\_f16p16\_mul@{eina\_quaternion\_f16p16\_mul}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_f16p16\_mul()}{eina\_quaternion\_f16p16\_mul()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+f16p16\+\_\+mul (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{b }\end{DoxyParamCaption})}

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


References \mbox{\hyperlink{group__Eina__Fp__Group_gaeb9f484e18531b8a03c0cd19c0be058a}{eina\+\_\+f16p16\+\_\+add()}}, \mbox{\hyperlink{group__Eina__Fp__Group_ga0c9947221c07f0578711c2832072af29}{eina\+\_\+f16p16\+\_\+mul()}}, and \mbox{\hyperlink{group__Eina__Fp__Group_gab94007c7b8abd616603d81d76868a4b9}{eina\+\_\+f16p16\+\_\+sub()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_gaeff0f8f6fe9c6a38b1882626d7ca06d0}\label{group__Eina__Quaternion__Group_gaeff0f8f6fe9c6a38b1882626d7ca06d0}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_f16p16\_scale@{eina\_quaternion\_f16p16\_scale}}
\index{eina\_quaternion\_f16p16\_scale@{eina\_quaternion\_f16p16\_scale}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_f16p16\_scale()}{eina\_quaternion\_f16p16\_scale()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+f16p16\+\_\+scale (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{a,  }\item[{\mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}}}]{b }\end{DoxyParamCaption})}

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


References \mbox{\hyperlink{group__Eina__Fp__Group_gadc09c2c66e30bcf07a35c231006bff18}{eina\+\_\+f16p16\+\_\+scale()}}.



Referenced by \mbox{\hyperlink{group__Eina__Quaternion__Group_ga9c52fe47bee8a14b982bbe1d764a70f5}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+nlerp()}}, and \mbox{\hyperlink{group__Eina__Quaternion__Group_gadcb7e7a76af9cc92854097a6ef3bcad1}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+slerp()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_gacdd70201d7a595ee20cea1eb75fedb9a}\label{group__Eina__Quaternion__Group_gacdd70201d7a595ee20cea1eb75fedb9a}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_f16p16\_conjugate@{eina\_quaternion\_f16p16\_conjugate}}
\index{eina\_quaternion\_f16p16\_conjugate@{eina\_quaternion\_f16p16\_conjugate}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_f16p16\_conjugate()}{eina\_quaternion\_f16p16\_conjugate()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+f16p16\+\_\+conjugate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{in }\end{DoxyParamCaption})}

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


References \mbox{\hyperlink{group__Eina__Fp__Group_gab94007c7b8abd616603d81d76868a4b9}{eina\+\_\+f16p16\+\_\+sub()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_gab6b35d38218be7f6c15c599ce33a264d}\label{group__Eina__Quaternion__Group_gab6b35d38218be7f6c15c599ce33a264d}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_f16p16\_dot@{eina\_quaternion\_f16p16\_dot}}
\index{eina\_quaternion\_f16p16\_dot@{eina\_quaternion\_f16p16\_dot}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_f16p16\_dot()}{eina\_quaternion\_f16p16\_dot()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} eina\+\_\+quaternion\+\_\+f16p16\+\_\+dot (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{b }\end{DoxyParamCaption})}

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


References \mbox{\hyperlink{group__Eina__Fp__Group_gaeb9f484e18531b8a03c0cd19c0be058a}{eina\+\_\+f16p16\+\_\+add()}}, and \mbox{\hyperlink{group__Eina__Fp__Group_ga0c9947221c07f0578711c2832072af29}{eina\+\_\+f16p16\+\_\+mul()}}.



Referenced by \mbox{\hyperlink{group__Eina__Quaternion__Group_ga9c52fe47bee8a14b982bbe1d764a70f5}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+nlerp()}}, and \mbox{\hyperlink{group__Eina__Quaternion__Group_gadcb7e7a76af9cc92854097a6ef3bcad1}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+slerp()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_gafb17d199afa871d4b80451451b89a738}\label{group__Eina__Quaternion__Group_gafb17d199afa871d4b80451451b89a738}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_f16p16\_lerp@{eina\_quaternion\_f16p16\_lerp}}
\index{eina\_quaternion\_f16p16\_lerp@{eina\_quaternion\_f16p16\_lerp}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_f16p16\_lerp()}{eina\_quaternion\_f16p16\_lerp()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+f16p16\+\_\+lerp (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{b,  }\item[{\mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}}}]{pos }\end{DoxyParamCaption})}

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


References \mbox{\hyperlink{group__Eina__Fp__Group_gaeb9f484e18531b8a03c0cd19c0be058a}{eina\+\_\+f16p16\+\_\+add()}}, \mbox{\hyperlink{group__Eina__Fp__Group_ga4e11feaa26bc99ce7842326b55a87477}{eina\+\_\+f16p16\+\_\+int\+\_\+from()}}, \mbox{\hyperlink{group__Eina__Fp__Group_ga0c9947221c07f0578711c2832072af29}{eina\+\_\+f16p16\+\_\+mul()}}, and \mbox{\hyperlink{group__Eina__Fp__Group_gab94007c7b8abd616603d81d76868a4b9}{eina\+\_\+f16p16\+\_\+sub()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_gadcb7e7a76af9cc92854097a6ef3bcad1}\label{group__Eina__Quaternion__Group_gadcb7e7a76af9cc92854097a6ef3bcad1}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_f16p16\_slerp@{eina\_quaternion\_f16p16\_slerp}}
\index{eina\_quaternion\_f16p16\_slerp@{eina\_quaternion\_f16p16\_slerp}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_f16p16\_slerp()}{eina\_quaternion\_f16p16\_slerp()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+f16p16\+\_\+slerp (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{b,  }\item[{\mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}}}]{pos }\end{DoxyParamCaption})}

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


References \mbox{\hyperlink{group__Eina__Fp__Group_ga9f41906d53258cb7254b1e1b32ca7cd5}{eina\+\_\+f16p16\+\_\+double\+\_\+to()}}, \mbox{\hyperlink{group__Eina__Fp__Group_ga4fb090e85c2e4d288751e2ba3fcdca31}{eina\+\_\+f16p16\+\_\+float\+\_\+from()}}, \mbox{\hyperlink{group__Eina__Fp__Group_ga4e11feaa26bc99ce7842326b55a87477}{eina\+\_\+f16p16\+\_\+int\+\_\+from()}}, \mbox{\hyperlink{group__Eina__Fp__Group_gab94007c7b8abd616603d81d76868a4b9}{eina\+\_\+f16p16\+\_\+sub()}}, \mbox{\hyperlink{group__Eina__Fp__Group_ga25cfc3ac42126eaf179804315ba2ba5d}{eina\+\_\+f16p16\+\_\+to\+\_\+f32p32()}}, \mbox{\hyperlink{group__Eina__Fp__Group_gaf0792a35dcb8ccffbce1aca03a17a5e5}{eina\+\_\+f32p32\+\_\+div()}}, \mbox{\hyperlink{group__Eina__Fp__Group_gaa17f51594ef4763e92c23c6de76914ef}{eina\+\_\+f32p32\+\_\+double\+\_\+from()}}, \mbox{\hyperlink{group__Eina__Fp__Group_ga4ab6053a5a644096207c2aa37da4a52c}{eina\+\_\+f32p32\+\_\+mul()}}, \mbox{\hyperlink{group__Eina__Fp__Group_ga9db0c4966851caa53b14503c2d44c152}{eina\+\_\+f32p32\+\_\+sin()}}, \mbox{\hyperlink{group__Eina__Fp__Group_gae9f030a75e6b9d8969a04685f38c8f70}{eina\+\_\+f32p32\+\_\+to\+\_\+f16p16()}}, \mbox{\hyperlink{group__Eina__Quaternion__Group_ga9b1e267236a67dadf547b1ee1a01553d}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+add()}}, \mbox{\hyperlink{group__Eina__Quaternion__Group_gab6b35d38218be7f6c15c599ce33a264d}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+dot()}}, \mbox{\hyperlink{group__Eina__Quaternion__Group_ga9b35e1bdfdd6baf0648473a3a2a8d507}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+negative()}}, and \mbox{\hyperlink{group__Eina__Quaternion__Group_gaeff0f8f6fe9c6a38b1882626d7ca06d0}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+scale()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga9c52fe47bee8a14b982bbe1d764a70f5}\label{group__Eina__Quaternion__Group_ga9c52fe47bee8a14b982bbe1d764a70f5}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_f16p16\_nlerp@{eina\_quaternion\_f16p16\_nlerp}}
\index{eina\_quaternion\_f16p16\_nlerp@{eina\_quaternion\_f16p16\_nlerp}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_f16p16\_nlerp()}{eina\_quaternion\_f16p16\_nlerp()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+f16p16\+\_\+nlerp (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{b,  }\item[{\mbox{\hyperlink{group__Eina__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}}}]{pos }\end{DoxyParamCaption})}

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


References \mbox{\hyperlink{group__Eina__Fp__Group_ga4e11feaa26bc99ce7842326b55a87477}{eina\+\_\+f16p16\+\_\+int\+\_\+from()}}, \mbox{\hyperlink{group__Eina__Fp__Group_gab94007c7b8abd616603d81d76868a4b9}{eina\+\_\+f16p16\+\_\+sub()}}, \mbox{\hyperlink{group__Eina__Quaternion__Group_ga9b1e267236a67dadf547b1ee1a01553d}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+add()}}, \mbox{\hyperlink{group__Eina__Quaternion__Group_gab6b35d38218be7f6c15c599ce33a264d}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+dot()}}, \mbox{\hyperlink{group__Eina__Quaternion__Group_ga9b35e1bdfdd6baf0648473a3a2a8d507}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+negative()}}, and \mbox{\hyperlink{group__Eina__Quaternion__Group_gaeff0f8f6fe9c6a38b1882626d7ca06d0}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+scale()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga09fac2318bffa06014f00a93ddaeb0ea}\label{group__Eina__Quaternion__Group_ga09fac2318bffa06014f00a93ddaeb0ea}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_f16p16\_rotate@{eina\_quaternion\_f16p16\_rotate}}
\index{eina\_quaternion\_f16p16\_rotate@{eina\_quaternion\_f16p16\_rotate}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_f16p16\_rotate()}{eina\_quaternion\_f16p16\_rotate()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+f16p16\+\_\+rotate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Point__3D__F16p16}{Eina\+\_\+\+Point\+\_\+3\+D\+\_\+\+F16p16}} $\ast$}]{p,  }\item[{const \mbox{\hyperlink{struct__Eina__Point__3D__F16p16}{Eina\+\_\+\+Point\+\_\+3\+D\+\_\+\+F16p16}} $\ast$}]{center,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{q }\end{DoxyParamCaption})}

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


References \mbox{\hyperlink{group__Eina__Fp__Group_gaeb9f484e18531b8a03c0cd19c0be058a}{eina\+\_\+f16p16\+\_\+add()}}, \mbox{\hyperlink{group__Eina__Fp__Group_ga0c9947221c07f0578711c2832072af29}{eina\+\_\+f16p16\+\_\+mul()}}, \mbox{\hyperlink{group__Eina__Fp__Group_gadc09c2c66e30bcf07a35c231006bff18}{eina\+\_\+f16p16\+\_\+scale()}}, and \mbox{\hyperlink{group__Eina__Fp__Group_gab94007c7b8abd616603d81d76868a4b9}{eina\+\_\+f16p16\+\_\+sub()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga391f59cdcaf93787bf40ca77e1e41c7f}\label{group__Eina__Quaternion__Group_ga391f59cdcaf93787bf40ca77e1e41c7f}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_f16p16\_rotation\_matrix3\_get@{eina\_quaternion\_f16p16\_rotation\_matrix3\_get}}
\index{eina\_quaternion\_f16p16\_rotation\_matrix3\_get@{eina\_quaternion\_f16p16\_rotation\_matrix3\_get}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_f16p16\_rotation\_matrix3\_get()}{eina\_quaternion\_f16p16\_rotation\_matrix3\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+f16p16\+\_\+rotation\+\_\+matrix3\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix3__F16p16}{Eina\+\_\+\+Matrix3\+\_\+\+F16p16}} $\ast$}]{m,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$}]{q }\end{DoxyParamCaption})}

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


References \mbox{\hyperlink{group__Eina__Fp__Group_gaeb9f484e18531b8a03c0cd19c0be058a}{eina\+\_\+f16p16\+\_\+add()}}, \mbox{\hyperlink{group__Eina__Fp__Group_ga632f8e744cd4f4dcaaa3d144e5c850b7}{eina\+\_\+f16p16\+\_\+int\+\_\+to()}}, \mbox{\hyperlink{group__Eina__Fp__Group_ga0c9947221c07f0578711c2832072af29}{eina\+\_\+f16p16\+\_\+mul()}}, \mbox{\hyperlink{group__Eina__Fp__Group_gadc09c2c66e30bcf07a35c231006bff18}{eina\+\_\+f16p16\+\_\+scale()}}, and \mbox{\hyperlink{group__Eina__Fp__Group_gab94007c7b8abd616603d81d76868a4b9}{eina\+\_\+f16p16\+\_\+sub()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_gaac87669aab3e92eee583298f609b3967}\label{group__Eina__Quaternion__Group_gaac87669aab3e92eee583298f609b3967}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_norm@{eina\_quaternion\_norm}}
\index{eina\_quaternion\_norm@{eina\_quaternion\_norm}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_norm()}{eina\_quaternion\_norm()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} double eina\+\_\+quaternion\+\_\+norm (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{q }\end{DoxyParamCaption})}

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


Referenced by \mbox{\hyperlink{group__Eina__Quaternion__Group_ga2f47c6d8370ad7dd8bdad6d3244c8077}{eina\+\_\+quaternion\+\_\+normalized()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_gaa66e592f82e2fddb55e0cf086444d1b8}\label{group__Eina__Quaternion__Group_gaa66e592f82e2fddb55e0cf086444d1b8}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_negative@{eina\_quaternion\_negative}}
\index{eina\_quaternion\_negative@{eina\_quaternion\_negative}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_negative()}{eina\_quaternion\_negative()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+negative (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{in }\end{DoxyParamCaption})}

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


Referenced by \mbox{\hyperlink{group__Eina__Quaternion__Group_ga2e6bf084c7c50bff924483e6bd4a8110}{eina\+\_\+quaternion\+\_\+nlerp()}}, and \mbox{\hyperlink{group__Eina__Quaternion__Group_ga524c883b4a85e59dbdf436976e549bb1}{eina\+\_\+quaternion\+\_\+slerp()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_gab850adafbf72af14b371f560070422a7}\label{group__Eina__Quaternion__Group_gab850adafbf72af14b371f560070422a7}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_add@{eina\_quaternion\_add}}
\index{eina\_quaternion\_add@{eina\_quaternion\_add}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_add()}{eina\_quaternion\_add()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{b }\end{DoxyParamCaption})}

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


Referenced by \mbox{\hyperlink{group__Eina__Quaternion__Group_ga2e6bf084c7c50bff924483e6bd4a8110}{eina\+\_\+quaternion\+\_\+nlerp()}}, and \mbox{\hyperlink{group__Eina__Quaternion__Group_ga524c883b4a85e59dbdf436976e549bb1}{eina\+\_\+quaternion\+\_\+slerp()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga33dc7332189666bf7ed58562051b4622}\label{group__Eina__Quaternion__Group_ga33dc7332189666bf7ed58562051b4622}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_mul@{eina\_quaternion\_mul}}
\index{eina\_quaternion\_mul@{eina\_quaternion\_mul}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_mul()}{eina\_quaternion\_mul()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+mul (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{b }\end{DoxyParamCaption})}

\begin{DoxySince}{Since}
1.\+15 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga06531e44931413b0b8f913aabdf49dcd}\label{group__Eina__Quaternion__Group_ga06531e44931413b0b8f913aabdf49dcd}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_scale@{eina\_quaternion\_scale}}
\index{eina\_quaternion\_scale@{eina\_quaternion\_scale}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_scale()}{eina\_quaternion\_scale()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+scale (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{a,  }\item[{double}]{b }\end{DoxyParamCaption})}

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


Referenced by \mbox{\hyperlink{group__Eina__Quaternion__Group_ga2e6bf084c7c50bff924483e6bd4a8110}{eina\+\_\+quaternion\+\_\+nlerp()}}, \mbox{\hyperlink{group__Eina__Quaternion__Group_ga2f47c6d8370ad7dd8bdad6d3244c8077}{eina\+\_\+quaternion\+\_\+normalized()}}, and \mbox{\hyperlink{group__Eina__Quaternion__Group_ga524c883b4a85e59dbdf436976e549bb1}{eina\+\_\+quaternion\+\_\+slerp()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga971cfb5a1fcbf99235bc27a4d4f456e8}\label{group__Eina__Quaternion__Group_ga971cfb5a1fcbf99235bc27a4d4f456e8}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_conjugate@{eina\_quaternion\_conjugate}}
\index{eina\_quaternion\_conjugate@{eina\_quaternion\_conjugate}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_conjugate()}{eina\_quaternion\_conjugate()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+conjugate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{in }\end{DoxyParamCaption})}

\begin{DoxySince}{Since}
1.\+15 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga7dfa117185d38af7b73cd568268ba613}\label{group__Eina__Quaternion__Group_ga7dfa117185d38af7b73cd568268ba613}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_dot@{eina\_quaternion\_dot}}
\index{eina\_quaternion\_dot@{eina\_quaternion\_dot}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_dot()}{eina\_quaternion\_dot()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} double eina\+\_\+quaternion\+\_\+dot (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{b }\end{DoxyParamCaption})}

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


Referenced by \mbox{\hyperlink{group__Eina__Quaternion__Group_ga2e6bf084c7c50bff924483e6bd4a8110}{eina\+\_\+quaternion\+\_\+nlerp()}}, and \mbox{\hyperlink{group__Eina__Quaternion__Group_ga524c883b4a85e59dbdf436976e549bb1}{eina\+\_\+quaternion\+\_\+slerp()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga2f47c6d8370ad7dd8bdad6d3244c8077}\label{group__Eina__Quaternion__Group_ga2f47c6d8370ad7dd8bdad6d3244c8077}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_normalized@{eina\_quaternion\_normalized}}
\index{eina\_quaternion\_normalized@{eina\_quaternion\_normalized}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_normalized()}{eina\_quaternion\_normalized()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+normalized (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{in }\end{DoxyParamCaption})}

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


References \mbox{\hyperlink{group__Eina__Quaternion__Group_gaac87669aab3e92eee583298f609b3967}{eina\+\_\+quaternion\+\_\+norm()}}, and \mbox{\hyperlink{group__Eina__Quaternion__Group_ga06531e44931413b0b8f913aabdf49dcd}{eina\+\_\+quaternion\+\_\+scale()}}.



Referenced by \mbox{\hyperlink{group__Eina__Quaternion__Group_ga2e6bf084c7c50bff924483e6bd4a8110}{eina\+\_\+quaternion\+\_\+nlerp()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_gaf1258ed41d7e73438c5d07e0e149483a}\label{group__Eina__Quaternion__Group_gaf1258ed41d7e73438c5d07e0e149483a}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_lerp@{eina\_quaternion\_lerp}}
\index{eina\_quaternion\_lerp@{eina\_quaternion\_lerp}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_lerp()}{eina\_quaternion\_lerp()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+lerp (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{b,  }\item[{double}]{pos }\end{DoxyParamCaption})}

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


References \mbox{\hyperlink{group__Eina__Tools__Group_ga6bee37244b675b83d6a4f044a7a3d1e8}{EINA\+\_\+\+DBL\+\_\+\+EQ}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga524c883b4a85e59dbdf436976e549bb1}\label{group__Eina__Quaternion__Group_ga524c883b4a85e59dbdf436976e549bb1}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_slerp@{eina\_quaternion\_slerp}}
\index{eina\_quaternion\_slerp@{eina\_quaternion\_slerp}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_slerp()}{eina\_quaternion\_slerp()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+slerp (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{b,  }\item[{double}]{pos }\end{DoxyParamCaption})}

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


References \mbox{\hyperlink{group__Eina__Tools__Group_ga6bee37244b675b83d6a4f044a7a3d1e8}{EINA\+\_\+\+DBL\+\_\+\+EQ}}, \mbox{\hyperlink{group__Eina__Quaternion__Group_gab850adafbf72af14b371f560070422a7}{eina\+\_\+quaternion\+\_\+add()}}, \mbox{\hyperlink{group__Eina__Quaternion__Group_ga7dfa117185d38af7b73cd568268ba613}{eina\+\_\+quaternion\+\_\+dot()}}, \mbox{\hyperlink{group__Eina__Quaternion__Group_gaa66e592f82e2fddb55e0cf086444d1b8}{eina\+\_\+quaternion\+\_\+negative()}}, and \mbox{\hyperlink{group__Eina__Quaternion__Group_ga06531e44931413b0b8f913aabdf49dcd}{eina\+\_\+quaternion\+\_\+scale()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga2e6bf084c7c50bff924483e6bd4a8110}\label{group__Eina__Quaternion__Group_ga2e6bf084c7c50bff924483e6bd4a8110}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_nlerp@{eina\_quaternion\_nlerp}}
\index{eina\_quaternion\_nlerp@{eina\_quaternion\_nlerp}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_nlerp()}{eina\_quaternion\_nlerp()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+nlerp (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{b,  }\item[{double}]{pos }\end{DoxyParamCaption})}

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


References \mbox{\hyperlink{group__Eina__Tools__Group_ga6bee37244b675b83d6a4f044a7a3d1e8}{EINA\+\_\+\+DBL\+\_\+\+EQ}}, \mbox{\hyperlink{group__Eina__Quaternion__Group_gab850adafbf72af14b371f560070422a7}{eina\+\_\+quaternion\+\_\+add()}}, \mbox{\hyperlink{group__Eina__Quaternion__Group_ga7dfa117185d38af7b73cd568268ba613}{eina\+\_\+quaternion\+\_\+dot()}}, \mbox{\hyperlink{group__Eina__Quaternion__Group_gaa66e592f82e2fddb55e0cf086444d1b8}{eina\+\_\+quaternion\+\_\+negative()}}, \mbox{\hyperlink{group__Eina__Quaternion__Group_ga2f47c6d8370ad7dd8bdad6d3244c8077}{eina\+\_\+quaternion\+\_\+normalized()}}, and \mbox{\hyperlink{group__Eina__Quaternion__Group_ga06531e44931413b0b8f913aabdf49dcd}{eina\+\_\+quaternion\+\_\+scale()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga8a440e0fbbe57bbf75e363291db9602f}\label{group__Eina__Quaternion__Group_ga8a440e0fbbe57bbf75e363291db9602f}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_rotate@{eina\_quaternion\_rotate}}
\index{eina\_quaternion\_rotate@{eina\_quaternion\_rotate}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_rotate()}{eina\_quaternion\_rotate()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+rotate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Point__3D}{Eina\+\_\+\+Point\+\_\+3D}} $\ast$}]{p,  }\item[{const \mbox{\hyperlink{struct__Eina__Point__3D}{Eina\+\_\+\+Point\+\_\+3D}} $\ast$}]{center,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{q }\end{DoxyParamCaption})}

\begin{DoxySince}{Since}
1.\+15 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga4aa7173221300d5f4b7b76687d4b0a5f}\label{group__Eina__Quaternion__Group_ga4aa7173221300d5f4b7b76687d4b0a5f}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_rotation\_matrix3\_get@{eina\_quaternion\_rotation\_matrix3\_get}}
\index{eina\_quaternion\_rotation\_matrix3\_get@{eina\_quaternion\_rotation\_matrix3\_get}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_rotation\_matrix3\_get()}{eina\_quaternion\_rotation\_matrix3\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+rotation\+\_\+matrix3\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{q }\end{DoxyParamCaption})}

\begin{DoxySince}{Since}
1.\+15 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Quaternion__Group_gad12be1d9ebfb6b1925986a5d1357545f}\label{group__Eina__Quaternion__Group_gad12be1d9ebfb6b1925986a5d1357545f}} 
\index{Quaternion@{Quaternion}!eina\_matrix3\_quaternion\_get@{eina\_matrix3\_quaternion\_get}}
\index{eina\_matrix3\_quaternion\_get@{eina\_matrix3\_quaternion\_get}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_matrix3\_quaternion\_get()}{eina\_matrix3\_quaternion\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+matrix3\+\_\+quaternion\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{q,  }\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m }\end{DoxyParamCaption})}

\begin{DoxySince}{Since}
1.\+15 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Quaternion__Group_gaf0d8405b84382faefe7771a8b590bc2c}\label{group__Eina__Quaternion__Group_gaf0d8405b84382faefe7771a8b590bc2c}} 
\index{Quaternion@{Quaternion}!eina\_matrix4\_quaternion\_to@{eina\_matrix4\_quaternion\_to}}
\index{eina\_matrix4\_quaternion\_to@{eina\_matrix4\_quaternion\_to}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_matrix4\_quaternion\_to()}{eina\_matrix4\_quaternion\_to()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+matrix4\+\_\+quaternion\+\_\+to (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{rotation,  }\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{perspective,  }\item[{\mbox{\hyperlink{struct__Eina__Point__3D}{Eina\+\_\+\+Point\+\_\+3D}} $\ast$}]{translation,  }\item[{\mbox{\hyperlink{struct__Eina__Point__3D}{Eina\+\_\+\+Point\+\_\+3D}} $\ast$}]{scale,  }\item[{\mbox{\hyperlink{struct__Eina__Point__3D}{Eina\+\_\+\+Point\+\_\+3D}} $\ast$}]{skew,  }\item[{const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{m }\end{DoxyParamCaption})}

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


References \mbox{\hyperlink{group__Eina__Tools__Group_ga6bee37244b675b83d6a4f044a7a3d1e8}{EINA\+\_\+\+DBL\+\_\+\+EQ}}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__Matrix4__Group_ga8342ea750e7006fe4e4e12d9e381ddc0}{eina\+\_\+matrix4\+\_\+determinant()}}, \mbox{\hyperlink{group__Eina__Matrix4__Group_ga64411c509a4e256432c3d55dec3367e8}{eina\+\_\+matrix4\+\_\+inverse()}}, \mbox{\hyperlink{group__Eina__Matrix4__Group_ga564111af5acb8dde821b83e013ec4c56}{eina\+\_\+matrix4\+\_\+transpose()}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga6fbc748841a73b772fb3ef2835c0e88a}\label{group__Eina__Quaternion__Group_ga6fbc748841a73b772fb3ef2835c0e88a}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_matrix4\_to@{eina\_quaternion\_matrix4\_to}}
\index{eina\_quaternion\_matrix4\_to@{eina\_quaternion\_matrix4\_to}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_matrix4\_to()}{eina\_quaternion\_matrix4\_to()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+matrix4\+\_\+to (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{m,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{rotation,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{perspective,  }\item[{const \mbox{\hyperlink{struct__Eina__Point__3D}{Eina\+\_\+\+Point\+\_\+3D}} $\ast$}]{translation,  }\item[{const \mbox{\hyperlink{struct__Eina__Point__3D}{Eina\+\_\+\+Point\+\_\+3D}} $\ast$}]{scale,  }\item[{const \mbox{\hyperlink{struct__Eina__Point__3D}{Eina\+\_\+\+Point\+\_\+3D}} $\ast$}]{skew }\end{DoxyParamCaption})}

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


References \mbox{\hyperlink{group__Eina__Tools__Group_ga6bee37244b675b83d6a4f044a7a3d1e8}{EINA\+\_\+\+DBL\+\_\+\+EQ}}, \mbox{\hyperlink{group__Eina__Matrix4__Group_gacdb969859a1222e0f09153be2b4530c9}{eina\+\_\+matrix4\+\_\+identity()}}, and \mbox{\hyperlink{group__Eina__Matrix4__Group_ga9080db053770fd64d7148e66350e4680}{eina\+\_\+matrix4\+\_\+multiply()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga72810b6bdc79bf8a54f3618f75c92612}\label{group__Eina__Quaternion__Group_ga72810b6bdc79bf8a54f3618f75c92612}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_inverse@{eina\_quaternion\_inverse}}
\index{eina\_quaternion\_inverse@{eina\_quaternion\_inverse}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_inverse()}{eina\_quaternion\_inverse()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+inverse (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{q }\end{DoxyParamCaption})}



Compute the inverse of the given quaternion. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em out} & The quaternion to invert. \\
\hline
\mbox{\texttt{ in}}  & {\em q} & The quaternion matrix.\\
\hline
\end{DoxyParams}
This function inverses the quaternion {\ttfamily q} and stores the result in {\ttfamily out}.

\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga80f9f04251f0b936981e0c181e778def}\label{group__Eina__Quaternion__Group_ga80f9f04251f0b936981e0c181e778def}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_array\_set@{eina\_quaternion\_array\_set}}
\index{eina\_quaternion\_array\_set@{eina\_quaternion\_array\_set}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_array\_set()}{eina\_quaternion\_array\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+array\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{dst,  }\item[{const double $\ast$}]{v }\end{DoxyParamCaption})}



Set array to quaternion. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em dst} & The result quaternion \\
\hline
\mbox{\texttt{ in}}  & {\em v} & The the array\mbox{[}4\mbox{]} for set\\
\hline
\end{DoxyParams}
Set to quaternion first 4 elements from array

\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga1d87bd2aed5530c30956e2be0a77bcee}\label{group__Eina__Quaternion__Group_ga1d87bd2aed5530c30956e2be0a77bcee}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_copy@{eina\_quaternion\_copy}}
\index{eina\_quaternion\_copy@{eina\_quaternion\_copy}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_copy()}{eina\_quaternion\_copy()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+copy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{dst,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{src }\end{DoxyParamCaption})}



Copy quaternion. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em dst} & The quaternion copy \\
\hline
\mbox{\texttt{ in}}  & {\em src} & The quaternion for copy.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


Referenced by \mbox{\hyperlink{group__Eina__Quaternion__Group_gab0c84a72c45a623c5e8a1cecf6322377}{eina\+\_\+quaternion\+\_\+transform()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_gae7793161dce0104682fd11240b91c1d2}\label{group__Eina__Quaternion__Group_gae7793161dce0104682fd11240b91c1d2}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_homogeneous\_regulate@{eina\_quaternion\_homogeneous\_regulate}}
\index{eina\_quaternion\_homogeneous\_regulate@{eina\_quaternion\_homogeneous\_regulate}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_homogeneous\_regulate()}{eina\_quaternion\_homogeneous\_regulate()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+homogeneous\+\_\+regulate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{v }\end{DoxyParamCaption})}



Homogeneous quaternion. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em out} & The resulting quaternion \\
\hline
\mbox{\texttt{ in}}  & {\em v} & The given quaternion\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Tools__Group_ga6bee37244b675b83d6a4f044a7a3d1e8}{EINA\+\_\+\+DBL\+\_\+\+EQ}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga81f77ac9ecdae84385c9b009eb5c17d9}\label{group__Eina__Quaternion__Group_ga81f77ac9ecdae84385c9b009eb5c17d9}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_subtract@{eina\_quaternion\_subtract}}
\index{eina\_quaternion\_subtract@{eina\_quaternion\_subtract}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_subtract()}{eina\_quaternion\_subtract()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+subtract (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{b }\end{DoxyParamCaption})}



Subtract two quaternions. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em out} & The resulting quaternion \\
\hline
\mbox{\texttt{ in}}  & {\em a} & The first member of the subtract \\
\hline
\mbox{\texttt{ in}}  & {\em b} & The second member of the subtract\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


Referenced by \mbox{\hyperlink{group__Eina__Quaternion__Group_gafdf0b95cb9a95b9d369e46dc08e283da}{eina\+\_\+quaternion\+\_\+distance\+\_\+get()}}, and \mbox{\hyperlink{group__Eina__Quaternion__Group_gab64107e4e8c5c807aabaab3ddeaeb503}{eina\+\_\+quaternion\+\_\+distance\+\_\+square\+\_\+get()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_gae5fb64f42615930dd8943bcfc6da86d0}\label{group__Eina__Quaternion__Group_gae5fb64f42615930dd8943bcfc6da86d0}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_length\_get@{eina\_quaternion\_length\_get}}
\index{eina\_quaternion\_length\_get@{eina\_quaternion\_length\_get}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_length\_get()}{eina\_quaternion\_length\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} double eina\+\_\+quaternion\+\_\+length\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{v }\end{DoxyParamCaption})}



Return the length of the given quaternion. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em v} & The quaternion. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The length.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


Referenced by \mbox{\hyperlink{group__Eina__Quaternion__Group_gafdf0b95cb9a95b9d369e46dc08e283da}{eina\+\_\+quaternion\+\_\+distance\+\_\+get()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga60ebd4f5b8b8766e0e330b334220f060}\label{group__Eina__Quaternion__Group_ga60ebd4f5b8b8766e0e330b334220f060}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_length\_square\_get@{eina\_quaternion\_length\_square\_get}}
\index{eina\_quaternion\_length\_square\_get@{eina\_quaternion\_length\_square\_get}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_length\_square\_get()}{eina\_quaternion\_length\_square\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} double eina\+\_\+quaternion\+\_\+length\+\_\+square\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{v }\end{DoxyParamCaption})}



Return the length in square of the given quaternion. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em v} & The quaternion. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The length in square.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


Referenced by \mbox{\hyperlink{group__Eina__Quaternion__Group_gab64107e4e8c5c807aabaab3ddeaeb503}{eina\+\_\+quaternion\+\_\+distance\+\_\+square\+\_\+get()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_gafdf0b95cb9a95b9d369e46dc08e283da}\label{group__Eina__Quaternion__Group_gafdf0b95cb9a95b9d369e46dc08e283da}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_distance\_get@{eina\_quaternion\_distance\_get}}
\index{eina\_quaternion\_distance\_get@{eina\_quaternion\_distance\_get}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_distance\_get()}{eina\_quaternion\_distance\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} double eina\+\_\+quaternion\+\_\+distance\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{b }\end{DoxyParamCaption})}



Return the distance between of two quaternions. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em a} & The first quaternion. \\
\hline
\mbox{\texttt{ in}}  & {\em b} & The second quaternion. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The distance.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Quaternion__Group_gae5fb64f42615930dd8943bcfc6da86d0}{eina\+\_\+quaternion\+\_\+length\+\_\+get()}}, and \mbox{\hyperlink{group__Eina__Quaternion__Group_ga81f77ac9ecdae84385c9b009eb5c17d9}{eina\+\_\+quaternion\+\_\+subtract()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_gab64107e4e8c5c807aabaab3ddeaeb503}\label{group__Eina__Quaternion__Group_gab64107e4e8c5c807aabaab3ddeaeb503}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_distance\_square\_get@{eina\_quaternion\_distance\_square\_get}}
\index{eina\_quaternion\_distance\_square\_get@{eina\_quaternion\_distance\_square\_get}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_distance\_square\_get()}{eina\_quaternion\_distance\_square\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} double eina\+\_\+quaternion\+\_\+distance\+\_\+square\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{b }\end{DoxyParamCaption})}



Return the distance in square between of two quaternions. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em a} & The first quaternion. \\
\hline
\mbox{\texttt{ in}}  & {\em b} & The second quaternion. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The distance in square.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Quaternion__Group_ga60ebd4f5b8b8766e0e330b334220f060}{eina\+\_\+quaternion\+\_\+length\+\_\+square\+\_\+get()}}, and \mbox{\hyperlink{group__Eina__Quaternion__Group_ga81f77ac9ecdae84385c9b009eb5c17d9}{eina\+\_\+quaternion\+\_\+subtract()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_gab0c84a72c45a623c5e8a1cecf6322377}\label{group__Eina__Quaternion__Group_gab0c84a72c45a623c5e8a1cecf6322377}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_transform@{eina\_quaternion\_transform}}
\index{eina\_quaternion\_transform@{eina\_quaternion\_transform}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_transform()}{eina\_quaternion\_transform()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+quaternion\+\_\+transform (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{v,  }\item[{const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{m }\end{DoxyParamCaption})}



Transform quaternion. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em out} & The result quaternion. \\
\hline
\mbox{\texttt{ in}}  & {\em v} & The quaternion for transform. \\
\hline
\mbox{\texttt{ in}}  & {\em m} & The matrix for transform.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Matrix4__Group_ga4272770d113643e31273c9b18142477d}{eina\+\_\+matrix4\+\_\+type\+\_\+get()}}, \mbox{\hyperlink{group__Eina__Matrix__Group_ggac9e258fd0ef943c6c6f86d7a732b73f5a3593bd6f89b1171d847fb6a5e901f862}{EINA\+\_\+\+MATRIX\+\_\+\+TYPE\+\_\+\+IDENTITY}}, and \mbox{\hyperlink{group__Eina__Quaternion__Group_ga1d87bd2aed5530c30956e2be0a77bcee}{eina\+\_\+quaternion\+\_\+copy()}}.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga9104750118eaff6bf807e479ac775c3a}\label{group__Eina__Quaternion__Group_ga9104750118eaff6bf807e479ac775c3a}} 
\index{Quaternion@{Quaternion}!eina\_quaternion\_angle\_plains@{eina\_quaternion\_angle\_plains}}
\index{eina\_quaternion\_angle\_plains@{eina\_quaternion\_angle\_plains}!Quaternion@{Quaternion}}
\doxysubsubsection{\texorpdfstring{eina\_quaternion\_angle\_plains()}{eina\_quaternion\_angle\_plains()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} double eina\+\_\+quaternion\+\_\+angle\+\_\+plains (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{a,  }\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{b }\end{DoxyParamCaption})}



Return the angle plains between of two quaternions. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em a} & The first quaternion. \\
\hline
\mbox{\texttt{ in}}  & {\em b} & The second quaternion. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The angle.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
