\hypertarget{group__EPhysics__Body}{}\doxysection{EPhysics Body}
\label{group__EPhysics__Body}\index{EPhysics Body@{EPhysics Body}}


A body is a representation of an object inside a physics world.  


\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{group__EPhysics__Body_ga6f5a7cbea749e1567d608b9321af9eb9}{EPHYSICS\+\_\+\+BODY\+\_\+\+MASS\+\_\+\+STATIC}}~(0.\+0)
\begin{DoxyCompactList}\small\item\em Mass amount used to makes a body static. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__EPhysics__Body_ga27512e99dc34fa2337fa663e497b1e27}{EPHYSICS\+\_\+\+BODY\+\_\+\+DENSITY\+\_\+\+WOOD}}~(680.\+0)
\begin{DoxyCompactList}\small\item\em Density of wood in kg / m $^\wedge$ 3. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__EPhysics__Body_gaf1c982444b3cd365ee1bdd2239692286}{EPHYSICS\+\_\+\+BODY\+\_\+\+DENSITY\+\_\+\+IRON}}~(7400.\+0)
\begin{DoxyCompactList}\small\item\em Density of iron in kg / m $^\wedge$ 3. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__EPhysics__Body_gab7927bb7dc3cabd1e624cb05566dba09}{EPHYSICS\+\_\+\+BODY\+\_\+\+DENSITY\+\_\+\+CONCRETE}}~(2300.\+0)
\begin{DoxyCompactList}\small\item\em Density of concrete in kg / m $^\wedge$ 3. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__EPhysics__Body_gad25c12093611b1e121218794acdcd261}{EPHYSICS\+\_\+\+BODY\+\_\+\+DENSITY\+\_\+\+RUBBER}}~(920.\+0)
\begin{DoxyCompactList}\small\item\em Density of rubber in kg / m $^\wedge$ 3. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__EPhysics__Body_gaa06a7a722600758a065399c5c7b94382}{EPHYSICS\+\_\+\+BODY\+\_\+\+DENSITY\+\_\+\+POLYSTYRENE}}~(80.\+0)
\begin{DoxyCompactList}\small\item\em Density of polystyrene in kg / m $^\wedge$ 3. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__EPhysics__Body_ga7fd7521988913ed203faee3299d67731}{EPHYSICS\+\_\+\+BODY\+\_\+\+DENSITY\+\_\+\+PLASTIC}}~(1300.\+0)
\begin{DoxyCompactList}\small\item\em Density of plastic in kg / m $^\wedge$ 3. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__EPhysics__Body_ga547c86262e60760cac8e930b5b85ef47}{EPHYSICS\+\_\+\+BODY\+\_\+\+FRICTION\+\_\+\+WOOD}}~(0.\+4)
\begin{DoxyCompactList}\small\item\em Friction coefficient of wood. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__EPhysics__Body_ga32f7044e93047cd6d3b3bac9da2e6d44}{EPHYSICS\+\_\+\+BODY\+\_\+\+FRICTION\+\_\+\+IRON}}~(0.\+8)
\begin{DoxyCompactList}\small\item\em Friction coefficient of iron. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__EPhysics__Body_gabcc5b09329505bb312d6c581e616c387}{EPHYSICS\+\_\+\+BODY\+\_\+\+FRICTION\+\_\+\+CONCRETE}}~(0.\+65)
\begin{DoxyCompactList}\small\item\em Friction coefficient of concrete. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__EPhysics__Body_ga0ebe75973c80b76d7fcb8644cf53f034}{EPHYSICS\+\_\+\+BODY\+\_\+\+FRICTION\+\_\+\+RUBBER}}~(0.\+75)
\begin{DoxyCompactList}\small\item\em Friction coefficient of rubber. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__EPhysics__Body_ga4abb48d3936c9fbf268109d4ac62afad}{EPHYSICS\+\_\+\+BODY\+\_\+\+FRICTION\+\_\+\+POLYSTYRENE}}~(0.\+5)
\begin{DoxyCompactList}\small\item\em Friction coefficient of polystyrene. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__EPhysics__Body_ga317e3bcbdcbdda9f2b403d224f02cbf3}{EPHYSICS\+\_\+\+BODY\+\_\+\+FRICTION\+\_\+\+PLASTIC}}~(0.\+35)
\begin{DoxyCompactList}\small\item\em Friction coefficient of plastic. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__EPhysics__Body_ga74e9c011d0d1fd10f45cd8dcf2893426}{EPHYSICS\+\_\+\+BODY\+\_\+\+RESTITUTION\+\_\+\+WOOD}}~(0.\+7)
\begin{DoxyCompactList}\small\item\em Restitution coefficient of wood. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__EPhysics__Body_ga7eb95e5bbd6e984fa154d4a2a6eeaa0b}{EPHYSICS\+\_\+\+BODY\+\_\+\+RESTITUTION\+\_\+\+IRON}}~(0.\+85)
\begin{DoxyCompactList}\small\item\em Restitution coefficient of iron. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__EPhysics__Body_ga036d37e0d96952e92c1f00958e329c16}{EPHYSICS\+\_\+\+BODY\+\_\+\+RESTITUTION\+\_\+\+CONCRETE}}~(0.\+75)
\begin{DoxyCompactList}\small\item\em Restitution coefficient of concrete. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__EPhysics__Body_ga016e0f52f46cd30204d6b5a664c4c724}{EPHYSICS\+\_\+\+BODY\+\_\+\+RESTITUTION\+\_\+\+RUBBER}}~(0.\+3)
\begin{DoxyCompactList}\small\item\em Restitution coefficient of rubber. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__EPhysics__Body_ga03c67b9d284f796c09c8aface92f4f28}{EPHYSICS\+\_\+\+BODY\+\_\+\+RESTITUTION\+\_\+\+POLYSTYRENE}}~(0.\+5)
\begin{DoxyCompactList}\small\item\em Restitution coefficient of polystyrene. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__EPhysics__Body_ga3a89e0d5765ad9e8ef6ceb4bb1f704c3}{EPHYSICS\+\_\+\+BODY\+\_\+\+RESTITUTION\+\_\+\+PLASTIC}}~(0.\+6)
\begin{DoxyCompactList}\small\item\em Restitution coefficient of plastic. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef enum \+\_\+\+EPhysics\+\_\+\+Body\+\_\+\+Cloth\+\_\+\+Anchor\+\_\+\+Side \mbox{\hyperlink{group__EPhysics__Body_ga141ced5a614b33d9efc09c634aebbb4a}{EPhysics\+\_\+\+Body\+\_\+\+Cloth\+\_\+\+Anchor\+\_\+\+Side}}
\begin{DoxyCompactList}\small\item\em Identifier of cloth anchor sides. \end{DoxyCompactList}\item 
typedef enum \+\_\+\+EPhysics\+\_\+\+Body\+\_\+\+Face \mbox{\hyperlink{group__EPhysics__Body_ga867862771facf1a6e5af1afb4c95145f}{EPhysics\+\_\+\+Body\+\_\+\+Face}}
\begin{DoxyCompactList}\small\item\em Define in which body\textquotesingle{}s face the evas object should be set. \end{DoxyCompactList}\item 
typedef struct \+\_\+\+EPhysics\+\_\+\+Body\+\_\+\+Collision \mbox{\hyperlink{group__EPhysics__Body_ga454052288e957641ff40f79ca3c72792}{EPhysics\+\_\+\+Body\+\_\+\+Collision}}
\begin{DoxyCompactList}\small\item\em Body collision wraps collision informations. \end{DoxyCompactList}\item 
typedef enum \mbox{\hyperlink{group__EPhysics__Body_ga904d0d1462e71c1f32cb27f540b5277c}{\+\_\+\+EPhysics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}} \mbox{\hyperlink{group__EPhysics__Body_ga302259832cc6cd8828d73833f391e8be}{EPhysics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}}
\begin{DoxyCompactList}\small\item\em The types of events triggering a callback. \end{DoxyCompactList}\item 
typedef enum \mbox{\hyperlink{group__EPhysics__Body_gacaef1c39c01f3d744b26dba7ce37b19a}{\+\_\+\+EPhysics\+\_\+\+Body\+\_\+\+Material}} \mbox{\hyperlink{group__EPhysics__Body_gaed2ef2bd32f5ef2363a6690ceaa1ea29}{EPhysics\+\_\+\+Body\+\_\+\+Material}}
\begin{DoxyCompactList}\small\item\em The types of materials to be set on a body. \end{DoxyCompactList}\item 
typedef void($\ast$ \mbox{\hyperlink{group__EPhysics__Body_gadb46c643f531e500d2f84c78343aa4b1}{EPhysics\+\_\+\+Body\+\_\+\+Event\+\_\+\+Cb}}) (void $\ast$data, \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, void $\ast$event\+\_\+info)
\begin{DoxyCompactList}\small\item\em EPhysics body event callback function signature. \end{DoxyCompactList}\item 
typedef struct \+\_\+\+EPhysics\+\_\+\+Body \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}}
\begin{DoxyCompactList}\small\item\em Body handle, represents an object on EPhysics world. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__EPhysics__Body_ga49daae039dfdb8675123adb7d8bb6be5}\label{group__EPhysics__Body_ga49daae039dfdb8675123adb7d8bb6be5}} 
enum {\bfseries \+\_\+\+EPhysics\+\_\+\+Body\+\_\+\+Cloth\+\_\+\+Anchor\+\_\+\+Side} \{ \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+CLOTH\+\_\+\+ANCHOR\+\_\+\+SIDE\+\_\+\+LEFT}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+CLOTH\+\_\+\+ANCHOR\+\_\+\+SIDE\+\_\+\+RIGHT}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+CLOTH\+\_\+\+ANCHOR\+\_\+\+SIDE\+\_\+\+TOP}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+CLOTH\+\_\+\+ANCHOR\+\_\+\+SIDE\+\_\+\+BOTTOM}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+CLOTH\+\_\+\+ANCHOR\+\_\+\+SIDE\+\_\+\+LAST}
 \}
\item 
\mbox{\Hypertarget{group__EPhysics__Body_gae5037affec6b57b498a2ad6f6e34aa47}\label{group__EPhysics__Body_gae5037affec6b57b498a2ad6f6e34aa47}} 
enum {\bfseries \+\_\+\+EPhysics\+\_\+\+Body\+\_\+\+Face} \{ \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+BOX\+\_\+\+FACE\+\_\+\+MIDDLE\+\_\+\+FRONT}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+BOX\+\_\+\+FACE\+\_\+\+MIDDLE\+\_\+\+BACK}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+BOX\+\_\+\+FACE\+\_\+\+FRONT}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+BOX\+\_\+\+FACE\+\_\+\+BACK}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+BOX\+\_\+\+FACE\+\_\+\+LEFT}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+BOX\+\_\+\+FACE\+\_\+\+RIGHT}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+BOX\+\_\+\+FACE\+\_\+\+TOP}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+BOX\+\_\+\+FACE\+\_\+\+BOTTOM}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+CLOTH\+\_\+\+FACE\+\_\+\+FRONT}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+CLOTH\+\_\+\+FACE\+\_\+\+BACK}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+CYLINDER\+\_\+\+FACE\+\_\+\+MIDDLE\+\_\+\+FRONT}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+CYLINDER\+\_\+\+FACE\+\_\+\+MIDDLE\+\_\+\+BACK}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+CYLINDER\+\_\+\+FACE\+\_\+\+FRONT}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+CYLINDER\+\_\+\+FACE\+\_\+\+BACK}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+CYLINDER\+\_\+\+FACE\+\_\+\+CURVED}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+SPHERE\+\_\+\+FACE\+\_\+\+FRONT}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+SPHERE\+\_\+\+FACE\+\_\+\+BACK}
, \newline
{\bfseries EPHYSICS\+\_\+\+BODY\+\_\+\+FACE\+\_\+\+LAST}
 \}
\item 
enum \mbox{\hyperlink{group__EPhysics__Body_ga904d0d1462e71c1f32cb27f540b5277c}{\+\_\+\+EPhysics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}} \{ \newline
\mbox{\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cacb2363cd59bc8642e74ad916c6658e0a}{EPHYSICS\+\_\+\+CALLBACK\+\_\+\+BODY\+\_\+\+UPDATE}}
, \newline
\mbox{\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277caa002e2d26e86261221dc643f19071754}{EPHYSICS\+\_\+\+CALLBACK\+\_\+\+BODY\+\_\+\+COLLISION}}
, \newline
\mbox{\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cab8f46f167ee3872ea35fe645bf14a5d2}{EPHYSICS\+\_\+\+CALLBACK\+\_\+\+BODY\+\_\+\+DEL}}
, \newline
\mbox{\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cae88f6dfe5c24a67f5f074fb818edfa72}{EPHYSICS\+\_\+\+CALLBACK\+\_\+\+BODY\+\_\+\+STOPPED}}
, \newline
\mbox{\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277ca25173c695395510a437472c788c580e7}{EPHYSICS\+\_\+\+CALLBACK\+\_\+\+BODY\+\_\+\+LAST}}
 \}
