\hypertarget{group__Eina__Vector3}{}\section{Vectors in floating point}
\label{group__Eina__Vector3}\index{Vectors in floating point@{Vectors in floating point}}


Vector definition and operations.  


\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct__Eina__Vector3}{\+\_\+\+Eina\+\_\+\+Vector3}}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static void \mbox{\hyperlink{group__Eina__Vector3_gae38d75e8f305b13ef002ef0b5cfac558}{eina\+\_\+vector2\+\_\+set}} (\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$dst, double x, double y)
\begin{DoxyCompactList}\small\item\em Set parameters to vector. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_gadb3dfcc2a843cdde59422f90037b7e54}{eina\+\_\+vector2\+\_\+array\+\_\+set}} (\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$dst, const double $\ast$v)
\begin{DoxyCompactList}\small\item\em Set array to vector. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga08b62668951b03dcd65a9cad60794e79}{eina\+\_\+vector2\+\_\+copy}} (\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$dst, const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$src)
\begin{DoxyCompactList}\small\item\em Copy vector. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga3cf4fe1c9072de09501140127038a52b}{eina\+\_\+vector2\+\_\+negate}} (\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$v)
\begin{DoxyCompactList}\small\item\em Make negative vector. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga918611a5f9c68549c98bf39e771610e6}{eina\+\_\+vector2\+\_\+add}} (\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$b)
\begin{DoxyCompactList}\small\item\em Add two vectors. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga4845f984cd94138f6fcd848ba6496172}{eina\+\_\+vector2\+\_\+subtract}} (\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$b)
\begin{DoxyCompactList}\small\item\em Subtract two vectors. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_gab606d190ccc07e533b7758cccdd80277}{eina\+\_\+vector2\+\_\+scale}} (\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$v, double scale)
\begin{DoxyCompactList}\small\item\em Scale vector. \end{DoxyCompactList}\item 
static double \mbox{\hyperlink{group__Eina__Vector3_ga971dd932689516a71b6e94cb8eb60537}{eina\+\_\+vector2\+\_\+dot\+\_\+product}} (const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$b)
\begin{DoxyCompactList}\small\item\em Return the dot product of the two vectors. \end{DoxyCompactList}\item 
static double \mbox{\hyperlink{group__Eina__Vector3_ga102e39574ace00b0acf85108bdf7b0cc}{eina\+\_\+vector2\+\_\+length\+\_\+get}} (const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$v)
\begin{DoxyCompactList}\small\item\em Return the length of the given vector. \end{DoxyCompactList}\item 
static double \mbox{\hyperlink{group__Eina__Vector3_gab37b4d279190a8a55b2aa764345707e1}{eina\+\_\+vector2\+\_\+length\+\_\+square\+\_\+get}} (const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$v)
\begin{DoxyCompactList}\small\item\em Return the length in square of the given vector. \end{DoxyCompactList}\item 
static double \mbox{\hyperlink{group__Eina__Vector3_gaf91977a7970d27a27834a0d07cd0559f}{eina\+\_\+vector2\+\_\+distance\+\_\+get}} (const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$b)
\begin{DoxyCompactList}\small\item\em Return the distance between of two vectors. \end{DoxyCompactList}\item 
static double \mbox{\hyperlink{group__Eina__Vector3_ga9a96d5f73a222b35329e17e15c4312d0}{eina\+\_\+vector2\+\_\+distance\+\_\+square\+\_\+get}} (const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$b)
\begin{DoxyCompactList}\small\item\em Return the distance in square between of two vectors. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga0a9192aff21abd1306e74efc9ea4c940}{eina\+\_\+vector2\+\_\+normalize}} (\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$v)
\begin{DoxyCompactList}\small\item\em normalize vector. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_gaab36c2dccdb9e6a78872d6f4169290f3}{eina\+\_\+vector2\+\_\+transform}} (\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$out, const \mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$m, const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$v)
\begin{DoxyCompactList}\small\item\em Transform vector. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga56fbeafe7f42fa04443b8442fc38d539}{eina\+\_\+vector2\+\_\+homogeneous\+\_\+position\+\_\+transform}} (\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$out, const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m, const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$v)
\begin{DoxyCompactList}\small\item\em Homogeneous position transform vector. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga664bc9c76e55fa30fefe15caef744007}{eina\+\_\+vector2\+\_\+homogeneous\+\_\+direction\+\_\+transform}} (\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$out, const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m, const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$v)
\begin{DoxyCompactList}\small\item\em Homogeneous direction transform vector. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_gaa0c091b8285ca7e0764458df5b34e5cf}{eina\+\_\+vector3\+\_\+set}} (\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$dst, double x, double y, double z)
\begin{DoxyCompactList}\small\item\em Set parameters to vector. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga26ba8b4709f2708f0238470cbb4fd953}{eina\+\_\+vector3\+\_\+array\+\_\+set}} (\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$dst, const double $\ast$v)
\begin{DoxyCompactList}\small\item\em Set array to vector. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_gafadd1cf65ea3a7a021e90696fabe12d2}{eina\+\_\+vector3\+\_\+copy}} (\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$dst, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$src)
\begin{DoxyCompactList}\small\item\em Copy vector. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga9f9873047cea621f20a674ad051fdeb3}{eina\+\_\+vector3\+\_\+negate}} (\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$v)
\begin{DoxyCompactList}\small\item\em Make negative vector. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_gab289a321c369b9fe2e3cb423c42f6dab}{eina\+\_\+vector3\+\_\+add}} (\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$b)
\begin{DoxyCompactList}\small\item\em Add two vectors. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga945f0b8033aeafce8d2a61603b679cc5}{eina\+\_\+vector3\+\_\+subtract}} (\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$b)
\begin{DoxyCompactList}\small\item\em Subtract two vectors. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga18a8e89b6a8a48765b8d86e5ab5fee4b}{eina\+\_\+vector3\+\_\+scale}} (\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$v, double scale)
\begin{DoxyCompactList}\small\item\em Scale vector. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga5a094df34683785d687192500c4ce0c9}{eina\+\_\+vector3\+\_\+multiply}} (\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$b)
\begin{DoxyCompactList}\small\item\em Multiply two vectors. \end{DoxyCompactList}\item 
static double \mbox{\hyperlink{group__Eina__Vector3_ga84d676ecd294c6db5caa662b43106117}{eina\+\_\+vector3\+\_\+dot\+\_\+product}} (const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$b)
\begin{DoxyCompactList}\small\item\em Return the dot product of the two vectors. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga36b62e60cdb35a61d32677137b4955e4}{eina\+\_\+vector3\+\_\+cross\+\_\+product}} (\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$b)
\begin{DoxyCompactList}\small\item\em Create the cross product of the two vectors. \end{DoxyCompactList}\item 
static double \mbox{\hyperlink{group__Eina__Vector3_gab88eaac3949daad9cebbb569d1b74870}{eina\+\_\+vector3\+\_\+length\+\_\+get}} (const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$v)
\begin{DoxyCompactList}\small\item\em Return the length of the given vector. \end{DoxyCompactList}\item 
static double \mbox{\hyperlink{group__Eina__Vector3_gaaa968e7b8d9abd0963d6d3ab357035bf}{eina\+\_\+vector3\+\_\+length\+\_\+square\+\_\+get}} (const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$v)
\begin{DoxyCompactList}\small\item\em Return the length in square of the given vector. \end{DoxyCompactList}\item 
static double \mbox{\hyperlink{group__Eina__Vector3_ga8a927618e96edb4ab4e2a726e6d89400}{eina\+\_\+vector3\+\_\+distance\+\_\+get}} (const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$b)
\begin{DoxyCompactList}\small\item\em Return the distance between of two vectors. \end{DoxyCompactList}\item 
static double \mbox{\hyperlink{group__Eina__Vector3_ga6c553851c2465f06b2295c7e3b34b505}{eina\+\_\+vector3\+\_\+distance\+\_\+square\+\_\+get}} (const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$b)
\begin{DoxyCompactList}\small\item\em Return the distance in square between of two vectors. \end{DoxyCompactList}\item 
static double \mbox{\hyperlink{group__Eina__Vector3_gadb1ce8ccd2a7cbff8753cfec21d95912}{eina\+\_\+vector3\+\_\+angle\+\_\+get}} (const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$b)
\begin{DoxyCompactList}\small\item\em Return the angle between of two vectors. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga57fc76277d247b69c82dc0dfc7dd246b}{eina\+\_\+vector3\+\_\+normalize}} (\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$v)
\begin{DoxyCompactList}\small\item\em normalize vector. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga348b423dc0ea20719b70219d00a49190}{eina\+\_\+vector3\+\_\+transform}} (\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$out, const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$m, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$v)
\begin{DoxyCompactList}\small\item\em Transform vector. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga95eaa77ad1f490b4a3e88a045bc6547f}{eina\+\_\+vector3\+\_\+homogeneous\+\_\+direction\+\_\+transform}} (\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$out, const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$m, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$v)
\begin{DoxyCompactList}\small\item\em Homogeneous direction transform vector. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga72de1f40af4d381d3b88aea613fe5aa9}{eina\+\_\+vector3\+\_\+homogeneous\+\_\+position\+\_\+transform}} (\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$out, const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$m, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$v)
\begin{DoxyCompactList}\small\item\em Homogeneous position transform vector. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga756d44beffff650f1c52ebf862303903}{eina\+\_\+vector3\+\_\+quaternion\+\_\+rotate}} (\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$v, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$q)
\begin{DoxyCompactList}\small\item\em Rotate vector. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga1919fd74cea70f25cc465b65b83d8bfb}{eina\+\_\+vector3\+\_\+orthogonal\+\_\+projection\+\_\+on\+\_\+plane}} (\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$v, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$normal)
\begin{DoxyCompactList}\small\item\em Create orthogonal projection on plane between vector and normal. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga1ab390ffa096454788d07e3011ffe8fd}{eina\+\_\+vector3\+\_\+plane\+\_\+by\+\_\+points}} (\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$b, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$c)
\begin{DoxyCompactList}\small\item\em Plane by points between three vectors. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_ga8261742aca0eb171a04c61db419d1361}{eina\+\_\+vector3\+\_\+homogeneous\+\_\+position\+\_\+set}} (\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$v)
\begin{DoxyCompactList}\small\item\em Homogeneous position set. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Vector3_gaca39dd23909943efce732b065c4b9618}{eina\+\_\+vector3\+\_\+homogeneous\+\_\+direction\+\_\+set}} (\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$out, const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$v)
\begin{DoxyCompactList}\small\item\em Homogeneous direction set. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Vector3_ga0242462095b98d60da4ddc936c7ecdc0}{eina\+\_\+vector3\+\_\+equivalent}} (\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$a, const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$b)
\begin{DoxyCompactList}\small\item\em Check the equivalent between of two vectors. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Vector3_gab752eb269eda6b5f838c0120917b5309}{eina\+\_\+vector3\+\_\+triangle\+\_\+equivalent}} (\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$v0, \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$v1, \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$v2, \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$w0, \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$w1, \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$w2)
\begin{DoxyCompactList}\small\item\em Check the equivalent between of two triangles of vectors. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Vector definition and operations. 



