\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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga5ec0119537232d52ee061a63e3be442f}{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__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} \mbox{\hyperlink{group__Eina__Quaternion__Group_ga40b4f28ef972653978335514e0e68b6d}{eina\+\_\+quaternion\+\_\+f16p16\+\_\+norm}} (const \mbox{\hyperlink{struct__Eina__Quaternion__F16p16}{Eina\+\_\+\+Quaternion\+\_\+\+F16p16}} $\ast$q)
\item 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga4d961f31ed317a9fceaaf6ed0c675eb0}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga943158a167e76419be145667f57759a5}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_gabe46d973ceff32493589c2950525aa00}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga7552a95c168952abc952639d775572ff}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_gaf1336beb4f4502adb4ae317a3eab354d}{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__Fp__Group_gad39780115c81512495fd39a60b9f317c}{Eina\+\_\+\+F16p16}} \mbox{\hyperlink{group__Eina__Quaternion__Group_ga37800b4806da2ffdd77c36151031ce96}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga84b0ecf906b426d7851f2db6fed04dcc}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_gad6cd7b714814d43b5585b82615bf81d4}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga700de3fb59b59d6ce9454844f718c1fb}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga64fd3f04332de8fbfa04a8a78e3c7a60}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_gace3c1e052d85ad1263a63970bd546725}{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_ga5b75cd8137e98fa051c9512a8cb94714}\label{group__Eina__Quaternion__Group_ga5b75cd8137e98fa051c9512a8cb94714}} 
void {\bfseries eina\+\_\+quaternion\+\_\+set} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$q, double x, double y, double z, double w)
\item 
double \mbox{\hyperlink{group__Eina__Quaternion__Group_ga40001799981f426131fbc19fe7dc8c71}{eina\+\_\+quaternion\+\_\+norm}} (const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$q)
\item 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga7fe37b81e9053461e9b3227cf10e892f}{eina\+\_\+quaternion\+\_\+negative}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$in)
\item 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga3b7d4b4515a782a7e05769d990d651c4}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga8c62f3d6da6ab62db4cf10a51e39806c}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_gadbb762a576ae7f2609b669da74db4a39}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga9fdc0a2da11e54a1ef9cde90e1152a12}{eina\+\_\+quaternion\+\_\+conjugate}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$in)
\item 
double \mbox{\hyperlink{group__Eina__Quaternion__Group_ga2f50602d8591159e1a861be70b10117a}{eina\+\_\+quaternion\+\_\+dot}} (const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$b)
\item 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga92701294d694711e7c8475ffe18f2a74}{eina\+\_\+quaternion\+\_\+normalized}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$in)
\item 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga8329f4bac5ae075da45357745b4a3f1a}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga6715eb71adeaa2388d19da7dbc9490d1}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga66fdccf2ec633495ebee5a20c6f5275d}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga1acbaa0db77f63f123c1509e41fc7bf4}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_gade97031ee62117a0b894a2340ea6c70d}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga257d21fd61ea774ec12dbab99818efba}{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_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Quaternion__Group_ga0a2272caba9118aee6620885f8ae1757}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga575ee7c63e9314c35efaec336aa0e1f6}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga566ea79ff5104cd71d516c81e2624bdc}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga5119754cbe7ea37f490a7005be35e25b}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga1c02c23d75a091bf594f5c67f1445023}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga7d54742476ffb93f17114572edb72bd0}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_ga6d4193a399da5f97dee68bb4955624a7}{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 
double \mbox{\hyperlink{group__Eina__Quaternion__Group_ga05b8f87fd54ffc1adfa0a3b704005358}{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 
double \mbox{\hyperlink{group__Eina__Quaternion__Group_ga987e747e758c4b90bf183fa87c908609}{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 
double \mbox{\hyperlink{group__Eina__Quaternion__Group_gaacb9bfb6bae6f443ce1f81a39e8ecf90}{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 
double \mbox{\hyperlink{group__Eina__Quaternion__Group_ga7113bf783eb09c6ffb76aedbccab8d9e}{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 
void \mbox{\hyperlink{group__Eina__Quaternion__Group_gacf7ea5cc47c9522e8804efaf07a0aefb}{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 
double \mbox{\hyperlink{group__Eina__Quaternion__Group_ga689db46db625c2c86ea6365e08967d39}{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_ga5ec0119537232d52ee061a63e3be442f}\label{group__Eina__Quaternion__Group_ga5ec0119537232d52ee061a63e3be442f}} 
\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 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_ga40b4f28ef972653978335514e0e68b6d}\label{group__Eina__Quaternion__Group_ga40b4f28ef972653978335514e0e68b6d}} 
\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__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 eina\+\_\+f16p16\+\_\+add(), eina\+\_\+f16p16\+\_\+mul(), and eina\+\_\+f16p16\+\_\+sqrt().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga4d961f31ed317a9fceaaf6ed0c675eb0}\label{group__Eina__Quaternion__Group_ga4d961f31ed317a9fceaaf6ed0c675eb0}} 
\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 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 eina\+\_\+f16p16\+\_\+sub().



Referenced by eina\+\_\+quaternion\+\_\+f16p16\+\_\+nlerp(), and eina\+\_\+quaternion\+\_\+f16p16\+\_\+slerp().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga943158a167e76419be145667f57759a5}\label{group__Eina__Quaternion__Group_ga943158a167e76419be145667f57759a5}} 
\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 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 eina\+\_\+f16p16\+\_\+add().



Referenced by eina\+\_\+quaternion\+\_\+f16p16\+\_\+nlerp(), and eina\+\_\+quaternion\+\_\+f16p16\+\_\+slerp().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_gabe46d973ceff32493589c2950525aa00}\label{group__Eina__Quaternion__Group_gabe46d973ceff32493589c2950525aa00}} 
\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 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 eina\+\_\+f16p16\+\_\+add(), eina\+\_\+f16p16\+\_\+mul(), and eina\+\_\+f16p16\+\_\+sub().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga7552a95c168952abc952639d775572ff}\label{group__Eina__Quaternion__Group_ga7552a95c168952abc952639d775572ff}} 
\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 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 eina\+\_\+f16p16\+\_\+scale().



Referenced by eina\+\_\+quaternion\+\_\+f16p16\+\_\+nlerp(), and eina\+\_\+quaternion\+\_\+f16p16\+\_\+slerp().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_gaf1336beb4f4502adb4ae317a3eab354d}\label{group__Eina__Quaternion__Group_gaf1336beb4f4502adb4ae317a3eab354d}} 
\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 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 eina\+\_\+f16p16\+\_\+sub().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga37800b4806da2ffdd77c36151031ce96}\label{group__Eina__Quaternion__Group_ga37800b4806da2ffdd77c36151031ce96}} 
\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__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 eina\+\_\+f16p16\+\_\+add(), and eina\+\_\+f16p16\+\_\+mul().