\item 
enum \mbox{\hyperlink{group__EPhysics__Body_gacaef1c39c01f3d744b26dba7ce37b19a}{\+\_\+\+EPhysics\+\_\+\+Body\+\_\+\+Material}} \{ \newline
\mbox{\hyperlink{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aafd81323434eb3fd5caaf3fa52772e420}{EPHYSICS\+\_\+\+BODY\+\_\+\+MATERIAL\+\_\+\+CUSTOM}}
, \newline
\mbox{\hyperlink{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa10b69deaba5813f633814accde44c49f}{EPHYSICS\+\_\+\+BODY\+\_\+\+MATERIAL\+\_\+\+CONCRETE}}
, \newline
\mbox{\hyperlink{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa45165c91583fe45770f3f477691ec72b}{EPHYSICS\+\_\+\+BODY\+\_\+\+MATERIAL\+\_\+\+IRON}}
, \newline
\mbox{\hyperlink{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa84006e0d3564bf5abac54fd7caf62ed3}{EPHYSICS\+\_\+\+BODY\+\_\+\+MATERIAL\+\_\+\+PLASTIC}}
, \newline
\mbox{\hyperlink{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aab23a76321e42355651d0ff28ac607e12}{EPHYSICS\+\_\+\+BODY\+\_\+\+MATERIAL\+\_\+\+POLYSTYRENE}}
, \newline
\mbox{\hyperlink{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa7ee7c244bacc6e80242beef9aa72bb50}{EPHYSICS\+\_\+\+BODY\+\_\+\+MATERIAL\+\_\+\+RUBBER}}
, \newline
\mbox{\hyperlink{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa6da554ebde5c54ea870e85dbc1e99344}{EPHYSICS\+\_\+\+BODY\+\_\+\+MATERIAL\+\_\+\+WOOD}}
, \newline
\mbox{\hyperlink{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa0e10b889bbdb9ad63a1dbaf95b7d5c84}{EPHYSICS\+\_\+\+BODY\+\_\+\+MATERIAL\+\_\+\+LAST}}
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_gace8f2c2feb58e7d141d72aa2d0e8a37d}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+hardness\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double hardness)
\begin{DoxyCompactList}\small\item\em Set the soft body hardness percentage. \end{DoxyCompactList}\item 
EAPI double \mbox{\hyperlink{group__EPhysics__Body_gaf9636fa2c7109bd761d9547d6945e857}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+hardness\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get the soft body hardness percentage. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga6cdacb32e4118455e201de3e0fc9027d}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+anchor\+\_\+hardness\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double hardness)
\begin{DoxyCompactList}\small\item\em Set the soft body anchor hardness percentage. \end{DoxyCompactList}\item 
EAPI double \mbox{\hyperlink{group__EPhysics__Body_gaa1c79c6774f3365ae6bd265de4bb4a49}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+anchor\+\_\+hardness\+\_\+get}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get the soft body anchor hardnees percentage. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga8956e1d137bad8cac6fcda6919739129}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+drag\+\_\+coefficient\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double coefficient)
\begin{DoxyCompactList}\small\item\em Set the drag coefficient of a soft body. \end{DoxyCompactList}\item 
EAPI double \mbox{\hyperlink{group__EPhysics__Body_gadcbb12dac4ac9764f5404460276d3b0e}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+drag\+\_\+coefficient\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get the drag coefficient of a soft body. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga583d57dcc29add7941387796d42f4594}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+dragging\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, int triangle)
\begin{DoxyCompactList}\small\item\em Set the soft body dragging status. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga0f3f7c81320c1f0b6fb5d362a05e5305}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+dragging\+\_\+unset}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Unset the soft body dragging status. \end{DoxyCompactList}\item 
EAPI int \mbox{\hyperlink{group__EPhysics__Body_ga9b1f56dafd0b3747b0a44062c63cf979}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+index\+\_\+get}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} x, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} y)
\begin{DoxyCompactList}\small\item\em Get the triangle index of a soft body in {\ttfamily x} and {\ttfamily y}. \end{DoxyCompactList}\item 
EAPI int \mbox{\hyperlink{group__EPhysics__Body_ga092ec1d7d675416e396ca39a4d1c9d61}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+slice\+\_\+index\+\_\+get}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$slice)
\begin{DoxyCompactList}\small\item\em Get the slice index of a soft body based on its slice\`{}s Evas Object. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_ga40285ba41a131b9b10e87f4bcf580192}{ephysics\+\_\+body\+\_\+soft\+\_\+sphere\+\_\+add}} (\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$world, int granularity)
\begin{DoxyCompactList}\small\item\em Add a soft sphere. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_gaf895b53d5ad8b0da70368c19d4779d5b}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangles\+\_\+inside\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} x, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} y, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} z, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} w, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} h, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} d)
\begin{DoxyCompactList}\small\item\em Get a list of triangles indexes inside an area. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga8ae690e71bee44ba070d40d3b404879c}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+impulse\+\_\+apply}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, int idx, double x, double y, double z)
\begin{DoxyCompactList}\small\item\em Apply an impulse on a given soft body triangle. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga2cb3b0785d05cabf8b618091908c7b7a}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+list\+\_\+impulse\+\_\+apply}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$triangles, double x, double y, double z)
\begin{DoxyCompactList}\small\item\em Apply impulse in a list of triangles. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga9878c25b81edf2b9ef9259b3d9f0d227}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+position\+\_\+iterations\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, int iterations)
\begin{DoxyCompactList}\small\item\em Set the soft body number of position iterations. \end{DoxyCompactList}\item 
EAPI int \mbox{\hyperlink{group__EPhysics__Body_ga900f3771b34866a8314f4c46007b1f3c}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+position\+\_\+iterations\+\_\+get}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get the soft body number of position iterations. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga0ea2657d75a116770615e96096c4aee0}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+move}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, int idx, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} x, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} y, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} z)
\begin{DoxyCompactList}\small\item\em Move a body\textquotesingle{}s triangle. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_gad684bb41d78818b2c7af07ead74e5509}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+bending\+\_\+constraints\+\_\+add}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, int number)
\begin{DoxyCompactList}\small\item\em Add new bending constraints to some {\ttfamily body}. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_ga9fe94b35f5b58527b1199a23468b1f86}{ephysics\+\_\+body\+\_\+sphere\+\_\+add}} (\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a new sphere physics body. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_gaf2c29ed64a1c548903c39400af792293}{ephysics\+\_\+body\+\_\+cylinder\+\_\+add}} (\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a new cylinder physics body. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_ga4859489c252a24a1302834cf00917ffb}{ephysics\+\_\+body\+\_\+soft\+\_\+cylinder\+\_\+add}} (\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a new deformable cylinder physics body. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_ga6381538c9002ea30171c0a64100350f5}{ephysics\+\_\+body\+\_\+box\+\_\+add}} (\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a new box physics body. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_ga53de9b6eca8564792f8c09e23be390ba}{ephysics\+\_\+body\+\_\+soft\+\_\+box\+\_\+add}} (\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a new deformable box physics body. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_gabc17f66be80c29562eb827973b495e6c}{ephysics\+\_\+body\+\_\+cloth\+\_\+add}} (\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$world, unsigned short rows, unsigned short columns)
\begin{DoxyCompactList}\small\item\em Create a new deformable cloth physics body. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_gad613c22fe04b10546a25d3e44901e65d}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+full\+\_\+add}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body1, \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body2, \mbox{\hyperlink{group__EPhysics__Body_ga141ced5a614b33d9efc09c634aebbb4a}{EPhysics\+\_\+\+Body\+\_\+\+Cloth\+\_\+\+Anchor\+\_\+\+Side}} side)
\begin{DoxyCompactList}\small\item\em Anchors a cloth with a rigid body. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga909b36744802759641d02b0414be90d4}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+add}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body1, \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body2, int node)
\begin{DoxyCompactList}\small\item\em Anchors an arbitrary cloth\textquotesingle{}s node with a rigid body. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga5e42bca444f7f8f539a2d9656441d048}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+del}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Removes the anchors in a cloth body. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_gaee1301dfd2548f4774d5e4cb81b14385}{ephysics\+\_\+body\+\_\+shape\+\_\+add}} (\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$world, \mbox{\hyperlink{group__EPhysics__Shape_gadfcc565af1b4e898f2959292a9089e7e}{EPhysics\+\_\+\+Shape}} $\ast$shape)
\begin{DoxyCompactList}\small\item\em Create a new physics body using a custom shape. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_ga58ecc44fc7febb980fe1857ef053f61f}{ephysics\+\_\+body\+\_\+top\+\_\+boundary\+\_\+add}} (\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a physic top boundary. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_ga41939240a53e1373d592b8a6be273978}{ephysics\+\_\+body\+\_\+bottom\+\_\+boundary\+\_\+add}} (\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a physic bottom boundary. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_ga6bad14ec64496e39d589ac25aee889f0}{ephysics\+\_\+body\+\_\+left\+\_\+boundary\+\_\+add}} (\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a physic left boundary. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_gaa2db93bfa483a5a1b755801d14a343dd}{ephysics\+\_\+body\+\_\+right\+\_\+boundary\+\_\+add}} (\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a physic right boundary. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_gaf91610f37186f2b0ace1030b3c85bd4f}{ephysics\+\_\+body\+\_\+front\+\_\+boundary\+\_\+add}} (\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a physic front boundary. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_gaa882272835bcd3e4d140a58c94e6c6df}{ephysics\+\_\+body\+\_\+back\+\_\+boundary\+\_\+add}} (\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a physic back boundary. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Delete a physics body. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_gaba7bf04204e1afff25e28e3db132ef9f}{ephysics\+\_\+body\+\_\+world\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get the world a body belongs to. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$evas\+\_\+obj, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} use\+\_\+obj\+\_\+pos)
\begin{DoxyCompactList}\small\item\em Set an evas object to a physics body. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_gad2766a9306c7c8114ad6cb0ee4a8bd36}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+unset}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Unset the evas object associated to a physics body. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_gade11f9cb1bdd26f393adbbe0b4a594be}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get the evas object associated to a physics body. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{group__EPhysics__Body_ga867862771facf1a6e5af1afb4c95145f}{EPhysics\+\_\+\+Body\+\_\+\+Face}} face, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$evas\+\_\+obj, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} use\+\_\+obj\+\_\+pos)
\begin{DoxyCompactList}\small\item\em Set an evas object to a physics body face. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_ga423ddd0f18213886c0e01b1faedb06d4}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{group__EPhysics__Body_ga867862771facf1a6e5af1afb4c95145f}{EPhysics\+\_\+\+Body\+\_\+\+Face}} face)
\begin{DoxyCompactList}\small\item\em Get the evas object associated to a physics body face. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_ga0940058bd74ef95747a07809b3ec80a0}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+unset}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{group__EPhysics__Body_ga867862771facf1a6e5af1afb4c95145f}{EPhysics\+\_\+\+Body\+\_\+\+Face}} face)
\begin{DoxyCompactList}\small\item\em Unset the evas object associated to a physics body face. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_gad4333b73a33d08bd598cc4c442230902}{ephysics\+\_\+body\+\_\+resize}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} w, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} h, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} d)
\begin{DoxyCompactList}\small\item\em Set physics body size. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_gae3c32aa0cdd60ffec86fff30097e75e1}{ephysics\+\_\+body\+\_\+move}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} x, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} y, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} z)
\begin{DoxyCompactList}\small\item\em Set physics body position. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} x, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} y, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} z, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} w, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} h, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} d)
\begin{DoxyCompactList}\small\item\em Set physics body geometry. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_gae84f1b9e25cb15f7ec63d1371093b263}{ephysics\+\_\+body\+\_\+geometry\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} $\ast$x, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} $\ast$y, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} $\ast$z, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} $\ast$w, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} $\ast$h, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} $\ast$d)
\begin{DoxyCompactList}\small\item\em Get physics body position. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_gaa0915777f634079ca6c088fda5c20e8f}{ephysics\+\_\+body\+\_\+mass\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double mass)
\begin{DoxyCompactList}\small\item\em Set body\textquotesingle{}s mass. \end{DoxyCompactList}\item 
EAPI double \mbox{\hyperlink{group__EPhysics__Body_gace451135f119bcc7b64516cb6d5b252f}{ephysics\+\_\+body\+\_\+mass\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get body\textquotesingle{}s mass. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga1e2bbd2a002b05afbfdbd0da2a9480ed}{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double x, double y, double z)
\begin{DoxyCompactList}\small\item\em Set body\textquotesingle{}s linear velocity on x, y and z axes. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga45dadf9123da25dd007b6c458f86d589}{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double $\ast$x, double $\ast$y, double $\ast$z)
\begin{DoxyCompactList}\small\item\em Get body\textquotesingle{}s linear velocity on x, y and z axes. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga118210c9836a166c923665fc4714997d}{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double x, double y, double z)
\begin{DoxyCompactList}\small\item\em Set body\textquotesingle{}s angular velocity on x, y and z axes. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga4aa2211390aefa191a13639a672f21e8}{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double $\ast$x, double $\ast$y, double $\ast$z)
\begin{DoxyCompactList}\small\item\em Get body\textquotesingle{}s angular velocity on x, y and z axes. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_gaa65f3bf819cf09ac5da543ee6460a9f3}{ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double linear\+\_\+threshold, double angular\+\_\+threshold)
\begin{DoxyCompactList}\small\item\em Set the linear and angular sleeping threshold. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_gacaf8c1fdcc247819ef0646539742c11b}{ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double $\ast$linear\+\_\+threshold, double $\ast$angular\+\_\+threshold)
\begin{DoxyCompactList}\small\item\em Get the linear sleeping threshold. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_gabf7fbfc0052b28ed1d5fcade8eeaa5e6}{ephysics\+\_\+body\+\_\+stop}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Stop angular and linear body movement. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga0ecea96f6a5a62f29e2bdeecb86db400}{ephysics\+\_\+body\+\_\+damping\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double linear\+\_\+damping, double angular\+\_\+damping)
\begin{DoxyCompactList}\small\item\em Set the angular and linear damping values. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga1349b21af465b7e0fe5aec01cc17b10d}{ephysics\+\_\+body\+\_\+damping\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double $\ast$linear\+\_\+damping, double $\ast$angular\+\_\+damping)
\begin{DoxyCompactList}\small\item\em Get the angular and linear damping values. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__EPhysics__Body_ga163b202be4c445bf79c28adb0db2bdbd}{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+add}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, const char $\ast$group)
\begin{DoxyCompactList}\small\item\em Add a {\ttfamily body} to a given collision group. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__EPhysics__Body_ga7743d5ddc3cab8c82561463611ff5db5}{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+del}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, const char $\ast$group)
\begin{DoxyCompactList}\small\item\em Removes {\ttfamily body} from collision {\ttfamily group}. \end{DoxyCompactList}\item 
EAPI const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_ga2d1ef4b73573e2b105cd07e1d807fd49}{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+list\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get the collision group list of {\ttfamily body}. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga7209e650176e0612efb2a2cc2af0ec27}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+update}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Update the evas object associated to the body. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{group__EPhysics__Body_ga302259832cc6cd8828d73833f391e8be}{EPhysics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}} type, \mbox{\hyperlink{group__EPhysics__Body_gadb46c643f531e500d2f84c78343aa4b1}{EPhysics\+\_\+\+Body\+\_\+\+Event\+\_\+\+Cb}} func, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Register a callback to a type of physics body event. \end{DoxyCompactList}\item 
EAPI void $\ast$ \mbox{\hyperlink{group__EPhysics__Body_ga423e646645380f84582523bb21f89286}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{group__EPhysics__Body_ga302259832cc6cd8828d73833f391e8be}{EPhysics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}} type, \mbox{\hyperlink{group__EPhysics__Body_gadb46c643f531e500d2f84c78343aa4b1}{EPhysics\+\_\+\+Body\+\_\+\+Event\+\_\+\+Cb}} func)
\begin{DoxyCompactList}\small\item\em Unregister an ephysics body event callback. \end{DoxyCompactList}\item 
EAPI void $\ast$ \mbox{\hyperlink{group__EPhysics__Body_ga42ddba8937442dc0f89eada6c49dff3c}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del\+\_\+full}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{group__EPhysics__Body_ga302259832cc6cd8828d73833f391e8be}{EPhysics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}} type, \mbox{\hyperlink{group__EPhysics__Body_gadb46c643f531e500d2f84c78343aa4b1}{EPhysics\+\_\+\+Body\+\_\+\+Event\+\_\+\+Cb}} func, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Unregister an ephysics body event callback matching data pointer. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_gabcbb3bd68d47bb0fdf071bb022763d58}{ephysics\+\_\+body\+\_\+collision\+\_\+position\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_ga454052288e957641ff40f79ca3c72792}{EPhysics\+\_\+\+Body\+\_\+\+Collision}} $\ast$collision, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} $\ast$x, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} $\ast$y, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} $\ast$z)
\begin{DoxyCompactList}\small\item\em Get the position(x, y) of a body\textquotesingle{}s collision. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_gacb7ca0a444bf31b04b84f97d7198d392}{ephysics\+\_\+body\+\_\+collision\+\_\+contact\+\_\+body\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_ga454052288e957641ff40f79ca3c72792}{EPhysics\+\_\+\+Body\+\_\+\+Collision}} $\ast$collision)
\begin{DoxyCompactList}\small\item\em Get the body\textquotesingle{}s collision contact body. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}{ephysics\+\_\+body\+\_\+restitution\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double restitution)
\begin{DoxyCompactList}\small\item\em Set body\textquotesingle{}s coefficient of restitution. \end{DoxyCompactList}\item 
EAPI double \mbox{\hyperlink{group__EPhysics__Body_ga6546a6558cad9468a9af2e1517cab82d}{ephysics\+\_\+body\+\_\+restitution\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get body\textquotesingle{}s restitution. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}{ephysics\+\_\+body\+\_\+friction\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double friction)
\begin{DoxyCompactList}\small\item\em Set body\textquotesingle{}s friction. \end{DoxyCompactList}\item 
EAPI double \mbox{\hyperlink{group__EPhysics__Body_gae7cc514b91c8c13ab709f9e6534ea19e}{ephysics\+\_\+body\+\_\+friction\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get body\textquotesingle{}s friction. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga9109b39047a724640f6a18c683c9eb07}{ephysics\+\_\+body\+\_\+central\+\_\+impulse\+\_\+apply}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double x, double y, double z)
\begin{DoxyCompactList}\small\item\em Apply an impulse on the center of a body. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga6c6d3c8bfc6bb5600947b66b519d2d98}{ephysics\+\_\+body\+\_\+torque\+\_\+impulse\+\_\+apply}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double pitch, double yaw, double roll)
\begin{DoxyCompactList}\small\item\em Apply a torque impulse over a body. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_gadc5405c4d07742e9aff7a0a564aa63e2}{ephysics\+\_\+body\+\_\+impulse\+\_\+apply}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double x, double y, double z, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} pos\+\_\+x, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} pos\+\_\+y, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} pos\+\_\+z)
\begin{DoxyCompactList}\small\item\em Apply an impulse over a body. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga049f9410c5d04d5b810a1755da993cc0}{ephysics\+\_\+body\+\_\+angular\+\_\+movement\+\_\+enable\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} enable\+\_\+x, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} enable\+\_\+y, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} enable\+\_\+z)
\begin{DoxyCompactList}\small\item\em Enable or disable body\textquotesingle{}s rotation on z axis. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga055108d89ca21f230fbf58b387a451bd}{ephysics\+\_\+body\+\_\+angular\+\_\+movement\+\_\+enable\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} $\ast$enable\+\_\+x, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} $\ast$enable\+\_\+y, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} $\ast$enable\+\_\+z)
\begin{DoxyCompactList}\small\item\em Return body\textquotesingle{}s rotation on z axis state. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_gae25a32b3808208877a177661b0e24b8e}{ephysics\+\_\+body\+\_\+linear\+\_\+movement\+\_\+enable\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} enable\+\_\+x, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} enable\+\_\+y, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} enable\+\_\+z)
\begin{DoxyCompactList}\small\item\em Enable or disable body\textquotesingle{}s movement on x, y and z axes. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga5266a4832c78178b58f3300fc12c37aa}{ephysics\+\_\+body\+\_\+linear\+\_\+movement\+\_\+enable\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} $\ast$enable\+\_\+x, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} $\ast$enable\+\_\+y, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} $\ast$enable\+\_\+z)
\begin{DoxyCompactList}\small\item\em Get body\textquotesingle{}s movement on x, y and z axes behavior. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__EPhysics__Quaternion_ga0a3aa92825f4a5d1feeffb07945a4bbf}{EPhysics\+\_\+\+Quaternion}} $\ast$ \mbox{\hyperlink{group__EPhysics__Body_ga39ae7b220642d8c30cab9c8b313cdde3}{ephysics\+\_\+body\+\_\+rotation\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{group__EPhysics__Quaternion_ga0a3aa92825f4a5d1feeffb07945a4bbf}{EPhysics\+\_\+\+Quaternion}} $\ast$rotation)
\begin{DoxyCompactList}\small\item\em Get body\textquotesingle{}s rotation quaternion. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga11a611cba12f9066a272e5cb6d1b371e}{ephysics\+\_\+body\+\_\+rotation\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{group__EPhysics__Quaternion_ga0a3aa92825f4a5d1feeffb07945a4bbf}{EPhysics\+\_\+\+Quaternion}} $\ast$quat)
\begin{DoxyCompactList}\small\item\em Set body\textquotesingle{}s rotation. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_gac696066772dc2d9e12a5fe08afee0688}{ephysics\+\_\+body\+\_\+data\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Set data to {\ttfamily body}. \end{DoxyCompactList}\item 
EAPI void $\ast$ \mbox{\hyperlink{group__EPhysics__Body_gabe37e8ee4f2a736a4c162dd805b56d86}{ephysics\+\_\+body\+\_\+data\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Return data previously set to body. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga2134702db807dc4f7dc604d72e5b73db}{ephysics\+\_\+body\+\_\+central\+\_\+force\+\_\+apply}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double x, double y, double z)
\begin{DoxyCompactList}\small\item\em Apply a force on the center of a body. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga336a585598ed882a9575ed72a9f748e2}{ephysics\+\_\+body\+\_\+torque\+\_\+apply}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double torque\+\_\+x, double torque\+\_\+y, double torque\+\_\+z)
\begin{DoxyCompactList}\small\item\em Apply a torque over a body. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga5fe14931bd89326182bdf021d84ec40c}{ephysics\+\_\+body\+\_\+force\+\_\+apply}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double x, double y, double z, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} pos\+\_\+x, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} pos\+\_\+y, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} pos\+\_\+z)
\begin{DoxyCompactList}\small\item\em Apply a force over a body. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_gaa4ff8dc0e1edefd2ad6a52361ff23edd}{ephysics\+\_\+body\+\_\+forces\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double $\ast$x, double $\ast$y, double $\ast$z)
\begin{DoxyCompactList}\small\item\em Get physics body forces. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga7d494e105a7f3a16e658b36ff00e8f17}{ephysics\+\_\+body\+\_\+torques\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double $\ast$x, double $\ast$y, double $\ast$z)
\begin{DoxyCompactList}\small\item\em Get physics body torques. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga8a84144392d9f3c7dbecdec6a1199a49}{ephysics\+\_\+body\+\_\+forces\+\_\+clear}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Clear all the forces applied to a body. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga2370842d3a7fb806534e51acb543286d}{ephysics\+\_\+body\+\_\+center\+\_\+mass\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double $\ast$x, double $\ast$y, double $\ast$z)
\begin{DoxyCompactList}\small\item\em Get the center of mass of physics body. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_gabe0a56c7d3bb4cecd6161c412457c974}{ephysics\+\_\+body\+\_\+density\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, double density)
\begin{DoxyCompactList}\small\item\em Set body\textquotesingle{}s material density. \end{DoxyCompactList}\item 
EAPI double \mbox{\hyperlink{group__EPhysics__Body_gae30c5e062a35d0f75f91d43c82ca93af}{ephysics\+\_\+body\+\_\+density\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get body\textquotesingle{}s material density. \end{DoxyCompactList}\item 
EAPI double \mbox{\hyperlink{group__EPhysics__Body_gaa128367c0b773e54d430ec11fc96a4b6}{ephysics\+\_\+body\+\_\+volume\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get body\textquotesingle{}s volume. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga626f390590db830fea221c4ef42a2f5b}{ephysics\+\_\+body\+\_\+material\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{group__EPhysics__Body_gaed2ef2bd32f5ef2363a6690ceaa1ea29}{EPhysics\+\_\+\+Body\+\_\+\+Material}} material)
\begin{DoxyCompactList}\small\item\em Set body\textquotesingle{}s material. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__EPhysics__Body_gaed2ef2bd32f5ef2363a6690ceaa1ea29}{EPhysics\+\_\+\+Body\+\_\+\+Material}} \mbox{\hyperlink{group__EPhysics__Body_gad29b75d5e38aade74c06993cfead2fb0}{ephysics\+\_\+body\+\_\+material\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get body\textquotesingle{}s material. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_ga37dc0885fe9a3b3ec643edd42a9e7a6f}{ephysics\+\_\+body\+\_\+light\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} enable)
\begin{DoxyCompactList}\small\item\em Set light effect over body. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__EPhysics__Body_ga447c41bf0f810ae25a8ce37634b34fae}{ephysics\+\_\+body\+\_\+light\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get light effect over body. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__EPhysics__Body_gafb9956cf8648c885add542272f924d9e}{ephysics\+\_\+body\+\_\+back\+\_\+face\+\_\+culling\+\_\+set}} (\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} enable)
\begin{DoxyCompactList}\small\item\em Set body\textquotesingle{}s evas object to be hidden when it is counter-\/clockwise. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__EPhysics__Body_ga5a6c7a2f58cd10585a6fa667cce1da06}{ephysics\+\_\+body\+\_\+back\+\_\+face\+\_\+culling\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Return if body\textquotesingle{}s evas object will be hidden when it is counter-\/clockwise or not. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__EPhysics__Body_ga7df8fedc4b224a89288b1b4f8568aad1}{ephysics\+\_\+body\+\_\+clockwise\+\_\+get}} (const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get the clockwise state of a body. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
A body is a representation of an object inside a physics world. 

Bodies can have different shapes that can be created with\+: \begin{DoxyItemize}
\item \mbox{\hyperlink{group__EPhysics__Body_gaf2c29ed64a1c548903c39400af792293}{ephysics\+\_\+body\+\_\+cylinder\+\_\+add()}}; \item \mbox{\hyperlink{group__EPhysics__Body_ga6381538c9002ea30171c0a64100350f5}{ephysics\+\_\+body\+\_\+box\+\_\+add()}}; \item or \mbox{\hyperlink{group__EPhysics__Body_gaee1301dfd2548f4774d5e4cb81b14385}{ephysics\+\_\+body\+\_\+shape\+\_\+add()}}.\end{DoxyItemize}
Also they can be soft bodies, that won\textquotesingle{}t act as rigid bodies. They will deform its shape under certain circumstances, like under collisions. Soft bodies can be created with\+: \begin{DoxyItemize}
\item \mbox{\hyperlink{group__EPhysics__Body_ga4859489c252a24a1302834cf00917ffb}{ephysics\+\_\+body\+\_\+soft\+\_\+cylinder\+\_\+add()}}; \item \mbox{\hyperlink{group__EPhysics__Body_ga53de9b6eca8564792f8c09e23be390ba}{ephysics\+\_\+body\+\_\+soft\+\_\+box\+\_\+add()}};\end{DoxyItemize}
They can collide and have customizable properties, like\+: \begin{DoxyItemize}
\item mass, set with \mbox{\hyperlink{group__EPhysics__Body_gaa0915777f634079ca6c088fda5c20e8f}{ephysics\+\_\+body\+\_\+mass\+\_\+set()}}; \item coefficient of restitution, set with \mbox{\hyperlink{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}{ephysics\+\_\+body\+\_\+restitution\+\_\+set()}}; \item and friction, set with \mbox{\hyperlink{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}{ephysics\+\_\+body\+\_\+friction\+\_\+set()}}.\end{DoxyItemize}
Bodies can have its position and size directly set by\+: \mbox{\hyperlink{group__EPhysics__Body_gae3c32aa0cdd60ffec86fff30097e75e1}{ephysics\+\_\+body\+\_\+move()}}; \mbox{\hyperlink{group__EPhysics__Body_gad4333b73a33d08bd598cc4c442230902}{ephysics\+\_\+body\+\_\+resize()}}; \mbox{\hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set()}}.

Their rotation can be set directly with \mbox{\hyperlink{group__EPhysics__Body_ga11a611cba12f9066a272e5cb6d1b371e}{ephysics\+\_\+body\+\_\+rotation\+\_\+set()}}.

Also, they can have an associated evas object, done with \mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}} function, being responsible for updating its position and rotation, or letting a user callback be set for this task with \mbox{\hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()}}.

Bodies can have velocity set with \mbox{\hyperlink{group__EPhysics__Body_ga1e2bbd2a002b05afbfdbd0da2a9480ed}{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+set()}} and \mbox{\hyperlink{group__EPhysics__Body_ga118210c9836a166c923665fc4714997d}{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+set()}}.

Also, bodies can have forces and impulses applied over them, and they will be affected by gravity.

Forces will be acting while they\textquotesingle{}re set, changing bodies velocity over time. Impulses are applied only once, modifying bodies velocity immediately to the new value.

Forces can be managed with\+: \begin{DoxyItemize}
\item \mbox{\hyperlink{group__EPhysics__Body_ga2134702db807dc4f7dc604d72e5b73db}{ephysics\+\_\+body\+\_\+central\+\_\+force\+\_\+apply()}}; \item \mbox{\hyperlink{group__EPhysics__Body_ga336a585598ed882a9575ed72a9f748e2}{ephysics\+\_\+body\+\_\+torque\+\_\+apply()}}. \item \mbox{\hyperlink{group__EPhysics__Body_ga5fe14931bd89326182bdf021d84ec40c}{ephysics\+\_\+body\+\_\+force\+\_\+apply()}}; \item \mbox{\hyperlink{group__EPhysics__Body_ga8a84144392d9f3c7dbecdec6a1199a49}{ephysics\+\_\+body\+\_\+forces\+\_\+clear()}};\end{DoxyItemize}
Impulses can be applied with\+: \begin{DoxyItemize}
\item \mbox{\hyperlink{group__EPhysics__Body_ga9109b39047a724640f6a18c683c9eb07}{ephysics\+\_\+body\+\_\+central\+\_\+impulse\+\_\+apply()}}; \item \mbox{\hyperlink{group__EPhysics__Body_ga6c6d3c8bfc6bb5600947b66b519d2d98}{ephysics\+\_\+body\+\_\+torque\+\_\+impulse\+\_\+apply()}}. \item \mbox{\hyperlink{group__EPhysics__Body_gadc5405c4d07742e9aff7a0a564aa63e2}{ephysics\+\_\+body\+\_\+impulse\+\_\+apply()}};\end{DoxyItemize}
Bodies can be removed from the world being directly deleted with \mbox{\hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del()}} or when the world is deleted, case when all the bodies belonging to it will be deleted as well. Evas objects associated to these bodies won\textquotesingle{}t be affected in any way, but they will stop being moved or rotated. 

\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{group__EPhysics__Body_ga6f5a7cbea749e1567d608b9321af9eb9}\label{group__EPhysics__Body_ga6f5a7cbea749e1567d608b9321af9eb9}} 
\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_MASS\_STATIC@{EPHYSICS\_BODY\_MASS\_STATIC}}
\index{EPHYSICS\_BODY\_MASS\_STATIC@{EPHYSICS\_BODY\_MASS\_STATIC}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPHYSICS\_BODY\_MASS\_STATIC}{EPHYSICS\_BODY\_MASS\_STATIC}}
{\footnotesize\ttfamily \#define EPHYSICS\+\_\+\+BODY\+\_\+\+MASS\+\_\+\+STATIC~(0.\+0)}



Mass amount used to makes a body static. 

Body will be set with infinite mass, so it will be immovable.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gaa0915777f634079ca6c088fda5c20e8f}{ephysics\+\_\+body\+\_\+mass\+\_\+set()}} for details. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga27512e99dc34fa2337fa663e497b1e27}\label{group__EPhysics__Body_ga27512e99dc34fa2337fa663e497b1e27}} 
\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_DENSITY\_WOOD@{EPHYSICS\_BODY\_DENSITY\_WOOD}}
\index{EPHYSICS\_BODY\_DENSITY\_WOOD@{EPHYSICS\_BODY\_DENSITY\_WOOD}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPHYSICS\_BODY\_DENSITY\_WOOD}{EPHYSICS\_BODY\_DENSITY\_WOOD}}
{\footnotesize\ttfamily \#define EPHYSICS\+\_\+\+BODY\+\_\+\+DENSITY\+\_\+\+WOOD~(680.\+0)}



Density of wood in kg / m $^\wedge$ 3. 

It can be set to a body with \mbox{\hyperlink{group__EPhysics__Body_gabe0a56c7d3bb4cecd6161c412457c974}{ephysics\+\_\+body\+\_\+density\+\_\+set()}}. \mbox{\Hypertarget{group__EPhysics__Body_gaf1c982444b3cd365ee1bdd2239692286}\label{group__EPhysics__Body_gaf1c982444b3cd365ee1bdd2239692286}} 
\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_DENSITY\_IRON@{EPHYSICS\_BODY\_DENSITY\_IRON}}
\index{EPHYSICS\_BODY\_DENSITY\_IRON@{EPHYSICS\_BODY\_DENSITY\_IRON}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPHYSICS\_BODY\_DENSITY\_IRON}{EPHYSICS\_BODY\_DENSITY\_IRON}}
{\footnotesize\ttfamily \#define EPHYSICS\+\_\+\+BODY\+\_\+\+DENSITY\+\_\+\+IRON~(7400.\+0)}



Density of iron in kg / m $^\wedge$ 3. 

It can be set to a body with \mbox{\hyperlink{group__EPhysics__Body_gabe0a56c7d3bb4cecd6161c412457c974}{ephysics\+\_\+body\+\_\+density\+\_\+set()}}. \mbox{\Hypertarget{group__EPhysics__Body_gab7927bb7dc3cabd1e624cb05566dba09}\label{group__EPhysics__Body_gab7927bb7dc3cabd1e624cb05566dba09}} 
\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_DENSITY\_CONCRETE@{EPHYSICS\_BODY\_DENSITY\_CONCRETE}}
\index{EPHYSICS\_BODY\_DENSITY\_CONCRETE@{EPHYSICS\_BODY\_DENSITY\_CONCRETE}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPHYSICS\_BODY\_DENSITY\_CONCRETE}{EPHYSICS\_BODY\_DENSITY\_CONCRETE}}
{\footnotesize\ttfamily \#define EPHYSICS\+\_\+\+BODY\+\_\+\+DENSITY\+\_\+\+CONCRETE~(2300.\+0)}



Density of concrete in kg / m $^\wedge$ 3. 

It can be set to a body with \mbox{\hyperlink{group__EPhysics__Body_gabe0a56c7d3bb4cecd6161c412457c974}{ephysics\+\_\+body\+\_\+density\+\_\+set()}}. \mbox{\Hypertarget{group__EPhysics__Body_gad25c12093611b1e121218794acdcd261}\label{group__EPhysics__Body_gad25c12093611b1e121218794acdcd261}} 
\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_DENSITY\_RUBBER@{EPHYSICS\_BODY\_DENSITY\_RUBBER}}
\index{EPHYSICS\_BODY\_DENSITY\_RUBBER@{EPHYSICS\_BODY\_DENSITY\_RUBBER}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPHYSICS\_BODY\_DENSITY\_RUBBER}{EPHYSICS\_BODY\_DENSITY\_RUBBER}}
{\footnotesize\ttfamily \#define EPHYSICS\+\_\+\+BODY\+\_\+\+DENSITY\+\_\+\+RUBBER~(920.\+0)}



Density of rubber in kg / m $^\wedge$ 3. 

It can be set to a body with \mbox{\hyperlink{group__EPhysics__Body_gabe0a56c7d3bb4cecd6161c412457c974}{ephysics\+\_\+body\+\_\+density\+\_\+set()}}. \mbox{\Hypertarget{group__EPhysics__Body_gaa06a7a722600758a065399c5c7b94382}\label{group__EPhysics__Body_gaa06a7a722600758a065399c5c7b94382}} 
\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_DENSITY\_POLYSTYRENE@{EPHYSICS\_BODY\_DENSITY\_POLYSTYRENE}}
\index{EPHYSICS\_BODY\_DENSITY\_POLYSTYRENE@{EPHYSICS\_BODY\_DENSITY\_POLYSTYRENE}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPHYSICS\_BODY\_DENSITY\_POLYSTYRENE}{EPHYSICS\_BODY\_DENSITY\_POLYSTYRENE}}
{\footnotesize\ttfamily \#define EPHYSICS\+\_\+\+BODY\+\_\+\+DENSITY\+\_\+\+POLYSTYRENE~(80.\+0)}



Density of polystyrene in kg / m $^\wedge$ 3. 

It can be set to a body with \mbox{\hyperlink{group__EPhysics__Body_gabe0a56c7d3bb4cecd6161c412457c974}{ephysics\+\_\+body\+\_\+density\+\_\+set()}}. \mbox{\Hypertarget{group__EPhysics__Body_ga7fd7521988913ed203faee3299d67731}\label{group__EPhysics__Body_ga7fd7521988913ed203faee3299d67731}} 
\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_DENSITY\_PLASTIC@{EPHYSICS\_BODY\_DENSITY\_PLASTIC}}
\index{EPHYSICS\_BODY\_DENSITY\_PLASTIC@{EPHYSICS\_BODY\_DENSITY\_PLASTIC}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPHYSICS\_BODY\_DENSITY\_PLASTIC}{EPHYSICS\_BODY\_DENSITY\_PLASTIC}}
{\footnotesize\ttfamily \#define EPHYSICS\+\_\+\+BODY\+\_\+\+DENSITY\+\_\+\+PLASTIC~(1300.\+0)}



Density of plastic in kg / m $^\wedge$ 3. 

It can be set to a body with \mbox{\hyperlink{group__EPhysics__Body_gabe0a56c7d3bb4cecd6161c412457c974}{ephysics\+\_\+body\+\_\+density\+\_\+set()}}. \mbox{\Hypertarget{group__EPhysics__Body_ga547c86262e60760cac8e930b5b85ef47}\label{group__EPhysics__Body_ga547c86262e60760cac8e930b5b85ef47}} 
\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_FRICTION\_WOOD@{EPHYSICS\_BODY\_FRICTION\_WOOD}}
\index{EPHYSICS\_BODY\_FRICTION\_WOOD@{EPHYSICS\_BODY\_FRICTION\_WOOD}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPHYSICS\_BODY\_FRICTION\_WOOD}{EPHYSICS\_BODY\_FRICTION\_WOOD}}
{\footnotesize\ttfamily \#define EPHYSICS\+\_\+\+BODY\+\_\+\+FRICTION\+\_\+\+WOOD~(0.\+4)}



Friction coefficient of wood. 

It can be set to a body with \mbox{\hyperlink{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}{ephysics\+\_\+body\+\_\+friction\+\_\+set()}}. \mbox{\Hypertarget{group__EPhysics__Body_ga32f7044e93047cd6d3b3bac9da2e6d44}\label{group__EPhysics__Body_ga32f7044e93047cd6d3b3bac9da2e6d44}} 
\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_FRICTION\_IRON@{EPHYSICS\_BODY\_FRICTION\_IRON}}
\index{EPHYSICS\_BODY\_FRICTION\_IRON@{EPHYSICS\_BODY\_FRICTION\_IRON}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPHYSICS\_BODY\_FRICTION\_IRON}{EPHYSICS\_BODY\_FRICTION\_IRON}}
{\footnotesize\ttfamily \#define EPHYSICS\+\_\+\+BODY\+\_\+\+FRICTION\+\_\+\+IRON~(0.\+8)}



Friction coefficient of iron. 

It can be set to a body with \mbox{\hyperlink{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}{ephysics\+\_\+body\+\_\+friction\+\_\+set()}}. \mbox{\Hypertarget{group__EPhysics__Body_gabcc5b09329505bb312d6c581e616c387}\label{group__EPhysics__Body_gabcc5b09329505bb312d6c581e616c387}} 
\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_FRICTION\_CONCRETE@{EPHYSICS\_BODY\_FRICTION\_CONCRETE}}
\index{EPHYSICS\_BODY\_FRICTION\_CONCRETE@{EPHYSICS\_BODY\_FRICTION\_CONCRETE}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPHYSICS\_BODY\_FRICTION\_CONCRETE}{EPHYSICS\_BODY\_FRICTION\_CONCRETE}}
{\footnotesize\ttfamily \#define EPHYSICS\+\_\+\+BODY\+\_\+\+FRICTION\+\_\+\+CONCRETE~(0.\+65)}



Friction coefficient of concrete. 

It can be set to a body with \mbox{\hyperlink{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}{ephysics\+\_\+body\+\_\+friction\+\_\+set()}}. \mbox{\Hypertarget{group__EPhysics__Body_ga0ebe75973c80b76d7fcb8644cf53f034}\label{group__EPhysics__Body_ga0ebe75973c80b76d7fcb8644cf53f034}} 
\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_FRICTION\_RUBBER@{EPHYSICS\_BODY\_FRICTION\_RUBBER}}
\index{EPHYSICS\_BODY\_FRICTION\_RUBBER@{EPHYSICS\_BODY\_FRICTION\_RUBBER}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPHYSICS\_BODY\_FRICTION\_RUBBER}{EPHYSICS\_BODY\_FRICTION\_RUBBER}}
{\footnotesize\ttfamily \#define EPHYSICS\+\_\+\+BODY\+\_\+\+FRICTION\+\_\+\+RUBBER~(0.\+75)}



Friction coefficient of rubber. 

It can be set to a body with \mbox{\hyperlink{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}{ephysics\+\_\+body\+\_\+friction\+\_\+set()}}. \mbox{\Hypertarget{group__EPhysics__Body_ga4abb48d3936c9fbf268109d4ac62afad}\label{group__EPhysics__Body_ga4abb48d3936c9fbf268109d4ac62afad}} 
\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_FRICTION\_POLYSTYRENE@{EPHYSICS\_BODY\_FRICTION\_POLYSTYRENE}}
\index{EPHYSICS\_BODY\_FRICTION\_POLYSTYRENE@{EPHYSICS\_BODY\_FRICTION\_POLYSTYRENE}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPHYSICS\_BODY\_FRICTION\_POLYSTYRENE}{EPHYSICS\_BODY\_FRICTION\_POLYSTYRENE}}
{\footnotesize\ttfamily \#define EPHYSICS\+\_\+\+BODY\+\_\+\+FRICTION\+\_\+\+POLYSTYRENE~(0.\+5)}



Friction coefficient of polystyrene. 

It can be set to a body with \mbox{\hyperlink{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}{ephysics\+\_\+body\+\_\+friction\+\_\+set()}}. \mbox{\Hypertarget{group__EPhysics__Body_ga317e3bcbdcbdda9f2b403d224f02cbf3}\label{group__EPhysics__Body_ga317e3bcbdcbdda9f2b403d224f02cbf3}} 
\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_FRICTION\_PLASTIC@{EPHYSICS\_BODY\_FRICTION\_PLASTIC}}
\index{EPHYSICS\_BODY\_FRICTION\_PLASTIC@{EPHYSICS\_BODY\_FRICTION\_PLASTIC}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPHYSICS\_BODY\_FRICTION\_PLASTIC}{EPHYSICS\_BODY\_FRICTION\_PLASTIC}}
{\footnotesize\ttfamily \#define EPHYSICS\+\_\+\+BODY\+\_\+\+FRICTION\+\_\+\+PLASTIC~(0.\+35)}



Friction coefficient of plastic. 

It can be set to a body with \mbox{\hyperlink{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}{ephysics\+\_\+body\+\_\+friction\+\_\+set()}}. \mbox{\Hypertarget{group__EPhysics__Body_ga74e9c011d0d1fd10f45cd8dcf2893426}\label{group__EPhysics__Body_ga74e9c011d0d1fd10f45cd8dcf2893426}} 
\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_RESTITUTION\_WOOD@{EPHYSICS\_BODY\_RESTITUTION\_WOOD}}
\index{EPHYSICS\_BODY\_RESTITUTION\_WOOD@{EPHYSICS\_BODY\_RESTITUTION\_WOOD}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPHYSICS\_BODY\_RESTITUTION\_WOOD}{EPHYSICS\_BODY\_RESTITUTION\_WOOD}}
{\footnotesize\ttfamily \#define EPHYSICS\+\_\+\+BODY\+\_\+\+RESTITUTION\+\_\+\+WOOD~(0.\+7)}



Restitution coefficient of wood. 

It can be set to a body with \mbox{\hyperlink{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}{ephysics\+\_\+body\+\_\+restitution\+\_\+set()}}. \mbox{\Hypertarget{group__EPhysics__Body_ga7eb95e5bbd6e984fa154d4a2a6eeaa0b}\label{group__EPhysics__Body_ga7eb95e5bbd6e984fa154d4a2a6eeaa0b}} 
\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_RESTITUTION\_IRON@{EPHYSICS\_BODY\_RESTITUTION\_IRON}}
\index{EPHYSICS\_BODY\_RESTITUTION\_IRON@{EPHYSICS\_BODY\_RESTITUTION\_IRON}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPHYSICS\_BODY\_RESTITUTION\_IRON}{EPHYSICS\_BODY\_RESTITUTION\_IRON}}
{\footnotesize\ttfamily \#define EPHYSICS\+\_\+\+BODY\+\_\+\+RESTITUTION\+\_\+\+IRON~(0.\+85)}



Restitution coefficient of iron. 

It can be set to a body with \mbox{\hyperlink{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}{ephysics\+\_\+body\+\_\+restitution\+\_\+set()}}. \mbox{\Hypertarget{group__EPhysics__Body_ga036d37e0d96952e92c1f00958e329c16}\label{group__EPhysics__Body_ga036d37e0d96952e92c1f00958e329c16}} 
\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_RESTITUTION\_CONCRETE@{EPHYSICS\_BODY\_RESTITUTION\_CONCRETE}}
\index{EPHYSICS\_BODY\_RESTITUTION\_CONCRETE@{EPHYSICS\_BODY\_RESTITUTION\_CONCRETE}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPHYSICS\_BODY\_RESTITUTION\_CONCRETE}{EPHYSICS\_BODY\_RESTITUTION\_CONCRETE}}
{\footnotesize\ttfamily \#define EPHYSICS\+\_\+\+BODY\+\_\+\+RESTITUTION\+\_\+\+CONCRETE~(0.\+75)}



Restitution coefficient of concrete. 

It can be set to a body with \mbox{\hyperlink{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}{ephysics\+\_\+body\+\_\+restitution\+\_\+set()}}. \mbox{\Hypertarget{group__EPhysics__Body_ga016e0f52f46cd30204d6b5a664c4c724}\label{group__EPhysics__Body_ga016e0f52f46cd30204d6b5a664c4c724}} 
\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_RESTITUTION\_RUBBER@{EPHYSICS\_BODY\_RESTITUTION\_RUBBER}}
\index{EPHYSICS\_BODY\_RESTITUTION\_RUBBER@{EPHYSICS\_BODY\_RESTITUTION\_RUBBER}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPHYSICS\_BODY\_RESTITUTION\_RUBBER}{EPHYSICS\_BODY\_RESTITUTION\_RUBBER}}
{\footnotesize\ttfamily \#define EPHYSICS\+\_\+\+BODY\+\_\+\+RESTITUTION\+\_\+\+RUBBER~(0.\+3)}



Restitution coefficient of rubber. 

It can be set to a body with \mbox{\hyperlink{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}{ephysics\+\_\+body\+\_\+restitution\+\_\+set()}}. \mbox{\Hypertarget{group__EPhysics__Body_ga03c67b9d284f796c09c8aface92f4f28}\label{group__EPhysics__Body_ga03c67b9d284f796c09c8aface92f4f28}} 
\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_RESTITUTION\_POLYSTYRENE@{EPHYSICS\_BODY\_RESTITUTION\_POLYSTYRENE}}
\index{EPHYSICS\_BODY\_RESTITUTION\_POLYSTYRENE@{EPHYSICS\_BODY\_RESTITUTION\_POLYSTYRENE}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPHYSICS\_BODY\_RESTITUTION\_POLYSTYRENE}{EPHYSICS\_BODY\_RESTITUTION\_POLYSTYRENE}}
{\footnotesize\ttfamily \#define EPHYSICS\+\_\+\+BODY\+\_\+\+RESTITUTION\+\_\+\+POLYSTYRENE~(0.\+5)}



Restitution coefficient of polystyrene. 

It can be set to a body with \mbox{\hyperlink{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}{ephysics\+\_\+body\+\_\+restitution\+\_\+set()}}. \mbox{\Hypertarget{group__EPhysics__Body_ga3a89e0d5765ad9e8ef6ceb4bb1f704c3}\label{group__EPhysics__Body_ga3a89e0d5765ad9e8ef6ceb4bb1f704c3}} 
\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_RESTITUTION\_PLASTIC@{EPHYSICS\_BODY\_RESTITUTION\_PLASTIC}}
\index{EPHYSICS\_BODY\_RESTITUTION\_PLASTIC@{EPHYSICS\_BODY\_RESTITUTION\_PLASTIC}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPHYSICS\_BODY\_RESTITUTION\_PLASTIC}{EPHYSICS\_BODY\_RESTITUTION\_PLASTIC}}
{\footnotesize\ttfamily \#define EPHYSICS\+\_\+\+BODY\+\_\+\+RESTITUTION\+\_\+\+PLASTIC~(0.\+6)}



Restitution coefficient of plastic. 

It can be set to a body with \mbox{\hyperlink{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}{ephysics\+\_\+body\+\_\+restitution\+\_\+set()}}. 

\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{group__EPhysics__Body_ga141ced5a614b33d9efc09c634aebbb4a}\label{group__EPhysics__Body_ga141ced5a614b33d9efc09c634aebbb4a}} 
\index{EPhysics Body@{EPhysics Body}!EPhysics\_Body\_Cloth\_Anchor\_Side@{EPhysics\_Body\_Cloth\_Anchor\_Side}}
\index{EPhysics\_Body\_Cloth\_Anchor\_Side@{EPhysics\_Body\_Cloth\_Anchor\_Side}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPhysics\_Body\_Cloth\_Anchor\_Side}{EPhysics\_Body\_Cloth\_Anchor\_Side}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__EPhysics__Body_ga141ced5a614b33d9efc09c634aebbb4a}{EPhysics\+\_\+\+Body\+\_\+\+Cloth\+\_\+\+Anchor\+\_\+\+Side}}}



Identifier of cloth anchor sides. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gad613c22fe04b10546a25d3e44901e65d}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+full\+\_\+add()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga867862771facf1a6e5af1afb4c95145f}\label{group__EPhysics__Body_ga867862771facf1a6e5af1afb4c95145f}} 
\index{EPhysics Body@{EPhysics Body}!EPhysics\_Body\_Face@{EPhysics\_Body\_Face}}
\index{EPhysics\_Body\_Face@{EPhysics\_Body\_Face}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPhysics\_Body\_Face}{EPhysics\_Body\_Face}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__EPhysics__Body_ga867862771facf1a6e5af1afb4c95145f}{EPhysics\+\_\+\+Body\+\_\+\+Face}}}



Define in which body\textquotesingle{}s face the evas object should be set. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set()}} 

\mbox{\hyperlink{group__EPhysics__Body_ga0940058bd74ef95747a07809b3ec80a0}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+unset()}} 

\mbox{\hyperlink{group__EPhysics__Body_ga423ddd0f18213886c0e01b1faedb06d4}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+get()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga454052288e957641ff40f79ca3c72792}\label{group__EPhysics__Body_ga454052288e957641ff40f79ca3c72792}} 
\index{EPhysics Body@{EPhysics Body}!EPhysics\_Body\_Collision@{EPhysics\_Body\_Collision}}
\index{EPhysics\_Body\_Collision@{EPhysics\_Body\_Collision}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPhysics\_Body\_Collision}{EPhysics\_Body\_Collision}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__EPhysics__Body_ga454052288e957641ff40f79ca3c72792}{EPhysics\+\_\+\+Body\+\_\+\+Collision}}}



Body collision wraps collision informations. 

EPhysics\+\_\+\+Body\+\_\+\+Collision is used on EPHYSICS\+\_\+\+CALLBACK\+\_\+\+BODY\+\_\+\+COLLISION callback and is mostly interested to hold informations like\+: \begin{DoxyItemize}
\item contact\+\_\+body -\/ the body which the collision occurred against; \item position -\/ points the position where the collision happened;\end{DoxyItemize}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gabcbb3bd68d47bb0fdf071bb022763d58}{ephysics\+\_\+body\+\_\+collision\+\_\+position\+\_\+get()}} 

\mbox{\hyperlink{group__EPhysics__Body_gacb7ca0a444bf31b04b84f97d7198d392}{ephysics\+\_\+body\+\_\+collision\+\_\+contact\+\_\+body\+\_\+get()}} 

\mbox{\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277caa002e2d26e86261221dc643f19071754}{EPHYSICS\+\_\+\+CALLBACK\+\_\+\+BODY\+\_\+\+COLLISION}} and \mbox{\hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()}} for collision callback. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga302259832cc6cd8828d73833f391e8be}\label{group__EPhysics__Body_ga302259832cc6cd8828d73833f391e8be}} 
\index{EPhysics Body@{EPhysics Body}!EPhysics\_Callback\_Body\_Type@{EPhysics\_Callback\_Body\_Type}}
\index{EPhysics\_Callback\_Body\_Type@{EPhysics\_Callback\_Body\_Type}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPhysics\_Callback\_Body\_Type}{EPhysics\_Callback\_Body\_Type}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__EPhysics__Body_ga302259832cc6cd8828d73833f391e8be}{EPhysics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}}}



The types of events triggering a callback. 

Identifier of callbacks to be set for EPhysics bodies.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()}} 

\mbox{\hyperlink{group__EPhysics__Body_ga423e646645380f84582523bb21f89286}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del()}} 

\mbox{\hyperlink{group__EPhysics__Body_ga42ddba8937442dc0f89eada6c49dff3c}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del\+\_\+full()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gaed2ef2bd32f5ef2363a6690ceaa1ea29}\label{group__EPhysics__Body_gaed2ef2bd32f5ef2363a6690ceaa1ea29}} 
\index{EPhysics Body@{EPhysics Body}!EPhysics\_Body\_Material@{EPhysics\_Body\_Material}}
\index{EPhysics\_Body\_Material@{EPhysics\_Body\_Material}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPhysics\_Body\_Material}{EPhysics\_Body\_Material}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__EPhysics__Body_gaed2ef2bd32f5ef2363a6690ceaa1ea29}{EPhysics\+\_\+\+Body\+\_\+\+Material}}}



The types of materials to be set on a body. 

EPhysics bodies materials.

Each material has specific properties to be applied on the body, as density, friction and restitution.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga626f390590db830fea221c4ef42a2f5b}{ephysics\+\_\+body\+\_\+material\+\_\+set()}} for details. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gadb46c643f531e500d2f84c78343aa4b1}\label{group__EPhysics__Body_gadb46c643f531e500d2f84c78343aa4b1}} 
\index{EPhysics Body@{EPhysics Body}!EPhysics\_Body\_Event\_Cb@{EPhysics\_Body\_Event\_Cb}}
\index{EPhysics\_Body\_Event\_Cb@{EPhysics\_Body\_Event\_Cb}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPhysics\_Body\_Event\_Cb}{EPhysics\_Body\_Event\_Cb}}
{\footnotesize\ttfamily EPhysics\+\_\+\+Body\+\_\+\+Event\+\_\+\+Cb}



EPhysics body event callback function signature. 

Callbacks can be registered for events like body updating or deleting.


\begin{DoxyParams}{Parameters}
{\em data} & User data that will be set when registering the callback. \\
\hline
{\em body} & Physics body. \\
\hline
{\em event\+\_\+info} & Data specific to a kind of event. Some types of events don\textquotesingle{}t have {\ttfamily event\+\_\+info}.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()}} for more info. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}\label{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}} 
\index{EPhysics Body@{EPhysics Body}!EPhysics\_Body@{EPhysics\_Body}}
\index{EPhysics\_Body@{EPhysics\_Body}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{EPhysics\_Body}{EPhysics\_Body}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}}}



Body handle, represents an object on EPhysics world. 

Many types of bodies can be created\+: \begin{DoxyItemize}
\item \mbox{\hyperlink{group__EPhysics__Body_gaf2c29ed64a1c548903c39400af792293}{ephysics\+\_\+body\+\_\+cylinder\+\_\+add()}} \item \mbox{\hyperlink{group__EPhysics__Body_ga6381538c9002ea30171c0a64100350f5}{ephysics\+\_\+body\+\_\+box\+\_\+add()}} \item \mbox{\hyperlink{group__EPhysics__Body_gaee1301dfd2548f4774d5e4cb81b14385}{ephysics\+\_\+body\+\_\+shape\+\_\+add()}} \item \mbox{\hyperlink{group__EPhysics__Body_ga4859489c252a24a1302834cf00917ffb}{ephysics\+\_\+body\+\_\+soft\+\_\+cylinder\+\_\+add()}} \item \mbox{\hyperlink{group__EPhysics__Body_ga53de9b6eca8564792f8c09e23be390ba}{ephysics\+\_\+body\+\_\+soft\+\_\+box\+\_\+add()}}\end{DoxyItemize}
and it can be deleted with \mbox{\hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del()}}. 

\doxysubsection{Enumeration Type Documentation}
\mbox{\Hypertarget{group__EPhysics__Body_ga904d0d1462e71c1f32cb27f540b5277c}\label{group__EPhysics__Body_ga904d0d1462e71c1f32cb27f540b5277c}} 
\index{EPhysics Body@{EPhysics Body}!\_EPhysics\_Callback\_Body\_Type@{\_EPhysics\_Callback\_Body\_Type}}
\index{\_EPhysics\_Callback\_Body\_Type@{\_EPhysics\_Callback\_Body\_Type}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{\_EPhysics\_Callback\_Body\_Type}{\_EPhysics\_Callback\_Body\_Type}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group__EPhysics__Body_ga904d0d1462e71c1f32cb27f540b5277c}{\+\_\+\+EPhysics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{EPHYSICS\_CALLBACK\_BODY\_UPDATE@{EPHYSICS\_CALLBACK\_BODY\_UPDATE}!EPhysics Body@{EPhysics Body}}\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_CALLBACK\_BODY\_UPDATE@{EPHYSICS\_CALLBACK\_BODY\_UPDATE}}}\mbox{\Hypertarget{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cacb2363cd59bc8642e74ad916c6658e0a}\label{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cacb2363cd59bc8642e74ad916c6658e0a}} 
EPHYSICS\+\_\+\+CALLBACK\+\_\+\+BODY\+\_\+\+UPDATE&Body being updated. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EPHYSICS\_CALLBACK\_BODY\_COLLISION@{EPHYSICS\_CALLBACK\_BODY\_COLLISION}!EPhysics Body@{EPhysics Body}}\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_CALLBACK\_BODY\_COLLISION@{EPHYSICS\_CALLBACK\_BODY\_COLLISION}}}\mbox{\Hypertarget{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277caa002e2d26e86261221dc643f19071754}\label{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277caa002e2d26e86261221dc643f19071754}} 
EPHYSICS\+\_\+\+CALLBACK\+\_\+\+BODY\+\_\+\+COLLISION&Body collided with other body. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EPHYSICS\_CALLBACK\_BODY\_DEL@{EPHYSICS\_CALLBACK\_BODY\_DEL}!EPhysics Body@{EPhysics Body}}\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_CALLBACK\_BODY\_DEL@{EPHYSICS\_CALLBACK\_BODY\_DEL}}}\mbox{\Hypertarget{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cab8f46f167ee3872ea35fe645bf14a5d2}\label{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cab8f46f167ee3872ea35fe645bf14a5d2}} 
EPHYSICS\+\_\+\+CALLBACK\+\_\+\+BODY\+\_\+\+DEL&Body being deleted (called before free) \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EPHYSICS\_CALLBACK\_BODY\_STOPPED@{EPHYSICS\_CALLBACK\_BODY\_STOPPED}!EPhysics Body@{EPhysics Body}}\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_CALLBACK\_BODY\_STOPPED@{EPHYSICS\_CALLBACK\_BODY\_STOPPED}}}\mbox{\Hypertarget{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cae88f6dfe5c24a67f5f074fb818edfa72}\label{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cae88f6dfe5c24a67f5f074fb818edfa72}} 
EPHYSICS\+\_\+\+CALLBACK\+\_\+\+BODY\+\_\+\+STOPPED&Body is not moving any more. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EPHYSICS\_CALLBACK\_BODY\_LAST@{EPHYSICS\_CALLBACK\_BODY\_LAST}!EPhysics Body@{EPhysics Body}}\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_CALLBACK\_BODY\_LAST@{EPHYSICS\_CALLBACK\_BODY\_LAST}}}\mbox{\Hypertarget{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277ca25173c695395510a437472c788c580e7}\label{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277ca25173c695395510a437472c788c580e7}} 
EPHYSICS\+\_\+\+CALLBACK\+\_\+\+BODY\+\_\+\+LAST&kept as sentinel, not really an event \\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{group__EPhysics__Body_gacaef1c39c01f3d744b26dba7ce37b19a}\label{group__EPhysics__Body_gacaef1c39c01f3d744b26dba7ce37b19a}} 
\index{EPhysics Body@{EPhysics Body}!\_EPhysics\_Body\_Material@{\_EPhysics\_Body\_Material}}
\index{\_EPhysics\_Body\_Material@{\_EPhysics\_Body\_Material}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{\_EPhysics\_Body\_Material}{\_EPhysics\_Body\_Material}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group__EPhysics__Body_gacaef1c39c01f3d744b26dba7ce37b19a}{\+\_\+\+EPhysics\+\_\+\+Body\+\_\+\+Material}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{EPHYSICS\_BODY\_MATERIAL\_CUSTOM@{EPHYSICS\_BODY\_MATERIAL\_CUSTOM}!EPhysics Body@{EPhysics Body}}\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_MATERIAL\_CUSTOM@{EPHYSICS\_BODY\_MATERIAL\_CUSTOM}}}\mbox{\Hypertarget{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aafd81323434eb3fd5caaf3fa52772e420}\label{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aafd81323434eb3fd5caaf3fa52772e420}} 
EPHYSICS\+\_\+\+BODY\+\_\+\+MATERIAL\+\_\+\+CUSTOM&Custom properties set by the user. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EPHYSICS\_BODY\_MATERIAL\_CONCRETE@{EPHYSICS\_BODY\_MATERIAL\_CONCRETE}!EPhysics Body@{EPhysics Body}}\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_MATERIAL\_CONCRETE@{EPHYSICS\_BODY\_MATERIAL\_CONCRETE}}}\mbox{\Hypertarget{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa10b69deaba5813f633814accde44c49f}\label{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa10b69deaba5813f633814accde44c49f}} 
EPHYSICS\+\_\+\+BODY\+\_\+\+MATERIAL\+\_\+\+CONCRETE&Density\+:2300,Fric\+:0.\+65,Rest\+:0.\+75. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EPHYSICS\_BODY\_MATERIAL\_IRON@{EPHYSICS\_BODY\_MATERIAL\_IRON}!EPhysics Body@{EPhysics Body}}\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_MATERIAL\_IRON@{EPHYSICS\_BODY\_MATERIAL\_IRON}}}\mbox{\Hypertarget{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa45165c91583fe45770f3f477691ec72b}\label{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa45165c91583fe45770f3f477691ec72b}} 
EPHYSICS\+\_\+\+BODY\+\_\+\+MATERIAL\+\_\+\+IRON&Density\+:7400,Fric\+:0.\+8,Rest\+:0.\+85. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EPHYSICS\_BODY\_MATERIAL\_PLASTIC@{EPHYSICS\_BODY\_MATERIAL\_PLASTIC}!EPhysics Body@{EPhysics Body}}\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_MATERIAL\_PLASTIC@{EPHYSICS\_BODY\_MATERIAL\_PLASTIC}}}\mbox{\Hypertarget{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa84006e0d3564bf5abac54fd7caf62ed3}\label{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa84006e0d3564bf5abac54fd7caf62ed3}} 
EPHYSICS\+\_\+\+BODY\+\_\+\+MATERIAL\+\_\+\+PLASTIC&Density\+:1300,Fric\+:0.\+35,Rest\+:0.\+6. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EPHYSICS\_BODY\_MATERIAL\_POLYSTYRENE@{EPHYSICS\_BODY\_MATERIAL\_POLYSTYRENE}!EPhysics Body@{EPhysics Body}}\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_MATERIAL\_POLYSTYRENE@{EPHYSICS\_BODY\_MATERIAL\_POLYSTYRENE}}}\mbox{\Hypertarget{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aab23a76321e42355651d0ff28ac607e12}\label{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aab23a76321e42355651d0ff28ac607e12}} 
EPHYSICS\+\_\+\+BODY\+\_\+\+MATERIAL\+\_\+\+POLYSTYRENE&Density\+:80,Fric\+:0.\+5,Rest\+:0.\+5. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EPHYSICS\_BODY\_MATERIAL\_RUBBER@{EPHYSICS\_BODY\_MATERIAL\_RUBBER}!EPhysics Body@{EPhysics Body}}\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_MATERIAL\_RUBBER@{EPHYSICS\_BODY\_MATERIAL\_RUBBER}}}\mbox{\Hypertarget{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa7ee7c244bacc6e80242beef9aa72bb50}\label{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa7ee7c244bacc6e80242beef9aa72bb50}} 
EPHYSICS\+\_\+\+BODY\+\_\+\+MATERIAL\+\_\+\+RUBBER&Density\+:920,Fric\+:0.\+75,Rest\+:0.\+3. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EPHYSICS\_BODY\_MATERIAL\_WOOD@{EPHYSICS\_BODY\_MATERIAL\_WOOD}!EPhysics Body@{EPhysics Body}}\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_MATERIAL\_WOOD@{EPHYSICS\_BODY\_MATERIAL\_WOOD}}}\mbox{\Hypertarget{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa6da554ebde5c54ea870e85dbc1e99344}\label{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa6da554ebde5c54ea870e85dbc1e99344}} 
EPHYSICS\+\_\+\+BODY\+\_\+\+MATERIAL\+\_\+\+WOOD&Density\+:680,Fric\+:0.\+4,Rest\+:0.\+7. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EPHYSICS\_BODY\_MATERIAL\_LAST@{EPHYSICS\_BODY\_MATERIAL\_LAST}!EPhysics Body@{EPhysics Body}}\index{EPhysics Body@{EPhysics Body}!EPHYSICS\_BODY\_MATERIAL\_LAST@{EPHYSICS\_BODY\_MATERIAL\_LAST}}}\mbox{\Hypertarget{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa0e10b889bbdb9ad63a1dbaf95b7d5c84}\label{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa0e10b889bbdb9ad63a1dbaf95b7d5c84}} 
EPHYSICS\+\_\+\+BODY\+\_\+\+MATERIAL\+\_\+\+LAST&kept as sentinel, not really a material \\
\hline

\end{DoxyEnumFields}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__EPhysics__Body_gace8f2c2feb58e7d141d72aa2d0e8a37d}\label{group__EPhysics__Body_gace8f2c2feb58e7d141d72aa2d0e8a37d}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_soft\_body\_hardness\_set@{ephysics\_body\_soft\_body\_hardness\_set}}
\index{ephysics\_body\_soft\_body\_hardness\_set@{ephysics\_body\_soft\_body\_hardness\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_soft\_body\_hardness\_set()}{ephysics\_body\_soft\_body\_hardness\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+hardness\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double}]{hardness }\end{DoxyParamCaption})}



Set the soft body hardness percentage. 

The hardness percentage will define how the soft body is supposed to deform, its default is set to 100\%. The soft body mass will also interfere on soft body deformation, so bare in mind that the bodies mass must also be changed to have different deformation results.

Valid values vary from 0 to 100.


\begin{DoxyParams}{Parameters}
{\em body} & The body to be set. \\
\hline
{\em hardness} & The percentage of deformation.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gaf9636fa2c7109bd761d9547d6945e857}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+hardness\+\_\+get()}} 

\mbox{\hyperlink{group__EPhysics__Body_gaa0915777f634079ca6c088fda5c20e8f}{ephysics\+\_\+body\+\_\+mass\+\_\+set()}} form body mass changing. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gaf9636fa2c7109bd761d9547d6945e857}\label{group__EPhysics__Body_gaf9636fa2c7109bd761d9547d6945e857}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_soft\_body\_hardness\_get@{ephysics\_body\_soft\_body\_hardness\_get}}
\index{ephysics\_body\_soft\_body\_hardness\_get@{ephysics\_body\_soft\_body\_hardness\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_soft\_body\_hardness\_get()}{ephysics\_body\_soft\_body\_hardness\_get()}}
{\footnotesize\ttfamily EAPI double ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+hardness\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Get the soft body hardness percentage. 


\begin{DoxyParams}{Parameters}
{\em body} & The body of interest. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The deformation percentage.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gace8f2c2feb58e7d141d72aa2d0e8a37d}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+hardness\+\_\+set()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga6cdacb32e4118455e201de3e0fc9027d}\label{group__EPhysics__Body_ga6cdacb32e4118455e201de3e0fc9027d}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_soft\_body\_anchor\_hardness\_set@{ephysics\_body\_soft\_body\_anchor\_hardness\_set}}
\index{ephysics\_body\_soft\_body\_anchor\_hardness\_set@{ephysics\_body\_soft\_body\_anchor\_hardness\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_soft\_body\_anchor\_hardness\_set()}{ephysics\_body\_soft\_body\_anchor\_hardness\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+anchor\+\_\+hardness\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double}]{hardness }\end{DoxyParamCaption})}



Set the soft body anchor hardness percentage. 

The anchor hardness percentage(together with general hardness settings set with ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+hardness\+\_\+set()) will define how the soft body is supposed to deform.

By default EPhysics will calculate the anchor hardness depending on the general hardness settings, by default it\`{}s set to 70\% of general hardness on soft body and a fixed 80\% for cloths.

Anchor hardness will result on a contrary force to impulse and velocities applied to soft bodies. So it implies on force reduction.

\begin{DoxyNote}{Note}
Since it\`{}s a percentage value {\ttfamily hardness} will range from 0 -\/ 100.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em body} & The body to be set. \\
\hline
{\em hardness} & The hardness to be set to {\ttfamily body}.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gace8f2c2feb58e7d141d72aa2d0e8a37d}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+hardness\+\_\+set()}} for general hardness. 

\mbox{\hyperlink{group__EPhysics__Body_gaa1c79c6774f3365ae6bd265de4bb4a49}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+anchor\+\_\+hardness\+\_\+get()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gaa1c79c6774f3365ae6bd265de4bb4a49}\label{group__EPhysics__Body_gaa1c79c6774f3365ae6bd265de4bb4a49}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_soft\_body\_anchor\_hardness\_get@{ephysics\_body\_soft\_body\_anchor\_hardness\_get}}
\index{ephysics\_body\_soft\_body\_anchor\_hardness\_get@{ephysics\_body\_soft\_body\_anchor\_hardness\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_soft\_body\_anchor\_hardness\_get()}{ephysics\_body\_soft\_body\_anchor\_hardness\_get()}}
{\footnotesize\ttfamily EAPI double ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+anchor\+\_\+hardness\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Get the soft body anchor hardnees percentage. 


\begin{DoxyParams}{Parameters}
{\em body} & The body to get the anchor hardness percentage from. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The anchor hardness percentage on success -\/1 on failure.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga6cdacb32e4118455e201de3e0fc9027d}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+anchor\+\_\+hardness\+\_\+set()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga8956e1d137bad8cac6fcda6919739129}\label{group__EPhysics__Body_ga8956e1d137bad8cac6fcda6919739129}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_soft\_body\_drag\_coefficient\_set@{ephysics\_body\_soft\_body\_drag\_coefficient\_set}}
\index{ephysics\_body\_soft\_body\_drag\_coefficient\_set@{ephysics\_body\_soft\_body\_drag\_coefficient\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_soft\_body\_drag\_coefficient\_set()}{ephysics\_body\_soft\_body\_drag\_coefficient\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+drag\+\_\+coefficient\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double}]{coefficient }\end{DoxyParamCaption})}



Set the drag coefficient of a soft body. 

Drag coefficient is a dimensionless quantity used to quantify an objects drag or resistance in the environment -\/ like air or water resistance. It is used in the drag equation, where a lower drag coefficient indicates the object will have less aerodynamic or hydrodynamic drag.

The drag coefficient is defined as\+:

cd = 2Fd / (pv $^\wedge$ 2)A

Where\+:


\begin{DoxyItemize}
\item {\ttfamily Fd} is the drag force, which is by definition the force component in the direction of the flow velocity;
\item {\ttfamily p} is the mass density;
\item {\ttfamily v} is the speed;
\item {\ttfamily A} is the reference area;
\end{DoxyItemize}

The reference area depends on what type of drag coefficient is being measured.

\begin{DoxyNote}{Note}
default value set to 0.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em body} & The body to be set. \\
\hline
{\em coefficient} & The drag coefficient.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gadcbb12dac4ac9764f5404460276d3b0e}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+drag\+\_\+coefficient\+\_\+get()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gadcbb12dac4ac9764f5404460276d3b0e}\label{group__EPhysics__Body_gadcbb12dac4ac9764f5404460276d3b0e}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_soft\_body\_drag\_coefficient\_get@{ephysics\_body\_soft\_body\_drag\_coefficient\_get}}
\index{ephysics\_body\_soft\_body\_drag\_coefficient\_get@{ephysics\_body\_soft\_body\_drag\_coefficient\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_soft\_body\_drag\_coefficient\_get()}{ephysics\_body\_soft\_body\_drag\_coefficient\_get()}}
{\footnotesize\ttfamily EAPI double ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+drag\+\_\+coefficient\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Get the drag coefficient of a soft body. 


\begin{DoxyParams}{Parameters}
{\em body} & The body to get the drag coefficient from. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The drag coefficient set to {\ttfamily body} on success, -\/1 on failure.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga8956e1d137bad8cac6fcda6919739129}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+drag\+\_\+coefficient\+\_\+set()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga583d57dcc29add7941387796d42f4594}\label{group__EPhysics__Body_ga583d57dcc29add7941387796d42f4594}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_soft\_body\_dragging\_set@{ephysics\_body\_soft\_body\_dragging\_set}}
\index{ephysics\_body\_soft\_body\_dragging\_set@{ephysics\_body\_soft\_body\_dragging\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_soft\_body\_dragging\_set()}{ephysics\_body\_soft\_body\_dragging\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+dragging\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{int}]{triangle }\end{DoxyParamCaption})}



Set the soft body dragging status. 

While dragging a soft body the user may want to freeze a specific trimesh face, after calling this function EPhysics will do freeze the {\ttfamily triangle} until it gets a call to unset it with \mbox{\hyperlink{group__EPhysics__Body_ga0f3f7c81320c1f0b6fb5d362a05e5305}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+dragging\+\_\+unset()}}.

\begin{DoxyNote}{Note}
Freezing a specific trimesh face means no forces are applied to it, no gravity enforced, that\textquotesingle{}s {\ttfamily triangle} will have no mass until it dragging gets unset.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em body} & The body of interest. \\
\hline
{\em triangle} & The triangle to freeze.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga0f3f7c81320c1f0b6fb5d362a05e5305}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+dragging\+\_\+unset()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga9b1f56dafd0b3747b0a44062c63cf979}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+index\+\_\+get()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga0f3f7c81320c1f0b6fb5d362a05e5305}\label{group__EPhysics__Body_ga0f3f7c81320c1f0b6fb5d362a05e5305}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_soft\_body\_dragging\_unset@{ephysics\_body\_soft\_body\_dragging\_unset}}
\index{ephysics\_body\_soft\_body\_dragging\_unset@{ephysics\_body\_soft\_body\_dragging\_unset}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_soft\_body\_dragging\_unset()}{ephysics\_body\_soft\_body\_dragging\_unset()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+dragging\+\_\+unset (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Unset the soft body dragging status. 

This function will tell EPhysics to not freeze -\/ the previously dragging triangle set -\/ any more.


\begin{DoxyParams}{Parameters}
{\em body} & The body to unset the dragging status.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga583d57dcc29add7941387796d42f4594}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+dragging\+\_\+set()}} for dragging details. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga9b1f56dafd0b3747b0a44062c63cf979}\label{group__EPhysics__Body_ga9b1f56dafd0b3747b0a44062c63cf979}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_soft\_body\_triangle\_index\_get@{ephysics\_body\_soft\_body\_triangle\_index\_get}}
\index{ephysics\_body\_soft\_body\_triangle\_index\_get@{ephysics\_body\_soft\_body\_triangle\_index\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_soft\_body\_triangle\_index\_get()}{ephysics\_body\_soft\_body\_triangle\_index\_get()}}
{\footnotesize\ttfamily EAPI int ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+index\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{x,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{y }\end{DoxyParamCaption})}



Get the triangle index of a soft body in {\ttfamily x} and {\ttfamily y}. 

Given a point in {\ttfamily x} and {\ttfamily y} a ray cast is performed and if a triangle is found its index is returned.


\begin{DoxyParams}{Parameters}
{\em body} & The body to get the triangle index from. \\
\hline
{\em x} & The x coord. \\
\hline
{\em y} & The y coord. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
-\/1 If no triangle is found, a triangle index otherwise.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga0ea2657d75a116770615e96096c4aee0}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+move()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga092ec1d7d675416e396ca39a4d1c9d61}\label{group__EPhysics__Body_ga092ec1d7d675416e396ca39a4d1c9d61}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_soft\_body\_slice\_index\_get@{ephysics\_body\_soft\_body\_slice\_index\_get}}
\index{ephysics\_body\_soft\_body\_slice\_index\_get@{ephysics\_body\_soft\_body\_slice\_index\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_soft\_body\_slice\_index\_get()}{ephysics\_body\_soft\_body\_slice\_index\_get()}}
{\footnotesize\ttfamily EAPI int ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+slice\+\_\+index\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$}]{slice }\end{DoxyParamCaption})}



Get the slice index of a soft body based on its slice\`{}s Evas Object. 

Registering a mouse event callback on an associated evas object one can get the clicked slice evas object. With that pointer the user can get the slice index based on its related evas object.


\begin{DoxyParams}{Parameters}
{\em body} & The body to get the slice index from. \\
\hline
{\em slice} & The slice evas object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The slice index on success, -\/1 otherwise.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga9b1f56dafd0b3747b0a44062c63cf979}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+index\+\_\+get()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga40285ba41a131b9b10e87f4bcf580192}\label{group__EPhysics__Body_ga40285ba41a131b9b10e87f4bcf580192}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_soft\_sphere\_add@{ephysics\_body\_soft\_sphere\_add}}
\index{ephysics\_body\_soft\_sphere\_add@{ephysics\_body\_soft\_sphere\_add}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_soft\_sphere\_add()}{ephysics\_body\_soft\_sphere\_add()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ ephysics\+\_\+body\+\_\+soft\+\_\+sphere\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$}]{world,  }\item[{int}]{granularity }\end{DoxyParamCaption})}



Add a soft sphere. 

Add a new soft 3d sphere to the simulation. The {\ttfamily granularity} defines how many triangles are to be added.

\begin{DoxyNote}{Note}
if no {\ttfamily granularity} is informed(i.\+e {\ttfamily granularity} = 0) the soft body will be created with a triangle mesh of 100.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em world} & The world the new soft sphere is to be added. \\
\hline
{\em granularity} & How many triangles the soft body triangle mesh must have. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new body or {\ttfamily NULL} on errors.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gaf895b53d5ad8b0da70368c19d4779d5b}\label{group__EPhysics__Body_gaf895b53d5ad8b0da70368c19d4779d5b}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_soft\_body\_triangles\_inside\_get@{ephysics\_body\_soft\_body\_triangles\_inside\_get}}
\index{ephysics\_body\_soft\_body\_triangles\_inside\_get@{ephysics\_body\_soft\_body\_triangles\_inside\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_soft\_body\_triangles\_inside\_get()}{ephysics\_body\_soft\_body\_triangles\_inside\_get()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$ ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangles\+\_\+inside\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{x,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{y,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{z,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{w,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{h,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{d }\end{DoxyParamCaption})}



Get a list of triangles indexes inside an area. 

Get a list of triangles indexes given an area defined by {\ttfamily x}, {\ttfamily y}, {\ttfamily z}, {\ttfamily w}, {\ttfamily h} and {\ttfamily d}, the z axis components are represented by {\ttfamily x} and {\ttfamily d} where all triangles between {\ttfamily z} and {\ttfamily d} are considered, that\textquotesingle{}s triangles with their z component greater than {\ttfamily z} and smaller than {\ttfamily d}.

\begin{DoxyNote}{Note}
EPhysics will not free the returned list, remember to do so.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em body} & The body to get triangles indexes from. \\
\hline
{\em x} & The x component. \\
\hline
{\em y} & The y component. \\
\hline
{\em z} & The z component. \\
\hline
{\em w} & The w component. \\
\hline
{\em h} & The h component. \\
\hline
{\em d} & The d component.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
NULL on errors or no triangles found, a list of triangles indexes otherwhise.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga9b1f56dafd0b3747b0a44062c63cf979}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+index\+\_\+get()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga092ec1d7d675416e396ca39a4d1c9d61}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+slice\+\_\+index\+\_\+get()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga8ae690e71bee44ba070d40d3b404879c}\label{group__EPhysics__Body_ga8ae690e71bee44ba070d40d3b404879c}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_soft\_body\_triangle\_impulse\_apply@{ephysics\_body\_soft\_body\_triangle\_impulse\_apply}}
\index{ephysics\_body\_soft\_body\_triangle\_impulse\_apply@{ephysics\_body\_soft\_body\_triangle\_impulse\_apply}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_soft\_body\_triangle\_impulse\_apply()}{ephysics\_body\_soft\_body\_triangle\_impulse\_apply()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+impulse\+\_\+apply (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{int}]{idx,  }\item[{double}]{x,  }\item[{double}]{y,  }\item[{double}]{z }\end{DoxyParamCaption})}



Apply an impulse on a given soft body triangle. 

The impulse is equal to the change of momentum of the body. Impulse is the product of the force over the time this force is applied. In ephysics case, it would be the time of a tick, so it behaves just summing current linear velocity to impulse per mass(per triangle mass).

When a impulse is applied over a body, it will have its velocity changed. This impulse will be applied on body\textquotesingle{}s specified triangle {\ttfamily idx}, so it won\textquotesingle{}t imply in rotating the body.

\begin{DoxyNote}{Note}
Impulse is measured in kg $\ast$ p / s.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em body} & The body to apply impulse to. \\
\hline
{\em idx} & The soft body triangle index. \\
\hline
{\em x} & The axis {\ttfamily x} component of impulse. \\
\hline
{\em y} & The axis {\ttfamily y} component of impulse \\
\hline
{\em z} & The axis {\ttfamily z} component of impulse\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga9b1f56dafd0b3747b0a44062c63cf979}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+index\+\_\+get()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga2cb3b0785d05cabf8b618091908c7b7a}\label{group__EPhysics__Body_ga2cb3b0785d05cabf8b618091908c7b7a}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_soft\_body\_triangle\_list\_impulse\_apply@{ephysics\_body\_soft\_body\_triangle\_list\_impulse\_apply}}
\index{ephysics\_body\_soft\_body\_triangle\_list\_impulse\_apply@{ephysics\_body\_soft\_body\_triangle\_list\_impulse\_apply}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_soft\_body\_triangle\_list\_impulse\_apply()}{ephysics\_body\_soft\_body\_triangle\_list\_impulse\_apply()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+list\+\_\+impulse\+\_\+apply (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$}]{triangles,  }\item[{double}]{x,  }\item[{double}]{y,  }\item[{double}]{z }\end{DoxyParamCaption})}



Apply impulse in a list of triangles. 

Apply impulse in a list of triangles all at once considering the same impulse values on {\ttfamily x}, {\ttfamily y} and {\ttfamily z}.


\begin{DoxyParams}{Parameters}
{\em body} & The body to apply impulse. \\
\hline
{\em triangles} & A list of triangles indexes. \\
\hline
{\em x} & The axis {\ttfamily x} component of impulse. \\
\hline
{\em y} & The axis {\ttfamily y} component of impulse. \\
\hline
{\em z} & The axis {\ttfamily z} component of impulse.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga8ae690e71bee44ba070d40d3b404879c}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+impulse\+\_\+apply()}} to see about impulse applying on soft bodies. 

\mbox{\hyperlink{group__EPhysics__Body_gaf895b53d5ad8b0da70368c19d4779d5b}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangles\+\_\+inside\+\_\+get()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga9878c25b81edf2b9ef9259b3d9f0d227}\label{group__EPhysics__Body_ga9878c25b81edf2b9ef9259b3d9f0d227}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_soft\_body\_position\_iterations\_set@{ephysics\_body\_soft\_body\_position\_iterations\_set}}
\index{ephysics\_body\_soft\_body\_position\_iterations\_set@{ephysics\_body\_soft\_body\_position\_iterations\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_soft\_body\_position\_iterations\_set()}{ephysics\_body\_soft\_body\_position\_iterations\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+position\+\_\+iterations\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{int}]{iterations }\end{DoxyParamCaption})}



Set the soft body number of position iterations. 

Both soft body and cloth can have its number of position iterations changed. The number of position iterations will change how many time the physics engine will iterate the position solver, a greater value will change deformation behaves and how hard the soft body looks like. The greater position iterations the harder the soft body will be.

\begin{DoxyNote}{Note}
For soft bodies the default value is set to 1, and for cloth it\textquotesingle{}s set to the number of rows / 5;
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em body} & The body to be set. \\
\hline
{\em iterations} & The number of iterations.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gabc17f66be80c29562eb827973b495e6c}{ephysics\+\_\+body\+\_\+cloth\+\_\+add()}} for more informations about cloth. 

\mbox{\hyperlink{group__EPhysics__Body_ga900f3771b34866a8314f4c46007b1f3c}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+position\+\_\+iterations\+\_\+get()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga900f3771b34866a8314f4c46007b1f3c}\label{group__EPhysics__Body_ga900f3771b34866a8314f4c46007b1f3c}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_soft\_body\_position\_iterations\_get@{ephysics\_body\_soft\_body\_position\_iterations\_get}}
\index{ephysics\_body\_soft\_body\_position\_iterations\_get@{ephysics\_body\_soft\_body\_position\_iterations\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_soft\_body\_position\_iterations\_get()}{ephysics\_body\_soft\_body\_position\_iterations\_get()}}
{\footnotesize\ttfamily EAPI int ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+position\+\_\+iterations\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Get the soft body number of position iterations. 


\begin{DoxyParams}{Parameters}
{\em body} & The body to get the number os position iterations from. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number of position solver iterations of a soft {\ttfamily body}.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga9878c25b81edf2b9ef9259b3d9f0d227}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+position\+\_\+iterations\+\_\+set()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga0ea2657d75a116770615e96096c4aee0}\label{group__EPhysics__Body_ga0ea2657d75a116770615e96096c4aee0}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_soft\_body\_triangle\_move@{ephysics\_body\_soft\_body\_triangle\_move}}
\index{ephysics\_body\_soft\_body\_triangle\_move@{ephysics\_body\_soft\_body\_triangle\_move}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_soft\_body\_triangle\_move()}{ephysics\_body\_soft\_body\_triangle\_move()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+move (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{int}]{idx,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{x,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{y,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{z }\end{DoxyParamCaption})}



Move a body\textquotesingle{}s triangle. 

Move the triangle of {\ttfamily idx} of {\ttfamily body} to {\ttfamily x}, {\ttfamily y} and {\ttfamily z}.


\begin{DoxyParams}{Parameters}
{\em body} & The body of interest. \\
\hline
{\em idx} & The triangle index. \\
\hline
{\em x} & The x coordinate. \\
\hline
{\em y} & The y coordinate. \\
\hline
{\em z} & The z coordinate.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga9b1f56dafd0b3747b0a44062c63cf979}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+index\+\_\+get()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gad684bb41d78818b2c7af07ead74e5509}\label{group__EPhysics__Body_gad684bb41d78818b2c7af07ead74e5509}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_soft\_body\_bending\_constraints\_add@{ephysics\_body\_soft\_body\_bending\_constraints\_add}}
\index{ephysics\_body\_soft\_body\_bending\_constraints\_add@{ephysics\_body\_soft\_body\_bending\_constraints\_add}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_soft\_body\_bending\_constraints\_add()}{ephysics\_body\_soft\_body\_bending\_constraints\_add()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+bending\+\_\+constraints\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{int}]{number }\end{DoxyParamCaption})}



Add new bending constraints to some {\ttfamily body}. 

Bending constraints define how a soft body is to be deformeable. In fact a bending constraints represents a link between a soft body mesh triangle and other. The hardness property is used to define the bending constraint of those new links.

By default EPhysics create a new soft body or cloth with a single bending constraint.


\begin{DoxyParams}{Parameters}
{\em body} & The body to add bending constraints to. \\
\hline
{\em number} & The number of bending constraints to be added, it must be greater than 0.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gace8f2c2feb58e7d141d72aa2d0e8a37d}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+hardness\+\_\+set()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga9fe94b35f5b58527b1199a23468b1f86}\label{group__EPhysics__Body_ga9fe94b35f5b58527b1199a23468b1f86}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_sphere\_add@{ephysics\_body\_sphere\_add}}
\index{ephysics\_body\_sphere\_add@{ephysics\_body\_sphere\_add}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_sphere\_add()}{ephysics\_body\_sphere\_add()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ ephysics\+\_\+body\+\_\+sphere\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$}]{world }\end{DoxyParamCaption})}



Create a new sphere physics body. 

Its collision shape will be a sphere of diameter 1. To change its size \mbox{\hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set()}}, {\ttfamily \mbox{\hyperlink{group__EPhysics__Body_gad4333b73a33d08bd598cc4c442230902}{ephysics\+\_\+body\+\_\+resize()}}} should be used.

Any evas object can be associated to it with {\ttfamily \mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}}}, and it will collid as a sphere(even if you\`{}ve associated an evas rectangle).

For deformable sphere use {\ttfamily \mbox{\hyperlink{group__EPhysics__Body_ga40285ba41a131b9b10e87f4bcf580192}{ephysics\+\_\+body\+\_\+soft\+\_\+sphere\+\_\+add()}}} instead.


\begin{DoxyParams}{Parameters}
{\em world} & The world this body will belong to. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new body or {\ttfamily NULL}, on errors.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}}, \mbox{\hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}}, \mbox{\hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}}, \mbox{\hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}}, \mbox{\hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}}, \mbox{\hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}}, \mbox{\hyperlink{test_growing_balls_8c-example}{test\+\_\+growing\+\_\+balls.\+c}}, \mbox{\hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}}, and \mbox{\hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_gaf2c29ed64a1c548903c39400af792293}\label{group__EPhysics__Body_gaf2c29ed64a1c548903c39400af792293}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_cylinder\_add@{ephysics\_body\_cylinder\_add}}
\index{ephysics\_body\_cylinder\_add@{ephysics\_body\_cylinder\_add}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_cylinder\_add()}{ephysics\_body\_cylinder\_add()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ ephysics\+\_\+body\+\_\+cylinder\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$}]{world }\end{DoxyParamCaption})}



Create a new cylinder physics body. 

Its collision shape will be a cylinder of diameter 1. To change it\textquotesingle{}s size \mbox{\hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set()}} should be used.

Any evas object can be associated to it with \mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}}, and it will collide as a cylinder (even if you have an evas rectangle).

If a cylinder that could have its shape deformed is required, use \mbox{\hyperlink{group__EPhysics__Body_ga4859489c252a24a1302834cf00917ffb}{ephysics\+\_\+body\+\_\+soft\+\_\+cylinder\+\_\+add()}}.


\begin{DoxyParams}{Parameters}
{\em world} & The world this body will belongs to. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new body or {\ttfamily NULL}, on errors.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga4859489c252a24a1302834cf00917ffb}\label{group__EPhysics__Body_ga4859489c252a24a1302834cf00917ffb}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_soft\_cylinder\_add@{ephysics\_body\_soft\_cylinder\_add}}
\index{ephysics\_body\_soft\_cylinder\_add@{ephysics\_body\_soft\_cylinder\_add}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_soft\_cylinder\_add()}{ephysics\_body\_soft\_cylinder\_add()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ ephysics\+\_\+body\+\_\+soft\+\_\+cylinder\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$}]{world }\end{DoxyParamCaption})}



Create a new deformable cylinder physics body. 

Its collision shape will be a cylinder of diameter 1. To change it\textquotesingle{}s size \mbox{\hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set()}} should be used.

Any evas object can be associated to it with \mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}}, and it will collide and deform as a cylinder (even if you have an evas rectangle).

Just like rotation, deformation will be applied on associated evas object using evas map.

\begin{DoxyNote}{Note}
When working with soft bodies it\textquotesingle{}s importante to adjust the simulation\textquotesingle{}s fixed time step due its multi point nature.
\end{DoxyNote}
For a rigid cylinder, check \mbox{\hyperlink{group__EPhysics__Body_gaf2c29ed64a1c548903c39400af792293}{ephysics\+\_\+body\+\_\+cylinder\+\_\+add()}}.


\begin{DoxyParams}{Parameters}
{\em world} & The world this body will belongs to. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new body or {\ttfamily NULL}, on errors.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set()}}. 

\mbox{\hyperlink{group__EPhysics__World_gab605cbebcc53278db5138f68df074607}{ephysics\+\_\+world\+\_\+simulation\+\_\+set()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga6381538c9002ea30171c0a64100350f5}\label{group__EPhysics__Body_ga6381538c9002ea30171c0a64100350f5}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_box\_add@{ephysics\_body\_box\_add}}
\index{ephysics\_body\_box\_add@{ephysics\_body\_box\_add}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_box\_add()}{ephysics\_body\_box\_add()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ ephysics\+\_\+body\+\_\+box\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$}]{world }\end{DoxyParamCaption})}



Create a new box physics body. 

Its collision shape will be a box of dimensions 1 on all the axes. To change it\textquotesingle{}s size \mbox{\hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set()}} should be used.

If a box that could have its shape deformed is required, use \mbox{\hyperlink{group__EPhysics__Body_ga53de9b6eca8564792f8c09e23be390ba}{ephysics\+\_\+body\+\_\+soft\+\_\+box\+\_\+add()}}.


\begin{DoxyParams}{Parameters}
{\em world} & The world this body will belongs to. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new body or {\ttfamily NULL}, on errors.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}}, \mbox{\hyperlink{test_bouncing_text_8c-example}{test\+\_\+bouncing\+\_\+text.\+c}}, \mbox{\hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}}, \mbox{\hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}}, \mbox{\hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}}, \mbox{\hyperlink{test_constraint_8c-example}{test\+\_\+constraint.\+c}}, \mbox{\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}}, \mbox{\hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}}, \mbox{\hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}}, and \mbox{\hyperlink{test_slider_8c-example}{test\+\_\+slider.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga53de9b6eca8564792f8c09e23be390ba}\label{group__EPhysics__Body_ga53de9b6eca8564792f8c09e23be390ba}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_soft\_box\_add@{ephysics\_body\_soft\_box\_add}}
\index{ephysics\_body\_soft\_box\_add@{ephysics\_body\_soft\_box\_add}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_soft\_box\_add()}{ephysics\_body\_soft\_box\_add()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ ephysics\+\_\+body\+\_\+soft\+\_\+box\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$}]{world }\end{DoxyParamCaption})}



Create a new deformable box physics body. 

Its collision shape will be a box of dimensions 1 on all the axes. To change it\textquotesingle{}s size \mbox{\hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set()}} should be used.

Just like rotation, deformation will be applied on associated evas object using evas map.

\begin{DoxyNote}{Note}
When working with soft bodies it\textquotesingle{}s importante to adjust the simulation\textquotesingle{}s fixed time step due its multi point nature.
\end{DoxyNote}
For a rigid cylinder, check \mbox{\hyperlink{group__EPhysics__Body_gaf2c29ed64a1c548903c39400af792293}{ephysics\+\_\+body\+\_\+cylinder\+\_\+add()}}.


\begin{DoxyParams}{Parameters}
{\em world} & The world this body will belong to. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new body or {\ttfamily NULL} on errors.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set()}}. 

\mbox{\hyperlink{group__EPhysics__World_gab605cbebcc53278db5138f68df074607}{ephysics\+\_\+world\+\_\+simulation\+\_\+set()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gabc17f66be80c29562eb827973b495e6c}\label{group__EPhysics__Body_gabc17f66be80c29562eb827973b495e6c}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_cloth\_add@{ephysics\_body\_cloth\_add}}
\index{ephysics\_body\_cloth\_add@{ephysics\_body\_cloth\_add}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_cloth\_add()}{ephysics\_body\_cloth\_add()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ ephysics\+\_\+body\+\_\+cloth\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$}]{world,  }\item[{unsigned short}]{rows,  }\item[{unsigned short}]{columns }\end{DoxyParamCaption})}



Create a new deformable cloth physics body. 

A cloth has its points of deformation conceptually split into rows and columns where every square is also split into two triangles -\/ afore named nodes. To fine tune the deformation one can increase this granularity by increasing the number of {\ttfamily rows} and {\ttfamily columns}.

By default -\/ if passed 0 as {\ttfamily rows} and {\ttfamily columns} -\/ EPhysics creates a cloth with 15 rows and 15 columns, these default values will generally fit the most common scenarios.

If the informed {\ttfamily rows} is of 0 then the default value -\/ of 15 -\/ is assumed. The same is true for {\ttfamily columns}.


\begin{DoxyParams}{Parameters}
{\em world} & The world this body will belong to. \\
\hline
{\em rows} & The number os rows. \\
\hline
{\em columns} & The number of columns. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new body or {\ttfamily NULL} on erros.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set()}}. 

\mbox{\hyperlink{group__EPhysics__World_gab605cbebcc53278db5138f68df074607}{ephysics\+\_\+world\+\_\+simulation\+\_\+set()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga909b36744802759641d02b0414be90d4}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+add()}}. 

\mbox{\hyperlink{group__EPhysics__Body_gad613c22fe04b10546a25d3e44901e65d}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+full\+\_\+add()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gad613c22fe04b10546a25d3e44901e65d}\label{group__EPhysics__Body_gad613c22fe04b10546a25d3e44901e65d}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_cloth\_anchor\_full\_add@{ephysics\_body\_cloth\_anchor\_full\_add}}
\index{ephysics\_body\_cloth\_anchor\_full\_add@{ephysics\_body\_cloth\_anchor\_full\_add}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_cloth\_anchor\_full\_add()}{ephysics\_body\_cloth\_anchor\_full\_add()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+full\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body1,  }\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body2,  }\item[{\mbox{\hyperlink{group__EPhysics__Body_ga141ced5a614b33d9efc09c634aebbb4a}{EPhysics\+\_\+\+Body\+\_\+\+Cloth\+\_\+\+Anchor\+\_\+\+Side}}}]{side }\end{DoxyParamCaption})}



Anchors a cloth with a rigid body. 

All the informed {\ttfamily side} of {\ttfamily body1} will be anchored to {\ttfamily body2} wherever it\textquotesingle{}s in time of anchoring. That is, all the nodes in the informed \char`\"{}edge\char`\"{}.