\subsection{Function Documentation}
\mbox{\Hypertarget{group__Eina__Vector3_gae38d75e8f305b13ef002ef0b5cfac558}\label{group__Eina__Vector3_gae38d75e8f305b13ef002ef0b5cfac558}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector2\+\_\+set@{eina\+\_\+vector2\+\_\+set}}
\index{eina\+\_\+vector2\+\_\+set@{eina\+\_\+vector2\+\_\+set}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector2\+\_\+set()}{eina\_vector2\_set()}}
{\footnotesize\ttfamily static void eina\+\_\+vector2\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{dst,  }\item[{double}]{x,  }\item[{double}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Set parameters to vector. 


\begin{DoxyParams}{Parameters}
{\em dst} & The resulting vector. \\
\hline
{\em x} & The x component. \\
\hline
{\em y} & The y component.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_gadb3dfcc2a843cdde59422f90037b7e54}\label{group__Eina__Vector3_gadb3dfcc2a843cdde59422f90037b7e54}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector2\+\_\+array\+\_\+set@{eina\+\_\+vector2\+\_\+array\+\_\+set}}
\index{eina\+\_\+vector2\+\_\+array\+\_\+set@{eina\+\_\+vector2\+\_\+array\+\_\+set}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector2\+\_\+array\+\_\+set()}{eina\_vector2\_array\_set()}}
{\footnotesize\ttfamily static void eina\+\_\+vector2\+\_\+array\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{dst,  }\item[{const double $\ast$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Set array to vector. 


\begin{DoxyParams}{Parameters}
{\em dst} & The resulting vector. \\
\hline
{\em v} & The the array\mbox{[}2\mbox{]} for set.\\
\hline
\end{DoxyParams}
Set to vector first 2 elements from array.

\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga08b62668951b03dcd65a9cad60794e79}\label{group__Eina__Vector3_ga08b62668951b03dcd65a9cad60794e79}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector2\+\_\+copy@{eina\+\_\+vector2\+\_\+copy}}
\index{eina\+\_\+vector2\+\_\+copy@{eina\+\_\+vector2\+\_\+copy}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector2\+\_\+copy()}{eina\_vector2\_copy()}}
{\footnotesize\ttfamily static void eina\+\_\+vector2\+\_\+copy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{dst,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Copy vector. 


\begin{DoxyParams}{Parameters}
{\em dst} & The vector copy. \\
\hline
{\em src} & The vector for copy.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga3cf4fe1c9072de09501140127038a52b}\label{group__Eina__Vector3_ga3cf4fe1c9072de09501140127038a52b}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector2\+\_\+negate@{eina\+\_\+vector2\+\_\+negate}}
\index{eina\+\_\+vector2\+\_\+negate@{eina\+\_\+vector2\+\_\+negate}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector2\+\_\+negate()}{eina\_vector2\_negate()}}
{\footnotesize\ttfamily static void eina\+\_\+vector2\+\_\+negate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Make negative vector. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector. \\
\hline
{\em v} & The current vector.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga918611a5f9c68549c98bf39e771610e6}\label{group__Eina__Vector3_ga918611a5f9c68549c98bf39e771610e6}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector2\+\_\+add@{eina\+\_\+vector2\+\_\+add}}
\index{eina\+\_\+vector2\+\_\+add@{eina\+\_\+vector2\+\_\+add}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector2\+\_\+add()}{eina\_vector2\_add()}}
{\footnotesize\ttfamily static void eina\+\_\+vector2\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Add two vectors. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector. \\
\hline
{\em a} & The first member of the add. \\
\hline
{\em b} & The second member of the add.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga4845f984cd94138f6fcd848ba6496172}\label{group__Eina__Vector3_ga4845f984cd94138f6fcd848ba6496172}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector2\+\_\+subtract@{eina\+\_\+vector2\+\_\+subtract}}
\index{eina\+\_\+vector2\+\_\+subtract@{eina\+\_\+vector2\+\_\+subtract}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector2\+\_\+subtract()}{eina\_vector2\_subtract()}}
{\footnotesize\ttfamily static void eina\+\_\+vector2\+\_\+subtract (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Subtract two vectors. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector \\
\hline
{\em a} & The first member of the subtract \\
\hline
{\em b} & The second member of the subtract\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_gab606d190ccc07e533b7758cccdd80277}\label{group__Eina__Vector3_gab606d190ccc07e533b7758cccdd80277}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector2\+\_\+scale@{eina\+\_\+vector2\+\_\+scale}}
\index{eina\+\_\+vector2\+\_\+scale@{eina\+\_\+vector2\+\_\+scale}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector2\+\_\+scale()}{eina\_vector2\_scale()}}
{\footnotesize\ttfamily static void eina\+\_\+vector2\+\_\+scale (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{v,  }\item[{double}]{scale }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Scale vector. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector. \\
\hline
{\em v} & The vector for scale. \\
\hline
{\em scale} & The scale value.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga971dd932689516a71b6e94cb8eb60537}\label{group__Eina__Vector3_ga971dd932689516a71b6e94cb8eb60537}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector2\+\_\+dot\+\_\+product@{eina\+\_\+vector2\+\_\+dot\+\_\+product}}
\index{eina\+\_\+vector2\+\_\+dot\+\_\+product@{eina\+\_\+vector2\+\_\+dot\+\_\+product}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector2\+\_\+dot\+\_\+product()}{eina\_vector2\_dot\_product()}}
{\footnotesize\ttfamily static double eina\+\_\+vector2\+\_\+dot\+\_\+product (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Return the dot product of the two vectors. 


\begin{DoxyParams}{Parameters}
{\em a} & The first member. \\
\hline
{\em b} & The secondt member. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The dot product.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga102e39574ace00b0acf85108bdf7b0cc}\label{group__Eina__Vector3_ga102e39574ace00b0acf85108bdf7b0cc}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector2\+\_\+length\+\_\+get@{eina\+\_\+vector2\+\_\+length\+\_\+get}}
\index{eina\+\_\+vector2\+\_\+length\+\_\+get@{eina\+\_\+vector2\+\_\+length\+\_\+get}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector2\+\_\+length\+\_\+get()}{eina\_vector2\_length\_get()}}
{\footnotesize\ttfamily static double eina\+\_\+vector2\+\_\+length\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Return the length of the given vector. 


\begin{DoxyParams}{Parameters}
{\em v} & The vector. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The length.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_gab37b4d279190a8a55b2aa764345707e1}\label{group__Eina__Vector3_gab37b4d279190a8a55b2aa764345707e1}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector2\+\_\+length\+\_\+square\+\_\+get@{eina\+\_\+vector2\+\_\+length\+\_\+square\+\_\+get}}
\index{eina\+\_\+vector2\+\_\+length\+\_\+square\+\_\+get@{eina\+\_\+vector2\+\_\+length\+\_\+square\+\_\+get}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector2\+\_\+length\+\_\+square\+\_\+get()}{eina\_vector2\_length\_square\_get()}}
{\footnotesize\ttfamily static double eina\+\_\+vector2\+\_\+length\+\_\+square\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Return the length in square of the given vector. 


\begin{DoxyParams}{Parameters}
{\em v} & The vector. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The length in square.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_gaf91977a7970d27a27834a0d07cd0559f}\label{group__Eina__Vector3_gaf91977a7970d27a27834a0d07cd0559f}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector2\+\_\+distance\+\_\+get@{eina\+\_\+vector2\+\_\+distance\+\_\+get}}
\index{eina\+\_\+vector2\+\_\+distance\+\_\+get@{eina\+\_\+vector2\+\_\+distance\+\_\+get}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector2\+\_\+distance\+\_\+get()}{eina\_vector2\_distance\_get()}}
{\footnotesize\ttfamily static double eina\+\_\+vector2\+\_\+distance\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Return the distance between of two vectors. 


\begin{DoxyParams}{Parameters}
{\em a} & The first vector. \\
\hline
{\em b} & The second vector. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The distance.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga9a96d5f73a222b35329e17e15c4312d0}\label{group__Eina__Vector3_ga9a96d5f73a222b35329e17e15c4312d0}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector2\+\_\+distance\+\_\+square\+\_\+get@{eina\+\_\+vector2\+\_\+distance\+\_\+square\+\_\+get}}
\index{eina\+\_\+vector2\+\_\+distance\+\_\+square\+\_\+get@{eina\+\_\+vector2\+\_\+distance\+\_\+square\+\_\+get}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector2\+\_\+distance\+\_\+square\+\_\+get()}{eina\_vector2\_distance\_square\_get()}}
{\footnotesize\ttfamily static double eina\+\_\+vector2\+\_\+distance\+\_\+square\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Return the distance in square between of two vectors. 


\begin{DoxyParams}{Parameters}
{\em a} & The first vector. \\
\hline
{\em b} & The second vector. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The distance in square.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga0a9192aff21abd1306e74efc9ea4c940}\label{group__Eina__Vector3_ga0a9192aff21abd1306e74efc9ea4c940}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector2\+\_\+normalize@{eina\+\_\+vector2\+\_\+normalize}}
\index{eina\+\_\+vector2\+\_\+normalize@{eina\+\_\+vector2\+\_\+normalize}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector2\+\_\+normalize()}{eina\_vector2\_normalize()}}
{\footnotesize\ttfamily static void eina\+\_\+vector2\+\_\+normalize (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



normalize vector. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector. \\
\hline
{\em v} & The vector for normalize.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_gaab36c2dccdb9e6a78872d6f4169290f3}\label{group__Eina__Vector3_gaab36c2dccdb9e6a78872d6f4169290f3}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector2\+\_\+transform@{eina\+\_\+vector2\+\_\+transform}}
\index{eina\+\_\+vector2\+\_\+transform@{eina\+\_\+vector2\+\_\+transform}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector2\+\_\+transform()}{eina\_vector2\_transform()}}
{\footnotesize\ttfamily static void eina\+\_\+vector2\+\_\+transform (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{structEina__Matrix2}{Eina\+\_\+\+Matrix2}} $\ast$}]{m,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Transform vector. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector. \\
\hline
{\em m} & The matrix for transform. \\
\hline
{\em v} & The vector for transform.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga56fbeafe7f42fa04443b8442fc38d539}\label{group__Eina__Vector3_ga56fbeafe7f42fa04443b8442fc38d539}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector2\+\_\+homogeneous\+\_\+position\+\_\+transform@{eina\+\_\+vector2\+\_\+homogeneous\+\_\+position\+\_\+transform}}
\index{eina\+\_\+vector2\+\_\+homogeneous\+\_\+position\+\_\+transform@{eina\+\_\+vector2\+\_\+homogeneous\+\_\+position\+\_\+transform}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector2\+\_\+homogeneous\+\_\+position\+\_\+transform()}{eina\_vector2\_homogeneous\_position\_transform()}}
{\footnotesize\ttfamily static void eina\+\_\+vector2\+\_\+homogeneous\+\_\+position\+\_\+transform (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Homogeneous position transform vector. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector. \\
\hline
{\em m} & The matrix for transform. \\
\hline
{\em v} & The vector for transform.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga664bc9c76e55fa30fefe15caef744007}\label{group__Eina__Vector3_ga664bc9c76e55fa30fefe15caef744007}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector2\+\_\+homogeneous\+\_\+direction\+\_\+transform@{eina\+\_\+vector2\+\_\+homogeneous\+\_\+direction\+\_\+transform}}
\index{eina\+\_\+vector2\+\_\+homogeneous\+\_\+direction\+\_\+transform@{eina\+\_\+vector2\+\_\+homogeneous\+\_\+direction\+\_\+transform}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector2\+\_\+homogeneous\+\_\+direction\+\_\+transform()}{eina\_vector2\_homogeneous\_direction\_transform()}}
{\footnotesize\ttfamily static void eina\+\_\+vector2\+\_\+homogeneous\+\_\+direction\+\_\+transform (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector2}{Eina\+\_\+\+Vector2}} $\ast$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Homogeneous direction transform vector. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector. \\
\hline
{\em m} & The matrix for transform. \\
\hline
{\em v} & The vector for transform.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+17 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_gaa0c091b8285ca7e0764458df5b34e5cf}\label{group__Eina__Vector3_gaa0c091b8285ca7e0764458df5b34e5cf}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+set@{eina\+\_\+vector3\+\_\+set}}
\index{eina\+\_\+vector3\+\_\+set@{eina\+\_\+vector3\+\_\+set}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+set()}{eina\_vector3\_set()}}
{\footnotesize\ttfamily static void eina\+\_\+vector3\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{dst,  }\item[{double}]{x,  }\item[{double}]{y,  }\item[{double}]{z }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Set parameters to vector. 


\begin{DoxyParams}{Parameters}
{\em dst} & The resulting vector. \\
\hline
{\em x} & The x component. \\
\hline
{\em y} & The y component. \\
\hline
{\em z} & The z component.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga26ba8b4709f2708f0238470cbb4fd953}\label{group__Eina__Vector3_ga26ba8b4709f2708f0238470cbb4fd953}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+array\+\_\+set@{eina\+\_\+vector3\+\_\+array\+\_\+set}}
\index{eina\+\_\+vector3\+\_\+array\+\_\+set@{eina\+\_\+vector3\+\_\+array\+\_\+set}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+array\+\_\+set()}{eina\_vector3\_array\_set()}}
{\footnotesize\ttfamily static void eina\+\_\+vector3\+\_\+array\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{dst,  }\item[{const double $\ast$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Set array to vector. 


\begin{DoxyParams}{Parameters}
{\em dst} & The resulting vector. \\
\hline
{\em v} & The the array\mbox{[}3\mbox{]} for set.\\
\hline
\end{DoxyParams}
Set to vector first 3 elements from array.

\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_gafadd1cf65ea3a7a021e90696fabe12d2}\label{group__Eina__Vector3_gafadd1cf65ea3a7a021e90696fabe12d2}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+copy@{eina\+\_\+vector3\+\_\+copy}}
\index{eina\+\_\+vector3\+\_\+copy@{eina\+\_\+vector3\+\_\+copy}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+copy()}{eina\_vector3\_copy()}}
{\footnotesize\ttfamily static void eina\+\_\+vector3\+\_\+copy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{dst,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Copy vector. 


\begin{DoxyParams}{Parameters}
{\em dst} & The vector copy. \\
\hline
{\em src} & The vector for copy.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga9f9873047cea621f20a674ad051fdeb3}\label{group__Eina__Vector3_ga9f9873047cea621f20a674ad051fdeb3}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+negate@{eina\+\_\+vector3\+\_\+negate}}
\index{eina\+\_\+vector3\+\_\+negate@{eina\+\_\+vector3\+\_\+negate}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+negate()}{eina\_vector3\_negate()}}
{\footnotesize\ttfamily static void eina\+\_\+vector3\+\_\+negate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Make negative vector. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector. \\
\hline
{\em v} & The current vector.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_gab289a321c369b9fe2e3cb423c42f6dab}\label{group__Eina__Vector3_gab289a321c369b9fe2e3cb423c42f6dab}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+add@{eina\+\_\+vector3\+\_\+add}}
\index{eina\+\_\+vector3\+\_\+add@{eina\+\_\+vector3\+\_\+add}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+add()}{eina\_vector3\_add()}}
{\footnotesize\ttfamily static void eina\+\_\+vector3\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Add two vectors. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector. \\
\hline
{\em a} & The first member of the add. \\
\hline
{\em b} & The second member of the add.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga945f0b8033aeafce8d2a61603b679cc5}\label{group__Eina__Vector3_ga945f0b8033aeafce8d2a61603b679cc5}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+subtract@{eina\+\_\+vector3\+\_\+subtract}}
\index{eina\+\_\+vector3\+\_\+subtract@{eina\+\_\+vector3\+\_\+subtract}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+subtract()}{eina\_vector3\_subtract()}}
{\footnotesize\ttfamily static void eina\+\_\+vector3\+\_\+subtract (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Subtract two vectors. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector \\
\hline
{\em a} & The first member of the subtract \\
\hline
{\em b} & The second member of the subtract\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga18a8e89b6a8a48765b8d86e5ab5fee4b}\label{group__Eina__Vector3_ga18a8e89b6a8a48765b8d86e5ab5fee4b}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+scale@{eina\+\_\+vector3\+\_\+scale}}
\index{eina\+\_\+vector3\+\_\+scale@{eina\+\_\+vector3\+\_\+scale}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+scale()}{eina\_vector3\_scale()}}
{\footnotesize\ttfamily static void eina\+\_\+vector3\+\_\+scale (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{v,  }\item[{double}]{scale }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Scale vector. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector. \\
\hline
{\em v} & The vector for scale. \\
\hline
{\em scale} & The scale value.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga5a094df34683785d687192500c4ce0c9}\label{group__Eina__Vector3_ga5a094df34683785d687192500c4ce0c9}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+multiply@{eina\+\_\+vector3\+\_\+multiply}}
\index{eina\+\_\+vector3\+\_\+multiply@{eina\+\_\+vector3\+\_\+multiply}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+multiply()}{eina\_vector3\_multiply()}}
{\footnotesize\ttfamily static void eina\+\_\+vector3\+\_\+multiply (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Multiply two vectors. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector \\
\hline
{\em a} & The first member \\
\hline
{\em b} & The second member\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga84d676ecd294c6db5caa662b43106117}\label{group__Eina__Vector3_ga84d676ecd294c6db5caa662b43106117}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+dot\+\_\+product@{eina\+\_\+vector3\+\_\+dot\+\_\+product}}
\index{eina\+\_\+vector3\+\_\+dot\+\_\+product@{eina\+\_\+vector3\+\_\+dot\+\_\+product}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+dot\+\_\+product()}{eina\_vector3\_dot\_product()}}
{\footnotesize\ttfamily static double eina\+\_\+vector3\+\_\+dot\+\_\+product (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Return the dot product of the two vectors. 


\begin{DoxyParams}{Parameters}
{\em a} & The first member. \\
\hline
{\em b} & The secondt member. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The dot product.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga36b62e60cdb35a61d32677137b4955e4}\label{group__Eina__Vector3_ga36b62e60cdb35a61d32677137b4955e4}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+cross\+\_\+product@{eina\+\_\+vector3\+\_\+cross\+\_\+product}}
\index{eina\+\_\+vector3\+\_\+cross\+\_\+product@{eina\+\_\+vector3\+\_\+cross\+\_\+product}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+cross\+\_\+product()}{eina\_vector3\_cross\_product()}}
{\footnotesize\ttfamily static void eina\+\_\+vector3\+\_\+cross\+\_\+product (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Create the cross product of the two vectors. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector. \\
\hline
{\em a} & The first member. \\
\hline
{\em b} & The secondt member.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_gab88eaac3949daad9cebbb569d1b74870}\label{group__Eina__Vector3_gab88eaac3949daad9cebbb569d1b74870}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+length\+\_\+get@{eina\+\_\+vector3\+\_\+length\+\_\+get}}
\index{eina\+\_\+vector3\+\_\+length\+\_\+get@{eina\+\_\+vector3\+\_\+length\+\_\+get}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+length\+\_\+get()}{eina\_vector3\_length\_get()}}
{\footnotesize\ttfamily static double eina\+\_\+vector3\+\_\+length\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Return the length of the given vector. 


\begin{DoxyParams}{Parameters}
{\em v} & The vector. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The length.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_gaaa968e7b8d9abd0963d6d3ab357035bf}\label{group__Eina__Vector3_gaaa968e7b8d9abd0963d6d3ab357035bf}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+length\+\_\+square\+\_\+get@{eina\+\_\+vector3\+\_\+length\+\_\+square\+\_\+get}}
\index{eina\+\_\+vector3\+\_\+length\+\_\+square\+\_\+get@{eina\+\_\+vector3\+\_\+length\+\_\+square\+\_\+get}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+length\+\_\+square\+\_\+get()}{eina\_vector3\_length\_square\_get()}}
{\footnotesize\ttfamily static double eina\+\_\+vector3\+\_\+length\+\_\+square\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Return the length in square of the given vector. 


\begin{DoxyParams}{Parameters}
{\em v} & The vector. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The length in square.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga8a927618e96edb4ab4e2a726e6d89400}\label{group__Eina__Vector3_ga8a927618e96edb4ab4e2a726e6d89400}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+distance\+\_\+get@{eina\+\_\+vector3\+\_\+distance\+\_\+get}}
\index{eina\+\_\+vector3\+\_\+distance\+\_\+get@{eina\+\_\+vector3\+\_\+distance\+\_\+get}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+distance\+\_\+get()}{eina\_vector3\_distance\_get()}}
{\footnotesize\ttfamily static double eina\+\_\+vector3\+\_\+distance\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Return the distance between of two vectors. 


\begin{DoxyParams}{Parameters}
{\em a} & The first vector. \\
\hline
{\em b} & The second vector. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The distance.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga6c553851c2465f06b2295c7e3b34b505}\label{group__Eina__Vector3_ga6c553851c2465f06b2295c7e3b34b505}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+distance\+\_\+square\+\_\+get@{eina\+\_\+vector3\+\_\+distance\+\_\+square\+\_\+get}}
\index{eina\+\_\+vector3\+\_\+distance\+\_\+square\+\_\+get@{eina\+\_\+vector3\+\_\+distance\+\_\+square\+\_\+get}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+distance\+\_\+square\+\_\+get()}{eina\_vector3\_distance\_square\_get()}}
{\footnotesize\ttfamily static double eina\+\_\+vector3\+\_\+distance\+\_\+square\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Return the distance in square between of two vectors. 


\begin{DoxyParams}{Parameters}
{\em a} & The first vector. \\
\hline
{\em b} & The second vector. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The distance in square.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_gadb1ce8ccd2a7cbff8753cfec21d95912}\label{group__Eina__Vector3_gadb1ce8ccd2a7cbff8753cfec21d95912}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+angle\+\_\+get@{eina\+\_\+vector3\+\_\+angle\+\_\+get}}
\index{eina\+\_\+vector3\+\_\+angle\+\_\+get@{eina\+\_\+vector3\+\_\+angle\+\_\+get}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+angle\+\_\+get()}{eina\_vector3\_angle\_get()}}
{\footnotesize\ttfamily static double eina\+\_\+vector3\+\_\+angle\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Return the angle between of two vectors. 


\begin{DoxyParams}{Parameters}
{\em a} & The first vector. \\
\hline
{\em b} & The second vector. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The angle.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga57fc76277d247b69c82dc0dfc7dd246b}\label{group__Eina__Vector3_ga57fc76277d247b69c82dc0dfc7dd246b}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+normalize@{eina\+\_\+vector3\+\_\+normalize}}
\index{eina\+\_\+vector3\+\_\+normalize@{eina\+\_\+vector3\+\_\+normalize}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+normalize()}{eina\_vector3\_normalize()}}
{\footnotesize\ttfamily static void eina\+\_\+vector3\+\_\+normalize (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



normalize vector. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector. \\
\hline
{\em v} & The not N\+U\+LL vector for normalize.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga348b423dc0ea20719b70219d00a49190}\label{group__Eina__Vector3_ga348b423dc0ea20719b70219d00a49190}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+transform@{eina\+\_\+vector3\+\_\+transform}}
\index{eina\+\_\+vector3\+\_\+transform@{eina\+\_\+vector3\+\_\+transform}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+transform()}{eina\_vector3\_transform()}}
{\footnotesize\ttfamily static void eina\+\_\+vector3\+\_\+transform (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{group__Eina__Matrix3__Group_ga8c3fb1203ec3bcfdcde63d76caedc375}{Eina\+\_\+\+Matrix3}} $\ast$}]{m,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Transform vector. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector. \\
\hline
{\em m} & The matrix for transform. \\
\hline
{\em v} & The vector for transform.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga95eaa77ad1f490b4a3e88a045bc6547f}\label{group__Eina__Vector3_ga95eaa77ad1f490b4a3e88a045bc6547f}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+homogeneous\+\_\+direction\+\_\+transform@{eina\+\_\+vector3\+\_\+homogeneous\+\_\+direction\+\_\+transform}}
\index{eina\+\_\+vector3\+\_\+homogeneous\+\_\+direction\+\_\+transform@{eina\+\_\+vector3\+\_\+homogeneous\+\_\+direction\+\_\+transform}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+homogeneous\+\_\+direction\+\_\+transform()}{eina\_vector3\_homogeneous\_direction\_transform()}}
{\footnotesize\ttfamily static void eina\+\_\+vector3\+\_\+homogeneous\+\_\+direction\+\_\+transform (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{m,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Homogeneous direction transform vector. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector. \\
\hline
{\em m} & The matrix for transform. \\
\hline
{\em v} & The vector for transform.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga72de1f40af4d381d3b88aea613fe5aa9}\label{group__Eina__Vector3_ga72de1f40af4d381d3b88aea613fe5aa9}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+homogeneous\+\_\+position\+\_\+transform@{eina\+\_\+vector3\+\_\+homogeneous\+\_\+position\+\_\+transform}}
\index{eina\+\_\+vector3\+\_\+homogeneous\+\_\+position\+\_\+transform@{eina\+\_\+vector3\+\_\+homogeneous\+\_\+position\+\_\+transform}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+homogeneous\+\_\+position\+\_\+transform()}{eina\_vector3\_homogeneous\_position\_transform()}}
{\footnotesize\ttfamily static void eina\+\_\+vector3\+\_\+homogeneous\+\_\+position\+\_\+transform (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{structEina__Matrix4}{Eina\+\_\+\+Matrix4}} $\ast$}]{m,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Homogeneous position transform vector. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector. \\
\hline
{\em m} & The matrix for transform. \\
\hline
{\em v} & The vector for transform.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga756d44beffff650f1c52ebf862303903}\label{group__Eina__Vector3_ga756d44beffff650f1c52ebf862303903}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+quaternion\+\_\+rotate@{eina\+\_\+vector3\+\_\+quaternion\+\_\+rotate}}
\index{eina\+\_\+vector3\+\_\+quaternion\+\_\+rotate@{eina\+\_\+vector3\+\_\+quaternion\+\_\+rotate}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+quaternion\+\_\+rotate()}{eina\_vector3\_quaternion\_rotate()}}
{\footnotesize\ttfamily static void eina\+\_\+vector3\+\_\+quaternion\+\_\+rotate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{v,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{q }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Rotate vector. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector. \\
\hline
{\em v} & The vector for rotate. \\
\hline
{\em q} & The quaternion in radians for rotate.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga1919fd74cea70f25cc465b65b83d8bfb}\label{group__Eina__Vector3_ga1919fd74cea70f25cc465b65b83d8bfb}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+orthogonal\+\_\+projection\+\_\+on\+\_\+plane@{eina\+\_\+vector3\+\_\+orthogonal\+\_\+projection\+\_\+on\+\_\+plane}}
\index{eina\+\_\+vector3\+\_\+orthogonal\+\_\+projection\+\_\+on\+\_\+plane@{eina\+\_\+vector3\+\_\+orthogonal\+\_\+projection\+\_\+on\+\_\+plane}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+orthogonal\+\_\+projection\+\_\+on\+\_\+plane()}{eina\_vector3\_orthogonal\_projection\_on\_plane()}}
{\footnotesize\ttfamily static void eina\+\_\+vector3\+\_\+orthogonal\+\_\+projection\+\_\+on\+\_\+plane (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{v,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{normal }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Create orthogonal projection on plane between vector and normal. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector. \\
\hline
{\em v} & The vector for projection. \\
\hline
{\em normal} & The normal for projection.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga1ab390ffa096454788d07e3011ffe8fd}\label{group__Eina__Vector3_ga1ab390ffa096454788d07e3011ffe8fd}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+plane\+\_\+by\+\_\+points@{eina\+\_\+vector3\+\_\+plane\+\_\+by\+\_\+points}}
\index{eina\+\_\+vector3\+\_\+plane\+\_\+by\+\_\+points@{eina\+\_\+vector3\+\_\+plane\+\_\+by\+\_\+points}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+plane\+\_\+by\+\_\+points()}{eina\_vector3\_plane\_by\_points()}}
{\footnotesize\ttfamily static void eina\+\_\+vector3\+\_\+plane\+\_\+by\+\_\+points (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{b,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{c }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Plane by points between three vectors. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting quaternion of plane. \\
\hline
{\em a} & The first member. \\
\hline
{\em b} & The second member. \\
\hline
{\em c} & The third member.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga8261742aca0eb171a04c61db419d1361}\label{group__Eina__Vector3_ga8261742aca0eb171a04c61db419d1361}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+homogeneous\+\_\+position\+\_\+set@{eina\+\_\+vector3\+\_\+homogeneous\+\_\+position\+\_\+set}}
\index{eina\+\_\+vector3\+\_\+homogeneous\+\_\+position\+\_\+set@{eina\+\_\+vector3\+\_\+homogeneous\+\_\+position\+\_\+set}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+homogeneous\+\_\+position\+\_\+set()}{eina\_vector3\_homogeneous\_position\_set()}}
{\footnotesize\ttfamily static void eina\+\_\+vector3\+\_\+homogeneous\+\_\+position\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Homogeneous position set. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector. \\
\hline
{\em v} & The quaternion for position.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_gaca39dd23909943efce732b065c4b9618}\label{group__Eina__Vector3_gaca39dd23909943efce732b065c4b9618}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+homogeneous\+\_\+direction\+\_\+set@{eina\+\_\+vector3\+\_\+homogeneous\+\_\+direction\+\_\+set}}
\index{eina\+\_\+vector3\+\_\+homogeneous\+\_\+direction\+\_\+set@{eina\+\_\+vector3\+\_\+homogeneous\+\_\+direction\+\_\+set}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+homogeneous\+\_\+direction\+\_\+set()}{eina\_vector3\_homogeneous\_direction\_set()}}
{\footnotesize\ttfamily static void eina\+\_\+vector3\+\_\+homogeneous\+\_\+direction\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{struct__Eina__Quaternion}{Eina\+\_\+\+Quaternion}} $\ast$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Homogeneous direction set. 