Referenced by eina\+\_\+quaternion\+\_\+f16p16\+\_\+nlerp(), and eina\+\_\+quaternion\+\_\+f16p16\+\_\+slerp().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga84b0ecf906b426d7851f2db6fed04dcc}\label{group__Eina__Quaternion__Group_ga84b0ecf906b426d7851f2db6fed04dcc}} 
\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 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 eina\+\_\+f16p16\+\_\+add(), eina\+\_\+f16p16\+\_\+int\+\_\+from(), eina\+\_\+f16p16\+\_\+mul(), and eina\+\_\+f16p16\+\_\+sub().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_gad6cd7b714814d43b5585b82615bf81d4}\label{group__Eina__Quaternion__Group_gad6cd7b714814d43b5585b82615bf81d4}} 
\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 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 eina\+\_\+f16p16\+\_\+double\+\_\+to(), eina\+\_\+f16p16\+\_\+float\+\_\+from(), eina\+\_\+f16p16\+\_\+int\+\_\+from(), eina\+\_\+f16p16\+\_\+sub(), eina\+\_\+f16p16\+\_\+to\+\_\+f32p32(), eina\+\_\+f32p32\+\_\+div(), eina\+\_\+f32p32\+\_\+double\+\_\+from(), eina\+\_\+f32p32\+\_\+mul(), eina\+\_\+f32p32\+\_\+sin(), eina\+\_\+f32p32\+\_\+to\+\_\+f16p16(), eina\+\_\+quaternion\+\_\+f16p16\+\_\+add(), eina\+\_\+quaternion\+\_\+f16p16\+\_\+dot(), eina\+\_\+quaternion\+\_\+f16p16\+\_\+negative(), and eina\+\_\+quaternion\+\_\+f16p16\+\_\+scale().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga700de3fb59b59d6ce9454844f718c1fb}\label{group__Eina__Quaternion__Group_ga700de3fb59b59d6ce9454844f718c1fb}} 
\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 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 eina\+\_\+f16p16\+\_\+int\+\_\+from(), eina\+\_\+f16p16\+\_\+sub(), eina\+\_\+quaternion\+\_\+f16p16\+\_\+add(), eina\+\_\+quaternion\+\_\+f16p16\+\_\+dot(), eina\+\_\+quaternion\+\_\+f16p16\+\_\+negative(), and eina\+\_\+quaternion\+\_\+f16p16\+\_\+scale().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga64fd3f04332de8fbfa04a8a78e3c7a60}\label{group__Eina__Quaternion__Group_ga64fd3f04332de8fbfa04a8a78e3c7a60}} 
\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 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 eina\+\_\+f16p16\+\_\+add(), eina\+\_\+f16p16\+\_\+mul(), eina\+\_\+f16p16\+\_\+scale(), and eina\+\_\+f16p16\+\_\+sub().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_gace3c1e052d85ad1263a63970bd546725}\label{group__Eina__Quaternion__Group_gace3c1e052d85ad1263a63970bd546725}} 
\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 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 eina\+\_\+f16p16\+\_\+add(), eina\+\_\+f16p16\+\_\+int\+\_\+to(), eina\+\_\+f16p16\+\_\+mul(), eina\+\_\+f16p16\+\_\+scale(), and eina\+\_\+f16p16\+\_\+sub().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga40001799981f426131fbc19fe7dc8c71}\label{group__Eina__Quaternion__Group_ga40001799981f426131fbc19fe7dc8c71}} 
\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 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 eina\+\_\+quaternion\+\_\+normalized().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga7fe37b81e9053461e9b3227cf10e892f}\label{group__Eina__Quaternion__Group_ga7fe37b81e9053461e9b3227cf10e892f}} 
\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 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 eina\+\_\+quaternion\+\_\+nlerp(), and eina\+\_\+quaternion\+\_\+slerp().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga3b7d4b4515a782a7e05769d990d651c4}\label{group__Eina__Quaternion__Group_ga3b7d4b4515a782a7e05769d990d651c4}} 
\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 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 eina\+\_\+quaternion\+\_\+nlerp(), and eina\+\_\+quaternion\+\_\+slerp().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga8c62f3d6da6ab62db4cf10a51e39806c}\label{group__Eina__Quaternion__Group_ga8c62f3d6da6ab62db4cf10a51e39806c}} 
\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 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_gadbb762a576ae7f2609b669da74db4a39}\label{group__Eina__Quaternion__Group_gadbb762a576ae7f2609b669da74db4a39}} 
\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 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 eina\+\_\+quaternion\+\_\+nlerp(), eina\+\_\+quaternion\+\_\+normalized(), and eina\+\_\+quaternion\+\_\+slerp().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga9fdc0a2da11e54a1ef9cde90e1152a12}\label{group__Eina__Quaternion__Group_ga9fdc0a2da11e54a1ef9cde90e1152a12}} 
\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 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_ga2f50602d8591159e1a861be70b10117a}\label{group__Eina__Quaternion__Group_ga2f50602d8591159e1a861be70b10117a}} 
\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 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 eina\+\_\+quaternion\+\_\+nlerp(), and eina\+\_\+quaternion\+\_\+slerp().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga92701294d694711e7c8475ffe18f2a74}\label{group__Eina__Quaternion__Group_ga92701294d694711e7c8475ffe18f2a74}} 
\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 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 eina\+\_\+quaternion\+\_\+norm(), and eina\+\_\+quaternion\+\_\+scale().