An anchor assumes the {\ttfamily body1} positions, if it\textquotesingle{}s 20px far from {\ttfamily body2} then this distance is always kept, moving {\ttfamily body1} or {\ttfamily body2} will respect a 20px difference.


\begin{DoxyParams}{Parameters}
{\em body1} & The cloth body to be anchored. \\
\hline
{\em body2} & The body to be anchored to. \\
\hline
{\em side} & The side to be anchored.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga909b36744802759641d02b0414be90d4}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+add()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga5e42bca444f7f8f539a2d9656441d048}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+del()}}. 

\mbox{\hyperlink{group__EPhysics__Body_gabc17f66be80c29562eb827973b495e6c}{ephysics\+\_\+body\+\_\+cloth\+\_\+add()}} to know more about the cloth physics representation. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga909b36744802759641d02b0414be90d4}\label{group__EPhysics__Body_ga909b36744802759641d02b0414be90d4}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_cloth\_anchor\_add@{ephysics\_body\_cloth\_anchor\_add}}
\index{ephysics\_body\_cloth\_anchor\_add@{ephysics\_body\_cloth\_anchor\_add}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_cloth\_anchor\_add()}{ephysics\_body\_cloth\_anchor\_add()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body1,  }\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body2,  }\item[{int}]{node }\end{DoxyParamCaption})}