\begin{DoxyParams}{Parameters}
{\em out} & The resulting vector. \\
\hline
{\em v} & The quaternion for direction.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_ga0242462095b98d60da4ddc936c7ecdc0}\label{group__Eina__Vector3_ga0242462095b98d60da4ddc936c7ecdc0}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+equivalent@{eina\+\_\+vector3\+\_\+equivalent}}
\index{eina\+\_\+vector3\+\_\+equivalent@{eina\+\_\+vector3\+\_\+equivalent}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+equivalent()}{eina\_vector3\_equivalent()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+vector3\+\_\+equivalent (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Check the equivalent between of two vectors. 


\begin{DoxyParams}{Parameters}
{\em a} & The first vector. \\
\hline
{\em b} & The second vector. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The E\+I\+N\+A\+\_\+\+T\+R\+UE if equivalent.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Vector3_gab752eb269eda6b5f838c0120917b5309}\label{group__Eina__Vector3_gab752eb269eda6b5f838c0120917b5309}} 
\index{Vectors in floating point@{Vectors in floating point}!eina\+\_\+vector3\+\_\+triangle\+\_\+equivalent@{eina\+\_\+vector3\+\_\+triangle\+\_\+equivalent}}
\index{eina\+\_\+vector3\+\_\+triangle\+\_\+equivalent@{eina\+\_\+vector3\+\_\+triangle\+\_\+equivalent}!Vectors in floating point@{Vectors in floating point}}
\subsubsection{\texorpdfstring{eina\+\_\+vector3\+\_\+triangle\+\_\+equivalent()}{eina\_vector3\_triangle\_equivalent()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+vector3\+\_\+triangle\+\_\+equivalent (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{v0,  }\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{v1,  }\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{v2,  }\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{w0,  }\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{w1,  }\item[{\mbox{\hyperlink{struct__Eina__Vector3}{Eina\+\_\+\+Vector3}} $\ast$}]{w2 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Check the equivalent between of two triangles of vectors. 


\begin{DoxyParams}{Parameters}
{\em v0} & The first member of first triangle. \\
\hline
{\em v1} & The second member of first triangle. \\
\hline
{\em v2} & The third member of first triangle. \\
\hline
{\em w0} & The first member of second triangle. \\
\hline
{\em w1} & The second member of second triangle. \\
\hline
{\em w2} & The third member of second triangle. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The E\+I\+N\+A\+\_\+\+T\+R\+UE if equivalent.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