Referenced by eina\+\_\+quaternion\+\_\+nlerp().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga8329f4bac5ae075da45357745b4a3f1a}\label{group__Eina__Quaternion__Group_ga8329f4bac5ae075da45357745b4a3f1a}} 
\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 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 EINA\+\_\+\+DBL\+\_\+\+EQ.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga6715eb71adeaa2388d19da7dbc9490d1}\label{group__Eina__Quaternion__Group_ga6715eb71adeaa2388d19da7dbc9490d1}} 
\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 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 EINA\+\_\+\+DBL\+\_\+\+EQ, eina\+\_\+quaternion\+\_\+add(), eina\+\_\+quaternion\+\_\+dot(), eina\+\_\+quaternion\+\_\+negative(), and eina\+\_\+quaternion\+\_\+scale().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga66fdccf2ec633495ebee5a20c6f5275d}\label{group__Eina__Quaternion__Group_ga66fdccf2ec633495ebee5a20c6f5275d}} 
\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 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 EINA\+\_\+\+DBL\+\_\+\+EQ, eina\+\_\+quaternion\+\_\+add(), eina\+\_\+quaternion\+\_\+dot(), eina\+\_\+quaternion\+\_\+negative(), eina\+\_\+quaternion\+\_\+normalized(), and eina\+\_\+quaternion\+\_\+scale().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga1acbaa0db77f63f123c1509e41fc7bf4}\label{group__Eina__Quaternion__Group_ga1acbaa0db77f63f123c1509e41fc7bf4}} 
\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 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_gade97031ee62117a0b894a2340ea6c70d}\label{group__Eina__Quaternion__Group_gade97031ee62117a0b894a2340ea6c70d}} 
\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 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_ga257d21fd61ea774ec12dbab99818efba}\label{group__Eina__Quaternion__Group_ga257d21fd61ea774ec12dbab99818efba}} 
\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 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_ga0a2272caba9118aee6620885f8ae1757}\label{group__Eina__Quaternion__Group_ga0a2272caba9118aee6620885f8ae1757}} 
\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_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 EINA\+\_\+\+DBL\+\_\+\+EQ, EINA\+\_\+\+FALSE, eina\+\_\+matrix4\+\_\+determinant(), eina\+\_\+matrix4\+\_\+inverse(), eina\+\_\+matrix4\+\_\+transpose(), and EINA\+\_\+\+TRUE.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga575ee7c63e9314c35efaec336aa0e1f6}\label{group__Eina__Quaternion__Group_ga575ee7c63e9314c35efaec336aa0e1f6}} 
\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 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 EINA\+\_\+\+DBL\+\_\+\+EQ, eina\+\_\+matrix4\+\_\+identity(), and eina\+\_\+matrix4\+\_\+multiply().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga566ea79ff5104cd71d516c81e2624bdc}\label{group__Eina__Quaternion__Group_ga566ea79ff5104cd71d516c81e2624bdc}} 
\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 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_ga5119754cbe7ea37f490a7005be35e25b}\label{group__Eina__Quaternion__Group_ga5119754cbe7ea37f490a7005be35e25b}} 
\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 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_ga1c02c23d75a091bf594f5c67f1445023}\label{group__Eina__Quaternion__Group_ga1c02c23d75a091bf594f5c67f1445023}} 
\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 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 eina\+\_\+quaternion\+\_\+transform().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga7d54742476ffb93f17114572edb72bd0}\label{group__Eina__Quaternion__Group_ga7d54742476ffb93f17114572edb72bd0}} 
\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 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 EINA\+\_\+\+DBL\+\_\+\+EQ.

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga6d4193a399da5f97dee68bb4955624a7}\label{group__Eina__Quaternion__Group_ga6d4193a399da5f97dee68bb4955624a7}} 
\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 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 eina\+\_\+quaternion\+\_\+distance\+\_\+get(), and eina\+\_\+quaternion\+\_\+distance\+\_\+square\+\_\+get().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga05b8f87fd54ffc1adfa0a3b704005358}\label{group__Eina__Quaternion__Group_ga05b8f87fd54ffc1adfa0a3b704005358}} 
\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 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 eina\+\_\+quaternion\+\_\+distance\+\_\+get().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga987e747e758c4b90bf183fa87c908609}\label{group__Eina__Quaternion__Group_ga987e747e758c4b90bf183fa87c908609}} 
\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 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 eina\+\_\+quaternion\+\_\+distance\+\_\+square\+\_\+get().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_gaacb9bfb6bae6f443ce1f81a39e8ecf90}\label{group__Eina__Quaternion__Group_gaacb9bfb6bae6f443ce1f81a39e8ecf90}} 
\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 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 eina\+\_\+quaternion\+\_\+length\+\_\+get(), and eina\+\_\+quaternion\+\_\+subtract().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga7113bf783eb09c6ffb76aedbccab8d9e}\label{group__Eina__Quaternion__Group_ga7113bf783eb09c6ffb76aedbccab8d9e}} 
\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 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 eina\+\_\+quaternion\+\_\+length\+\_\+square\+\_\+get(), and eina\+\_\+quaternion\+\_\+subtract().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_gacf7ea5cc47c9522e8804efaf07a0aefb}\label{group__Eina__Quaternion__Group_gacf7ea5cc47c9522e8804efaf07a0aefb}} 
\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 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 eina\+\_\+matrix4\+\_\+type\+\_\+get(), EINA\+\_\+\+MATRIX\+\_\+\+TYPE\+\_\+\+IDENTITY, and eina\+\_\+quaternion\+\_\+copy().

\mbox{\Hypertarget{group__Eina__Quaternion__Group_ga689db46db625c2c86ea6365e08967d39}\label{group__Eina__Quaternion__Group_ga689db46db625c2c86ea6365e08967d39}} 
\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 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}