Anchors an arbitrary cloth\textquotesingle{}s node with a rigid body. 

The informed {\ttfamily node} of {\ttfamily body1} will be anchored to {\ttfamily body2} wherever it\textquotesingle{}s in time of anchoring.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gabc17f66be80c29562eb827973b495e6c}{ephysics\+\_\+body\+\_\+cloth\+\_\+add()}} to know more about the cloth physics representation, nodes and so on.
\end{DoxySeeAlso}
An anchor assumes the {\ttfamily body1} positions, if it\textquotesingle{}s 20px far from {\ttfamily body2} then this distance is always kept, moving {\ttfamily body1} or {\ttfamily body2} will respect a 20px difference.


\begin{DoxyParams}{Parameters}
{\em body1} & The cloth body to be anchored. \\
\hline
{\em body2} & The body to be anchored to. \\
\hline
{\em node} & The node index to be anchored.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gad613c22fe04b10546a25d3e44901e65d}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+full\+\_\+add()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga5e42bca444f7f8f539a2d9656441d048}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+del()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga5e42bca444f7f8f539a2d9656441d048}\label{group__EPhysics__Body_ga5e42bca444f7f8f539a2d9656441d048}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_cloth\_anchor\_del@{ephysics\_body\_cloth\_anchor\_del}}
\index{ephysics\_body\_cloth\_anchor\_del@{ephysics\_body\_cloth\_anchor\_del}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_cloth\_anchor\_del()}{ephysics\_body\_cloth\_anchor\_del()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+del (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Removes the anchors in a cloth body. 


\begin{DoxyParams}{Parameters}
{\em body} & The body to delete anchors from.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gad613c22fe04b10546a25d3e44901e65d}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+full\+\_\+add()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga909b36744802759641d02b0414be90d4}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+add()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gaee1301dfd2548f4774d5e4cb81b14385}\label{group__EPhysics__Body_gaee1301dfd2548f4774d5e4cb81b14385}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_shape\_add@{ephysics\_body\_shape\_add}}
\index{ephysics\_body\_shape\_add@{ephysics\_body\_shape\_add}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_shape\_add()}{ephysics\_body\_shape\_add()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ ephysics\+\_\+body\+\_\+shape\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$}]{world,  }\item[{\mbox{\hyperlink{group__EPhysics__Shape_gadfcc565af1b4e898f2959292a9089e7e}{EPhysics\+\_\+\+Shape}} $\ast$}]{shape }\end{DoxyParamCaption})}



Create a new physics body using a custom shape. 

Its collision shape will be a convex shape that has all the points added to this {\ttfamily shape}. A shape can be created with \mbox{\hyperlink{group__EPhysics__Shape_gae9e86be43d7e1c4407f6de877950217b}{ephysics\+\_\+shape\+\_\+new()}}.

To change it\textquotesingle{}s size \mbox{\hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set()}} should be used, so it can be deformed on x, y and z axes.

The center of mass of this body can be get with \mbox{\hyperlink{group__EPhysics__Body_ga2370842d3a7fb806534e51acb543286d}{ephysics\+\_\+body\+\_\+center\+\_\+mass\+\_\+get()}}.


\begin{DoxyParams}{Parameters}
{\em world} & The world this body will belongs to. \\
\hline
{\em shape} & The custom shape to be used. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new body or {\ttfamily NULL}, on errors.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_shapes_8c-example}{test\+\_\+shapes.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga58ecc44fc7febb980fe1857ef053f61f}\label{group__EPhysics__Body_ga58ecc44fc7febb980fe1857ef053f61f}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_top\_boundary\_add@{ephysics\_body\_top\_boundary\_add}}
\index{ephysics\_body\_top\_boundary\_add@{ephysics\_body\_top\_boundary\_add}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_top\_boundary\_add()}{ephysics\_body\_top\_boundary\_add()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ ephysics\+\_\+body\+\_\+top\+\_\+boundary\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$}]{world }\end{DoxyParamCaption})}



Create a physic top boundary. 

A physic top boundary will limit the bodies area and placed on top edge of worlds render geometry -\/ defined with \mbox{\hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()}}.


\begin{DoxyParams}{Parameters}
{\em world} & The world this body will belong to. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new body or {\ttfamily NULL}, on erros. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}}, \mbox{\hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}}, \mbox{\hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}}, \mbox{\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}}, \mbox{\hyperlink{test_growing_balls_8c-example}{test\+\_\+growing\+\_\+balls.\+c}}, \mbox{\hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}}, \mbox{\hyperlink{test_shapes_8c-example}{test\+\_\+shapes.\+c}}, \mbox{\hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}}, and \mbox{\hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga41939240a53e1373d592b8a6be273978}\label{group__EPhysics__Body_ga41939240a53e1373d592b8a6be273978}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_bottom\_boundary\_add@{ephysics\_body\_bottom\_boundary\_add}}
\index{ephysics\_body\_bottom\_boundary\_add@{ephysics\_body\_bottom\_boundary\_add}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_bottom\_boundary\_add()}{ephysics\_body\_bottom\_boundary\_add()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ ephysics\+\_\+body\+\_\+bottom\+\_\+boundary\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$}]{world }\end{DoxyParamCaption})}



Create a physic bottom boundary. 

A physic bottom boundary will limit the bodies area and placed on bottom edge of worlds render geometry -\/ defined with \mbox{\hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()}}.


\begin{DoxyParams}{Parameters}
{\em world} & The world this body will belong to. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new body or {\ttfamily NULL}, on erros. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}}, \mbox{\hyperlink{test_bouncing_text_8c-example}{test\+\_\+bouncing\+\_\+text.\+c}}, \mbox{\hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}}, \mbox{\hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}}, \mbox{\hyperlink{test_constraint_8c-example}{test\+\_\+constraint.\+c}}, \mbox{\hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}}, \mbox{\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}}, \mbox{\hyperlink{test_growing_balls_8c-example}{test\+\_\+growing\+\_\+balls.\+c}}, \mbox{\hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}}, \mbox{\hyperlink{test_shapes_8c-example}{test\+\_\+shapes.\+c}}, \mbox{\hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}}, \mbox{\hyperlink{test_slider_8c-example}{test\+\_\+slider.\+c}}, and \mbox{\hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga6bad14ec64496e39d589ac25aee889f0}\label{group__EPhysics__Body_ga6bad14ec64496e39d589ac25aee889f0}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_left\_boundary\_add@{ephysics\_body\_left\_boundary\_add}}
\index{ephysics\_body\_left\_boundary\_add@{ephysics\_body\_left\_boundary\_add}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_left\_boundary\_add()}{ephysics\_body\_left\_boundary\_add()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ ephysics\+\_\+body\+\_\+left\+\_\+boundary\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$}]{world }\end{DoxyParamCaption})}



Create a physic left boundary. 

A physic left boundary will limit the bodies area and placed right o the left edge of worlds render geometry -\/ defined with \mbox{\hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()}}.


\begin{DoxyParams}{Parameters}
{\em world} & The world this body will belong to. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new body or {\ttfamily NULL}, on erros. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}}, \mbox{\hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}}, \mbox{\hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}}, \mbox{\hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}}, \mbox{\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}}, \mbox{\hyperlink{test_growing_balls_8c-example}{test\+\_\+growing\+\_\+balls.\+c}}, \mbox{\hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}}, \mbox{\hyperlink{test_shapes_8c-example}{test\+\_\+shapes.\+c}}, \mbox{\hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}}, \mbox{\hyperlink{test_slider_8c-example}{test\+\_\+slider.\+c}}, and \mbox{\hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_gaa2db93bfa483a5a1b755801d14a343dd}\label{group__EPhysics__Body_gaa2db93bfa483a5a1b755801d14a343dd}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_right\_boundary\_add@{ephysics\_body\_right\_boundary\_add}}
\index{ephysics\_body\_right\_boundary\_add@{ephysics\_body\_right\_boundary\_add}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_right\_boundary\_add()}{ephysics\_body\_right\_boundary\_add()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ ephysics\+\_\+body\+\_\+right\+\_\+boundary\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$}]{world }\end{DoxyParamCaption})}



Create a physic right boundary. 

A physic right boundary will limit the bodies area and placed right o the right edge of worlds render geometry -\/ defined with \mbox{\hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()}}.


\begin{DoxyParams}{Parameters}
{\em world} & The world this body will belong to. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new body or {\ttfamily NULL}, on erros. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}}, \mbox{\hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}}, \mbox{\hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}}, \mbox{\hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}}, \mbox{\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}}, \mbox{\hyperlink{test_growing_balls_8c-example}{test\+\_\+growing\+\_\+balls.\+c}}, \mbox{\hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}}, \mbox{\hyperlink{test_shapes_8c-example}{test\+\_\+shapes.\+c}}, \mbox{\hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}}, and \mbox{\hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_gaf91610f37186f2b0ace1030b3c85bd4f}\label{group__EPhysics__Body_gaf91610f37186f2b0ace1030b3c85bd4f}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_front\_boundary\_add@{ephysics\_body\_front\_boundary\_add}}
\index{ephysics\_body\_front\_boundary\_add@{ephysics\_body\_front\_boundary\_add}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_front\_boundary\_add()}{ephysics\_body\_front\_boundary\_add()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ ephysics\+\_\+body\+\_\+front\+\_\+boundary\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$}]{world }\end{DoxyParamCaption})}



Create a physic front boundary. 

A physic front boundary will limit the bodies area and placed on the front of worlds render geometry -\/ defined with \mbox{\hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()}}. It is placed on x-\/y plane, from x to x + width, from y to y + height.


\begin{DoxyParams}{Parameters}
{\em world} & The world this body will belong to. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new body or {\ttfamily NULL}, on erros. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gaa882272835bcd3e4d140a58c94e6c6df}\label{group__EPhysics__Body_gaa882272835bcd3e4d140a58c94e6c6df}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_back\_boundary\_add@{ephysics\_body\_back\_boundary\_add}}
\index{ephysics\_body\_back\_boundary\_add@{ephysics\_body\_back\_boundary\_add}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_back\_boundary\_add()}{ephysics\_body\_back\_boundary\_add()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ ephysics\+\_\+body\+\_\+back\+\_\+boundary\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$}]{world }\end{DoxyParamCaption})}



Create a physic back boundary. 

A physic front boundary will limit the bodies area and placed on the back of worlds render geometry -\/ defined with \mbox{\hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()}}. It is placed on x-\/y plane, from x to x + width, from y to y + height.


\begin{DoxyParams}{Parameters}
{\em world} & The world this body will belong to. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new body or {\ttfamily NULL}, on erros. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}\label{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_del@{ephysics\_body\_del}}
\index{ephysics\_body\_del@{ephysics\_body\_del}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_del()}{ephysics\_body\_del()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+del (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Delete a physics body. 

This function will remove this body from its world and will free all the memory used. It won\textquotesingle{}t delete or modify an associated evas object, what can be done with \mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}}. So after it is removed the evas object will stop being updated, but will continue to be rendered on canvas.


\begin{DoxyParams}{Parameters}
{\em body} & The body to be deleted.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga6381538c9002ea30171c0a64100350f5}{ephysics\+\_\+body\+\_\+box\+\_\+add()}}. 

\mbox{\hyperlink{group__EPhysics__Body_gaf2c29ed64a1c548903c39400af792293}{ephysics\+\_\+body\+\_\+cylinder\+\_\+add()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_gaba7bf04204e1afff25e28e3db132ef9f}\label{group__EPhysics__Body_gaba7bf04204e1afff25e28e3db132ef9f}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_world\_get@{ephysics\_body\_world\_get}}
\index{ephysics\_body\_world\_get@{ephysics\_body\_world\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_world\_get()}{ephysics\_body\_world\_get()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{EPhysics\+\_\+\+World}} $\ast$ ephysics\+\_\+body\+\_\+world\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Get the world a body belongs to. 

It will return the world where the body was added to.


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The world, or {\ttfamily NULL} on error. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}\label{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_evas\_object\_set@{ephysics\_body\_evas\_object\_set}}
\index{ephysics\_body\_evas\_object\_set@{ephysics\_body\_evas\_object\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_evas\_object\_set()}{ephysics\_body\_evas\_object\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$}]{evas\+\_\+obj,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}}]{use\+\_\+obj\+\_\+pos }\end{DoxyParamCaption})}



Set an evas object to a physics body. 

It will create a direct association between a physics body and an evas object. With that EPhysics will be able to update evas object position and rotation automatically.

This association should be 1\+:1. You can have physics bodies without evas objects, but you can\textquotesingle{}t have more than an evas object directly associated to this body. If you want more, you can use \mbox{\hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()}} to register a callback that will update the other evas objects. This function can be used to disable updates of associated evas objects, or complement updates, like changing evas objects properties under certain conditions of position or rotation.

If it\textquotesingle{}s required to associate evas object to specific faces of the body, function \mbox{\hyperlink{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set()}} could be used.


\begin{DoxyParams}{Parameters}
{\em body} & The body to associate to an evas object. \\
\hline
{\em evas\+\_\+obj} & The evas object that will be associated to this {\ttfamily body}. \\
\hline
{\em use\+\_\+obj\+\_\+pos} & If {\ttfamily EINA\+\_\+\+TRUE} it will set the physics body position to match evas object position taking world rate on consideration.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga6381538c9002ea30171c0a64100350f5}{ephysics\+\_\+body\+\_\+box\+\_\+add()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga53de9b6eca8564792f8c09e23be390ba}{ephysics\+\_\+body\+\_\+soft\+\_\+box\+\_\+add()}}. 

\mbox{\hyperlink{group__EPhysics__Body_gaf2c29ed64a1c548903c39400af792293}{ephysics\+\_\+body\+\_\+cylinder\+\_\+add()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga4859489c252a24a1302834cf00917ffb}{ephysics\+\_\+body\+\_\+soft\+\_\+cylinder\+\_\+add()}}. 

\mbox{\hyperlink{group__EPhysics__Body_gad2766a9306c7c8114ad6cb0ee4a8bd36}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+unset()}}. 

\mbox{\hyperlink{group__EPhysics__World_ga8327212faf3a8016382056b29fcec387}{ephysics\+\_\+world\+\_\+rate\+\_\+set()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}}, \mbox{\hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}}, \mbox{\hyperlink{test_bouncing_text_8c-example}{test\+\_\+bouncing\+\_\+text.\+c}}, \mbox{\hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}}, \mbox{\hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}}, \mbox{\hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}}, \mbox{\hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}}, \mbox{\hyperlink{test_constraint_8c-example}{test\+\_\+constraint.\+c}}, \mbox{\hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}}, \mbox{\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}}, \mbox{\hyperlink{test_growing_balls_8c-example}{test\+\_\+growing\+\_\+balls.\+c}}, \mbox{\hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}}, \mbox{\hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}}, \mbox{\hyperlink{test_shapes_8c-example}{test\+\_\+shapes.\+c}}, \mbox{\hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}}, \mbox{\hyperlink{test_slider_8c-example}{test\+\_\+slider.\+c}}, and \mbox{\hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_gad2766a9306c7c8114ad6cb0ee4a8bd36}\label{group__EPhysics__Body_gad2766a9306c7c8114ad6cb0ee4a8bd36}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_evas\_object\_unset@{ephysics\_body\_evas\_object\_unset}}
\index{ephysics\_body\_evas\_object\_unset@{ephysics\_body\_evas\_object\_unset}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_evas\_object\_unset()}{ephysics\_body\_evas\_object\_unset()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$ ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+unset (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Unset the evas object associated to a physics body. 


\begin{DoxyParams}{Parameters}
{\em body} & The body to unset an evas object from. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The associated evas object, or {\ttfamily NULL} if no object is associated or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}} for more details. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gade11f9cb1bdd26f393adbbe0b4a594be}\label{group__EPhysics__Body_gade11f9cb1bdd26f393adbbe0b4a594be}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_evas\_object\_get@{ephysics\_body\_evas\_object\_get}}
\index{ephysics\_body\_evas\_object\_get@{ephysics\_body\_evas\_object\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_evas\_object\_get()}{ephysics\_body\_evas\_object\_get()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$ ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Get the evas object associated to a physics body. 


\begin{DoxyParams}{Parameters}
{\em body} & The body to get an evas object from. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The associated evas object, or {\ttfamily NULL} if no object is associated or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}} for more details. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}}, and \mbox{\hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}\label{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_face\_evas\_object\_set@{ephysics\_body\_face\_evas\_object\_set}}
\index{ephysics\_body\_face\_evas\_object\_set@{ephysics\_body\_face\_evas\_object\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_face\_evas\_object\_set()}{ephysics\_body\_face\_evas\_object\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{group__EPhysics__Body_ga867862771facf1a6e5af1afb4c95145f}{EPhysics\+\_\+\+Body\+\_\+\+Face}}}]{face,  }\item[{\mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$}]{evas\+\_\+obj,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}}]{use\+\_\+obj\+\_\+pos }\end{DoxyParamCaption})}



Set an evas object to a physics body face. 

It will create a direct association between a specific face of the physics body and an evas object. With that EPhysics will be able to update evas object position and rotation automatically.

If it\textquotesingle{}s required to associate only one evas object to this body, a more generic function \begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}} can be used.
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em body} & The body to associate to an evas object. \\
\hline
{\em face} & The specific face of {\ttfamily body} where the evas object will be placed. \\
\hline
{\em evas\+\_\+obj} & The evas object that will be associated to this {\ttfamily body}. \\
\hline
{\em use\+\_\+obj\+\_\+pos} & If {\ttfamily EINA\+\_\+\+TRUE} it will set the physics body position to match evas object position taking world rate on consideration.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga0940058bd74ef95747a07809b3ec80a0}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+unset()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga423ddd0f18213886c0e01b1faedb06d4}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+get()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}}. 

\mbox{\hyperlink{group__EPhysics__World_ga8327212faf3a8016382056b29fcec387}{ephysics\+\_\+world\+\_\+rate\+\_\+set()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga423ddd0f18213886c0e01b1faedb06d4}\label{group__EPhysics__Body_ga423ddd0f18213886c0e01b1faedb06d4}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_face\_evas\_object\_get@{ephysics\_body\_face\_evas\_object\_get}}
\index{ephysics\_body\_face\_evas\_object\_get@{ephysics\_body\_face\_evas\_object\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_face\_evas\_object\_get()}{ephysics\_body\_face\_evas\_object\_get()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$ ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{group__EPhysics__Body_ga867862771facf1a6e5af1afb4c95145f}{EPhysics\+\_\+\+Body\+\_\+\+Face}}}]{face }\end{DoxyParamCaption})}



Get the evas object associated to a physics body face. 


\begin{DoxyParams}{Parameters}
{\em body} & The body to get an evas object from. \\
\hline
{\em face} & The specific face of {\ttfamily body} where the evas object was placed. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The associated evas object, or {\ttfamily NULL} if no object is associated or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set()}} for more details. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga0940058bd74ef95747a07809b3ec80a0}\label{group__EPhysics__Body_ga0940058bd74ef95747a07809b3ec80a0}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_face\_evas\_object\_unset@{ephysics\_body\_face\_evas\_object\_unset}}
\index{ephysics\_body\_face\_evas\_object\_unset@{ephysics\_body\_face\_evas\_object\_unset}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_face\_evas\_object\_unset()}{ephysics\_body\_face\_evas\_object\_unset()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$ ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+unset (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{group__EPhysics__Body_ga867862771facf1a6e5af1afb4c95145f}{EPhysics\+\_\+\+Body\+\_\+\+Face}}}]{face }\end{DoxyParamCaption})}



Unset the evas object associated to a physics body face. 


\begin{DoxyParams}{Parameters}
{\em body} & The body to unset an evas object from. \\
\hline
{\em face} & The specific face of {\ttfamily body} where the evas object was placed. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The associated evas object, or {\ttfamily NULL} if no object is associated or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set()}} for more details. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gad4333b73a33d08bd598cc4c442230902}\label{group__EPhysics__Body_gad4333b73a33d08bd598cc4c442230902}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_resize@{ephysics\_body\_resize}}
\index{ephysics\_body\_resize@{ephysics\_body\_resize}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_resize()}{ephysics\_body\_resize()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+resize (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{w,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{h,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{d }\end{DoxyParamCaption})}



Set physics body size. 

By default cylinders have diameter equal to 1 meter $\ast$ rate, boxes have dimensions 1 meter $\ast$ rate on all the axes.

There are three direct ways of modifying it\textquotesingle{}s size\+: \begin{DoxyItemize}
\item With \mbox{\hyperlink{group__EPhysics__Body_gad4333b73a33d08bd598cc4c442230902}{ephysics\+\_\+body\+\_\+resize()}}; \item With \mbox{\hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set()}}; \item When associating an evas object with \mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}}.\end{DoxyItemize}
\begin{DoxyNote}{Note}
The unit used for size is Evas coordinates.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em body} & The body to be resized. \\
\hline
{\em w} & The body width, in pixels. \\
\hline
{\em h} & The body height, in pixels. \\
\hline
{\em d} & The body depth, in pixels.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gae84f1b9e25cb15f7ec63d1371093b263}{ephysics\+\_\+body\+\_\+geometry\+\_\+get()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set()}}. 

\mbox{\hyperlink{group__EPhysics__Body_gae3c32aa0cdd60ffec86fff30097e75e1}{ephysics\+\_\+body\+\_\+move()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gae3c32aa0cdd60ffec86fff30097e75e1}\label{group__EPhysics__Body_gae3c32aa0cdd60ffec86fff30097e75e1}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_move@{ephysics\_body\_move}}
\index{ephysics\_body\_move@{ephysics\_body\_move}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_move()}{ephysics\_body\_move()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+move (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{x,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{y,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{z }\end{DoxyParamCaption})}



Set physics body position. 

All the physics bodies are created centered on origin (0, 0, 0).

There are three direct ways of modifying this position\+: \begin{DoxyItemize}
\item With \mbox{\hyperlink{group__EPhysics__Body_gae3c32aa0cdd60ffec86fff30097e75e1}{ephysics\+\_\+body\+\_\+move()}}; \item With \mbox{\hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set()}}; \item When associating an evas object with \mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}}.\end{DoxyItemize}
When the world is simulated forces will be applied on objects with mass and position will be modified too.

\begin{DoxyNote}{Note}
The unit used for position is Evas coordinates.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em body} & The body to be positioned. \\
\hline
{\em x} & The position on axis x, in pixels. \\
\hline
{\em y} & The position on axis y, in pixels. \\
\hline
{\em z} & The position on axis z, in pixels.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gae84f1b9e25cb15f7ec63d1371093b263}{ephysics\+\_\+body\+\_\+geometry\+\_\+get()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set()}}. 

\mbox{\hyperlink{group__EPhysics__Body_gad4333b73a33d08bd598cc4c442230902}{ephysics\+\_\+body\+\_\+resize()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}\label{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_geometry\_set@{ephysics\_body\_geometry\_set}}
\index{ephysics\_body\_geometry\_set@{ephysics\_body\_geometry\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_geometry\_set()}{ephysics\_body\_geometry\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+geometry\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{x,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{y,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{z,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{w,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{h,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{d }\end{DoxyParamCaption})}



Set physics body geometry. 

All the physics bodies are created centered on origin (0, 0) and with canonical dimensions. Cylinder have diameter 1, boxes have dimensions 1 on all the axes.

There are four direct ways of modifying this geometry\+: \begin{DoxyItemize}
\item With \mbox{\hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set()}}; \item With \mbox{\hyperlink{group__EPhysics__Body_gae3c32aa0cdd60ffec86fff30097e75e1}{ephysics\+\_\+body\+\_\+move()}}; \item With \mbox{\hyperlink{group__EPhysics__Body_gad4333b73a33d08bd598cc4c442230902}{ephysics\+\_\+body\+\_\+resize()}}; \item When associating an evas object with \mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}}.\end{DoxyItemize}
If you just need to move the body, no changes are required to it\textquotesingle{}s size, use \mbox{\hyperlink{group__EPhysics__Body_gae3c32aa0cdd60ffec86fff30097e75e1}{ephysics\+\_\+body\+\_\+move()}}. If you just need to modify the size of {\ttfamily body} use \mbox{\hyperlink{group__EPhysics__Body_gad4333b73a33d08bd598cc4c442230902}{ephysics\+\_\+body\+\_\+resize()}}.

When the world is simulated forces will be applied on objects with mass and position will be modified too.

\begin{DoxyNote}{Note}
The unit used for geometry is Evas coordinates.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em body} & The body to be modified. \\
\hline
{\em x} & The position on axis x, in pixels. \\
\hline
{\em y} & The position on axis y, in pixels. \\
\hline
{\em z} & The position on axis z, in pixels. \\
\hline
{\em w} & The body width, in pixels. \\
\hline
{\em h} & The body height, in pixels. \\
\hline
{\em d} & The body depth, in pixels.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gae84f1b9e25cb15f7ec63d1371093b263}{ephysics\+\_\+body\+\_\+geometry\+\_\+get()}}. 

\mbox{\hyperlink{group__EPhysics__Body_gae3c32aa0cdd60ffec86fff30097e75e1}{ephysics\+\_\+body\+\_\+move()}}. 

\mbox{\hyperlink{group__EPhysics__Body_gad4333b73a33d08bd598cc4c442230902}{ephysics\+\_\+body\+\_\+resize()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}}, \mbox{\hyperlink{test_bouncing_text_8c-example}{test\+\_\+bouncing\+\_\+text.\+c}}, \mbox{\hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}}, \mbox{\hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}}, and \mbox{\hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_gae84f1b9e25cb15f7ec63d1371093b263}\label{group__EPhysics__Body_gae84f1b9e25cb15f7ec63d1371093b263}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_geometry\_get@{ephysics\_body\_geometry\_get}}
\index{ephysics\_body\_geometry\_get@{ephysics\_body\_geometry\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_geometry\_get()}{ephysics\_body\_geometry\_get()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+geometry\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} $\ast$}]{x,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} $\ast$}]{y,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} $\ast$}]{z,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} $\ast$}]{w,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} $\ast$}]{h,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} $\ast$}]{d }\end{DoxyParamCaption})}



Get physics body position. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em x} & The position on axis x, in pixels. \\
\hline
{\em y} & The position on axis y, in pixels. \\
\hline
{\em z} & The position on axis z, in pixels. \\
\hline
{\em w} & The body width, in pixels. \\
\hline
{\em h} & The body height, in pixels. \\
\hline
{\em d} & The body depth, in pixels.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set()}} for more details. 

\mbox{\hyperlink{group__EPhysics__Body_gae3c32aa0cdd60ffec86fff30097e75e1}{ephysics\+\_\+body\+\_\+move()}}. 

\mbox{\hyperlink{group__EPhysics__Body_gad4333b73a33d08bd598cc4c442230902}{ephysics\+\_\+body\+\_\+resize()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_constraint_8c-example}{test\+\_\+constraint.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_gaa0915777f634079ca6c088fda5c20e8f}\label{group__EPhysics__Body_gaa0915777f634079ca6c088fda5c20e8f}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_mass\_set@{ephysics\_body\_mass\_set}}
\index{ephysics\_body\_mass\_set@{ephysics\_body\_mass\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_mass\_set()}{ephysics\_body\_mass\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+mass\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double}]{mass }\end{DoxyParamCaption})}



Set body\textquotesingle{}s mass. 

It will set inertial mass of the body. It is a quantitative measure of an object\textquotesingle{}s resistance to the change of its speed. It\textquotesingle{}s required to apply more force on objects with more mass to increase its speed.

If mass is set to 0 the body will have infinite mass, so it will be immovable, static. \mbox{\hyperlink{group__EPhysics__Body_ga6f5a7cbea749e1567d608b9321af9eb9}{EPHYSICS\+\_\+\+BODY\+\_\+\+MASS\+\_\+\+STATIC}} can be used too.

Negative mass is not allowed.

By default, a body is created with 1 kg.

\begin{DoxyNote}{Note}
The unit used for mass is kilograms.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em body} & The body to has its mass set. \\
\hline
{\em mass} & The {\ttfamily body\textquotesingle{}s} mass, in kilograms.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gace451135f119bcc7b64516cb6d5b252f}{ephysics\+\_\+body\+\_\+mass\+\_\+get()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}}, \mbox{\hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}}, \mbox{\hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}}, \mbox{\hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}}, \mbox{\hyperlink{test_constraint_8c-example}{test\+\_\+constraint.\+c}}, and \mbox{\hyperlink{test_slider_8c-example}{test\+\_\+slider.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_gace451135f119bcc7b64516cb6d5b252f}\label{group__EPhysics__Body_gace451135f119bcc7b64516cb6d5b252f}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_mass\_get@{ephysics\_body\_mass\_get}}
\index{ephysics\_body\_mass\_get@{ephysics\_body\_mass\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_mass\_get()}{ephysics\_body\_mass\_get()}}
{\footnotesize\ttfamily EAPI double ephysics\+\_\+body\+\_\+mass\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Get body\textquotesingle{}s mass. 

It will get inertial mass of the body.


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the {\ttfamily body} mass, in kilograms.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gaa0915777f634079ca6c088fda5c20e8f}{ephysics\+\_\+body\+\_\+mass\+\_\+set()}} for details. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga1e2bbd2a002b05afbfdbd0da2a9480ed}\label{group__EPhysics__Body_ga1e2bbd2a002b05afbfdbd0da2a9480ed}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_linear\_velocity\_set@{ephysics\_body\_linear\_velocity\_set}}
\index{ephysics\_body\_linear\_velocity\_set@{ephysics\_body\_linear\_velocity\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_linear\_velocity\_set()}{ephysics\_body\_linear\_velocity\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double}]{x,  }\item[{double}]{y,  }\item[{double}]{z }\end{DoxyParamCaption})}



Set body\textquotesingle{}s linear velocity on x, y and z axes. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em x} & The linear velocity on axis x. \\
\hline
{\em y} & The linear velocity on axis y. \\
\hline
{\em z} & The linear velocity on axis z.\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
EPhysics unit for linear velocity is Evas coordinates per second.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga45dadf9123da25dd007b6c458f86d589}{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+get()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga118210c9836a166c923665fc4714997d}{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+set()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}}, and \mbox{\hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga45dadf9123da25dd007b6c458f86d589}\label{group__EPhysics__Body_ga45dadf9123da25dd007b6c458f86d589}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_linear\_velocity\_get@{ephysics\_body\_linear\_velocity\_get}}
\index{ephysics\_body\_linear\_velocity\_get@{ephysics\_body\_linear\_velocity\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_linear\_velocity\_get()}{ephysics\_body\_linear\_velocity\_get()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double $\ast$}]{x,  }\item[{double $\ast$}]{y,  }\item[{double $\ast$}]{z }\end{DoxyParamCaption})}



Get body\textquotesingle{}s linear velocity on x, y and z axes. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em x} & The linear velocity on axis x. \\
\hline
{\em y} & The linear velocity on axis y. \\
\hline
{\em z} & The linear velocity on axis z.\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
EPhysics unit for linear velocity is Evas coordinates per second. 

For cloth bodies the returned value is a velocity average of nodes velocities.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga1e2bbd2a002b05afbfdbd0da2a9480ed}{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+set()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga4aa2211390aefa191a13639a672f21e8}{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+get()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}}, and \mbox{\hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga118210c9836a166c923665fc4714997d}\label{group__EPhysics__Body_ga118210c9836a166c923665fc4714997d}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_angular\_velocity\_set@{ephysics\_body\_angular\_velocity\_set}}
\index{ephysics\_body\_angular\_velocity\_set@{ephysics\_body\_angular\_velocity\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_angular\_velocity\_set()}{ephysics\_body\_angular\_velocity\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double}]{x,  }\item[{double}]{y,  }\item[{double}]{z }\end{DoxyParamCaption})}



Set body\textquotesingle{}s angular velocity on x, y and z axes. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em x} & The angular velocity on axis x. \\
\hline
{\em y} & The angular velocity on axis y. \\
\hline
{\em z} & The angular velocity on axis z.\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
EPhysics unit for angular velocity is degrees per second.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga4aa2211390aefa191a13639a672f21e8}{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+get()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga1e2bbd2a002b05afbfdbd0da2a9480ed}{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+set()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga4aa2211390aefa191a13639a672f21e8}\label{group__EPhysics__Body_ga4aa2211390aefa191a13639a672f21e8}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_angular\_velocity\_get@{ephysics\_body\_angular\_velocity\_get}}
\index{ephysics\_body\_angular\_velocity\_get@{ephysics\_body\_angular\_velocity\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_angular\_velocity\_get()}{ephysics\_body\_angular\_velocity\_get()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double $\ast$}]{x,  }\item[{double $\ast$}]{y,  }\item[{double $\ast$}]{z }\end{DoxyParamCaption})}



Get body\textquotesingle{}s angular velocity on x, y and z axes. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em x} & The angular velocity on axis x. \\
\hline
{\em y} & The angular velocity on axis y. \\
\hline
{\em z} & The angular velocity on axis z.\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
EPhysics unit for angular velocity is degrees per second.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga118210c9836a166c923665fc4714997d}{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+set()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga45dadf9123da25dd007b6c458f86d589}{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+get()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}}, \mbox{\hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}}, and \mbox{\hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_gaa65f3bf819cf09ac5da543ee6460a9f3}\label{group__EPhysics__Body_gaa65f3bf819cf09ac5da543ee6460a9f3}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_sleeping\_threshold\_set@{ephysics\_body\_sleeping\_threshold\_set}}
\index{ephysics\_body\_sleeping\_threshold\_set@{ephysics\_body\_sleeping\_threshold\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_sleeping\_threshold\_set()}{ephysics\_body\_sleeping\_threshold\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double}]{linear\+\_\+threshold,  }\item[{double}]{angular\+\_\+threshold }\end{DoxyParamCaption})}



Set the linear and angular sleeping threshold. 

These factors are used to determine whenever a rigid body is supposed to increment the sleeping time.

After every tick the sleeping time is incremented, if the body\textquotesingle{}s linear and angular speed is less than the respective thresholds the sleeping time is incremented by the current time step (delta time).

After reaching the max sleeping time the body is marked to sleep, that means the rigid body is to be deactivated.

\begin{DoxyNote}{Note}
The expected value to be informed as {\ttfamily linear\+\_\+threshold} is the body\textquotesingle{}s speed. It is measured in Evas coordinates per second.

The expected angular velocity to be informed as {\ttfamily angular\+\_\+threshold} is measured in degrees per second.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em body} & The body to be set. \\
\hline
{\em linear\+\_\+threshold} & The linear sleeping threshold factor, default value is 24. \\
\hline
{\em angular\+\_\+threshold} & The angular sleeping threshold factor, default value is 57.\+29 (1 rad).\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gacaf8c1fdcc247819ef0646539742c11b}{ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+get()}}. 

\mbox{\hyperlink{group__EPhysics__World_ga797b98c12273d85f7dd5b30a911f76f2}{ephysics\+\_\+world\+\_\+max\+\_\+sleeping\+\_\+time\+\_\+set()}} for sleeping time details. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}}, \mbox{\hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}}, and \mbox{\hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_gacaf8c1fdcc247819ef0646539742c11b}\label{group__EPhysics__Body_gacaf8c1fdcc247819ef0646539742c11b}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_sleeping\_threshold\_get@{ephysics\_body\_sleeping\_threshold\_get}}
\index{ephysics\_body\_sleeping\_threshold\_get@{ephysics\_body\_sleeping\_threshold\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_sleeping\_threshold\_get()}{ephysics\_body\_sleeping\_threshold\_get()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double $\ast$}]{linear\+\_\+threshold,  }\item[{double $\ast$}]{angular\+\_\+threshold }\end{DoxyParamCaption})}



Get the linear sleeping threshold. 

\begin{DoxyNote}{Note}
The linear sleeping threshold is measured in Evas coordinates per second and the angular sleeping threshold is measured in degrees per second.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em body} & The body to get the linear sleeping threshold from. \\
\hline
{\em linear\+\_\+threshold} & The linear sleeping threshold factor. \\
\hline
{\em angular\+\_\+threshold} & The angular sleeping threshold factor.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gaa65f3bf819cf09ac5da543ee6460a9f3}{ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+set()}} for more details. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_gabf7fbfc0052b28ed1d5fcade8eeaa5e6}\label{group__EPhysics__Body_gabf7fbfc0052b28ed1d5fcade8eeaa5e6}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_stop@{ephysics\_body\_stop}}
\index{ephysics\_body\_stop@{ephysics\_body\_stop}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_stop()}{ephysics\_body\_stop()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+stop (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Stop angular and linear body movement. 

It\textquotesingle{}s equivalent to set linear velocity to 0 on both axis and angular velocity to 0 as well.

It\textquotesingle{}s a momentary situation. If it receives impulse, directly or by collision, if gravity acts over this body, it will stop but it will accelerate again.


\begin{DoxyParams}{Parameters}
{\em body} & The physics body.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga118210c9836a166c923665fc4714997d}{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+set()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga1e2bbd2a002b05afbfdbd0da2a9480ed}{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+set()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga0ecea96f6a5a62f29e2bdeecb86db400}\label{group__EPhysics__Body_ga0ecea96f6a5a62f29e2bdeecb86db400}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_damping\_set@{ephysics\_body\_damping\_set}}
\index{ephysics\_body\_damping\_set@{ephysics\_body\_damping\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_damping\_set()}{ephysics\_body\_damping\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+damping\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double}]{linear\+\_\+damping,  }\item[{double}]{angular\+\_\+damping }\end{DoxyParamCaption})}



Set the angular and linear damping values. 

Damping(linear and angular) values are applied to body\textquotesingle{}s linear and angular velocity.

By applying a bodies damping factor the user will face a velocity reduction, with a force applied to it -\/ like air resistance. The force is applied to slow it down. Different factors can be applied to angular and linear velocity to fine tune translation and rotation.

The damping is a force synchronous with the velocity of the object but in opposite direction.

Damping is specified as a value between 0 and 1, which is the proportion of velocity lost per second. If specified damping value -\/ either for angular or linear -\/ is greater or equal to 1, velocities are nulled(that means, will become 0 on every axis), resulting on a frozen body.

Default linear damping is set to 0. The same is true for angular damping factor.


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em linear\+\_\+damping} & The linear damping factor to apply on {\ttfamily body}. \\
\hline
{\em angular\+\_\+damping} & The angular damping factor to apply on {\ttfamily body}.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga1349b21af465b7e0fe5aec01cc17b10d}{ephysics\+\_\+body\+\_\+damping\+\_\+get()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}}, \mbox{\hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}}, and \mbox{\hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga1349b21af465b7e0fe5aec01cc17b10d}\label{group__EPhysics__Body_ga1349b21af465b7e0fe5aec01cc17b10d}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_damping\_get@{ephysics\_body\_damping\_get}}
\index{ephysics\_body\_damping\_get@{ephysics\_body\_damping\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_damping\_get()}{ephysics\_body\_damping\_get()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+damping\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double $\ast$}]{linear\+\_\+damping,  }\item[{double $\ast$}]{angular\+\_\+damping }\end{DoxyParamCaption})}



Get the angular and linear damping values. 

Damping(linear and angular) values are applied to body\textquotesingle{}s linear and angular velocity.


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em linear\+\_\+damping} & The linear damping factor applied over {\ttfamily body}. \\
\hline
{\em angular\+\_\+damping} & The angular damping factor applied over {\ttfamily body}.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga0ecea96f6a5a62f29e2bdeecb86db400}{ephysics\+\_\+body\+\_\+damping\+\_\+set()}} for details. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga163b202be4c445bf79c28adb0db2bdbd}\label{group__EPhysics__Body_ga163b202be4c445bf79c28adb0db2bdbd}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_collision\_group\_add@{ephysics\_body\_collision\_group\_add}}
\index{ephysics\_body\_collision\_group\_add@{ephysics\_body\_collision\_group\_add}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_collision\_group\_add()}{ephysics\_body\_collision\_group\_add()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{const char $\ast$}]{group }\end{DoxyParamCaption})}



Add a {\ttfamily body} to a given collision group. 

After calling this function the body is said to be added to collision {\ttfamily group}.

If not added to any group the body will collide against any other body. Otherwise this body will collide only against those in the same groups.

If {\ttfamily body} was already part of {\ttfamily group}, nothing will happen.


\begin{DoxyParams}{Parameters}
{\em body} & The body to be added to {\ttfamily group}. \\
\hline
{\em group} & The group the {\ttfamily body} will belong to. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily EINA\+\_\+\+TRUE} if body is added to group, or {\ttfamily EINA\+\_\+\+FALSE} on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga7743d5ddc3cab8c82561463611ff5db5}{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+del()}} 

\mbox{\hyperlink{group__EPhysics__Body_ga2d1ef4b73573e2b105cd07e1d807fd49}{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+list\+\_\+get()}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga7743d5ddc3cab8c82561463611ff5db5}\label{group__EPhysics__Body_ga7743d5ddc3cab8c82561463611ff5db5}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_collision\_group\_del@{ephysics\_body\_collision\_group\_del}}
\index{ephysics\_body\_collision\_group\_del@{ephysics\_body\_collision\_group\_del}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_collision\_group\_del()}{ephysics\_body\_collision\_group\_del()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+del (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{const char $\ast$}]{group }\end{DoxyParamCaption})}



Removes {\ttfamily body} from collision {\ttfamily group}. 

This {\ttfamily body} will not belong to {\ttfamily group} any more and the collisions filter must take that on account.

If {\ttfamily body} wasn\textquotesingle{}t part of {\ttfamily group} before, nothing will happen.


\begin{DoxyParams}{Parameters}
{\em body} & The body to be removed from {\ttfamily group}. \\
\hline
{\em group} & The group {\ttfamily body} must be removed from. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily EINA\+\_\+\+TRUE} if body is removed from group, or {\ttfamily EINA\+\_\+\+FALSE} on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga163b202be4c445bf79c28adb0db2bdbd}{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+add()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga2d1ef4b73573e2b105cd07e1d807fd49}\label{group__EPhysics__Body_ga2d1ef4b73573e2b105cd07e1d807fd49}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_collision\_group\_list\_get@{ephysics\_body\_collision\_group\_list\_get}}
\index{ephysics\_body\_collision\_group\_list\_get@{ephysics\_body\_collision\_group\_list\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_collision\_group\_list\_get()}{ephysics\_body\_collision\_group\_list\_get()}}
{\footnotesize\ttfamily EAPI const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$ ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+list\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Get the collision group list of {\ttfamily body}. 


\begin{DoxyParams}{Parameters}
{\em body} & The body of interest. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The collision group list of {\ttfamily body}, NULL on failure or case no group has been added to {\ttfamily body}.
\end{DoxyReturn}
\begin{DoxyWarning}{Warning}
The collision group list is an EPhysics internal data structure and should {\bfseries{never}} be modified by its callers.
\end{DoxyWarning}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga163b202be4c445bf79c28adb0db2bdbd}{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+add()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga7209e650176e0612efb2a2cc2af0ec27}\label{group__EPhysics__Body_ga7209e650176e0612efb2a2cc2af0ec27}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_evas\_object\_update@{ephysics\_body\_evas\_object\_update}}
\index{ephysics\_body\_evas\_object\_update@{ephysics\_body\_evas\_object\_update}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_evas\_object\_update()}{ephysics\_body\_evas\_object\_update()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+update (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Update the evas object associated to the body. 

This function should be called to update position and rotation of the evas object associated to the body with \mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}}. It will take rate between pixels and meters set with \mbox{\hyperlink{group__EPhysics__World_ga8327212faf3a8016382056b29fcec387}{ephysics\+\_\+world\+\_\+rate\+\_\+set()}} in account.

If an update callback wasn\textquotesingle{}t set with \mbox{\hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()}}, this function will be executed after each physics simulation tick. If a callback was set, it won\textquotesingle{}t be called automatically. So inside this callback it could be called, or a customized update could be implemented.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()}} for more details. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}}, \mbox{\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}}, and \mbox{\hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}\label{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_event\_callback\_add@{ephysics\_body\_event\_callback\_add}}
\index{ephysics\_body\_event\_callback\_add@{ephysics\_body\_event\_callback\_add}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_event\_callback\_add()}{ephysics\_body\_event\_callback\_add()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{group__EPhysics__Body_ga302259832cc6cd8828d73833f391e8be}{EPhysics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}}}]{type,  }\item[{\mbox{\hyperlink{group__EPhysics__Body_gadb46c643f531e500d2f84c78343aa4b1}{EPhysics\+\_\+\+Body\+\_\+\+Event\+\_\+\+Cb}}}]{func,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Register a callback to a type of physics body event. 

The registered callback will receives the body and extra user data that can be passed. From body it\textquotesingle{}s possible to get the world it belongs to with \mbox{\hyperlink{group__EPhysics__Body_gaba7bf04204e1afff25e28e3db132ef9f}{ephysics\+\_\+body\+\_\+world\+\_\+get()}}, the rate between pixels and meters with \mbox{\hyperlink{group__EPhysics__World_ga4191077d4da05cfe550e9690fc311213}{ephysics\+\_\+world\+\_\+rate\+\_\+get()}} and the associated evas object with \mbox{\hyperlink{group__EPhysics__Body_gade11f9cb1bdd26f393adbbe0b4a594be}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+get()}}.

So it\textquotesingle{}s enough to do customized updates or fix pointers in your program.

Regarding EPHYSICS\+\_\+\+CALLBACK\+\_\+\+BODY\+\_\+\+UPDATE\+:

This update event happens after each physics world tick. Its main use could be updating the evas object associated to a physics body.

If no callback is registered, the evas object associated to physics body will be automatically moved and rotated, taking rate between meters and pixels on account. This rate is set by \mbox{\hyperlink{group__EPhysics__World_ga8327212faf3a8016382056b29fcec387}{ephysics\+\_\+world\+\_\+rate\+\_\+set()}}.

If callbacks are registered, these function will be called and will be responsible for updating the evas object. If the default update is wanted, function \mbox{\hyperlink{group__EPhysics__Body_ga7209e650176e0612efb2a2cc2af0ec27}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+update()}} can be called inside the callback. So you could make changes before and after the evas object is updated.

A callback could be something like this\+: 
\begin{DoxyCode}{0}
\DoxyCodeLine{\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{void}}
\DoxyCodeLine{\ \_update\_cb(\textcolor{keywordtype}{void}\ *data,\ \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\_Body}}\ *body,\ \textcolor{keywordtype}{void}\ *event\_info)}
\DoxyCodeLine{\ \{}
\DoxyCodeLine{\ \ \ \textcolor{comment}{//\ Something\ you\ want\ to\ do\ before\ updating\ the\ evas\ object}}
\DoxyCodeLine{\ \ \ \mbox{\hyperlink{group__EPhysics__Body_ga7209e650176e0612efb2a2cc2af0ec27}{ephysics\_body\_evas\_object\_update}}(body);}
\DoxyCodeLine{\ \ \ \textcolor{comment}{//\ Something\ to\ be\ done\ after\ the\ update,\ like\ checking\ the\ new\ position}}
\DoxyCodeLine{\ \ \ \textcolor{comment}{//\ of\ the\ evas\ object\ to\ change\ a\ property.}}
\DoxyCodeLine{\ \}}
\DoxyCodeLine{}
\DoxyCodeLine{\mbox{\hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\_body\_event\_callback\_add}}(body,\ \mbox{\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cacb2363cd59bc8642e74ad916c6658e0a}{EPHYSICS\_CALLBACK\_BODY\_UPDATE}},}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_update\_cb,\ NULL);}

\end{DoxyCode}


Update callbacks receives evas object set to body as event\+\_\+info argument.

What follows is a list of details about each callback type\+:


\begin{DoxyItemize}
\item \mbox{\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cacb2363cd59bc8642e74ad916c6658e0a}{EPHYSICS\+\_\+\+CALLBACK\+\_\+\+BODY\+\_\+\+UPDATE}}\+: Called after every physics iteration. {\ttfamily body} points to the EPhysics\+\_\+\+Body itself and {\ttfamily event\+\_\+info} points to the evas object associated to the body.
\item \mbox{\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277caa002e2d26e86261221dc643f19071754}{EPHYSICS\+\_\+\+CALLBACK\+\_\+\+BODY\+\_\+\+COLLISION}}\+: Called just after the collision has been actually processed by the physics engine. The body involved in the collision is passed as {\ttfamily body} argument. {\ttfamily event\+\_\+info} is a pointer to \mbox{\hyperlink{group__EPhysics__Body_ga454052288e957641ff40f79ca3c72792}{EPhysics\+\_\+\+Body\+\_\+\+Collision}} -\/ note, this structure({\ttfamily event\+\_\+info}) is discarded/freed right after callback returns.
\item \mbox{\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cab8f46f167ee3872ea35fe645bf14a5d2}{EPHYSICS\+\_\+\+CALLBACK\+\_\+\+BODY\+\_\+\+DEL}}\+: Called when a body deletion has been issued and just before the deletion actually happens. {\ttfamily body} points to the body being deleted and {\ttfamily event\+\_\+info} is a pointer to the evas object associated to it.
\item \mbox{\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cae88f6dfe5c24a67f5f074fb818edfa72}{EPHYSICS\+\_\+\+CALLBACK\+\_\+\+BODY\+\_\+\+STOPPED}}\+: Called when a body is found to be stopped. {\ttfamily body} points to the body of interest and {\ttfamily event\+\_\+info} is a pointer to the evas object associated to it.
\end{DoxyItemize}


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em type} & Type of callback to be listened by {\ttfamily func}. \\
\hline
{\em func} & Callback function that will be called when event occurs. \\
\hline
{\em data} & User data that will be passed to callback function. It won\textquotesingle{}t be used by ephysics in any way. \\
\hline
\end{DoxyParams}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}}, \mbox{\hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}}, \mbox{\hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}}, \mbox{\hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}}, \mbox{\hyperlink{test_constraint_8c-example}{test\+\_\+constraint.\+c}}, \mbox{\hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}}, \mbox{\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}}, \mbox{\hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}}, \mbox{\hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}}, \mbox{\hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}}, \mbox{\hyperlink{test_slider_8c-example}{test\+\_\+slider.\+c}}, and \mbox{\hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga423e646645380f84582523bb21f89286}\label{group__EPhysics__Body_ga423e646645380f84582523bb21f89286}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_event\_callback\_del@{ephysics\_body\_event\_callback\_del}}
\index{ephysics\_body\_event\_callback\_del@{ephysics\_body\_event\_callback\_del}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_event\_callback\_del()}{ephysics\_body\_event\_callback\_del()}}
{\footnotesize\ttfamily EAPI void $\ast$ ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{group__EPhysics__Body_ga302259832cc6cd8828d73833f391e8be}{EPhysics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}}}]{type,  }\item[{\mbox{\hyperlink{group__EPhysics__Body_gadb46c643f531e500d2f84c78343aa4b1}{EPhysics\+\_\+\+Body\+\_\+\+Event\+\_\+\+Cb}}}]{func }\end{DoxyParamCaption})}



Unregister an ephysics body event callback. 

A previously added callback that match {\ttfamily body}, {\ttfamily type} and {\ttfamily func} will be deleted.


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em type} & The type of callback to be unregistered. \\
\hline
{\em func} & The callback function to be unregistered. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The user data passed when the callback was registered, or {\ttfamily NULL} on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()}} for details. 

\mbox{\hyperlink{group__EPhysics__Body_ga42ddba8937442dc0f89eada6c49dff3c}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del\+\_\+full()}} if you need to match data pointer. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga42ddba8937442dc0f89eada6c49dff3c}\label{group__EPhysics__Body_ga42ddba8937442dc0f89eada6c49dff3c}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_event\_callback\_del\_full@{ephysics\_body\_event\_callback\_del\_full}}
\index{ephysics\_body\_event\_callback\_del\_full@{ephysics\_body\_event\_callback\_del\_full}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_event\_callback\_del\_full()}{ephysics\_body\_event\_callback\_del\_full()}}
{\footnotesize\ttfamily EAPI void $\ast$ ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del\+\_\+full (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{group__EPhysics__Body_ga302259832cc6cd8828d73833f391e8be}{EPhysics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}}}]{type,  }\item[{\mbox{\hyperlink{group__EPhysics__Body_gadb46c643f531e500d2f84c78343aa4b1}{EPhysics\+\_\+\+Body\+\_\+\+Event\+\_\+\+Cb}}}]{func,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Unregister an ephysics body event callback matching data pointer. 

A previously added callback that match {\ttfamily body}, {\ttfamily type}, {\ttfamily func} and {\ttfamily data} will be deleted.


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em type} & The type of callback to be unregistered. \\
\hline
{\em func} & The callback function to be unregistered. \\
\hline
{\em data} & The data pointer that was passed to the callback. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The user data passed when the callback was registered, or {\ttfamily NULL} on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()}} for details. 

\mbox{\hyperlink{group__EPhysics__Body_ga423e646645380f84582523bb21f89286}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del()}} if you don\textquotesingle{}t need to match data pointer. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gabcbb3bd68d47bb0fdf071bb022763d58}\label{group__EPhysics__Body_gabcbb3bd68d47bb0fdf071bb022763d58}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_collision\_position\_get@{ephysics\_body\_collision\_position\_get}}
\index{ephysics\_body\_collision\_position\_get@{ephysics\_body\_collision\_position\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_collision\_position\_get()}{ephysics\_body\_collision\_position\_get()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+collision\+\_\+position\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_ga454052288e957641ff40f79ca3c72792}{EPhysics\+\_\+\+Body\+\_\+\+Collision}} $\ast$}]{collision,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} $\ast$}]{x,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} $\ast$}]{y,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}} $\ast$}]{z }\end{DoxyParamCaption})}



Get the position(x, y) of a body\textquotesingle{}s collision. 

Given a body collision data, fills {\ttfamily x} and {\ttfamily y} pointers with the position where the collision occurred.


\begin{DoxyParams}{Parameters}
{\em collision} & The body collision data of interest. \\
\hline
{\em x} & The x coordinate of collision point, in pixels. \\
\hline
{\em y} & The y coordinate of collision point, in pixels. \\
\hline
{\em z} & The z coordinate of collision point, in pixels.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277caa002e2d26e86261221dc643f19071754}{EPHYSICS\+\_\+\+CALLBACK\+\_\+\+BODY\+\_\+\+COLLISION}} and \mbox{\hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()}} for collision callback. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_gacb7ca0a444bf31b04b84f97d7198d392}\label{group__EPhysics__Body_gacb7ca0a444bf31b04b84f97d7198d392}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_collision\_contact\_body\_get@{ephysics\_body\_collision\_contact\_body\_get}}
\index{ephysics\_body\_collision\_contact\_body\_get@{ephysics\_body\_collision\_contact\_body\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_collision\_contact\_body\_get()}{ephysics\_body\_collision\_contact\_body\_get()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$ ephysics\+\_\+body\+\_\+collision\+\_\+contact\+\_\+body\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_ga454052288e957641ff40f79ca3c72792}{EPhysics\+\_\+\+Body\+\_\+\+Collision}} $\ast$}]{collision }\end{DoxyParamCaption})}



Get the body\textquotesingle{}s collision contact body. 

Given a body collision data returns the contact body which a collision occurred against.


\begin{DoxyParams}{Parameters}
{\em collision} & The body collision of interest. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The contact body of {\ttfamily collision}.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277caa002e2d26e86261221dc643f19071754}{EPHYSICS\+\_\+\+CALLBACK\+\_\+\+BODY\+\_\+\+COLLISION}} and \mbox{\hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()}} for collision callback. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}}, and \mbox{\hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}\label{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_restitution\_set@{ephysics\_body\_restitution\_set}}
\index{ephysics\_body\_restitution\_set@{ephysics\_body\_restitution\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_restitution\_set()}{ephysics\_body\_restitution\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+restitution\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double}]{restitution }\end{DoxyParamCaption})}



Set body\textquotesingle{}s coefficient of restitution. 

The coefficient of restitution is proporcion between speed after and before a collision\+: COR = relative speed after collision / relative speed before collision

The body COR is the coefficient of restitution with respect to a perfectly rigid and elastic object. Bodies will collide between them with different behaviors depending on COR\+: \begin{DoxyItemize}
\item they will elastically collide for COR == 1; \item they will inelastically collide for 0 \texorpdfstring{$<$}{<} COR \texorpdfstring{$<$}{<} 1; \item they will completelly stop (no bouncing at all) for COR == 0.\end{DoxyItemize}
By default restitution coefficient of each body is 0.

EPhysics has some pre-\/defined restitution coefficients for materials\+: \begin{DoxyItemize}
\item \mbox{\hyperlink{group__EPhysics__Body_ga036d37e0d96952e92c1f00958e329c16}{EPHYSICS\+\_\+\+BODY\+\_\+\+RESTITUTION\+\_\+\+CONCRETE}} \item \mbox{\hyperlink{group__EPhysics__Body_ga7eb95e5bbd6e984fa154d4a2a6eeaa0b}{EPHYSICS\+\_\+\+BODY\+\_\+\+RESTITUTION\+\_\+\+IRON}} \item \mbox{\hyperlink{group__EPhysics__Body_ga3a89e0d5765ad9e8ef6ceb4bb1f704c3}{EPHYSICS\+\_\+\+BODY\+\_\+\+RESTITUTION\+\_\+\+PLASTIC}} \item \mbox{\hyperlink{group__EPhysics__Body_ga03c67b9d284f796c09c8aface92f4f28}{EPHYSICS\+\_\+\+BODY\+\_\+\+RESTITUTION\+\_\+\+POLYSTYRENE}} \item \mbox{\hyperlink{group__EPhysics__Body_ga016e0f52f46cd30204d6b5a664c4c724}{EPHYSICS\+\_\+\+BODY\+\_\+\+RESTITUTION\+\_\+\+RUBBER}} \item \mbox{\hyperlink{group__EPhysics__Body_ga74e9c011d0d1fd10f45cd8dcf2893426}{EPHYSICS\+\_\+\+BODY\+\_\+\+RESTITUTION\+\_\+\+WOOD}}\end{DoxyItemize}

\begin{DoxyParams}{Parameters}
{\em body} & The body to has its restitution coefficient set. \\
\hline
{\em restitution} & The new {\ttfamily body\textquotesingle{}s} restitution coefficient.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga6546a6558cad9468a9af2e1517cab82d}{ephysics\+\_\+body\+\_\+restitution\+\_\+get()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}}, \mbox{\hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}}, \mbox{\hyperlink{test_bouncing_text_8c-example}{test\+\_\+bouncing\+\_\+text.\+c}}, \mbox{\hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}}, \mbox{\hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}}, \mbox{\hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}}, \mbox{\hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}}, \mbox{\hyperlink{test_constraint_8c-example}{test\+\_\+constraint.\+c}}, \mbox{\hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}}, \mbox{\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}}, \mbox{\hyperlink{test_growing_balls_8c-example}{test\+\_\+growing\+\_\+balls.\+c}}, \mbox{\hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}}, \mbox{\hyperlink{test_shapes_8c-example}{test\+\_\+shapes.\+c}}, \mbox{\hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}}, \mbox{\hyperlink{test_slider_8c-example}{test\+\_\+slider.\+c}}, and \mbox{\hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga6546a6558cad9468a9af2e1517cab82d}\label{group__EPhysics__Body_ga6546a6558cad9468a9af2e1517cab82d}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_restitution\_get@{ephysics\_body\_restitution\_get}}
\index{ephysics\_body\_restitution\_get@{ephysics\_body\_restitution\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_restitution\_get()}{ephysics\_body\_restitution\_get()}}
{\footnotesize\ttfamily EAPI double ephysics\+\_\+body\+\_\+restitution\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Get body\textquotesingle{}s restitution. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the {\ttfamily body\textquotesingle{}s} restitution value.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}{ephysics\+\_\+body\+\_\+restitution\+\_\+set()}} for details. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}\label{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_friction\_set@{ephysics\_body\_friction\_set}}
\index{ephysics\_body\_friction\_set@{ephysics\_body\_friction\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_friction\_set()}{ephysics\_body\_friction\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+friction\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double}]{friction }\end{DoxyParamCaption})}



Set body\textquotesingle{}s friction. 

Friction is used to make objects slide along each other realistically.

The friction parameter is usually set between 0 and 1, but can be any non-\/negative value. A friction value of 0 turns off friction and a value of 1 makes the friction strong.

By default friction value is 0.\+5 and simulation results will be better when friction in non-\/zero.

EPhysics has some pre-\/defined friction coefficients for materials\+: \begin{DoxyItemize}
\item \mbox{\hyperlink{group__EPhysics__Body_gabcc5b09329505bb312d6c581e616c387}{EPHYSICS\+\_\+\+BODY\+\_\+\+FRICTION\+\_\+\+CONCRETE}} \item \mbox{\hyperlink{group__EPhysics__Body_ga32f7044e93047cd6d3b3bac9da2e6d44}{EPHYSICS\+\_\+\+BODY\+\_\+\+FRICTION\+\_\+\+IRON}} \item \mbox{\hyperlink{group__EPhysics__Body_ga317e3bcbdcbdda9f2b403d224f02cbf3}{EPHYSICS\+\_\+\+BODY\+\_\+\+FRICTION\+\_\+\+PLASTIC}} \item \mbox{\hyperlink{group__EPhysics__Body_ga4abb48d3936c9fbf268109d4ac62afad}{EPHYSICS\+\_\+\+BODY\+\_\+\+FRICTION\+\_\+\+POLYSTYRENE}} \item \mbox{\hyperlink{group__EPhysics__Body_ga0ebe75973c80b76d7fcb8644cf53f034}{EPHYSICS\+\_\+\+BODY\+\_\+\+FRICTION\+\_\+\+RUBBER}} \item \mbox{\hyperlink{group__EPhysics__Body_ga547c86262e60760cac8e930b5b85ef47}{EPHYSICS\+\_\+\+BODY\+\_\+\+FRICTION\+\_\+\+WOOD}}\end{DoxyItemize}

\begin{DoxyParams}{Parameters}
{\em body} & The body to has its friction set. \\
\hline
{\em friction} & The new {\ttfamily body\textquotesingle{}s} friction value.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gae7cc514b91c8c13ab709f9e6534ea19e}{ephysics\+\_\+body\+\_\+friction\+\_\+get()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}}, \mbox{\hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}}, \mbox{\hyperlink{test_bouncing_text_8c-example}{test\+\_\+bouncing\+\_\+text.\+c}}, \mbox{\hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}}, \mbox{\hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}}, \mbox{\hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}}, \mbox{\hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}}, \mbox{\hyperlink{test_constraint_8c-example}{test\+\_\+constraint.\+c}}, \mbox{\hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}}, \mbox{\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}}, \mbox{\hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}}, \mbox{\hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}}, \mbox{\hyperlink{test_slider_8c-example}{test\+\_\+slider.\+c}}, and \mbox{\hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_gae7cc514b91c8c13ab709f9e6534ea19e}\label{group__EPhysics__Body_gae7cc514b91c8c13ab709f9e6534ea19e}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_friction\_get@{ephysics\_body\_friction\_get}}
\index{ephysics\_body\_friction\_get@{ephysics\_body\_friction\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_friction\_get()}{ephysics\_body\_friction\_get()}}
{\footnotesize\ttfamily EAPI double ephysics\+\_\+body\+\_\+friction\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Get body\textquotesingle{}s friction. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the {\ttfamily body\textquotesingle{}s} friction value.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}{ephysics\+\_\+body\+\_\+friction\+\_\+set()}} for details. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga9109b39047a724640f6a18c683c9eb07}\label{group__EPhysics__Body_ga9109b39047a724640f6a18c683c9eb07}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_central\_impulse\_apply@{ephysics\_body\_central\_impulse\_apply}}
\index{ephysics\_body\_central\_impulse\_apply@{ephysics\_body\_central\_impulse\_apply}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_central\_impulse\_apply()}{ephysics\_body\_central\_impulse\_apply()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+central\+\_\+impulse\+\_\+apply (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double}]{x,  }\item[{double}]{y,  }\item[{double}]{z }\end{DoxyParamCaption})}



Apply an impulse on the center of a body. 

The impulse is equal to the change of momentum of the body.

Impulse is the product of the force over the time this force is applied. In ephysics case, it would be the time of a tick, so it behaves just summing current linear velocity to impulse per mass.

Example\+: A body of 2kg of mass has an initial velocity of 30 p/s. After a impulse of 30 kg $\ast$ p / s in the same direction is applied, the velocity will be $\ast$ 45 p/s.

(0, 30, 0) + (0, 300, 0) / 2 = (0, 30, 0) + (0, 15, 0) = (0, 45, 0)

When a impulse is applied over a body, it will has its velocity changed. This impulse will be applied on body\textquotesingle{}s center, so it won\textquotesingle{}t implies in rotating the body. For that is possible to apply a torque impulse with \mbox{\hyperlink{group__EPhysics__Body_ga6c6d3c8bfc6bb5600947b66b519d2d98}{ephysics\+\_\+body\+\_\+torque\+\_\+impulse\+\_\+apply()}}.

\begin{DoxyNote}{Note}
Impulse is measured in kg $\ast$ p / s.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em body} & The physics body that will receive the impulse. \\
\hline
{\em x} & The axis x component of impulse. \\
\hline
{\em y} & The axis y component of impulse. \\
\hline
{\em z} & The axis z component of impulse.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga6c6d3c8bfc6bb5600947b66b519d2d98}{ephysics\+\_\+body\+\_\+torque\+\_\+impulse\+\_\+apply()}}. 

\mbox{\hyperlink{group__EPhysics__Body_gadc5405c4d07742e9aff7a0a564aa63e2}{ephysics\+\_\+body\+\_\+impulse\+\_\+apply()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}}, \mbox{\hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}}, \mbox{\hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}}, \mbox{\hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}}, \mbox{\hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}}, \mbox{\hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}}, \mbox{\hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}}, \mbox{\hyperlink{test_growing_balls_8c-example}{test\+\_\+growing\+\_\+balls.\+c}}, \mbox{\hyperlink{test_slider_8c-example}{test\+\_\+slider.\+c}}, and \mbox{\hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga6c6d3c8bfc6bb5600947b66b519d2d98}\label{group__EPhysics__Body_ga6c6d3c8bfc6bb5600947b66b519d2d98}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_torque\_impulse\_apply@{ephysics\_body\_torque\_impulse\_apply}}
\index{ephysics\_body\_torque\_impulse\_apply@{ephysics\_body\_torque\_impulse\_apply}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_torque\_impulse\_apply()}{ephysics\_body\_torque\_impulse\_apply()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+torque\+\_\+impulse\+\_\+apply (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double}]{pitch,  }\item[{double}]{yaw,  }\item[{double}]{roll }\end{DoxyParamCaption})}



Apply a torque impulse over a body. 

An impulse will be applied over the body to make it rotate. Impulse is the product of the force over the time this force is applied. In ephysics case, it would be the time of a tick, so it behaves just summing current angular velocity to the result of a calculation involving torque impulse and body\textquotesingle{}s inertia.


\begin{DoxyParams}{Parameters}
{\em body} & The physics body that will receive the impulse. \\
\hline
{\em pitch} & Impulse to rotate body around X axis (rotate on y -\/ z plane). Negative values will impulse body on counter clockwise rotation. \\
\hline
{\em yaw} & Impulse to rotate body around Y axis (rotate on x -\/ z plane). Negative values will impulse body on counter clockwise rotation. \\
\hline
{\em roll} & Impulse to rotate body around Z axis (rotate on x -\/ y plane). Negative values will impulse body on counter clockwise rotation.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga9109b39047a724640f6a18c683c9eb07}{ephysics\+\_\+body\+\_\+central\+\_\+impulse\+\_\+apply()}}. 

\mbox{\hyperlink{group__EPhysics__Body_gadc5405c4d07742e9aff7a0a564aa63e2}{ephysics\+\_\+body\+\_\+impulse\+\_\+apply()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_gadc5405c4d07742e9aff7a0a564aa63e2}\label{group__EPhysics__Body_gadc5405c4d07742e9aff7a0a564aa63e2}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_impulse\_apply@{ephysics\_body\_impulse\_apply}}
\index{ephysics\_body\_impulse\_apply@{ephysics\_body\_impulse\_apply}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_impulse\_apply()}{ephysics\_body\_impulse\_apply()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+impulse\+\_\+apply (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double}]{x,  }\item[{double}]{y,  }\item[{double}]{z,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{pos\+\_\+x,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{pos\+\_\+y,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{pos\+\_\+z }\end{DoxyParamCaption})}



Apply an impulse over a body. 

An impulse will be applied over the body to make it move and rotate.

Impulse is the product of the force over the time this force is applied. It can be applied in the center of the body, avoiding rotating it, with \mbox{\hyperlink{group__EPhysics__Body_ga9109b39047a724640f6a18c683c9eb07}{ephysics\+\_\+body\+\_\+central\+\_\+impulse\+\_\+apply()}}, it can be applied only to make a body rotate, with \mbox{\hyperlink{group__EPhysics__Body_ga6c6d3c8bfc6bb5600947b66b519d2d98}{ephysics\+\_\+body\+\_\+torque\+\_\+impulse\+\_\+apply()}}, or can be used to lead to both behaviors with \mbox{\hyperlink{group__EPhysics__Body_gadc5405c4d07742e9aff7a0a564aa63e2}{ephysics\+\_\+body\+\_\+impulse\+\_\+apply()}}.

It will result in a central impulse with impulse ({\ttfamily x}, {\ttfamily y}, {\ttfamily z}) and a torque impulse that will be calculated as a cross product on impulse and relative position.


\begin{DoxyParams}{Parameters}
{\em body} & The physics body that will receive the impulse. \\
\hline
{\em x} & The axis x component of impulse. \\
\hline
{\em y} & The axis y component of impulse. \\
\hline
{\em z} & The axis z component of impulse. \\
\hline
{\em pos\+\_\+x} & The axis x component of the relative position to apply impulse. \\
\hline
{\em pos\+\_\+y} & The axis y component of the relative position to apply impulse. \\
\hline
{\em pos\+\_\+z} & The axis z component of the relative position to apply impulse.\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
Impulse is measured in kg $\ast$ p / s and position in pixels (Evas coordinates).
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga9109b39047a724640f6a18c683c9eb07}{ephysics\+\_\+body\+\_\+central\+\_\+impulse\+\_\+apply()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga6c6d3c8bfc6bb5600947b66b519d2d98}{ephysics\+\_\+body\+\_\+torque\+\_\+impulse\+\_\+apply()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga049f9410c5d04d5b810a1755da993cc0}\label{group__EPhysics__Body_ga049f9410c5d04d5b810a1755da993cc0}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_angular\_movement\_enable\_set@{ephysics\_body\_angular\_movement\_enable\_set}}
\index{ephysics\_body\_angular\_movement\_enable\_set@{ephysics\_body\_angular\_movement\_enable\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_angular\_movement\_enable\_set()}{ephysics\_body\_angular\_movement\_enable\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+angular\+\_\+movement\+\_\+enable\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}}]{enable\+\_\+x,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}}]{enable\+\_\+y,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}}]{enable\+\_\+z }\end{DoxyParamCaption})}



Enable or disable body\textquotesingle{}s rotation on z axis. 

Enabled by default for z axis, so the body only will rotate on x-\/y plane.


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em enable\+\_\+x} & If {\ttfamily EINA\+\_\+\+TRUE} allow rotation on x axis (y-\/z plane), if {\ttfamily EINA\+\_\+\+FALSE} disallow it. \\
\hline
{\em enable\+\_\+y} & If {\ttfamily EINA\+\_\+\+TRUE} allow rotation on y axis (x-\/z plane), if {\ttfamily EINA\+\_\+\+FALSE} disallow it. \\
\hline
{\em enable\+\_\+z} & If {\ttfamily EINA\+\_\+\+TRUE} allow rotation on z axis (x-\/y plane), if {\ttfamily EINA\+\_\+\+FALSE} disallow it.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga055108d89ca21f230fbf58b387a451bd}{ephysics\+\_\+body\+\_\+angular\+\_\+movement\+\_\+enable\+\_\+get()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga055108d89ca21f230fbf58b387a451bd}\label{group__EPhysics__Body_ga055108d89ca21f230fbf58b387a451bd}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_angular\_movement\_enable\_get@{ephysics\_body\_angular\_movement\_enable\_get}}
\index{ephysics\_body\_angular\_movement\_enable\_get@{ephysics\_body\_angular\_movement\_enable\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_angular\_movement\_enable\_get()}{ephysics\_body\_angular\_movement\_enable\_get()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+angular\+\_\+movement\+\_\+enable\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} $\ast$}]{enable\+\_\+x,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} $\ast$}]{enable\+\_\+y,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} $\ast$}]{enable\+\_\+z }\end{DoxyParamCaption})}



Return body\textquotesingle{}s rotation on z axis state. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em enable\+\_\+x} & {\ttfamily EINA\+\_\+\+TRUE} if rotation on x axis (y-\/z plane) is allowed, or {\ttfamily EINA\+\_\+\+FALSE} if it\textquotesingle{}s not. \\
\hline
{\em enable\+\_\+y} & {\ttfamily EINA\+\_\+\+TRUE} if rotation on y axis (x-\/z plane) is allowed, or {\ttfamily EINA\+\_\+\+FALSE} if it\textquotesingle{}s not. \\
\hline
{\em enable\+\_\+z} & {\ttfamily EINA\+\_\+\+TRUE} if rotation on z axis (x-\/y plane) is allowed, or {\ttfamily EINA\+\_\+\+FALSE} if it\textquotesingle{}s not.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga049f9410c5d04d5b810a1755da993cc0}{ephysics\+\_\+body\+\_\+angular\+\_\+movement\+\_\+enable\+\_\+set()}} for more details. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gae25a32b3808208877a177661b0e24b8e}\label{group__EPhysics__Body_gae25a32b3808208877a177661b0e24b8e}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_linear\_movement\_enable\_set@{ephysics\_body\_linear\_movement\_enable\_set}}
\index{ephysics\_body\_linear\_movement\_enable\_set@{ephysics\_body\_linear\_movement\_enable\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_linear\_movement\_enable\_set()}{ephysics\_body\_linear\_movement\_enable\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+linear\+\_\+movement\+\_\+enable\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}}]{enable\+\_\+x,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}}]{enable\+\_\+y,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}}]{enable\+\_\+z }\end{DoxyParamCaption})}



Enable or disable body\textquotesingle{}s movement on x, y and z axes. 

Enabled by default on x and y axes, disabled on z axis.


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em enable\+\_\+x} & If {\ttfamily EINA\+\_\+\+TRUE} allow movement on x axis, if {\ttfamily EINA\+\_\+\+FALSE} disallow it. \\
\hline
{\em enable\+\_\+y} & If {\ttfamily EINA\+\_\+\+TRUE} allow movement on y axis, if {\ttfamily EINA\+\_\+\+FALSE} disallow it. \\
\hline
{\em enable\+\_\+z} & If {\ttfamily EINA\+\_\+\+TRUE} allow movement on z axis, if {\ttfamily EINA\+\_\+\+FALSE} disallow it.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga5266a4832c78178b58f3300fc12c37aa}{ephysics\+\_\+body\+\_\+linear\+\_\+movement\+\_\+enable\+\_\+get()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga049f9410c5d04d5b810a1755da993cc0}{ephysics\+\_\+body\+\_\+angular\+\_\+movement\+\_\+enable\+\_\+set()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga5266a4832c78178b58f3300fc12c37aa}\label{group__EPhysics__Body_ga5266a4832c78178b58f3300fc12c37aa}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_linear\_movement\_enable\_get@{ephysics\_body\_linear\_movement\_enable\_get}}
\index{ephysics\_body\_linear\_movement\_enable\_get@{ephysics\_body\_linear\_movement\_enable\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_linear\_movement\_enable\_get()}{ephysics\_body\_linear\_movement\_enable\_get()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+linear\+\_\+movement\+\_\+enable\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} $\ast$}]{enable\+\_\+x,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} $\ast$}]{enable\+\_\+y,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} $\ast$}]{enable\+\_\+z }\end{DoxyParamCaption})}



Get body\textquotesingle{}s movement on x, y and z axes behavior. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em enable\+\_\+x} & {\ttfamily EINA\+\_\+\+TRUE} if movement on x axis is allowed, or {\ttfamily EINA\+\_\+\+FALSE} if it\textquotesingle{}s not. \\
\hline
{\em enable\+\_\+y} & {\ttfamily EINA\+\_\+\+TRUE} if movement on y axis is allowed, or {\ttfamily EINA\+\_\+\+FALSE} if it\textquotesingle{}s not. \\
\hline
{\em enable\+\_\+z} & {\ttfamily EINA\+\_\+\+TRUE} if movement on z axis is allowed, or {\ttfamily EINA\+\_\+\+FALSE} if it\textquotesingle{}s not.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gae25a32b3808208877a177661b0e24b8e}{ephysics\+\_\+body\+\_\+linear\+\_\+movement\+\_\+enable\+\_\+set()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga055108d89ca21f230fbf58b387a451bd}{ephysics\+\_\+body\+\_\+angular\+\_\+movement\+\_\+enable\+\_\+get()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga39ae7b220642d8c30cab9c8b313cdde3}\label{group__EPhysics__Body_ga39ae7b220642d8c30cab9c8b313cdde3}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_rotation\_get@{ephysics\_body\_rotation\_get}}
\index{ephysics\_body\_rotation\_get@{ephysics\_body\_rotation\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_rotation\_get()}{ephysics\_body\_rotation\_get()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__EPhysics__Quaternion_ga0a3aa92825f4a5d1feeffb07945a4bbf}{EPhysics\+\_\+\+Quaternion}} $\ast$ ephysics\+\_\+body\+\_\+rotation\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{group__EPhysics__Quaternion_ga0a3aa92825f4a5d1feeffb07945a4bbf}{EPhysics\+\_\+\+Quaternion}} $\ast$}]{rotation }\end{DoxyParamCaption})}



Get body\textquotesingle{}s rotation quaternion. 

By default rotation is 0 degree on all axes (1, 0, 0, 0).


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em rotation} & Quaternion used to store the result. If it\textquotesingle{}s {\ttfamily NULL}, a new quaternion will be allocated (and should be freed after usage). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A quaternion or {\ttfamily NULL} on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga11a611cba12f9066a272e5cb6d1b371e}{ephysics\+\_\+body\+\_\+rotation\+\_\+set()}} 

\mbox{\hyperlink{group__EPhysics__Quaternion_gaab4373700e3bdad8e761e63c398ebda6}{ephysics\+\_\+quaternion\+\_\+get()}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga11a611cba12f9066a272e5cb6d1b371e}\label{group__EPhysics__Body_ga11a611cba12f9066a272e5cb6d1b371e}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_rotation\_set@{ephysics\_body\_rotation\_set}}
\index{ephysics\_body\_rotation\_set@{ephysics\_body\_rotation\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_rotation\_set()}{ephysics\_body\_rotation\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+rotation\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{group__EPhysics__Quaternion_ga0a3aa92825f4a5d1feeffb07945a4bbf}{EPhysics\+\_\+\+Quaternion}} $\ast$}]{quat }\end{DoxyParamCaption})}



Set body\textquotesingle{}s rotation. 

By default rotation is 0 degrees on all axes.


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em quat} & Quaternion representing the rotation.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga39ae7b220642d8c30cab9c8b313cdde3}{ephysics\+\_\+body\+\_\+rotation\+\_\+get()}} 

\mbox{\hyperlink{group__EPhysics__Quaternion_ga3c8dda7e3c2017444f8a54d773d2d9ce}{ephysics\+\_\+quaternion\+\_\+new()}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_gac696066772dc2d9e12a5fe08afee0688}\label{group__EPhysics__Body_gac696066772dc2d9e12a5fe08afee0688}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_data\_set@{ephysics\_body\_data\_set}}
\index{ephysics\_body\_data\_set@{ephysics\_body\_data\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_data\_set()}{ephysics\_body\_data\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+data\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Set data to {\ttfamily body}. 

If a previous data was set, it\textquotesingle{}s reference will be lost and body will point to the new data.

It can be useful when you need to store a structure per body. For example, some values that must to be updated when a collision occurs between two bodies.

\begin{DoxyNote}{Note}
EPhysics won\textquotesingle{}t handle this data, it won\textquotesingle{}t be used in any way by the library. If it need to be freed when the body is deleted, a callback for \mbox{\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cab8f46f167ee3872ea35fe645bf14a5d2}{EPHYSICS\+\_\+\+CALLBACK\+\_\+\+BODY\+\_\+\+DEL}} can be added and data should be explicity freed.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em data} & The data to be set.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gabe37e8ee4f2a736a4c162dd805b56d86}{ephysics\+\_\+body\+\_\+data\+\_\+get()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gabe37e8ee4f2a736a4c162dd805b56d86}\label{group__EPhysics__Body_gabe37e8ee4f2a736a4c162dd805b56d86}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_data\_get@{ephysics\_body\_data\_get}}
\index{ephysics\_body\_data\_get@{ephysics\_body\_data\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_data\_get()}{ephysics\_body\_data\_get()}}
{\footnotesize\ttfamily EAPI void $\ast$ ephysics\+\_\+body\+\_\+data\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Return data previously set to body. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The data set or {\ttfamily NULL} on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gabe37e8ee4f2a736a4c162dd805b56d86}{ephysics\+\_\+body\+\_\+data\+\_\+get()}} for more details 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga2134702db807dc4f7dc604d72e5b73db}\label{group__EPhysics__Body_ga2134702db807dc4f7dc604d72e5b73db}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_central\_force\_apply@{ephysics\_body\_central\_force\_apply}}
\index{ephysics\_body\_central\_force\_apply@{ephysics\_body\_central\_force\_apply}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_central\_force\_apply()}{ephysics\_body\_central\_force\_apply()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+central\+\_\+force\+\_\+apply (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double}]{x,  }\item[{double}]{y,  }\item[{double}]{z }\end{DoxyParamCaption})}



Apply a force on the center of a body. 

Applying a force to a body will lead it to change its velocity.

Force is the product of mass and acceleration. So, keeping the mass fixed, when force is applied acceleration will change, and consequently, velocity will gradually be changes.

Force = mass $\ast$ acceleration

Final velocity = initial velocity + acceleration $\ast$ time

While a force is applied, it will be acting over a body. It can be canceled by applying an inverse force, or just calling \mbox{\hyperlink{group__EPhysics__Body_ga8a84144392d9f3c7dbecdec6a1199a49}{ephysics\+\_\+body\+\_\+forces\+\_\+clear()}}.

This force will be applied on body\textquotesingle{}s center, so it won\textquotesingle{}t implies in changing angular acceleration. For that, it is possible to apply a torque with \mbox{\hyperlink{group__EPhysics__Body_ga336a585598ed882a9575ed72a9f748e2}{ephysics\+\_\+body\+\_\+torque\+\_\+apply()}}.

If the force shouldn\textquotesingle{}t be applied on body\textquotesingle{}s center, it can be applied on a relative point with \mbox{\hyperlink{group__EPhysics__Body_ga5fe14931bd89326182bdf021d84ec40c}{ephysics\+\_\+body\+\_\+force\+\_\+apply()}}.

\begin{DoxyNote}{Note}
Force is measured in kg $\ast$ p / s / s.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em body} & The physics body which over the force will be applied. \\
\hline
{\em x} & The axis x component of force. \\
\hline
{\em y} & The axis y component of force. \\
\hline
{\em z} & The axis z component of force.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga336a585598ed882a9575ed72a9f748e2}{ephysics\+\_\+body\+\_\+torque\+\_\+apply()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga5fe14931bd89326182bdf021d84ec40c}{ephysics\+\_\+body\+\_\+force\+\_\+apply()}}. 

\mbox{\hyperlink{group__EPhysics__Body_gaa4ff8dc0e1edefd2ad6a52361ff23edd}{ephysics\+\_\+body\+\_\+forces\+\_\+get()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga7d494e105a7f3a16e658b36ff00e8f17}{ephysics\+\_\+body\+\_\+torques\+\_\+get()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga336a585598ed882a9575ed72a9f748e2}\label{group__EPhysics__Body_ga336a585598ed882a9575ed72a9f748e2}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_torque\_apply@{ephysics\_body\_torque\_apply}}
\index{ephysics\_body\_torque\_apply@{ephysics\_body\_torque\_apply}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_torque\_apply()}{ephysics\_body\_torque\_apply()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+torque\+\_\+apply (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double}]{torque\+\_\+x,  }\item[{double}]{torque\+\_\+y,  }\item[{double}]{torque\+\_\+z }\end{DoxyParamCaption})}



Apply a torque over a body. 

A torque will be applied over the {\ttfamily body} to change the angular acceleration of this body. It will leads to a change on angular velocity over time.


\begin{DoxyParams}{Parameters}
{\em body} & The physics body that will receive the torque. \\
\hline
{\em torque\+\_\+x} & Torque to change angular acceleration of the body around X axis (rotate on y -\/ z plane). Negative values will accelerate it on counter clockwise rotation. \\
\hline
{\em torque\+\_\+y} & Torque to change angular acceleration of the body around Y axis (rotate on x -\/ z plane). Negative values will accelerate it on counter clockwise rotation. \\
\hline
{\em torque\+\_\+z} & Torque to change angular acceleration of the body around Z axis (rotate on x -\/ y plane). Negative values will accelerate it on counter clockwise rotation.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga2134702db807dc4f7dc604d72e5b73db}{ephysics\+\_\+body\+\_\+central\+\_\+force\+\_\+apply()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga5fe14931bd89326182bdf021d84ec40c}{ephysics\+\_\+body\+\_\+force\+\_\+apply()}}. 

\mbox{\hyperlink{group__EPhysics__Body_gaa4ff8dc0e1edefd2ad6a52361ff23edd}{ephysics\+\_\+body\+\_\+forces\+\_\+get()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga7d494e105a7f3a16e658b36ff00e8f17}{ephysics\+\_\+body\+\_\+torques\+\_\+get()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}}, and \mbox{\hyperlink{test_shapes_8c-example}{test\+\_\+shapes.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga5fe14931bd89326182bdf021d84ec40c}\label{group__EPhysics__Body_ga5fe14931bd89326182bdf021d84ec40c}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_force\_apply@{ephysics\_body\_force\_apply}}
\index{ephysics\_body\_force\_apply@{ephysics\_body\_force\_apply}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_force\_apply()}{ephysics\_body\_force\_apply()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+force\+\_\+apply (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double}]{x,  }\item[{double}]{y,  }\item[{double}]{z,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{pos\+\_\+x,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{pos\+\_\+y,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord}}}]{pos\+\_\+z }\end{DoxyParamCaption})}



Apply a force over a body. 

A force will be applied over the body to change it\textquotesingle{}s linear and angular accelerations.

It can be applied in the center of the body, avoiding affecting angular acceleration, with \mbox{\hyperlink{group__EPhysics__Body_ga2134702db807dc4f7dc604d72e5b73db}{ephysics\+\_\+body\+\_\+central\+\_\+force\+\_\+apply()}}, it can be applied only to change angular acceleration, with \mbox{\hyperlink{group__EPhysics__Body_ga336a585598ed882a9575ed72a9f748e2}{ephysics\+\_\+body\+\_\+torque\+\_\+apply()}}, or can be used to lead to both behaviors with \mbox{\hyperlink{group__EPhysics__Body_ga5fe14931bd89326182bdf021d84ec40c}{ephysics\+\_\+body\+\_\+force\+\_\+apply()}}.

It will result in a central force with force ({\ttfamily x}, {\ttfamily y}, {\ttfamily z}) and a torque that will be calculated as a cross product on force and relative position.


\begin{DoxyParams}{Parameters}
{\em body} & The physics body that will receive the impulse. \\
\hline
{\em x} & The axis x component of force. \\
\hline
{\em y} & The axis y component of force. \\
\hline
{\em z} & The axis z component of force. \\
\hline
{\em pos\+\_\+x} & The axis x component of the relative position to apply force. \\
\hline
{\em pos\+\_\+y} & The axis y component of the relative position to apply force. \\
\hline
{\em pos\+\_\+z} & The axis z component of the relative position to apply force.\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
Force is measured in kg $\ast$ p / s / s and position in p (pixels, or Evas coordinates).
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga2134702db807dc4f7dc604d72e5b73db}{ephysics\+\_\+body\+\_\+central\+\_\+force\+\_\+apply()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga336a585598ed882a9575ed72a9f748e2}{ephysics\+\_\+body\+\_\+torque\+\_\+apply()}}. 

\mbox{\hyperlink{group__EPhysics__Body_gaa4ff8dc0e1edefd2ad6a52361ff23edd}{ephysics\+\_\+body\+\_\+forces\+\_\+get()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga7d494e105a7f3a16e658b36ff00e8f17}{ephysics\+\_\+body\+\_\+torques\+\_\+get()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_gaa4ff8dc0e1edefd2ad6a52361ff23edd}\label{group__EPhysics__Body_gaa4ff8dc0e1edefd2ad6a52361ff23edd}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_forces\_get@{ephysics\_body\_forces\_get}}
\index{ephysics\_body\_forces\_get@{ephysics\_body\_forces\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_forces\_get()}{ephysics\_body\_forces\_get()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+forces\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double $\ast$}]{x,  }\item[{double $\ast$}]{y,  }\item[{double $\ast$}]{z }\end{DoxyParamCaption})}



Get physics body forces. 

Get all the forces applied over a body, including gravity. Damping is not considered.


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em x} & The axis x component of total force. \\
\hline
{\em y} & The axis y component of total force. \\
\hline
{\em z} & The axis z component of total force.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga5fe14931bd89326182bdf021d84ec40c}{ephysics\+\_\+body\+\_\+force\+\_\+apply()}} for more details. 

\mbox{\hyperlink{group__EPhysics__Body_ga2134702db807dc4f7dc604d72e5b73db}{ephysics\+\_\+body\+\_\+central\+\_\+force\+\_\+apply()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga336a585598ed882a9575ed72a9f748e2}{ephysics\+\_\+body\+\_\+torque\+\_\+apply()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga7d494e105a7f3a16e658b36ff00e8f17}{ephysics\+\_\+body\+\_\+torques\+\_\+get()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga8a84144392d9f3c7dbecdec6a1199a49}{ephysics\+\_\+body\+\_\+forces\+\_\+clear()}}. 

\mbox{\hyperlink{group__EPhysics__World_ga849f9d794ce5da7bf07f0bfc71aa5b6c}{ephysics\+\_\+world\+\_\+gravity\+\_\+set()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga7d494e105a7f3a16e658b36ff00e8f17}\label{group__EPhysics__Body_ga7d494e105a7f3a16e658b36ff00e8f17}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_torques\_get@{ephysics\_body\_torques\_get}}
\index{ephysics\_body\_torques\_get@{ephysics\_body\_torques\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_torques\_get()}{ephysics\_body\_torques\_get()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+torques\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double $\ast$}]{x,  }\item[{double $\ast$}]{y,  }\item[{double $\ast$}]{z }\end{DoxyParamCaption})}



Get physics body torques. 

Get all the torques applied over a body. Damping is not considered.


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em x} & The torque on x axis. \\
\hline
{\em y} & The torque on y axis. \\
\hline
{\em z} & The torque on z axis.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga336a585598ed882a9575ed72a9f748e2}{ephysics\+\_\+body\+\_\+torque\+\_\+apply()}} for more details. 

\mbox{\hyperlink{group__EPhysics__Body_ga5fe14931bd89326182bdf021d84ec40c}{ephysics\+\_\+body\+\_\+force\+\_\+apply()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga8a84144392d9f3c7dbecdec6a1199a49}{ephysics\+\_\+body\+\_\+forces\+\_\+clear()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}}, and \mbox{\hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga8a84144392d9f3c7dbecdec6a1199a49}\label{group__EPhysics__Body_ga8a84144392d9f3c7dbecdec6a1199a49}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_forces\_clear@{ephysics\_body\_forces\_clear}}
\index{ephysics\_body\_forces\_clear@{ephysics\_body\_forces\_clear}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_forces\_clear()}{ephysics\_body\_forces\_clear()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+forces\+\_\+clear (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Clear all the forces applied to a body. 

It will remove all the forces previously applied. So linear acceleration and angular acceleration will be set to 0.

It won\textquotesingle{}t interfere with world\textquotesingle{}s gravity, the body will continue to be accelerated considering gravity.

It won\textquotesingle{}t affect damping.


\begin{DoxyParams}{Parameters}
{\em body} & The physics body that will have applied forces set to 0.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga2134702db807dc4f7dc604d72e5b73db}{ephysics\+\_\+body\+\_\+central\+\_\+force\+\_\+apply()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga336a585598ed882a9575ed72a9f748e2}{ephysics\+\_\+body\+\_\+torque\+\_\+apply()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga5fe14931bd89326182bdf021d84ec40c}{ephysics\+\_\+body\+\_\+force\+\_\+apply()}}. 

\mbox{\hyperlink{group__EPhysics__Body_gaa4ff8dc0e1edefd2ad6a52361ff23edd}{ephysics\+\_\+body\+\_\+forces\+\_\+get()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga7d494e105a7f3a16e658b36ff00e8f17}{ephysics\+\_\+body\+\_\+torques\+\_\+get()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics__Body_ga2370842d3a7fb806534e51acb543286d}\label{group__EPhysics__Body_ga2370842d3a7fb806534e51acb543286d}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_center\_mass\_get@{ephysics\_body\_center\_mass\_get}}
\index{ephysics\_body\_center\_mass\_get@{ephysics\_body\_center\_mass\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_center\_mass\_get()}{ephysics\_body\_center\_mass\_get()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+center\+\_\+mass\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double $\ast$}]{x,  }\item[{double $\ast$}]{y,  }\item[{double $\ast$}]{z }\end{DoxyParamCaption})}



Get the center of mass of physics body. 

It returns a value from 0 to 1 representing where is the center of the mass considering the height, width and depth of the body.

If a body of width = 30, height = 20 and depth = 20, and has the center of mass at x component = 20, y component = 10 and z = 10, it will return {\ttfamily x} = 0.\+666, {\ttfamily y} = 0.\+5 and {\ttfamily z} = 0.\+5.

For primitive shapes, like box and cylinder, the center of mass is (0.\+5, 0.\+5, 0.\+5).

This function can be useful when updating evas objects for bodies with custom shapes.


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em x} & The axis x component of center of mass. \\
\hline
{\em y} & The axis y component of center of mass. \\
\hline
{\em z} & The axis z component of center of mass.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gaee1301dfd2548f4774d5e4cb81b14385}{ephysics\+\_\+body\+\_\+shape\+\_\+add()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gabe0a56c7d3bb4cecd6161c412457c974}\label{group__EPhysics__Body_gabe0a56c7d3bb4cecd6161c412457c974}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_density\_set@{ephysics\_body\_density\_set}}
\index{ephysics\_body\_density\_set@{ephysics\_body\_density\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_density\_set()}{ephysics\_body\_density\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+density\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{double}]{density }\end{DoxyParamCaption})}



Set body\textquotesingle{}s material density. 

The density of a material is its mass per unit volume. It will set the body mass considering its volume. While a density is set, resizing a body will always recalculate its mass.

When a mass is explicitely set with \mbox{\hyperlink{group__EPhysics__Body_gaa0915777f634079ca6c088fda5c20e8f}{ephysics\+\_\+body\+\_\+mass\+\_\+set()}}, the density will be unset.

It\textquotesingle{}s useful in cases where a specific material needs to be simulated, so its density can be set and ephysics will calcute the body\textquotesingle{}s mass.

By default, no density is set.

EPhysics has some pre-\/defined density values for materials\+: \begin{DoxyItemize}
\item \mbox{\hyperlink{group__EPhysics__Body_gab7927bb7dc3cabd1e624cb05566dba09}{EPHYSICS\+\_\+\+BODY\+\_\+\+DENSITY\+\_\+\+CONCRETE}} \item \mbox{\hyperlink{group__EPhysics__Body_gaf1c982444b3cd365ee1bdd2239692286}{EPHYSICS\+\_\+\+BODY\+\_\+\+DENSITY\+\_\+\+IRON}} \item \mbox{\hyperlink{group__EPhysics__Body_ga7fd7521988913ed203faee3299d67731}{EPHYSICS\+\_\+\+BODY\+\_\+\+DENSITY\+\_\+\+PLASTIC}} \item \mbox{\hyperlink{group__EPhysics__Body_gaa06a7a722600758a065399c5c7b94382}{EPHYSICS\+\_\+\+BODY\+\_\+\+DENSITY\+\_\+\+POLYSTYRENE}} \item \mbox{\hyperlink{group__EPhysics__Body_gad25c12093611b1e121218794acdcd261}{EPHYSICS\+\_\+\+BODY\+\_\+\+DENSITY\+\_\+\+RUBBER}} \item \mbox{\hyperlink{group__EPhysics__Body_ga27512e99dc34fa2337fa663e497b1e27}{EPHYSICS\+\_\+\+BODY\+\_\+\+DENSITY\+\_\+\+WOOD}}\end{DoxyItemize}
\begin{DoxyNote}{Note}
The unit used for density is kilograms / meters $^\wedge$ 3.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em body} & The body to has its material density set. \\
\hline
{\em density} & The {\ttfamily body\textquotesingle{}s} material density, in kilograms / meters $^\wedge$ 3.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gae30c5e062a35d0f75f91d43c82ca93af}{ephysics\+\_\+body\+\_\+density\+\_\+get()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gae30c5e062a35d0f75f91d43c82ca93af}\label{group__EPhysics__Body_gae30c5e062a35d0f75f91d43c82ca93af}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_density\_get@{ephysics\_body\_density\_get}}
\index{ephysics\_body\_density\_get@{ephysics\_body\_density\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_density\_get()}{ephysics\_body\_density\_get()}}
{\footnotesize\ttfamily EAPI double ephysics\+\_\+body\+\_\+density\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Get body\textquotesingle{}s material density. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the {\ttfamily body} material\textquotesingle{}s density, in kilograms / meters $^\wedge$ 3 or 0 if no density is set.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gabe0a56c7d3bb4cecd6161c412457c974}{ephysics\+\_\+body\+\_\+density\+\_\+set()}} for details. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gaa128367c0b773e54d430ec11fc96a4b6}\label{group__EPhysics__Body_gaa128367c0b773e54d430ec11fc96a4b6}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_volume\_get@{ephysics\_body\_volume\_get}}
\index{ephysics\_body\_volume\_get@{ephysics\_body\_volume\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_volume\_get()}{ephysics\_body\_volume\_get()}}
{\footnotesize\ttfamily EAPI double ephysics\+\_\+body\+\_\+volume\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Get body\textquotesingle{}s volume. 

\begin{DoxyNote}{Note}
The unit of the returned value is meters $^\wedge$ 3. Not pixels. Useful for calculation with mass and density.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the {\ttfamily body\textquotesingle{}s} volume, in meters $^\wedge$ 3 or -\/1 on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set()}}. 

\mbox{\hyperlink{group__EPhysics__Body_gae84f1b9e25cb15f7ec63d1371093b263}{ephysics\+\_\+body\+\_\+geometry\+\_\+get()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga626f390590db830fea221c4ef42a2f5b}\label{group__EPhysics__Body_ga626f390590db830fea221c4ef42a2f5b}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_material\_set@{ephysics\_body\_material\_set}}
\index{ephysics\_body\_material\_set@{ephysics\_body\_material\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_material\_set()}{ephysics\_body\_material\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+material\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{group__EPhysics__Body_gaed2ef2bd32f5ef2363a6690ceaa1ea29}{EPhysics\+\_\+\+Body\+\_\+\+Material}}}]{material }\end{DoxyParamCaption})}



Set body\textquotesingle{}s material. 

This function makes properties setting easy. When a material is set to a body, it will update its friction, restitution and density, recalculating its mass.

EPhysics support some materials defined by \mbox{\hyperlink{group__EPhysics__Body_gaed2ef2bd32f5ef2363a6690ceaa1ea29}{EPhysics\+\_\+\+Body\+\_\+\+Material}}.

So, for example, if \mbox{\hyperlink{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa6da554ebde5c54ea870e85dbc1e99344}{EPHYSICS\+\_\+\+BODY\+\_\+\+MATERIAL\+\_\+\+WOOD}} is set, it will set body\textquotesingle{}s density to \mbox{\hyperlink{group__EPhysics__Body_ga27512e99dc34fa2337fa663e497b1e27}{EPHYSICS\+\_\+\+BODY\+\_\+\+DENSITY\+\_\+\+WOOD}}, restitution to \mbox{\hyperlink{group__EPhysics__Body_ga74e9c011d0d1fd10f45cd8dcf2893426}{EPHYSICS\+\_\+\+BODY\+\_\+\+RESTITUTION\+\_\+\+WOOD}} and friction to \mbox{\hyperlink{group__EPhysics__Body_ga547c86262e60760cac8e930b5b85ef47}{EPHYSICS\+\_\+\+BODY\+\_\+\+FRICTION\+\_\+\+WOOD}}.

If any of these values are later explicitely set, the material will be set back to \mbox{\hyperlink{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aafd81323434eb3fd5caaf3fa52772e420}{EPHYSICS\+\_\+\+BODY\+\_\+\+MATERIAL\+\_\+\+CUSTOM}}, the default.


\begin{DoxyParams}{Parameters}
{\em body} & The body to has its material set. \\
\hline
{\em material} & The {\ttfamily material} to be used by the body.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gad29b75d5e38aade74c06993cfead2fb0}{ephysics\+\_\+body\+\_\+material\+\_\+get()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gad29b75d5e38aade74c06993cfead2fb0}\label{group__EPhysics__Body_gad29b75d5e38aade74c06993cfead2fb0}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_material\_get@{ephysics\_body\_material\_get}}
\index{ephysics\_body\_material\_get@{ephysics\_body\_material\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_material\_get()}{ephysics\_body\_material\_get()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__EPhysics__Body_gaed2ef2bd32f5ef2363a6690ceaa1ea29}{EPhysics\+\_\+\+Body\+\_\+\+Material}} ephysics\+\_\+body\+\_\+material\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Get body\textquotesingle{}s material. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the {\ttfamily material} used by the body.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga626f390590db830fea221c4ef42a2f5b}{ephysics\+\_\+body\+\_\+material\+\_\+set()}} for more details. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga37dc0885fe9a3b3ec643edd42a9e7a6f}\label{group__EPhysics__Body_ga37dc0885fe9a3b3ec643edd42a9e7a6f}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_light\_set@{ephysics\_body\_light\_set}}
\index{ephysics\_body\_light\_set@{ephysics\_body\_light\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_light\_set()}{ephysics\_body\_light\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+light\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}}]{enable }\end{DoxyParamCaption})}



Set light effect over body. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em enable} & If {\ttfamily EINA\+\_\+\+TRUE}, light will be applied over this {\ttfamily body}, otherwise it won\textquotesingle{}t.\\
\hline
\end{DoxyParams}
It\textquotesingle{}s possible to set the light to apply over all the bodies with \mbox{\hyperlink{group__EPhysics__World_ga9ccd111c05eafbdc99dc70e7c0ca5b22}{ephysics\+\_\+world\+\_\+light\+\_\+all\+\_\+bodies\+\_\+set()}}. This will have priority over body\textquotesingle{}s individual light settings.

So, if {\ttfamily body} is set to doesn\textquotesingle{}t be affect by the light, but light is set to be applied over all the bodies, {\ttfamily body} will be displayed with light over it.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga447c41bf0f810ae25a8ce37634b34fae}{ephysics\+\_\+body\+\_\+light\+\_\+get()}}. 

\mbox{\hyperlink{group__EPhysics__World_gac798a9ec1348f4e3d0273287b00641d0}{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+set()}} for more details regarding lighting. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga447c41bf0f810ae25a8ce37634b34fae}\label{group__EPhysics__Body_ga447c41bf0f810ae25a8ce37634b34fae}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_light\_get@{ephysics\_body\_light\_get}}
\index{ephysics\_body\_light\_get@{ephysics\_body\_light\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_light\_get()}{ephysics\_body\_light\_get()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ephysics\+\_\+body\+\_\+light\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Get light effect over body. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily EINA\+\_\+\+TRUE} if light is applied over this {\ttfamily body} or {\ttfamily EINA\+\_\+\+FALSE} in the other case, or on error.
\end{DoxyReturn}
\begin{DoxyNote}{Note}
If light is applied over all the bodies it may return {\ttfamily EINA\+\_\+\+FALSE} even if it\textquotesingle{}s being affect by lights. This need to be checked with \mbox{\hyperlink{group__EPhysics__World_ga3a94f91f0748f640140b8a4fa57dbea0}{ephysics\+\_\+world\+\_\+light\+\_\+all\+\_\+bodies\+\_\+get()}}.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga37dc0885fe9a3b3ec643edd42a9e7a6f}{ephysics\+\_\+body\+\_\+light\+\_\+set()}} for more details. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_gafb9956cf8648c885add542272f924d9e}\label{group__EPhysics__Body_gafb9956cf8648c885add542272f924d9e}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_back\_face\_culling\_set@{ephysics\_body\_back\_face\_culling\_set}}
\index{ephysics\_body\_back\_face\_culling\_set@{ephysics\_body\_back\_face\_culling\_set}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_back\_face\_culling\_set()}{ephysics\_body\_back\_face\_culling\_set()}}
{\footnotesize\ttfamily EAPI void ephysics\+\_\+body\+\_\+back\+\_\+face\+\_\+culling\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}}]{enable }\end{DoxyParamCaption})}



Set body\textquotesingle{}s evas object to be hidden when it is counter-\/clockwise. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em enable} & If {\ttfamily EINA\+\_\+\+TRUE}, evas object will be hidden, otherwise it will be visible, rotated.\\
\hline
\end{DoxyParams}
An object is said to be facing the user when all its points are placed in a clockwise fashion.

\begin{DoxyNote}{Note}
When back-\/face culling is enabled, evas object visibility will be handled by \mbox{\hyperlink{group__EPhysics__Body_ga7209e650176e0612efb2a2cc2af0ec27}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+update()}}.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_ga5a6c7a2f58cd10585a6fa667cce1da06}{ephysics\+\_\+body\+\_\+back\+\_\+face\+\_\+culling\+\_\+get()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga7df8fedc4b224a89288b1b4f8568aad1}{ephysics\+\_\+body\+\_\+clockwise\+\_\+get()}}. 

\mbox{\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga5a6c7a2f58cd10585a6fa667cce1da06}\label{group__EPhysics__Body_ga5a6c7a2f58cd10585a6fa667cce1da06}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_back\_face\_culling\_get@{ephysics\_body\_back\_face\_culling\_get}}
\index{ephysics\_body\_back\_face\_culling\_get@{ephysics\_body\_back\_face\_culling\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_back\_face\_culling\_get()}{ephysics\_body\_back\_face\_culling\_get()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ephysics\+\_\+body\+\_\+back\+\_\+face\+\_\+culling\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Return if body\textquotesingle{}s evas object will be hidden when it is counter-\/clockwise or not. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily EINA\+\_\+\+TRUE} if evas object will be hidden, or {\ttfamily EINA\+\_\+\+FALSE} in the other case, or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gafb9956cf8648c885add542272f924d9e}{ephysics\+\_\+body\+\_\+back\+\_\+face\+\_\+culling\+\_\+set()}} for more details. 

\mbox{\hyperlink{group__EPhysics__Body_ga7df8fedc4b224a89288b1b4f8568aad1}{ephysics\+\_\+body\+\_\+clockwise\+\_\+get()}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__EPhysics__Body_ga7df8fedc4b224a89288b1b4f8568aad1}\label{group__EPhysics__Body_ga7df8fedc4b224a89288b1b4f8568aad1}} 
\index{EPhysics Body@{EPhysics Body}!ephysics\_body\_clockwise\_get@{ephysics\_body\_clockwise\_get}}
\index{ephysics\_body\_clockwise\_get@{ephysics\_body\_clockwise\_get}!EPhysics Body@{EPhysics Body}}
\doxysubsubsection{\texorpdfstring{ephysics\_body\_clockwise\_get()}{ephysics\_body\_clockwise\_get()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ephysics\+\_\+body\+\_\+clockwise\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{EPhysics\+\_\+\+Body}} $\ast$}]{body }\end{DoxyParamCaption})}



Get the clockwise state of a body. 

This determines if the points of the evas object associated to the {\ttfamily body} are clockwise or counter-\/clockwise. This can be used for \char`\"{}back-\/face culling\char`\"{}. $\ast$ This is where you hide objects that \char`\"{}face away\char`\"{} from you. In this case objects that are not clockwise.

It can be set with \mbox{\hyperlink{group__EPhysics__Body_gafb9956cf8648c885add542272f924d9e}{ephysics\+\_\+body\+\_\+back\+\_\+face\+\_\+culling\+\_\+set()}}, so EPhysics will handle visibility automatically on evas object update.

\begin{DoxyNote}{Note}
This information only will be updated on \mbox{\hyperlink{group__EPhysics__Body_ga7209e650176e0612efb2a2cc2af0ec27}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+update()}}. So if a custom rendering is being done, this function won\textquotesingle{}t return the current value of the evas object.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily EINA\+\_\+\+TRUE} if clockwise, {\ttfamily EINA\+\_\+\+FALSE} otherwise or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics__Body_gafb9956cf8648c885add542272f924d9e}{ephysics\+\_\+body\+\_\+back\+\_\+face\+\_\+culling\+\_\+set()}} for more details. 
\end{DoxySeeAlso}
