\hypertarget{group__EPhysics__Body}{\section{E\+Physics Body}
\label{group__EPhysics__Body}\index{E\+Physics Body@{E\+Physics Body}}
}


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


\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{group__EPhysics__Body_ga6f5a7cbea749e1567d608b9321af9eb9}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+S\+S\+\_\+\+S\+T\+A\+T\+I\+C}~(0.\+0)
\begin{DoxyCompactList}\small\item\em Mass amount used to makes a body static. \end{DoxyCompactList}\item 
\#define \hyperlink{group__EPhysics__Body_ga27512e99dc34fa2337fa663e497b1e27}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+W\+O\+O\+D}~(680.\+0)
\begin{DoxyCompactList}\small\item\em Density of wood in kg / m $^\wedge$ 3. \end{DoxyCompactList}\item 
\#define \hyperlink{group__EPhysics__Body_gaf1c982444b3cd365ee1bdd2239692286}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+I\+R\+O\+N}~(7400.\+0)
\begin{DoxyCompactList}\small\item\em Density of iron in kg / m $^\wedge$ 3. \end{DoxyCompactList}\item 
\#define \hyperlink{group__EPhysics__Body_gab7927bb7dc3cabd1e624cb05566dba09}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E}~(2300.\+0)
\begin{DoxyCompactList}\small\item\em Density of concrete in kg / m $^\wedge$ 3. \end{DoxyCompactList}\item 
\#define \hyperlink{group__EPhysics__Body_gad25c12093611b1e121218794acdcd261}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+R\+U\+B\+B\+E\+R}~(920.\+0)
\begin{DoxyCompactList}\small\item\em Density of rubber in kg / m $^\wedge$ 3. \end{DoxyCompactList}\item 
\#define \hyperlink{group__EPhysics__Body_gaa06a7a722600758a065399c5c7b94382}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E}~(80.\+0)
\begin{DoxyCompactList}\small\item\em Density of polystyrene in kg / m $^\wedge$ 3. \end{DoxyCompactList}\item 
\#define \hyperlink{group__EPhysics__Body_ga7fd7521988913ed203faee3299d67731}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+P\+L\+A\+S\+T\+I\+C}~(1300.\+0)
\begin{DoxyCompactList}\small\item\em Density of plastic in kg / m $^\wedge$ 3. \end{DoxyCompactList}\item 
\#define \hyperlink{group__EPhysics__Body_ga547c86262e60760cac8e930b5b85ef47}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+W\+O\+O\+D}~(0.\+4)
\begin{DoxyCompactList}\small\item\em Friction coefficient of wood. \end{DoxyCompactList}\item 
\#define \hyperlink{group__EPhysics__Body_ga32f7044e93047cd6d3b3bac9da2e6d44}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+I\+R\+O\+N}~(0.\+8)
\begin{DoxyCompactList}\small\item\em Friction coefficient of iron. \end{DoxyCompactList}\item 
\#define \hyperlink{group__EPhysics__Body_gabcc5b09329505bb312d6c581e616c387}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E}~(0.\+65)
\begin{DoxyCompactList}\small\item\em Friction coefficient of concrete. \end{DoxyCompactList}\item 
\#define \hyperlink{group__EPhysics__Body_ga0ebe75973c80b76d7fcb8644cf53f034}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+R\+U\+B\+B\+E\+R}~(0.\+75)
\begin{DoxyCompactList}\small\item\em Friction coefficient of rubber. \end{DoxyCompactList}\item 
\#define \hyperlink{group__EPhysics__Body_ga4abb48d3936c9fbf268109d4ac62afad}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E}~(0.\+5)
\begin{DoxyCompactList}\small\item\em Friction coefficient of polystyrene. \end{DoxyCompactList}\item 
\#define \hyperlink{group__EPhysics__Body_ga317e3bcbdcbdda9f2b403d224f02cbf3}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+P\+L\+A\+S\+T\+I\+C}~(0.\+35)
\begin{DoxyCompactList}\small\item\em Friction coefficient of plastic. \end{DoxyCompactList}\item 
\#define \hyperlink{group__EPhysics__Body_ga74e9c011d0d1fd10f45cd8dcf2893426}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+W\+O\+O\+D}~(0.\+7)
\begin{DoxyCompactList}\small\item\em Restitution coefficient of wood. \end{DoxyCompactList}\item 
\#define \hyperlink{group__EPhysics__Body_ga7eb95e5bbd6e984fa154d4a2a6eeaa0b}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+I\+R\+O\+N}~(0.\+85)
\begin{DoxyCompactList}\small\item\em Restitution coefficient of iron. \end{DoxyCompactList}\item 
\#define \hyperlink{group__EPhysics__Body_ga036d37e0d96952e92c1f00958e329c16}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E}~(0.\+75)
\begin{DoxyCompactList}\small\item\em Restitution coefficient of concrete. \end{DoxyCompactList}\item 
\#define \hyperlink{group__EPhysics__Body_ga016e0f52f46cd30204d6b5a664c4c724}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+R\+U\+B\+B\+E\+R}~(0.\+3)
\begin{DoxyCompactList}\small\item\em Restitution coefficient of rubber. \end{DoxyCompactList}\item 
\#define \hyperlink{group__EPhysics__Body_ga03c67b9d284f796c09c8aface92f4f28}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E}~(0.\+5)
\begin{DoxyCompactList}\small\item\em Restitution coefficient of polystyrene. \end{DoxyCompactList}\item 
\#define \hyperlink{group__EPhysics__Body_ga3a89e0d5765ad9e8ef6ceb4bb1f704c3}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+P\+L\+A\+S\+T\+I\+C}~(0.\+6)
\begin{DoxyCompactList}\small\item\em Restitution coefficient of plastic. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef enum \\*
\+\_\+\+E\+Physics\+\_\+\+Body\+\_\+\+Cloth\+\_\+\+Anchor\+\_\+\+Side \hyperlink{group__EPhysics__Body_ga141ced5a614b33d9efc09c634aebbb4a}{E\+Physics\+\_\+\+Body\+\_\+\+Cloth\+\_\+\+Anchor\+\_\+\+Side}
\begin{DoxyCompactList}\small\item\em Identifier of cloth anchor sides. \end{DoxyCompactList}\item 
typedef enum \+\_\+\+E\+Physics\+\_\+\+Body\+\_\+\+Face \hyperlink{group__EPhysics__Body_ga867862771facf1a6e5af1afb4c95145f}{E\+Physics\+\_\+\+Body\+\_\+\+Face}
\begin{DoxyCompactList}\small\item\em Define in which body's face the evas object should be set. \end{DoxyCompactList}\item 
typedef struct \\*
\+\_\+\+E\+Physics\+\_\+\+Body\+\_\+\+Collision \hyperlink{group__EPhysics__Body_ga454052288e957641ff40f79ca3c72792}{E\+Physics\+\_\+\+Body\+\_\+\+Collision}
\begin{DoxyCompactList}\small\item\em Body collision wraps collision informations. \end{DoxyCompactList}\item 
typedef enum \\*
\hyperlink{group__EPhysics__Body_ga904d0d1462e71c1f32cb27f540b5277c}{\+\_\+\+E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type} \hyperlink{group__EPhysics__Body_ga302259832cc6cd8828d73833f391e8be}{E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}
\begin{DoxyCompactList}\small\item\em The types of events triggering a callback. \end{DoxyCompactList}\item 
typedef enum \\*
\hyperlink{group__EPhysics__Body_gacaef1c39c01f3d744b26dba7ce37b19a}{\+\_\+\+E\+Physics\+\_\+\+Body\+\_\+\+Material} \hyperlink{group__EPhysics__Body_gaed2ef2bd32f5ef2363a6690ceaa1ea29}{E\+Physics\+\_\+\+Body\+\_\+\+Material}
\begin{DoxyCompactList}\small\item\em The types of materials to be set on a body. \end{DoxyCompactList}\item 
typedef void($\ast$ \hyperlink{group__EPhysics__Body_gadb46c643f531e500d2f84c78343aa4b1}{E\+Physics\+\_\+\+Body\+\_\+\+Event\+\_\+\+Cb} )(void $\ast$data, \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, void $\ast$event\+\_\+info)
\begin{DoxyCompactList}\small\item\em E\+Physics body event callback function signature. \end{DoxyCompactList}\item 
typedef struct \+\_\+\+E\+Physics\+\_\+\+Body \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body}
\begin{DoxyCompactList}\small\item\em Body handle, represents an object on E\+Physics world. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__EPhysics__Body_ga49daae039dfdb8675123adb7d8bb6be5}{enum {\bfseries \+\_\+\+E\+Physics\+\_\+\+Body\+\_\+\+Cloth\+\_\+\+Anchor\+\_\+\+Side} \{ \\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+L\+O\+T\+H\+\_\+\+A\+N\+C\+H\+O\+R\+\_\+\+S\+I\+D\+E\+\_\+\+L\+E\+F\+T}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+L\+O\+T\+H\+\_\+\+A\+N\+C\+H\+O\+R\+\_\+\+S\+I\+D\+E\+\_\+\+R\+I\+G\+H\+T}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+L\+O\+T\+H\+\_\+\+A\+N\+C\+H\+O\+R\+\_\+\+S\+I\+D\+E\+\_\+\+T\+O\+P}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+L\+O\+T\+H\+\_\+\+A\+N\+C\+H\+O\+R\+\_\+\+S\+I\+D\+E\+\_\+\+B\+O\+T\+T\+O\+M}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+L\+O\+T\+H\+\_\+\+A\+N\+C\+H\+O\+R\+\_\+\+S\+I\+D\+E\+\_\+\+L\+A\+S\+T}
 \}}\label{group__EPhysics__Body_ga49daae039dfdb8675123adb7d8bb6be5}

\item 
\hypertarget{group__EPhysics__Body_gae5037affec6b57b498a2ad6f6e34aa47}{enum {\bfseries \+\_\+\+E\+Physics\+\_\+\+Body\+\_\+\+Face} \{ \\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+B\+O\+X\+\_\+\+F\+A\+C\+E\+\_\+\+M\+I\+D\+D\+L\+E\+\_\+\+F\+R\+O\+N\+T}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+B\+O\+X\+\_\+\+F\+A\+C\+E\+\_\+\+M\+I\+D\+D\+L\+E\+\_\+\+B\+A\+C\+K}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+B\+O\+X\+\_\+\+F\+A\+C\+E\+\_\+\+F\+R\+O\+N\+T}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+B\+O\+X\+\_\+\+F\+A\+C\+E\+\_\+\+B\+A\+C\+K}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+B\+O\+X\+\_\+\+F\+A\+C\+E\+\_\+\+L\+E\+F\+T}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+B\+O\+X\+\_\+\+F\+A\+C\+E\+\_\+\+R\+I\+G\+H\+T}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+B\+O\+X\+\_\+\+F\+A\+C\+E\+\_\+\+T\+O\+P}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+B\+O\+X\+\_\+\+F\+A\+C\+E\+\_\+\+B\+O\+T\+T\+O\+M}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+L\+O\+T\+H\+\_\+\+F\+A\+C\+E\+\_\+\+F\+R\+O\+N\+T}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+L\+O\+T\+H\+\_\+\+F\+A\+C\+E\+\_\+\+B\+A\+C\+K}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+Y\+L\+I\+N\+D\+E\+R\+\_\+\+F\+A\+C\+E\+\_\+\+M\+I\+D\+D\+L\+E\+\_\+\+F\+R\+O\+N\+T}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+Y\+L\+I\+N\+D\+E\+R\+\_\+\+F\+A\+C\+E\+\_\+\+M\+I\+D\+D\+L\+E\+\_\+\+B\+A\+C\+K}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+Y\+L\+I\+N\+D\+E\+R\+\_\+\+F\+A\+C\+E\+\_\+\+F\+R\+O\+N\+T}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+Y\+L\+I\+N\+D\+E\+R\+\_\+\+F\+A\+C\+E\+\_\+\+B\+A\+C\+K}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+Y\+L\+I\+N\+D\+E\+R\+\_\+\+F\+A\+C\+E\+\_\+\+C\+U\+R\+V\+E\+D}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+S\+P\+H\+E\+R\+E\+\_\+\+F\+A\+C\+E\+\_\+\+F\+R\+O\+N\+T}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+S\+P\+H\+E\+R\+E\+\_\+\+F\+A\+C\+E\+\_\+\+B\+A\+C\+K}, 
\\*
{\bfseries E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+A\+C\+E\+\_\+\+L\+A\+S\+T}
 \}}\label{group__EPhysics__Body_gae5037affec6b57b498a2ad6f6e34aa47}

\item 
enum \hyperlink{group__EPhysics__Body_ga904d0d1462e71c1f32cb27f540b5277c}{\+\_\+\+E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type} \{ \\*
\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cacb2363cd59bc8642e74ad916c6658e0a}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+U\+P\+D\+A\+T\+E}, 
\\*
\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277caa002e2d26e86261221dc643f19071754}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+O\+L\+L\+I\+S\+I\+O\+N}, 
\\*
\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cab8f46f167ee3872ea35fe645bf14a5d2}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+L}, 
\\*
\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cae88f6dfe5c24a67f5f074fb818edfa72}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+S\+T\+O\+P\+P\+E\+D}, 
\\*
\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277ca25173c695395510a437472c788c580e7}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+L\+A\+S\+T}
 \}
\item 
enum \hyperlink{group__EPhysics__Body_gacaef1c39c01f3d744b26dba7ce37b19a}{\+\_\+\+E\+Physics\+\_\+\+Body\+\_\+\+Material} \{ \\*
\hyperlink{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aafd81323434eb3fd5caaf3fa52772e420}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+C\+U\+S\+T\+O\+M}, 
\\*
\hyperlink{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa10b69deaba5813f633814accde44c49f}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E}, 
\\*
\hyperlink{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa45165c91583fe45770f3f477691ec72b}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+I\+R\+O\+N}, 
\\*
\hyperlink{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa84006e0d3564bf5abac54fd7caf62ed3}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+P\+L\+A\+S\+T\+I\+C}, 
\\*
\hyperlink{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aab23a76321e42355651d0ff28ac607e12}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E}, 
\\*
\hyperlink{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa7ee7c244bacc6e80242beef9aa72bb50}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+R\+U\+B\+B\+E\+R}, 
\\*
\hyperlink{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa6da554ebde5c54ea870e85dbc1e99344}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+W\+O\+O\+D}, 
\\*
\hyperlink{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa0e10b889bbdb9ad63a1dbaf95b7d5c84}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+L\+A\+S\+T}
 \}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_gace8f2c2feb58e7d141d72aa2d0e8a37d}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+hardness\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, double hardness)
\begin{DoxyCompactList}\small\item\em Set the soft body hardness percentage. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} double \hyperlink{group__EPhysics__Body_gaf9636fa2c7109bd761d9547d6945e857}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+hardness\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get the soft body hardness percentage. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga6cdacb32e4118455e201de3e0fc9027d}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+anchor\+\_\+hardness\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, double hardness)
\begin{DoxyCompactList}\small\item\em Set the soft body anchor hardness percentage. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} double \hyperlink{group__EPhysics__Body_gaa1c79c6774f3365ae6bd265de4bb4a49}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+anchor\+\_\+hardness\+\_\+get} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get the soft body anchor hardnees percentage. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga8956e1d137bad8cac6fcda6919739129}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+drag\+\_\+coefficient\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, double coefficient)
\begin{DoxyCompactList}\small\item\em Set the drag coefficient of a soft body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} double \hyperlink{group__EPhysics__Body_gadcbb12dac4ac9764f5404460276d3b0e}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+drag\+\_\+coefficient\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get the drag coefficient of a soft body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga583d57dcc29add7941387796d42f4594}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+dragging\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, int triangle)
\begin{DoxyCompactList}\small\item\em Set the soft body dragging status. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga0f3f7c81320c1f0b6fb5d362a05e5305}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+dragging\+\_\+unset} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Unset the soft body dragging status. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__EPhysics__Body_ga9b1f56dafd0b3747b0a44062c63cf979}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+index\+\_\+get} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} x, \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 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__EPhysics__Body_ga092ec1d7d675416e396ca39a4d1c9d61}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+slice\+\_\+index\+\_\+get} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \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 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$ \hyperlink{group__EPhysics__Body_ga697f3deeee27f3d9e54d9013dc89827a}{ephysics\+\_\+body\+\_\+soft\+\_\+sphere\+\_\+add} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, int granularity)
\begin{DoxyCompactList}\small\item\em Add a soft sphere. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List} $\ast$ \hyperlink{group__EPhysics__Body_gaa98d75762334b5ce26d9299fee3ddc74}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangles\+\_\+inside\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} x, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} y, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} z, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} w, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} h, \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 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga8ae690e71bee44ba070d40d3b404879c}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+impulse\+\_\+apply} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+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 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga2cb3b0785d05cabf8b618091908c7b7a}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+list\+\_\+impulse\+\_\+apply} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \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 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga9878c25b81edf2b9ef9259b3d9f0d227}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+position\+\_\+iterations\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, int iterations)
\begin{DoxyCompactList}\small\item\em Set the soft body number of position iterations. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__EPhysics__Body_ga900f3771b34866a8314f4c46007b1f3c}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+position\+\_\+iterations\+\_\+get} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get the soft body number of position iterations. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga0ea2657d75a116770615e96096c4aee0}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+move} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, int idx, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} x, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} y, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} z)
\begin{DoxyCompactList}\small\item\em Move a body's triangle. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_gad684bb41d78818b2c7af07ead74e5509}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+bending\+\_\+constraints\+\_\+add} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, int number)
\begin{DoxyCompactList}\small\item\em Add new bending constraints to some {\ttfamily body}. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$ \hyperlink{group__EPhysics__Body_gab26c09b5a98dabfb0323dbdb7f2a64af}{ephysics\+\_\+body\+\_\+sphere\+\_\+add} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a new sphere physics body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$ \hyperlink{group__EPhysics__Body_gab57e99be7fe5a5174c38b8aea55f3266}{ephysics\+\_\+body\+\_\+cylinder\+\_\+add} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a new cylinder physics body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$ \hyperlink{group__EPhysics__Body_ga7818b6356a0b7e4e493f949245d69df3}{ephysics\+\_\+body\+\_\+soft\+\_\+cylinder\+\_\+add} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a new deformable cylinder physics body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$ \hyperlink{group__EPhysics__Body_gaf8f30587da7453114397d64dd9704d7f}{ephysics\+\_\+body\+\_\+box\+\_\+add} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a new box physics body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$ \hyperlink{group__EPhysics__Body_ga05c586ce8cb9d09b0ae40ff4efd93064}{ephysics\+\_\+body\+\_\+soft\+\_\+box\+\_\+add} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a new deformable box physics body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$ \hyperlink{group__EPhysics__Body_gae6fbfbbf74ce29631fcc4dbfbff39490}{ephysics\+\_\+body\+\_\+cloth\+\_\+add} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, unsigned short rows, unsigned short columns)
\begin{DoxyCompactList}\small\item\em Create a new deformable cloth physics body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_gad613c22fe04b10546a25d3e44901e65d}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+full\+\_\+add} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body1, \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body2, \hyperlink{group__EPhysics__Body_ga141ced5a614b33d9efc09c634aebbb4a}{E\+Physics\+\_\+\+Body\+\_\+\+Cloth\+\_\+\+Anchor\+\_\+\+Side} side)
\begin{DoxyCompactList}\small\item\em Anchors a cloth with a rigid body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga909b36744802759641d02b0414be90d4}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+add} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body1, \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body2, int node)
\begin{DoxyCompactList}\small\item\em Anchors an arbitrary cloth's node with a rigid body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga5e42bca444f7f8f539a2d9656441d048}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+del} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Removes the anchors in a cloth body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$ \hyperlink{group__EPhysics__Body_gabe733ecf3e04d267005118ff7291daab}{ephysics\+\_\+body\+\_\+shape\+\_\+add} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, \hyperlink{group__EPhysics__Shape_gadfcc565af1b4e898f2959292a9089e7e}{E\+Physics\+\_\+\+Shape} $\ast$shape)
\begin{DoxyCompactList}\small\item\em Create a new physics body using a custom shape. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$ \hyperlink{group__EPhysics__Body_ga2a3e40784ef30f15d5d7e9f1f2a814b3}{ephysics\+\_\+body\+\_\+top\+\_\+boundary\+\_\+add} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a physic top boundary. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$ \hyperlink{group__EPhysics__Body_gac5fc5a1817ac81e2f1fcdcd8908614f2}{ephysics\+\_\+body\+\_\+bottom\+\_\+boundary\+\_\+add} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a physic bottom boundary. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$ \hyperlink{group__EPhysics__Body_ga4ad52252b2537c6f41e14b9135847fe9}{ephysics\+\_\+body\+\_\+left\+\_\+boundary\+\_\+add} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a physic left boundary. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$ \hyperlink{group__EPhysics__Body_gab7e598db12a5270311c429f0ee12271c}{ephysics\+\_\+body\+\_\+right\+\_\+boundary\+\_\+add} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a physic right boundary. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$ \hyperlink{group__EPhysics__Body_ga6c3998e80d45fbc90b44cb84acdd333e}{ephysics\+\_\+body\+\_\+front\+\_\+boundary\+\_\+add} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a physic front boundary. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$ \hyperlink{group__EPhysics__Body_ga74754bdd06134aee9cf7c18227aaecef}{ephysics\+\_\+body\+\_\+back\+\_\+boundary\+\_\+add} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Create a physic back boundary. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Delete a physics body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$ \hyperlink{group__EPhysics__Body_ga753059be60bb7e52da9fdfa68c4d32dc}{ephysics\+\_\+body\+\_\+world\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get the world a body belongs to. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$evas\+\_\+obj, \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 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$ \hyperlink{group__EPhysics__Body_gab1dc194995338463dd8f52b8caa8e066}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+unset} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Unset the evas object associated to a physics body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$ \hyperlink{group__EPhysics__Body_ga47ea07534cc809cd5d132495ebf2793a}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get the evas object associated to a physics body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{group__EPhysics__Body_ga867862771facf1a6e5af1afb4c95145f}{E\+Physics\+\_\+\+Body\+\_\+\+Face} face, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$evas\+\_\+obj, \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 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$ \hyperlink{group__EPhysics__Body_gad6c3da2a67593905646d6ecd4ceba48f}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{group__EPhysics__Body_ga867862771facf1a6e5af1afb4c95145f}{E\+Physics\+\_\+\+Body\+\_\+\+Face} face)
\begin{DoxyCompactList}\small\item\em Get the evas object associated to a physics body face. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$ \hyperlink{group__EPhysics__Body_ga36e858b0c21c71629db78039b23e496b}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+unset} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{group__EPhysics__Body_ga867862771facf1a6e5af1afb4c95145f}{E\+Physics\+\_\+\+Body\+\_\+\+Face} face)
\begin{DoxyCompactList}\small\item\em Unset the evas object associated to a physics body face. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_gad4333b73a33d08bd598cc4c442230902}{ephysics\+\_\+body\+\_\+resize} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} w, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} h, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} d)
\begin{DoxyCompactList}\small\item\em Set physics body size. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_gae3c32aa0cdd60ffec86fff30097e75e1}{ephysics\+\_\+body\+\_\+move} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} x, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} y, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} z)
\begin{DoxyCompactList}\small\item\em Set physics body position. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} x, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} y, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} z, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} w, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} h, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} d)
\begin{DoxyCompactList}\small\item\em Set physics body geometry. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_gae84f1b9e25cb15f7ec63d1371093b263}{ephysics\+\_\+body\+\_\+geometry\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} $\ast$x, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} $\ast$y, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} $\ast$z, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} $\ast$w, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} $\ast$h, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} $\ast$d)
\begin{DoxyCompactList}\small\item\em Get physics body position. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_gaa0915777f634079ca6c088fda5c20e8f}{ephysics\+\_\+body\+\_\+mass\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, double mass)
\begin{DoxyCompactList}\small\item\em Set body's mass. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} double \hyperlink{group__EPhysics__Body_gace451135f119bcc7b64516cb6d5b252f}{ephysics\+\_\+body\+\_\+mass\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get body's mass. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga1e2bbd2a002b05afbfdbd0da2a9480ed}{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, double x, double y, double z)
\begin{DoxyCompactList}\small\item\em Set body's linear velocity on x, y and z axes. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga45dadf9123da25dd007b6c458f86d589}{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, double $\ast$x, double $\ast$y, double $\ast$z)
\begin{DoxyCompactList}\small\item\em Get body's linear velocity on x, y and z axes. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga118210c9836a166c923665fc4714997d}{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, double x, double y, double z)
\begin{DoxyCompactList}\small\item\em Set body's angular velocity on x, y and z axes. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga4aa2211390aefa191a13639a672f21e8}{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, double $\ast$x, double $\ast$y, double $\ast$z)
\begin{DoxyCompactList}\small\item\em Get body's angular velocity on x, y and z axes. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_gaa65f3bf819cf09ac5da543ee6460a9f3}{ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, double linear\+\_\+threshold, double angular\+\_\+threshold)
\begin{DoxyCompactList}\small\item\em Set the linear and angular sleeping threshold. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_gacaf8c1fdcc247819ef0646539742c11b}{ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, double $\ast$linear\+\_\+threshold, double $\ast$angular\+\_\+threshold)
\begin{DoxyCompactList}\small\item\em Get the linear sleeping threshold. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_gabf7fbfc0052b28ed1d5fcade8eeaa5e6}{ephysics\+\_\+body\+\_\+stop} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Stop angular and linear body movement. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga0ecea96f6a5a62f29e2bdeecb86db400}{ephysics\+\_\+body\+\_\+damping\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, double linear\+\_\+damping, double angular\+\_\+damping)
\begin{DoxyCompactList}\small\item\em Set the angular and linear damping values. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga1349b21af465b7e0fe5aec01cc17b10d}{ephysics\+\_\+body\+\_\+damping\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+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 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__EPhysics__Body_ga163b202be4c445bf79c28adb0db2bdbd}{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+add} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, const char $\ast$group)
\begin{DoxyCompactList}\small\item\em Add a {\ttfamily body} to a given collision group. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__EPhysics__Body_ga7743d5ddc3cab8c82561463611ff5db5}{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+del} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, const char $\ast$group)
\begin{DoxyCompactList}\small\item\em Removes {\ttfamily body} from collision {\ttfamily group}. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} const \hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List} $\ast$ \hyperlink{group__EPhysics__Body_gace89603811baa1850393e0c05ec8294b}{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+list\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get the collision group list of {\ttfamily body}. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga7209e650176e0612efb2a2cc2af0ec27}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+update} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Update the evas object associated to the body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{group__EPhysics__Body_ga302259832cc6cd8828d73833f391e8be}{E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type} type, \hyperlink{group__EPhysics__Body_gadb46c643f531e500d2f84c78343aa4b1}{E\+Physics\+\_\+\+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 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void $\ast$ \hyperlink{group__EPhysics__Body_ga4a92eb1bf013960a36e45e3ba2a1416f}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{group__EPhysics__Body_ga302259832cc6cd8828d73833f391e8be}{E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type} type, \hyperlink{group__EPhysics__Body_gadb46c643f531e500d2f84c78343aa4b1}{E\+Physics\+\_\+\+Body\+\_\+\+Event\+\_\+\+Cb} func)
\begin{DoxyCompactList}\small\item\em Unregister an ephysics body event callback. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void $\ast$ \hyperlink{group__EPhysics__Body_ga8d562dbc00d021a28981b953324869e0}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del\+\_\+full} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{group__EPhysics__Body_ga302259832cc6cd8828d73833f391e8be}{E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type} type, \hyperlink{group__EPhysics__Body_gadb46c643f531e500d2f84c78343aa4b1}{E\+Physics\+\_\+\+Body\+\_\+\+Event\+\_\+\+Cb} func, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Unregister an ephysics body event callback matching data pointer. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_gabcbb3bd68d47bb0fdf071bb022763d58}{ephysics\+\_\+body\+\_\+collision\+\_\+position\+\_\+get} (const \hyperlink{group__EPhysics__Body_ga454052288e957641ff40f79ca3c72792}{E\+Physics\+\_\+\+Body\+\_\+\+Collision} $\ast$collision, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} $\ast$x, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} $\ast$y, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} $\ast$z)
\begin{DoxyCompactList}\small\item\em Get the position(x, y) of a body's collision. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$ \hyperlink{group__EPhysics__Body_gae94b1bd402657e11208cc90c5c3bbba4}{ephysics\+\_\+body\+\_\+collision\+\_\+contact\+\_\+body\+\_\+get} (const \hyperlink{group__EPhysics__Body_ga454052288e957641ff40f79ca3c72792}{E\+Physics\+\_\+\+Body\+\_\+\+Collision} $\ast$collision)
\begin{DoxyCompactList}\small\item\em Get the body's collision contact body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}{ephysics\+\_\+body\+\_\+restitution\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, double restitution)
\begin{DoxyCompactList}\small\item\em Set body's coefficient of restitution. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} double \hyperlink{group__EPhysics__Body_ga6546a6558cad9468a9af2e1517cab82d}{ephysics\+\_\+body\+\_\+restitution\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get body's restitution. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}{ephysics\+\_\+body\+\_\+friction\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, double friction)
\begin{DoxyCompactList}\small\item\em Set body's friction. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} double \hyperlink{group__EPhysics__Body_gae7cc514b91c8c13ab709f9e6534ea19e}{ephysics\+\_\+body\+\_\+friction\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get body's friction. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga9109b39047a724640f6a18c683c9eb07}{ephysics\+\_\+body\+\_\+central\+\_\+impulse\+\_\+apply} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+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 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga6c6d3c8bfc6bb5600947b66b519d2d98}{ephysics\+\_\+body\+\_\+torque\+\_\+impulse\+\_\+apply} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, double pitch, double yaw, double roll)
\begin{DoxyCompactList}\small\item\em Apply a torque impulse over a body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_gadc5405c4d07742e9aff7a0a564aa63e2}{ephysics\+\_\+body\+\_\+impulse\+\_\+apply} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, double x, double y, double z, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} pos\+\_\+x, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} pos\+\_\+y, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} pos\+\_\+z)
\begin{DoxyCompactList}\small\item\em Apply an impulse over a body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga049f9410c5d04d5b810a1755da993cc0}{ephysics\+\_\+body\+\_\+angular\+\_\+movement\+\_\+enable\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} enable\+\_\+x, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} enable\+\_\+y, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} enable\+\_\+z)
\begin{DoxyCompactList}\small\item\em Enable or disable body's rotation on z axis. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga055108d89ca21f230fbf58b387a451bd}{ephysics\+\_\+body\+\_\+angular\+\_\+movement\+\_\+enable\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} $\ast$enable\+\_\+x, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} $\ast$enable\+\_\+y, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} $\ast$enable\+\_\+z)
\begin{DoxyCompactList}\small\item\em Return body's rotation on z axis state. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_gae25a32b3808208877a177661b0e24b8e}{ephysics\+\_\+body\+\_\+linear\+\_\+movement\+\_\+enable\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} enable\+\_\+x, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} enable\+\_\+y, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} enable\+\_\+z)
\begin{DoxyCompactList}\small\item\em Enable or disable body's movement on x, y and z axes. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga5266a4832c78178b58f3300fc12c37aa}{ephysics\+\_\+body\+\_\+linear\+\_\+movement\+\_\+enable\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} $\ast$enable\+\_\+x, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} $\ast$enable\+\_\+y, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} $\ast$enable\+\_\+z)
\begin{DoxyCompactList}\small\item\em Get body's movement on x, y and z axes behavior. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__EPhysics__Quaternion_ga0a3aa92825f4a5d1feeffb07945a4bbf}{E\+Physics\+\_\+\+Quaternion} $\ast$ \hyperlink{group__EPhysics__Body_gaf1e13b27301a7f4c9cb3bcba3fa9f26a}{ephysics\+\_\+body\+\_\+rotation\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{group__EPhysics__Quaternion_ga0a3aa92825f4a5d1feeffb07945a4bbf}{E\+Physics\+\_\+\+Quaternion} $\ast$rotation)
\begin{DoxyCompactList}\small\item\em Get body's rotation quaternion. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga11a611cba12f9066a272e5cb6d1b371e}{ephysics\+\_\+body\+\_\+rotation\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{group__EPhysics__Quaternion_ga0a3aa92825f4a5d1feeffb07945a4bbf}{E\+Physics\+\_\+\+Quaternion} $\ast$quat)
\begin{DoxyCompactList}\small\item\em Set body's rotation. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_gac696066772dc2d9e12a5fe08afee0688}{ephysics\+\_\+body\+\_\+data\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Set data to {\ttfamily body}. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void $\ast$ \hyperlink{group__EPhysics__Body_ga07b351899580f2f1adb28bce25366fc5}{ephysics\+\_\+body\+\_\+data\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Return data previously set to body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga2134702db807dc4f7dc604d72e5b73db}{ephysics\+\_\+body\+\_\+central\+\_\+force\+\_\+apply} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+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 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga336a585598ed882a9575ed72a9f748e2}{ephysics\+\_\+body\+\_\+torque\+\_\+apply} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+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 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga5fe14931bd89326182bdf021d84ec40c}{ephysics\+\_\+body\+\_\+force\+\_\+apply} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, double x, double y, double z, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} pos\+\_\+x, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} pos\+\_\+y, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} pos\+\_\+z)
\begin{DoxyCompactList}\small\item\em Apply a force over a body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_gaa4ff8dc0e1edefd2ad6a52361ff23edd}{ephysics\+\_\+body\+\_\+forces\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, double $\ast$x, double $\ast$y, double $\ast$z)
\begin{DoxyCompactList}\small\item\em Get physics body forces. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga7d494e105a7f3a16e658b36ff00e8f17}{ephysics\+\_\+body\+\_\+torques\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, double $\ast$x, double $\ast$y, double $\ast$z)
\begin{DoxyCompactList}\small\item\em Get physics body torques. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga8a84144392d9f3c7dbecdec6a1199a49}{ephysics\+\_\+body\+\_\+forces\+\_\+clear} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Clear all the forces applied to a body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga2370842d3a7fb806534e51acb543286d}{ephysics\+\_\+body\+\_\+center\+\_\+mass\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+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 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_gabe0a56c7d3bb4cecd6161c412457c974}{ephysics\+\_\+body\+\_\+density\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, double density)
\begin{DoxyCompactList}\small\item\em Set body's material density. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} double \hyperlink{group__EPhysics__Body_gae30c5e062a35d0f75f91d43c82ca93af}{ephysics\+\_\+body\+\_\+density\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get body's material density. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} double \hyperlink{group__EPhysics__Body_gaa128367c0b773e54d430ec11fc96a4b6}{ephysics\+\_\+body\+\_\+volume\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get body's volume. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga626f390590db830fea221c4ef42a2f5b}{ephysics\+\_\+body\+\_\+material\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{group__EPhysics__Body_gaed2ef2bd32f5ef2363a6690ceaa1ea29}{E\+Physics\+\_\+\+Body\+\_\+\+Material} material)
\begin{DoxyCompactList}\small\item\em Set body's material. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__EPhysics__Body_gaed2ef2bd32f5ef2363a6690ceaa1ea29}{E\+Physics\+\_\+\+Body\+\_\+\+Material} \hyperlink{group__EPhysics__Body_gad29b75d5e38aade74c06993cfead2fb0}{ephysics\+\_\+body\+\_\+material\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get body's material. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_ga37dc0885fe9a3b3ec643edd42a9e7a6f}{ephysics\+\_\+body\+\_\+light\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} enable)
\begin{DoxyCompactList}\small\item\em Set light effect over body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__EPhysics__Body_ga447c41bf0f810ae25a8ce37634b34fae}{ephysics\+\_\+body\+\_\+light\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get light effect over body. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__Body_gafb9956cf8648c885add542272f924d9e}{ephysics\+\_\+body\+\_\+back\+\_\+face\+\_\+culling\+\_\+set} (\hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} enable)
\begin{DoxyCompactList}\small\item\em Set body's evas object to be hidden when it is counter-\/clockwise. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__EPhysics__Body_ga5a6c7a2f58cd10585a6fa667cce1da06}{ephysics\+\_\+body\+\_\+back\+\_\+face\+\_\+culling\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Return if body's evas object will be hidden when it is counter-\/clockwise or not. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__EPhysics__Body_ga7df8fedc4b224a89288b1b4f8568aad1}{ephysics\+\_\+body\+\_\+clockwise\+\_\+get} (const \hyperlink{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{E\+Physics\+\_\+\+Body} $\ast$body)
\begin{DoxyCompactList}\small\item\em Get the clockwise state of a body. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{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 \hyperlink{group__EPhysics__Body_gab57e99be7fe5a5174c38b8aea55f3266}{ephysics\+\_\+body\+\_\+cylinder\+\_\+add()}; \item \hyperlink{group__EPhysics__Body_gaf8f30587da7453114397d64dd9704d7f}{ephysics\+\_\+body\+\_\+box\+\_\+add()}; \item or \hyperlink{group__EPhysics__Body_gabe733ecf3e04d267005118ff7291daab}{ephysics\+\_\+body\+\_\+shape\+\_\+add()}.\end{DoxyItemize}
Also they can be soft bodies, that won'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 \hyperlink{group__EPhysics__Body_ga7818b6356a0b7e4e493f949245d69df3}{ephysics\+\_\+body\+\_\+soft\+\_\+cylinder\+\_\+add()}; \item \hyperlink{group__EPhysics__Body_ga05c586ce8cb9d09b0ae40ff4efd93064}{ephysics\+\_\+body\+\_\+soft\+\_\+box\+\_\+add()};\end{DoxyItemize}
They can collide and have customizable properties, like\+: \begin{DoxyItemize}
\item mass, set with \hyperlink{group__EPhysics__Body_gaa0915777f634079ca6c088fda5c20e8f}{ephysics\+\_\+body\+\_\+mass\+\_\+set()}; \item coefficient of restitution, set with \hyperlink{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}{ephysics\+\_\+body\+\_\+restitution\+\_\+set()}; \item and friction, set with \hyperlink{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}{ephysics\+\_\+body\+\_\+friction\+\_\+set()}.\end{DoxyItemize}
Bodies can have its position and size directly set by\+: \hyperlink{group__EPhysics__Body_gae3c32aa0cdd60ffec86fff30097e75e1}{ephysics\+\_\+body\+\_\+move()}; \hyperlink{group__EPhysics__Body_gad4333b73a33d08bd598cc4c442230902}{ephysics\+\_\+body\+\_\+resize()}; \hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set()}.

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

Also, they can have an associated evas object, done with \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 \hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()}.

Bodies can have velocity set with \hyperlink{group__EPhysics__Body_ga1e2bbd2a002b05afbfdbd0da2a9480ed}{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+set()} and \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'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 \hyperlink{group__EPhysics__Body_ga2134702db807dc4f7dc604d72e5b73db}{ephysics\+\_\+body\+\_\+central\+\_\+force\+\_\+apply()}; \item \hyperlink{group__EPhysics__Body_ga336a585598ed882a9575ed72a9f748e2}{ephysics\+\_\+body\+\_\+torque\+\_\+apply()}. \item \hyperlink{group__EPhysics__Body_ga5fe14931bd89326182bdf021d84ec40c}{ephysics\+\_\+body\+\_\+force\+\_\+apply()}; \item \hyperlink{group__EPhysics__Body_ga8a84144392d9f3c7dbecdec6a1199a49}{ephysics\+\_\+body\+\_\+forces\+\_\+clear()};\end{DoxyItemize}
Impulses can be applied with\+: \begin{DoxyItemize}
\item \hyperlink{group__EPhysics__Body_ga9109b39047a724640f6a18c683c9eb07}{ephysics\+\_\+body\+\_\+central\+\_\+impulse\+\_\+apply()}; \item \hyperlink{group__EPhysics__Body_ga6c6d3c8bfc6bb5600947b66b519d2d98}{ephysics\+\_\+body\+\_\+torque\+\_\+impulse\+\_\+apply()}. \item \hyperlink{group__EPhysics__Body_gadc5405c4d07742e9aff7a0a564aa63e2}{ephysics\+\_\+body\+\_\+impulse\+\_\+apply()};\end{DoxyItemize}
Bodies can be removed from the world being directly deleted with \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't be affected in any way, but they will stop being moved or rotated. 

\subsection{Macro Definition Documentation}
\hypertarget{group__EPhysics__Body_ga6f5a7cbea749e1567d608b9321af9eb9}{\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+S\+S\+\_\+\+S\+T\+A\+T\+I\+C@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+S\+S\+\_\+\+S\+T\+A\+T\+I\+C}}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+S\+S\+\_\+\+S\+T\+A\+T\+I\+C@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+S\+S\+\_\+\+S\+T\+A\+T\+I\+C}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+S\+S\+\_\+\+S\+T\+A\+T\+I\+C}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+S\+S\+\_\+\+S\+T\+A\+T\+I\+C~(0.\+0)}}\label{group__EPhysics__Body_ga6f5a7cbea749e1567d608b9321af9eb9}


Mass amount used to makes a body static. 

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

\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_gaa0915777f634079ca6c088fda5c20e8f}{ephysics\+\_\+body\+\_\+mass\+\_\+set()} for details. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga27512e99dc34fa2337fa663e497b1e27}{\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+W\+O\+O\+D@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+W\+O\+O\+D}}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+W\+O\+O\+D@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+W\+O\+O\+D}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+W\+O\+O\+D}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+W\+O\+O\+D~(680.\+0)}}\label{group__EPhysics__Body_ga27512e99dc34fa2337fa663e497b1e27}


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

It can be set to a body with \hyperlink{group__EPhysics__Body_gabe0a56c7d3bb4cecd6161c412457c974}{ephysics\+\_\+body\+\_\+density\+\_\+set()}. \hypertarget{group__EPhysics__Body_gaf1c982444b3cd365ee1bdd2239692286}{\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+I\+R\+O\+N@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+I\+R\+O\+N}}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+I\+R\+O\+N@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+I\+R\+O\+N}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+I\+R\+O\+N}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+I\+R\+O\+N~(7400.\+0)}}\label{group__EPhysics__Body_gaf1c982444b3cd365ee1bdd2239692286}


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

It can be set to a body with \hyperlink{group__EPhysics__Body_gabe0a56c7d3bb4cecd6161c412457c974}{ephysics\+\_\+body\+\_\+density\+\_\+set()}. \hypertarget{group__EPhysics__Body_gab7927bb7dc3cabd1e624cb05566dba09}{\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E}}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E~(2300.\+0)}}\label{group__EPhysics__Body_gab7927bb7dc3cabd1e624cb05566dba09}


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

It can be set to a body with \hyperlink{group__EPhysics__Body_gabe0a56c7d3bb4cecd6161c412457c974}{ephysics\+\_\+body\+\_\+density\+\_\+set()}. \hypertarget{group__EPhysics__Body_gad25c12093611b1e121218794acdcd261}{\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+R\+U\+B\+B\+E\+R@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+R\+U\+B\+B\+E\+R}}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+R\+U\+B\+B\+E\+R@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+R\+U\+B\+B\+E\+R}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+R\+U\+B\+B\+E\+R}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+R\+U\+B\+B\+E\+R~(920.\+0)}}\label{group__EPhysics__Body_gad25c12093611b1e121218794acdcd261}


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

It can be set to a body with \hyperlink{group__EPhysics__Body_gabe0a56c7d3bb4cecd6161c412457c974}{ephysics\+\_\+body\+\_\+density\+\_\+set()}. \hypertarget{group__EPhysics__Body_gaa06a7a722600758a065399c5c7b94382}{\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E}}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E~(80.\+0)}}\label{group__EPhysics__Body_gaa06a7a722600758a065399c5c7b94382}


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

It can be set to a body with \hyperlink{group__EPhysics__Body_gabe0a56c7d3bb4cecd6161c412457c974}{ephysics\+\_\+body\+\_\+density\+\_\+set()}. \hypertarget{group__EPhysics__Body_ga7fd7521988913ed203faee3299d67731}{\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+P\+L\+A\+S\+T\+I\+C@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+P\+L\+A\+S\+T\+I\+C}}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+P\+L\+A\+S\+T\+I\+C@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+P\+L\+A\+S\+T\+I\+C}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+P\+L\+A\+S\+T\+I\+C}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+P\+L\+A\+S\+T\+I\+C~(1300.\+0)}}\label{group__EPhysics__Body_ga7fd7521988913ed203faee3299d67731}


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

It can be set to a body with \hyperlink{group__EPhysics__Body_gabe0a56c7d3bb4cecd6161c412457c974}{ephysics\+\_\+body\+\_\+density\+\_\+set()}. \hypertarget{group__EPhysics__Body_ga547c86262e60760cac8e930b5b85ef47}{\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+W\+O\+O\+D@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+W\+O\+O\+D}}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+W\+O\+O\+D@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+W\+O\+O\+D}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+W\+O\+O\+D}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+W\+O\+O\+D~(0.\+4)}}\label{group__EPhysics__Body_ga547c86262e60760cac8e930b5b85ef47}


Friction coefficient of wood. 

It can be set to a body with \hyperlink{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}{ephysics\+\_\+body\+\_\+friction\+\_\+set()}. \hypertarget{group__EPhysics__Body_ga32f7044e93047cd6d3b3bac9da2e6d44}{\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+I\+R\+O\+N@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+I\+R\+O\+N}}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+I\+R\+O\+N@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+I\+R\+O\+N}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+I\+R\+O\+N}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+I\+R\+O\+N~(0.\+8)}}\label{group__EPhysics__Body_ga32f7044e93047cd6d3b3bac9da2e6d44}


Friction coefficient of iron. 

It can be set to a body with \hyperlink{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}{ephysics\+\_\+body\+\_\+friction\+\_\+set()}. \hypertarget{group__EPhysics__Body_gabcc5b09329505bb312d6c581e616c387}{\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E}}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E~(0.\+65)}}\label{group__EPhysics__Body_gabcc5b09329505bb312d6c581e616c387}


Friction coefficient of concrete. 

It can be set to a body with \hyperlink{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}{ephysics\+\_\+body\+\_\+friction\+\_\+set()}. \hypertarget{group__EPhysics__Body_ga0ebe75973c80b76d7fcb8644cf53f034}{\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+R\+U\+B\+B\+E\+R@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+R\+U\+B\+B\+E\+R}}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+R\+U\+B\+B\+E\+R@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+R\+U\+B\+B\+E\+R}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+R\+U\+B\+B\+E\+R}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+R\+U\+B\+B\+E\+R~(0.\+75)}}\label{group__EPhysics__Body_ga0ebe75973c80b76d7fcb8644cf53f034}


Friction coefficient of rubber. 

It can be set to a body with \hyperlink{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}{ephysics\+\_\+body\+\_\+friction\+\_\+set()}. \hypertarget{group__EPhysics__Body_ga4abb48d3936c9fbf268109d4ac62afad}{\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E}}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E~(0.\+5)}}\label{group__EPhysics__Body_ga4abb48d3936c9fbf268109d4ac62afad}


Friction coefficient of polystyrene. 

It can be set to a body with \hyperlink{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}{ephysics\+\_\+body\+\_\+friction\+\_\+set()}. \hypertarget{group__EPhysics__Body_ga317e3bcbdcbdda9f2b403d224f02cbf3}{\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+P\+L\+A\+S\+T\+I\+C@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+P\+L\+A\+S\+T\+I\+C}}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+P\+L\+A\+S\+T\+I\+C@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+P\+L\+A\+S\+T\+I\+C}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+P\+L\+A\+S\+T\+I\+C}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+P\+L\+A\+S\+T\+I\+C~(0.\+35)}}\label{group__EPhysics__Body_ga317e3bcbdcbdda9f2b403d224f02cbf3}


Friction coefficient of plastic. 

It can be set to a body with \hyperlink{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}{ephysics\+\_\+body\+\_\+friction\+\_\+set()}. \hypertarget{group__EPhysics__Body_ga74e9c011d0d1fd10f45cd8dcf2893426}{\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+W\+O\+O\+D@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+W\+O\+O\+D}}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+W\+O\+O\+D@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+W\+O\+O\+D}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+W\+O\+O\+D}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+W\+O\+O\+D~(0.\+7)}}\label{group__EPhysics__Body_ga74e9c011d0d1fd10f45cd8dcf2893426}


Restitution coefficient of wood. 

It can be set to a body with \hyperlink{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}{ephysics\+\_\+body\+\_\+restitution\+\_\+set()}. \hypertarget{group__EPhysics__Body_ga7eb95e5bbd6e984fa154d4a2a6eeaa0b}{\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+I\+R\+O\+N@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+I\+R\+O\+N}}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+I\+R\+O\+N@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+I\+R\+O\+N}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+I\+R\+O\+N}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+I\+R\+O\+N~(0.\+85)}}\label{group__EPhysics__Body_ga7eb95e5bbd6e984fa154d4a2a6eeaa0b}


Restitution coefficient of iron. 

It can be set to a body with \hyperlink{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}{ephysics\+\_\+body\+\_\+restitution\+\_\+set()}. \hypertarget{group__EPhysics__Body_ga036d37e0d96952e92c1f00958e329c16}{\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E}}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E~(0.\+75)}}\label{group__EPhysics__Body_ga036d37e0d96952e92c1f00958e329c16}


Restitution coefficient of concrete. 

It can be set to a body with \hyperlink{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}{ephysics\+\_\+body\+\_\+restitution\+\_\+set()}. \hypertarget{group__EPhysics__Body_ga016e0f52f46cd30204d6b5a664c4c724}{\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+R\+U\+B\+B\+E\+R@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+R\+U\+B\+B\+E\+R}}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+R\+U\+B\+B\+E\+R@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+R\+U\+B\+B\+E\+R}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+R\+U\+B\+B\+E\+R}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+R\+U\+B\+B\+E\+R~(0.\+3)}}\label{group__EPhysics__Body_ga016e0f52f46cd30204d6b5a664c4c724}


Restitution coefficient of rubber. 

It can be set to a body with \hyperlink{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}{ephysics\+\_\+body\+\_\+restitution\+\_\+set()}. \hypertarget{group__EPhysics__Body_ga03c67b9d284f796c09c8aface92f4f28}{\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E}}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E~(0.\+5)}}\label{group__EPhysics__Body_ga03c67b9d284f796c09c8aface92f4f28}


Restitution coefficient of polystyrene. 

It can be set to a body with \hyperlink{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}{ephysics\+\_\+body\+\_\+restitution\+\_\+set()}. \hypertarget{group__EPhysics__Body_ga3a89e0d5765ad9e8ef6ceb4bb1f704c3}{\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+P\+L\+A\+S\+T\+I\+C@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+P\+L\+A\+S\+T\+I\+C}}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+P\+L\+A\+S\+T\+I\+C@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+P\+L\+A\+S\+T\+I\+C}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+P\+L\+A\+S\+T\+I\+C}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+P\+L\+A\+S\+T\+I\+C~(0.\+6)}}\label{group__EPhysics__Body_ga3a89e0d5765ad9e8ef6ceb4bb1f704c3}


Restitution coefficient of plastic. 

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

\subsection{Typedef Documentation}
\hypertarget{group__EPhysics__Body_ga141ced5a614b33d9efc09c634aebbb4a}{\index{E\+Physics Body@{E\+Physics Body}!E\+Physics\+\_\+\+Body\+\_\+\+Cloth\+\_\+\+Anchor\+\_\+\+Side@{E\+Physics\+\_\+\+Body\+\_\+\+Cloth\+\_\+\+Anchor\+\_\+\+Side}}
\index{E\+Physics\+\_\+\+Body\+\_\+\+Cloth\+\_\+\+Anchor\+\_\+\+Side@{E\+Physics\+\_\+\+Body\+\_\+\+Cloth\+\_\+\+Anchor\+\_\+\+Side}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+Physics\+\_\+\+Body\+\_\+\+Cloth\+\_\+\+Anchor\+\_\+\+Side}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+Physics\+\_\+\+Body\+\_\+\+Cloth\+\_\+\+Anchor\+\_\+\+Side}}}\label{group__EPhysics__Body_ga141ced5a614b33d9efc09c634aebbb4a}


Identifier of cloth anchor sides. 

\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_gad613c22fe04b10546a25d3e44901e65d}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+full\+\_\+add()} 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga867862771facf1a6e5af1afb4c95145f}{\index{E\+Physics Body@{E\+Physics Body}!E\+Physics\+\_\+\+Body\+\_\+\+Face@{E\+Physics\+\_\+\+Body\+\_\+\+Face}}
\index{E\+Physics\+\_\+\+Body\+\_\+\+Face@{E\+Physics\+\_\+\+Body\+\_\+\+Face}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+Physics\+\_\+\+Body\+\_\+\+Face}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+Physics\+\_\+\+Body\+\_\+\+Face}}}\label{group__EPhysics__Body_ga867862771facf1a6e5af1afb4c95145f}


Define in which body's face the evas object should be set. 

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

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

\hyperlink{group__EPhysics__Body_gad6c3da2a67593905646d6ecd4ceba48f}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+get()} 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga454052288e957641ff40f79ca3c72792}{\index{E\+Physics Body@{E\+Physics Body}!E\+Physics\+\_\+\+Body\+\_\+\+Collision@{E\+Physics\+\_\+\+Body\+\_\+\+Collision}}
\index{E\+Physics\+\_\+\+Body\+\_\+\+Collision@{E\+Physics\+\_\+\+Body\+\_\+\+Collision}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+Physics\+\_\+\+Body\+\_\+\+Collision}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+Physics\+\_\+\+Body\+\_\+\+Collision}}}\label{group__EPhysics__Body_ga454052288e957641ff40f79ca3c72792}


Body collision wraps collision informations. 

E\+Physics\+\_\+\+Body\+\_\+\+Collision is used on E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+O\+L\+L\+I\+S\+I\+O\+N 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}
\hyperlink{group__EPhysics__Body_gabcbb3bd68d47bb0fdf071bb022763d58}{ephysics\+\_\+body\+\_\+collision\+\_\+position\+\_\+get()} 

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

\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277caa002e2d26e86261221dc643f19071754}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+O\+L\+L\+I\+S\+I\+O\+N} and \hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()} for collision callback. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga302259832cc6cd8828d73833f391e8be}{\index{E\+Physics Body@{E\+Physics Body}!E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type@{E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}}
\index{E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type@{E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}}}\label{group__EPhysics__Body_ga302259832cc6cd8828d73833f391e8be}


The types of events triggering a callback. 

Identifier of callbacks to be set for E\+Physics bodies.

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

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

\hyperlink{group__EPhysics__Body_ga8d562dbc00d021a28981b953324869e0}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del\+\_\+full()} 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gaed2ef2bd32f5ef2363a6690ceaa1ea29}{\index{E\+Physics Body@{E\+Physics Body}!E\+Physics\+\_\+\+Body\+\_\+\+Material@{E\+Physics\+\_\+\+Body\+\_\+\+Material}}
\index{E\+Physics\+\_\+\+Body\+\_\+\+Material@{E\+Physics\+\_\+\+Body\+\_\+\+Material}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+Physics\+\_\+\+Body\+\_\+\+Material}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+Physics\+\_\+\+Body\+\_\+\+Material}}}\label{group__EPhysics__Body_gaed2ef2bd32f5ef2363a6690ceaa1ea29}


The types of materials to be set on a body. 

E\+Physics bodies materials.

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

\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga626f390590db830fea221c4ef42a2f5b}{ephysics\+\_\+body\+\_\+material\+\_\+set()} for details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gadb46c643f531e500d2f84c78343aa4b1}{\index{E\+Physics Body@{E\+Physics Body}!E\+Physics\+\_\+\+Body\+\_\+\+Event\+\_\+\+Cb@{E\+Physics\+\_\+\+Body\+\_\+\+Event\+\_\+\+Cb}}
\index{E\+Physics\+\_\+\+Body\+\_\+\+Event\+\_\+\+Cb@{E\+Physics\+\_\+\+Body\+\_\+\+Event\+\_\+\+Cb}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+Physics\+\_\+\+Body\+\_\+\+Event\+\_\+\+Cb}]{\setlength{\rightskip}{0pt plus 5cm}E\+Physics\+\_\+\+Body\+\_\+\+Event\+\_\+\+Cb}}\label{group__EPhysics__Body_gadb46c643f531e500d2f84c78343aa4b1}


E\+Physics 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't have {\ttfamily event\+\_\+info}.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()} for more info. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}{\index{E\+Physics Body@{E\+Physics Body}!E\+Physics\+\_\+\+Body@{E\+Physics\+\_\+\+Body}}
\index{E\+Physics\+\_\+\+Body@{E\+Physics\+\_\+\+Body}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{E\+Physics\+\_\+\+Body}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+Physics\+\_\+\+Body}}}\label{group__EPhysics__Body_gaf39ad724f8a2f81f9139c63263900bf1}


Body handle, represents an object on E\+Physics world. 

Many types of bodies can be created\+: \begin{DoxyItemize}
\item \hyperlink{group__EPhysics__Body_gab57e99be7fe5a5174c38b8aea55f3266}{ephysics\+\_\+body\+\_\+cylinder\+\_\+add()} \item \hyperlink{group__EPhysics__Body_gaf8f30587da7453114397d64dd9704d7f}{ephysics\+\_\+body\+\_\+box\+\_\+add()} \item \hyperlink{group__EPhysics__Body_gabe733ecf3e04d267005118ff7291daab}{ephysics\+\_\+body\+\_\+shape\+\_\+add()} \item \hyperlink{group__EPhysics__Body_ga7818b6356a0b7e4e493f949245d69df3}{ephysics\+\_\+body\+\_\+soft\+\_\+cylinder\+\_\+add()} \item \hyperlink{group__EPhysics__Body_ga05c586ce8cb9d09b0ae40ff4efd93064}{ephysics\+\_\+body\+\_\+soft\+\_\+box\+\_\+add()}\end{DoxyItemize}
and it can be deleted with \hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del()}. 

\subsection{Enumeration Type Documentation}
\hypertarget{group__EPhysics__Body_ga904d0d1462e71c1f32cb27f540b5277c}{\index{E\+Physics Body@{E\+Physics Body}!\+\_\+\+E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type@{\+\_\+\+E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}}
\index{\+\_\+\+E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type@{\+\_\+\+E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{\+\_\+\+E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \+\_\+\+E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}}}\label{group__EPhysics__Body_ga904d0d1462e71c1f32cb27f540b5277c}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+U\+P\+D\+A\+T\+E@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+U\+P\+D\+A\+T\+E}!E\+Physics Body@{E\+Physics Body}}\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+U\+P\+D\+A\+T\+E@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+U\+P\+D\+A\+T\+E}}\item[{\em 
\hypertarget{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cacb2363cd59bc8642e74ad916c6658e0a}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+U\+P\+D\+A\+T\+E}\label{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cacb2363cd59bc8642e74ad916c6658e0a}
}]Body being updated. \index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+O\+L\+L\+I\+S\+I\+O\+N@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+O\+L\+L\+I\+S\+I\+O\+N}!E\+Physics Body@{E\+Physics Body}}\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+O\+L\+L\+I\+S\+I\+O\+N@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+O\+L\+L\+I\+S\+I\+O\+N}}\item[{\em 
\hypertarget{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277caa002e2d26e86261221dc643f19071754}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+O\+L\+L\+I\+S\+I\+O\+N}\label{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277caa002e2d26e86261221dc643f19071754}
}]Body collided with other body. \index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+L@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+L}!E\+Physics Body@{E\+Physics Body}}\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+L@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+L}}\item[{\em 
\hypertarget{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cab8f46f167ee3872ea35fe645bf14a5d2}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+L}\label{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cab8f46f167ee3872ea35fe645bf14a5d2}
}]Body being deleted (called before free) \index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+S\+T\+O\+P\+P\+E\+D@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+S\+T\+O\+P\+P\+E\+D}!E\+Physics Body@{E\+Physics Body}}\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+S\+T\+O\+P\+P\+E\+D@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+S\+T\+O\+P\+P\+E\+D}}\item[{\em 
\hypertarget{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cae88f6dfe5c24a67f5f074fb818edfa72}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+S\+T\+O\+P\+P\+E\+D}\label{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cae88f6dfe5c24a67f5f074fb818edfa72}
}]Body is not moving any more. \index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+L\+A\+S\+T@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+L\+A\+S\+T}!E\+Physics Body@{E\+Physics Body}}\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+L\+A\+S\+T@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+L\+A\+S\+T}}\item[{\em 
\hypertarget{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277ca25173c695395510a437472c788c580e7}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+L\+A\+S\+T}\label{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277ca25173c695395510a437472c788c580e7}
}]kept as sentinel, not really an event \end{description}
\end{Desc}
\hypertarget{group__EPhysics__Body_gacaef1c39c01f3d744b26dba7ce37b19a}{\index{E\+Physics Body@{E\+Physics Body}!\+\_\+\+E\+Physics\+\_\+\+Body\+\_\+\+Material@{\+\_\+\+E\+Physics\+\_\+\+Body\+\_\+\+Material}}
\index{\+\_\+\+E\+Physics\+\_\+\+Body\+\_\+\+Material@{\+\_\+\+E\+Physics\+\_\+\+Body\+\_\+\+Material}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{\+\_\+\+E\+Physics\+\_\+\+Body\+\_\+\+Material}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \+\_\+\+E\+Physics\+\_\+\+Body\+\_\+\+Material}}}\label{group__EPhysics__Body_gacaef1c39c01f3d744b26dba7ce37b19a}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+C\+U\+S\+T\+O\+M@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+C\+U\+S\+T\+O\+M}!E\+Physics Body@{E\+Physics Body}}\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+C\+U\+S\+T\+O\+M@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+C\+U\+S\+T\+O\+M}}\item[{\em 
\hypertarget{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aafd81323434eb3fd5caaf3fa52772e420}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+C\+U\+S\+T\+O\+M}\label{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aafd81323434eb3fd5caaf3fa52772e420}
}]Custom properties set by the user. \index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E}!E\+Physics Body@{E\+Physics Body}}\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E}}\item[{\em 
\hypertarget{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa10b69deaba5813f633814accde44c49f}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E}\label{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa10b69deaba5813f633814accde44c49f}
}]Density\+:2300,Fric\+:0.\+65,Rest\+:0.\+75. \index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+I\+R\+O\+N@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+I\+R\+O\+N}!E\+Physics Body@{E\+Physics Body}}\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+I\+R\+O\+N@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+I\+R\+O\+N}}\item[{\em 
\hypertarget{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa45165c91583fe45770f3f477691ec72b}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+I\+R\+O\+N}\label{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa45165c91583fe45770f3f477691ec72b}
}]Density\+:7400,Fric\+:0.\+8,Rest\+:0.\+85. \index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+P\+L\+A\+S\+T\+I\+C@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+P\+L\+A\+S\+T\+I\+C}!E\+Physics Body@{E\+Physics Body}}\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+P\+L\+A\+S\+T\+I\+C@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+P\+L\+A\+S\+T\+I\+C}}\item[{\em 
\hypertarget{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa84006e0d3564bf5abac54fd7caf62ed3}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+P\+L\+A\+S\+T\+I\+C}\label{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa84006e0d3564bf5abac54fd7caf62ed3}
}]Density\+:1300,Fric\+:0.\+35,Rest\+:0.\+6. \index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E}!E\+Physics Body@{E\+Physics Body}}\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E}}\item[{\em 
\hypertarget{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aab23a76321e42355651d0ff28ac607e12}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E}\label{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aab23a76321e42355651d0ff28ac607e12}
}]Density\+:80,Fric\+:0.\+5,Rest\+:0.\+5. \index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+R\+U\+B\+B\+E\+R@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+R\+U\+B\+B\+E\+R}!E\+Physics Body@{E\+Physics Body}}\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+R\+U\+B\+B\+E\+R@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+R\+U\+B\+B\+E\+R}}\item[{\em 
\hypertarget{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa7ee7c244bacc6e80242beef9aa72bb50}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+R\+U\+B\+B\+E\+R}\label{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa7ee7c244bacc6e80242beef9aa72bb50}
}]Density\+:920,Fric\+:0.\+75,Rest\+:0.\+3. \index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+W\+O\+O\+D@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+W\+O\+O\+D}!E\+Physics Body@{E\+Physics Body}}\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+W\+O\+O\+D@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+W\+O\+O\+D}}\item[{\em 
\hypertarget{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa6da554ebde5c54ea870e85dbc1e99344}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+W\+O\+O\+D}\label{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa6da554ebde5c54ea870e85dbc1e99344}
}]Density\+:680,Fric\+:0.\+4,Rest\+:0.\+7. \index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+L\+A\+S\+T@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+L\+A\+S\+T}!E\+Physics Body@{E\+Physics Body}}\index{E\+Physics Body@{E\+Physics Body}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+L\+A\+S\+T@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+L\+A\+S\+T}}\item[{\em 
\hypertarget{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa0e10b889bbdb9ad63a1dbaf95b7d5c84}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+L\+A\+S\+T}\label{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa0e10b889bbdb9ad63a1dbaf95b7d5c84}
}]kept as sentinel, not really a material \end{description}
\end{Desc}


\subsection{Function Documentation}
\hypertarget{group__EPhysics__Body_gace8f2c2feb58e7d141d72aa2d0e8a37d}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+hardness\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+hardness\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double}]{hardness}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gace8f2c2feb58e7d141d72aa2d0e8a37d}


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}
\hyperlink{group__EPhysics__Body_gaf9636fa2c7109bd761d9547d6945e857}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+hardness\+\_\+get()} 

\hyperlink{group__EPhysics__Body_gaa0915777f634079ca6c088fda5c20e8f}{ephysics\+\_\+body\+\_\+mass\+\_\+set()} form body mass changing. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gaf9636fa2c7109bd761d9547d6945e857}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+hardness\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} double ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+hardness\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gaf9636fa2c7109bd761d9547d6945e857}


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}
\hyperlink{group__EPhysics__Body_gace8f2c2feb58e7d141d72aa2d0e8a37d}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+hardness\+\_\+set()} 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga6cdacb32e4118455e201de3e0fc9027d}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+anchor\+\_\+hardness\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+anchor\+\_\+hardness\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double}]{hardness}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga6cdacb32e4118455e201de3e0fc9027d}


Set the soft body anchor hardness percentage. 

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

By default E\+Physics 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}
\hyperlink{group__EPhysics__Body_gace8f2c2feb58e7d141d72aa2d0e8a37d}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+hardness\+\_\+set()} for general hardness. 

\hyperlink{group__EPhysics__Body_gaa1c79c6774f3365ae6bd265de4bb4a49}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+anchor\+\_\+hardness\+\_\+get()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gaa1c79c6774f3365ae6bd265de4bb4a49}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+anchor\+\_\+hardness\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} double ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+anchor\+\_\+hardness\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gaa1c79c6774f3365ae6bd265de4bb4a49}


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}
\hyperlink{group__EPhysics__Body_ga6cdacb32e4118455e201de3e0fc9027d}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+anchor\+\_\+hardness\+\_\+set()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga8956e1d137bad8cac6fcda6919739129}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+drag\+\_\+coefficient\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+drag\+\_\+coefficient\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double}]{coefficient}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga8956e1d137bad8cac6fcda6919739129}


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 = 2\+Fd / (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}
\hyperlink{group__EPhysics__Body_gadcbb12dac4ac9764f5404460276d3b0e}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+drag\+\_\+coefficient\+\_\+get()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gadcbb12dac4ac9764f5404460276d3b0e}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+drag\+\_\+coefficient\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} double ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+drag\+\_\+coefficient\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gadcbb12dac4ac9764f5404460276d3b0e}


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}
\hyperlink{group__EPhysics__Body_ga8956e1d137bad8cac6fcda6919739129}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+drag\+\_\+coefficient\+\_\+set()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga583d57dcc29add7941387796d42f4594}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+dragging\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+dragging\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{int}]{triangle}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga583d57dcc29add7941387796d42f4594}


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 E\+Physics will do freeze the {\ttfamily triangle} untill it gets a call to unset it with \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's {\ttfamily triangle} will have no mass untill 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}
\hyperlink{group__EPhysics__Body_ga0f3f7c81320c1f0b6fb5d362a05e5305}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+dragging\+\_\+unset()}. 

\hyperlink{group__EPhysics__Body_ga9b1f56dafd0b3747b0a44062c63cf979}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+index\+\_\+get()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga0f3f7c81320c1f0b6fb5d362a05e5305}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+dragging\+\_\+unset}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+dragging\+\_\+unset (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga0f3f7c81320c1f0b6fb5d362a05e5305}


Unset the soft body dragging status. 

This function will tell E\+Physics 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}
\hyperlink{group__EPhysics__Body_ga583d57dcc29add7941387796d42f4594}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+dragging\+\_\+set()} for dragging details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga9b1f56dafd0b3747b0a44062c63cf979}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+index\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+index\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf Evas\+\_\+\+Coord}}]{x, }
\item[{{\bf Evas\+\_\+\+Coord}}]{y}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga9b1f56dafd0b3747b0a44062c63cf979}


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}
\hyperlink{group__EPhysics__Body_ga0ea2657d75a116770615e96096c4aee0}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+move()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga092ec1d7d675416e396ca39a4d1c9d61}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+slice\+\_\+index\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+slice\+\_\+index\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf Evas\+\_\+\+Object} $\ast$}]{slice}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga092ec1d7d675416e396ca39a4d1c9d61}


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}
\hyperlink{group__EPhysics__Body_ga9b1f56dafd0b3747b0a44062c63cf979}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+index\+\_\+get()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga697f3deeee27f3d9e54d9013dc89827a}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+soft\+\_\+sphere\+\_\+add@{ephysics\+\_\+body\+\_\+soft\+\_\+sphere\+\_\+add}}
\index{ephysics\+\_\+body\+\_\+soft\+\_\+sphere\+\_\+add@{ephysics\+\_\+body\+\_\+soft\+\_\+sphere\+\_\+add}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+soft\+\_\+sphere\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf E\+Physics\+\_\+\+Body}$\ast$ ephysics\+\_\+body\+\_\+soft\+\_\+sphere\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{int}]{granularity}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga697f3deeee27f3d9e54d9013dc89827a}


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 N\+U\+L\+L} on errors.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del()}. 

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

\hyperlink{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gaa98d75762334b5ce26d9299fee3ddc74}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangles\+\_\+inside\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+List}$\ast$ ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangles\+\_\+inside\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf Evas\+\_\+\+Coord}}]{x, }
\item[{{\bf Evas\+\_\+\+Coord}}]{y, }
\item[{{\bf Evas\+\_\+\+Coord}}]{z, }
\item[{{\bf Evas\+\_\+\+Coord}}]{w, }
\item[{{\bf Evas\+\_\+\+Coord}}]{h, }
\item[{{\bf Evas\+\_\+\+Coord}}]{d}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gaa98d75762334b5ce26d9299fee3ddc74}


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's triangles with their z component greater than {\ttfamily z} and smaller than {\ttfamily d}.

\begin{DoxyNote}{Note}
E\+Physics 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}
N\+U\+L\+L on errors or no triangles found, a list of triangles indexes otherwhise.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga9b1f56dafd0b3747b0a44062c63cf979}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+index\+\_\+get()}. 

\hyperlink{group__EPhysics__Body_ga092ec1d7d675416e396ca39a4d1c9d61}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+slice\+\_\+index\+\_\+get()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga8ae690e71bee44ba070d40d3b404879c}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+impulse\+\_\+apply}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+impulse\+\_\+apply (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{int}]{idx, }
\item[{double}]{x, }
\item[{double}]{y, }
\item[{double}]{z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga8ae690e71bee44ba070d40d3b404879c}


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's specified triangle {\ttfamily idx}, so it won'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}
\hyperlink{group__EPhysics__Body_ga9b1f56dafd0b3747b0a44062c63cf979}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+index\+\_\+get()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga2cb3b0785d05cabf8b618091908c7b7a}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+list\+\_\+impulse\+\_\+apply}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+list\+\_\+impulse\+\_\+apply (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf Eina\+\_\+\+List} $\ast$}]{triangles, }
\item[{double}]{x, }
\item[{double}]{y, }
\item[{double}]{z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga2cb3b0785d05cabf8b618091908c7b7a}


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}
\hyperlink{group__EPhysics__Body_ga8ae690e71bee44ba070d40d3b404879c}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+impulse\+\_\+apply()} to see about impulse applying on soft bodies. 

\hyperlink{group__EPhysics__Body_gaa98d75762334b5ce26d9299fee3ddc74}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangles\+\_\+inside\+\_\+get()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga9878c25b81edf2b9ef9259b3d9f0d227}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+position\+\_\+iterations\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+position\+\_\+iterations\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{int}]{iterations}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga9878c25b81edf2b9ef9259b3d9f0d227}


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'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}
\hyperlink{group__EPhysics__Body_gae6fbfbbf74ce29631fcc4dbfbff39490}{ephysics\+\_\+body\+\_\+cloth\+\_\+add()} for more informations about cloth. 

\hyperlink{group__EPhysics__Body_ga900f3771b34866a8314f4c46007b1f3c}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+position\+\_\+iterations\+\_\+get()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga900f3771b34866a8314f4c46007b1f3c}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+position\+\_\+iterations\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+position\+\_\+iterations\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga900f3771b34866a8314f4c46007b1f3c}


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}
\hyperlink{group__EPhysics__Body_ga9878c25b81edf2b9ef9259b3d9f0d227}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+position\+\_\+iterations\+\_\+set()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga0ea2657d75a116770615e96096c4aee0}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+move}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+move (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{int}]{idx, }
\item[{{\bf Evas\+\_\+\+Coord}}]{x, }
\item[{{\bf Evas\+\_\+\+Coord}}]{y, }
\item[{{\bf Evas\+\_\+\+Coord}}]{z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga0ea2657d75a116770615e96096c4aee0}


Move a body'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}
\hyperlink{group__EPhysics__Body_ga9b1f56dafd0b3747b0a44062c63cf979}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+triangle\+\_\+index\+\_\+get()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gad684bb41d78818b2c7af07ead74e5509}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+bending\+\_\+constraints\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+bending\+\_\+constraints\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{int}]{number}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gad684bb41d78818b2c7af07ead74e5509}


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 E\+Physics 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}
\hyperlink{group__EPhysics__Body_gace8f2c2feb58e7d141d72aa2d0e8a37d}{ephysics\+\_\+body\+\_\+soft\+\_\+body\+\_\+hardness\+\_\+set()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gab26c09b5a98dabfb0323dbdb7f2a64af}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+sphere\+\_\+add@{ephysics\+\_\+body\+\_\+sphere\+\_\+add}}
\index{ephysics\+\_\+body\+\_\+sphere\+\_\+add@{ephysics\+\_\+body\+\_\+sphere\+\_\+add}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+sphere\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf E\+Physics\+\_\+\+Body}$\ast$ ephysics\+\_\+body\+\_\+sphere\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gab26c09b5a98dabfb0323dbdb7f2a64af}


Create a new sphere physics body. 

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

Any evas object can be associated to it with {\ttfamily \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 \hyperlink{group__EPhysics__Body_ga697f3deeee27f3d9e54d9013dc89827a}{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 N\+U\+L\+L}, on errors.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del()}. 

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

\hyperlink{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}, \hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}, \hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}, \hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}, \hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}, \hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}, \hyperlink{test_growing_balls_8c-example}{test\+\_\+growing\+\_\+balls.\+c}, \hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}, and \hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_gab57e99be7fe5a5174c38b8aea55f3266}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+cylinder\+\_\+add@{ephysics\+\_\+body\+\_\+cylinder\+\_\+add}}
\index{ephysics\+\_\+body\+\_\+cylinder\+\_\+add@{ephysics\+\_\+body\+\_\+cylinder\+\_\+add}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+cylinder\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf E\+Physics\+\_\+\+Body}$\ast$ ephysics\+\_\+body\+\_\+cylinder\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gab57e99be7fe5a5174c38b8aea55f3266}


Create a new cylinder physics body. 

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

Any evas object can be associated to it with \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 \hyperlink{group__EPhysics__Body_ga7818b6356a0b7e4e493f949245d69df3}{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 N\+U\+L\+L}, on errors.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del()}. 

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

\hyperlink{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga7818b6356a0b7e4e493f949245d69df3}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+soft\+\_\+cylinder\+\_\+add@{ephysics\+\_\+body\+\_\+soft\+\_\+cylinder\+\_\+add}}
\index{ephysics\+\_\+body\+\_\+soft\+\_\+cylinder\+\_\+add@{ephysics\+\_\+body\+\_\+soft\+\_\+cylinder\+\_\+add}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+soft\+\_\+cylinder\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf E\+Physics\+\_\+\+Body}$\ast$ ephysics\+\_\+body\+\_\+soft\+\_\+cylinder\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga7818b6356a0b7e4e493f949245d69df3}


Create a new deformable cylinder physics body. 

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

Any evas object can be associated to it with \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's importante to adjust the simulation's fixed time step due its multi point nature.
\end{DoxyNote}
For a rigid cylinder, check \hyperlink{group__EPhysics__Body_gab57e99be7fe5a5174c38b8aea55f3266}{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 N\+U\+L\+L}, on errors.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del()}. 

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

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

\hyperlink{group__EPhysics__World_gab605cbebcc53278db5138f68df074607}{ephysics\+\_\+world\+\_\+simulation\+\_\+set()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gaf8f30587da7453114397d64dd9704d7f}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+box\+\_\+add@{ephysics\+\_\+body\+\_\+box\+\_\+add}}
\index{ephysics\+\_\+body\+\_\+box\+\_\+add@{ephysics\+\_\+body\+\_\+box\+\_\+add}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+box\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf E\+Physics\+\_\+\+Body}$\ast$ ephysics\+\_\+body\+\_\+box\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gaf8f30587da7453114397d64dd9704d7f}


Create a new box physics body. 

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

If a box that could have its shape deformed is required, use \hyperlink{group__EPhysics__Body_ga05c586ce8cb9d09b0ae40ff4efd93064}{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 N\+U\+L\+L}, on errors.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del()}. 

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

\hyperlink{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}, \hyperlink{test_bouncing_text_8c-example}{test\+\_\+bouncing\+\_\+text.\+c}, \hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}, \hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}, \hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}, \hyperlink{test_constraint_8c-example}{test\+\_\+constraint.\+c}, \hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}, \hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}, \hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}, and \hyperlink{test_slider_8c-example}{test\+\_\+slider.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga05c586ce8cb9d09b0ae40ff4efd93064}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+soft\+\_\+box\+\_\+add@{ephysics\+\_\+body\+\_\+soft\+\_\+box\+\_\+add}}
\index{ephysics\+\_\+body\+\_\+soft\+\_\+box\+\_\+add@{ephysics\+\_\+body\+\_\+soft\+\_\+box\+\_\+add}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+soft\+\_\+box\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf E\+Physics\+\_\+\+Body}$\ast$ ephysics\+\_\+body\+\_\+soft\+\_\+box\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga05c586ce8cb9d09b0ae40ff4efd93064}


Create a new deformable box physics body. 

Its collision shape will be a box of dimensions 1 on all the axes. To change it's size \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's importante to adjust the simulation's fixed time step due its multi point nature.
\end{DoxyNote}
For a rigid cylinder, check \hyperlink{group__EPhysics__Body_gab57e99be7fe5a5174c38b8aea55f3266}{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 N\+U\+L\+L} on errors.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del()}. 

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

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

\hyperlink{group__EPhysics__World_gab605cbebcc53278db5138f68df074607}{ephysics\+\_\+world\+\_\+simulation\+\_\+set()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gae6fbfbbf74ce29631fcc4dbfbff39490}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+cloth\+\_\+add@{ephysics\+\_\+body\+\_\+cloth\+\_\+add}}
\index{ephysics\+\_\+body\+\_\+cloth\+\_\+add@{ephysics\+\_\+body\+\_\+cloth\+\_\+add}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+cloth\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf E\+Physics\+\_\+\+Body}$\ast$ ephysics\+\_\+body\+\_\+cloth\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{unsigned short}]{rows, }
\item[{unsigned short}]{columns}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gae6fbfbbf74ce29631fcc4dbfbff39490}


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} -\/ E\+Physics 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 N\+U\+L\+L} on erros.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del()}. 

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

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

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

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

\hyperlink{group__EPhysics__Body_gad613c22fe04b10546a25d3e44901e65d}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+full\+\_\+add()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gad613c22fe04b10546a25d3e44901e65d}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+full\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+full\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body1, }
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body2, }
\item[{{\bf E\+Physics\+\_\+\+Body\+\_\+\+Cloth\+\_\+\+Anchor\+\_\+\+Side}}]{side}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gad613c22fe04b10546a25d3e44901e65d}


Anchors a cloth with a rigid body. 

All the informed {\ttfamily side} of {\ttfamily body1} will be anchored to {\ttfamily body2} wherever it'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'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}
\hyperlink{group__EPhysics__Body_ga909b36744802759641d02b0414be90d4}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+add()}. 

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

\hyperlink{group__EPhysics__Body_gae6fbfbbf74ce29631fcc4dbfbff39490}{ephysics\+\_\+body\+\_\+cloth\+\_\+add()} to know more about the cloth physics representation. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga909b36744802759641d02b0414be90d4}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+add@{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+add}}
\index{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+add@{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+add}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body1, }
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body2, }
\item[{int}]{node}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga909b36744802759641d02b0414be90d4}


Anchors an arbitrary cloth's node with a rigid body. 

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

\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_gae6fbfbbf74ce29631fcc4dbfbff39490}{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'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}
\hyperlink{group__EPhysics__Body_gad613c22fe04b10546a25d3e44901e65d}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+full\+\_\+add()}. 

\hyperlink{group__EPhysics__Body_ga5e42bca444f7f8f539a2d9656441d048}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+del()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga5e42bca444f7f8f539a2d9656441d048}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+del@{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+del}}
\index{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+del@{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+del}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+del}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+del (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga5e42bca444f7f8f539a2d9656441d048}


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}
\hyperlink{group__EPhysics__Body_gad613c22fe04b10546a25d3e44901e65d}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+full\+\_\+add()}. 

\hyperlink{group__EPhysics__Body_ga909b36744802759641d02b0414be90d4}{ephysics\+\_\+body\+\_\+cloth\+\_\+anchor\+\_\+add()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gabe733ecf3e04d267005118ff7291daab}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+shape\+\_\+add@{ephysics\+\_\+body\+\_\+shape\+\_\+add}}
\index{ephysics\+\_\+body\+\_\+shape\+\_\+add@{ephysics\+\_\+body\+\_\+shape\+\_\+add}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+shape\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf E\+Physics\+\_\+\+Body}$\ast$ ephysics\+\_\+body\+\_\+shape\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{{\bf E\+Physics\+\_\+\+Shape} $\ast$}]{shape}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gabe733ecf3e04d267005118ff7291daab}


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 \hyperlink{group__EPhysics__Shape_ga79ca252f9b15296416c3f73c75efa293}{ephysics\+\_\+shape\+\_\+new()}.

To change it's size \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 \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 N\+U\+L\+L}, on errors.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del()}. 

\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_shapes_8c-example}{test\+\_\+shapes.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga2a3e40784ef30f15d5d7e9f1f2a814b3}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+top\+\_\+boundary\+\_\+add@{ephysics\+\_\+body\+\_\+top\+\_\+boundary\+\_\+add}}
\index{ephysics\+\_\+body\+\_\+top\+\_\+boundary\+\_\+add@{ephysics\+\_\+body\+\_\+top\+\_\+boundary\+\_\+add}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+top\+\_\+boundary\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf E\+Physics\+\_\+\+Body}$\ast$ ephysics\+\_\+body\+\_\+top\+\_\+boundary\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga2a3e40784ef30f15d5d7e9f1f2a814b3}


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 \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 N\+U\+L\+L}, on erros. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}, \hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}, \hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}, \hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}, \hyperlink{test_growing_balls_8c-example}{test\+\_\+growing\+\_\+balls.\+c}, \hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}, \hyperlink{test_shapes_8c-example}{test\+\_\+shapes.\+c}, \hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}, and \hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_gac5fc5a1817ac81e2f1fcdcd8908614f2}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+bottom\+\_\+boundary\+\_\+add@{ephysics\+\_\+body\+\_\+bottom\+\_\+boundary\+\_\+add}}
\index{ephysics\+\_\+body\+\_\+bottom\+\_\+boundary\+\_\+add@{ephysics\+\_\+body\+\_\+bottom\+\_\+boundary\+\_\+add}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+bottom\+\_\+boundary\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf E\+Physics\+\_\+\+Body}$\ast$ ephysics\+\_\+body\+\_\+bottom\+\_\+boundary\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gac5fc5a1817ac81e2f1fcdcd8908614f2}


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 \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 N\+U\+L\+L}, on erros. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}, \hyperlink{test_bouncing_text_8c-example}{test\+\_\+bouncing\+\_\+text.\+c}, \hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}, \hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}, \hyperlink{test_constraint_8c-example}{test\+\_\+constraint.\+c}, \hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}, \hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}, \hyperlink{test_growing_balls_8c-example}{test\+\_\+growing\+\_\+balls.\+c}, \hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}, \hyperlink{test_shapes_8c-example}{test\+\_\+shapes.\+c}, \hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}, \hyperlink{test_slider_8c-example}{test\+\_\+slider.\+c}, and \hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga4ad52252b2537c6f41e14b9135847fe9}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+left\+\_\+boundary\+\_\+add@{ephysics\+\_\+body\+\_\+left\+\_\+boundary\+\_\+add}}
\index{ephysics\+\_\+body\+\_\+left\+\_\+boundary\+\_\+add@{ephysics\+\_\+body\+\_\+left\+\_\+boundary\+\_\+add}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+left\+\_\+boundary\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf E\+Physics\+\_\+\+Body}$\ast$ ephysics\+\_\+body\+\_\+left\+\_\+boundary\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga4ad52252b2537c6f41e14b9135847fe9}


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 \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 N\+U\+L\+L}, on erros. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}, \hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}, \hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}, \hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}, \hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}, \hyperlink{test_growing_balls_8c-example}{test\+\_\+growing\+\_\+balls.\+c}, \hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}, \hyperlink{test_shapes_8c-example}{test\+\_\+shapes.\+c}, \hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}, \hyperlink{test_slider_8c-example}{test\+\_\+slider.\+c}, and \hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_gab7e598db12a5270311c429f0ee12271c}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+right\+\_\+boundary\+\_\+add@{ephysics\+\_\+body\+\_\+right\+\_\+boundary\+\_\+add}}
\index{ephysics\+\_\+body\+\_\+right\+\_\+boundary\+\_\+add@{ephysics\+\_\+body\+\_\+right\+\_\+boundary\+\_\+add}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+right\+\_\+boundary\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf E\+Physics\+\_\+\+Body}$\ast$ ephysics\+\_\+body\+\_\+right\+\_\+boundary\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gab7e598db12a5270311c429f0ee12271c}


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 \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 N\+U\+L\+L}, on erros. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}, \hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}, \hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}, \hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}, \hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}, \hyperlink{test_growing_balls_8c-example}{test\+\_\+growing\+\_\+balls.\+c}, \hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}, \hyperlink{test_shapes_8c-example}{test\+\_\+shapes.\+c}, \hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}, and \hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga6c3998e80d45fbc90b44cb84acdd333e}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+front\+\_\+boundary\+\_\+add@{ephysics\+\_\+body\+\_\+front\+\_\+boundary\+\_\+add}}
\index{ephysics\+\_\+body\+\_\+front\+\_\+boundary\+\_\+add@{ephysics\+\_\+body\+\_\+front\+\_\+boundary\+\_\+add}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+front\+\_\+boundary\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf E\+Physics\+\_\+\+Body}$\ast$ ephysics\+\_\+body\+\_\+front\+\_\+boundary\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga6c3998e80d45fbc90b44cb84acdd333e}


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 \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 N\+U\+L\+L}, on erros. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()} 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga74754bdd06134aee9cf7c18227aaecef}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+back\+\_\+boundary\+\_\+add@{ephysics\+\_\+body\+\_\+back\+\_\+boundary\+\_\+add}}
\index{ephysics\+\_\+body\+\_\+back\+\_\+boundary\+\_\+add@{ephysics\+\_\+body\+\_\+back\+\_\+boundary\+\_\+add}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+back\+\_\+boundary\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf E\+Physics\+\_\+\+Body}$\ast$ ephysics\+\_\+body\+\_\+back\+\_\+boundary\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga74754bdd06134aee9cf7c18227aaecef}


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 \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 N\+U\+L\+L}, on erros. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()} 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+del@{ephysics\+\_\+body\+\_\+del}}
\index{ephysics\+\_\+body\+\_\+del@{ephysics\+\_\+body\+\_\+del}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+del}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+del (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}


Delete a physics body. 

This function will remove this body from its world and will free all the memory used. It won't delete or modify an associated evas object, what can be done with \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}
\hyperlink{group__EPhysics__Body_gaf8f30587da7453114397d64dd9704d7f}{ephysics\+\_\+body\+\_\+box\+\_\+add()}. 

\hyperlink{group__EPhysics__Body_gab57e99be7fe5a5174c38b8aea55f3266}{ephysics\+\_\+body\+\_\+cylinder\+\_\+add()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga753059be60bb7e52da9fdfa68c4d32dc}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+world\+\_\+get@{ephysics\+\_\+body\+\_\+world\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+world\+\_\+get@{ephysics\+\_\+body\+\_\+world\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+world\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf E\+Physics\+\_\+\+World}$\ast$ ephysics\+\_\+body\+\_\+world\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga753059be60bb7e52da9fdfa68c4d32dc}


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 N\+U\+L\+L} on error. 
\end{DoxyReturn}
\hypertarget{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set@{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set}}
\index{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set@{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf Evas\+\_\+\+Object} $\ast$}]{evas\+\_\+obj, }
\item[{{\bf Eina\+\_\+\+Bool}}]{use\+\_\+obj\+\_\+pos}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}


Set an evas object to a physics body. 

It will create a direct association between a physics body and an evas object. With that E\+Physics 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't have more than an evas object directly associated to this body. If you want more, you can use \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's required to associate evas object to specific faces of the body, function \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 E\+I\+N\+A\+\_\+\+T\+R\+U\+E} it will set the physics body position to match evas object position taking world rate on consideration.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_gaf8f30587da7453114397d64dd9704d7f}{ephysics\+\_\+body\+\_\+box\+\_\+add()}. 

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

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

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

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

\hyperlink{group__EPhysics__World_ga8327212faf3a8016382056b29fcec387}{ephysics\+\_\+world\+\_\+rate\+\_\+set()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}, \hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}, \hyperlink{test_bouncing_text_8c-example}{test\+\_\+bouncing\+\_\+text.\+c}, \hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}, \hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}, \hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}, \hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}, \hyperlink{test_constraint_8c-example}{test\+\_\+constraint.\+c}, \hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}, \hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}, \hyperlink{test_growing_balls_8c-example}{test\+\_\+growing\+\_\+balls.\+c}, \hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}, \hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}, \hyperlink{test_shapes_8c-example}{test\+\_\+shapes.\+c}, \hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}, \hyperlink{test_slider_8c-example}{test\+\_\+slider.\+c}, and \hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_gab1dc194995338463dd8f52b8caa8e066}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+unset@{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+unset}}
\index{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+unset@{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+unset}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+unset}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Evas\+\_\+\+Object}$\ast$ ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+unset (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gab1dc194995338463dd8f52b8caa8e066}


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 N\+U\+L\+L} if no object is associated or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()} for more details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga47ea07534cc809cd5d132495ebf2793a}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+get@{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+get@{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Evas\+\_\+\+Object}$\ast$ ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga47ea07534cc809cd5d132495ebf2793a}


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 N\+U\+L\+L} if no object is associated or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()} for more details. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}, and \hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf E\+Physics\+\_\+\+Body\+\_\+\+Face}}]{face, }
\item[{{\bf Evas\+\_\+\+Object} $\ast$}]{evas\+\_\+obj, }
\item[{{\bf Eina\+\_\+\+Bool}}]{use\+\_\+obj\+\_\+pos}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}


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 E\+Physics will be able to update evas object position and rotation automatically.

If it's required to associate only one evas object to this body, a more generic function \begin{DoxySeeAlso}{See also}
\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 E\+I\+N\+A\+\_\+\+T\+R\+U\+E} it will set the physics body position to match evas object position taking world rate on consideration.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga36e858b0c21c71629db78039b23e496b}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+unset()}. 

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

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

\hyperlink{group__EPhysics__World_ga8327212faf3a8016382056b29fcec387}{ephysics\+\_\+world\+\_\+rate\+\_\+set()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gad6c3da2a67593905646d6ecd4ceba48f}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Evas\+\_\+\+Object}$\ast$ ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf E\+Physics\+\_\+\+Body\+\_\+\+Face}}]{face}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gad6c3da2a67593905646d6ecd4ceba48f}


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 N\+U\+L\+L} if no object is associated or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set()} for more details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga36e858b0c21c71629db78039b23e496b}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+unset}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Evas\+\_\+\+Object}$\ast$ ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+unset (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf E\+Physics\+\_\+\+Body\+\_\+\+Face}}]{face}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga36e858b0c21c71629db78039b23e496b}


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 N\+U\+L\+L} if no object is associated or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga71357448debb0e0c310226298cc33c62}{ephysics\+\_\+body\+\_\+face\+\_\+evas\+\_\+object\+\_\+set()} for more details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gad4333b73a33d08bd598cc4c442230902}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+resize@{ephysics\+\_\+body\+\_\+resize}}
\index{ephysics\+\_\+body\+\_\+resize@{ephysics\+\_\+body\+\_\+resize}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+resize}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+resize (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf Evas\+\_\+\+Coord}}]{w, }
\item[{{\bf Evas\+\_\+\+Coord}}]{h, }
\item[{{\bf Evas\+\_\+\+Coord}}]{d}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gad4333b73a33d08bd598cc4c442230902}


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's size\+: \begin{DoxyItemize}
\item With \hyperlink{group__EPhysics__Body_gad4333b73a33d08bd598cc4c442230902}{ephysics\+\_\+body\+\_\+resize()}; \item With \hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set()}; \item When associating an evas object with \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}
\hyperlink{group__EPhysics__Body_gae84f1b9e25cb15f7ec63d1371093b263}{ephysics\+\_\+body\+\_\+geometry\+\_\+get()}. 

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

\hyperlink{group__EPhysics__Body_gae3c32aa0cdd60ffec86fff30097e75e1}{ephysics\+\_\+body\+\_\+move()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gae3c32aa0cdd60ffec86fff30097e75e1}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+move@{ephysics\+\_\+body\+\_\+move}}
\index{ephysics\+\_\+body\+\_\+move@{ephysics\+\_\+body\+\_\+move}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+move}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+move (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf Evas\+\_\+\+Coord}}]{x, }
\item[{{\bf Evas\+\_\+\+Coord}}]{y, }
\item[{{\bf Evas\+\_\+\+Coord}}]{z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gae3c32aa0cdd60ffec86fff30097e75e1}


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 \hyperlink{group__EPhysics__Body_gae3c32aa0cdd60ffec86fff30097e75e1}{ephysics\+\_\+body\+\_\+move()}; \item With \hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set()}; \item When associating an evas object with \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}
\hyperlink{group__EPhysics__Body_gae84f1b9e25cb15f7ec63d1371093b263}{ephysics\+\_\+body\+\_\+geometry\+\_\+get()}. 

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

\hyperlink{group__EPhysics__Body_gad4333b73a33d08bd598cc4c442230902}{ephysics\+\_\+body\+\_\+resize()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+geometry\+\_\+set@{ephysics\+\_\+body\+\_\+geometry\+\_\+set}}
\index{ephysics\+\_\+body\+\_\+geometry\+\_\+set@{ephysics\+\_\+body\+\_\+geometry\+\_\+set}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+geometry\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+geometry\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf Evas\+\_\+\+Coord}}]{x, }
\item[{{\bf Evas\+\_\+\+Coord}}]{y, }
\item[{{\bf Evas\+\_\+\+Coord}}]{z, }
\item[{{\bf Evas\+\_\+\+Coord}}]{w, }
\item[{{\bf Evas\+\_\+\+Coord}}]{h, }
\item[{{\bf Evas\+\_\+\+Coord}}]{d}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}


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 \hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set()}; \item With \hyperlink{group__EPhysics__Body_gae3c32aa0cdd60ffec86fff30097e75e1}{ephysics\+\_\+body\+\_\+move()}; \item With \hyperlink{group__EPhysics__Body_gad4333b73a33d08bd598cc4c442230902}{ephysics\+\_\+body\+\_\+resize()}; \item When associating an evas object with \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's size, use \hyperlink{group__EPhysics__Body_gae3c32aa0cdd60ffec86fff30097e75e1}{ephysics\+\_\+body\+\_\+move()}. If you just need to modify the size of {\ttfamily body} use \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}
\hyperlink{group__EPhysics__Body_gae84f1b9e25cb15f7ec63d1371093b263}{ephysics\+\_\+body\+\_\+geometry\+\_\+get()}. 

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

\hyperlink{group__EPhysics__Body_gad4333b73a33d08bd598cc4c442230902}{ephysics\+\_\+body\+\_\+resize()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}, \hyperlink{test_bouncing_text_8c-example}{test\+\_\+bouncing\+\_\+text.\+c}, \hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}, \hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}, and \hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_gae84f1b9e25cb15f7ec63d1371093b263}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+geometry\+\_\+get@{ephysics\+\_\+body\+\_\+geometry\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+geometry\+\_\+get@{ephysics\+\_\+body\+\_\+geometry\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+geometry\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+geometry\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf Evas\+\_\+\+Coord} $\ast$}]{x, }
\item[{{\bf Evas\+\_\+\+Coord} $\ast$}]{y, }
\item[{{\bf Evas\+\_\+\+Coord} $\ast$}]{z, }
\item[{{\bf Evas\+\_\+\+Coord} $\ast$}]{w, }
\item[{{\bf Evas\+\_\+\+Coord} $\ast$}]{h, }
\item[{{\bf Evas\+\_\+\+Coord} $\ast$}]{d}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gae84f1b9e25cb15f7ec63d1371093b263}


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}
\hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set()} for more details. 

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

\hyperlink{group__EPhysics__Body_gad4333b73a33d08bd598cc4c442230902}{ephysics\+\_\+body\+\_\+resize()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_constraint_8c-example}{test\+\_\+constraint.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_gaa0915777f634079ca6c088fda5c20e8f}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+mass\+\_\+set@{ephysics\+\_\+body\+\_\+mass\+\_\+set}}
\index{ephysics\+\_\+body\+\_\+mass\+\_\+set@{ephysics\+\_\+body\+\_\+mass\+\_\+set}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+mass\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+mass\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double}]{mass}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gaa0915777f634079ca6c088fda5c20e8f}


Set body's mass. 

It will set inertial mass of the body. It is a quantitative measure of an object's resistance to the change of its speed. It'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. \hyperlink{group__EPhysics__Body_ga6f5a7cbea749e1567d608b9321af9eb9}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+S\+S\+\_\+\+S\+T\+A\+T\+I\+C} 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's} mass, in kilograms.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_gace451135f119bcc7b64516cb6d5b252f}{ephysics\+\_\+body\+\_\+mass\+\_\+get()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}, \hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}, \hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}, \hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}, \hyperlink{test_constraint_8c-example}{test\+\_\+constraint.\+c}, and \hyperlink{test_slider_8c-example}{test\+\_\+slider.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_gace451135f119bcc7b64516cb6d5b252f}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+mass\+\_\+get@{ephysics\+\_\+body\+\_\+mass\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+mass\+\_\+get@{ephysics\+\_\+body\+\_\+mass\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+mass\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} double ephysics\+\_\+body\+\_\+mass\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gace451135f119bcc7b64516cb6d5b252f}


Get body'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}
\hyperlink{group__EPhysics__Body_gaa0915777f634079ca6c088fda5c20e8f}{ephysics\+\_\+body\+\_\+mass\+\_\+set()} for details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga1e2bbd2a002b05afbfdbd0da2a9480ed}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+set@{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+set}}
\index{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+set@{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+set}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double}]{x, }
\item[{double}]{y, }
\item[{double}]{z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga1e2bbd2a002b05afbfdbd0da2a9480ed}


Set body'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}
E\+Physics unit for linear velocity is Evas coordinates per second.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga45dadf9123da25dd007b6c458f86d589}{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+get()}. 

\hyperlink{group__EPhysics__Body_ga118210c9836a166c923665fc4714997d}{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+set()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}, and \hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga45dadf9123da25dd007b6c458f86d589}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+get@{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+get@{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double $\ast$}]{x, }
\item[{double $\ast$}]{y, }
\item[{double $\ast$}]{z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga45dadf9123da25dd007b6c458f86d589}


Get body'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}
E\+Physics 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}
\hyperlink{group__EPhysics__Body_ga1e2bbd2a002b05afbfdbd0da2a9480ed}{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+set()}. 

\hyperlink{group__EPhysics__Body_ga4aa2211390aefa191a13639a672f21e8}{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+get()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}, and \hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga118210c9836a166c923665fc4714997d}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+set@{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+set}}
\index{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+set@{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+set}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double}]{x, }
\item[{double}]{y, }
\item[{double}]{z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga118210c9836a166c923665fc4714997d}


Set body'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}
E\+Physics unit for angular velocity is degrees per second.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga4aa2211390aefa191a13639a672f21e8}{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+get()}. 

\hyperlink{group__EPhysics__Body_ga1e2bbd2a002b05afbfdbd0da2a9480ed}{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+set()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga4aa2211390aefa191a13639a672f21e8}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+get@{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+get@{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double $\ast$}]{x, }
\item[{double $\ast$}]{y, }
\item[{double $\ast$}]{z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga4aa2211390aefa191a13639a672f21e8}


Get body'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}
E\+Physics unit for angular velocity is degrees per second.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga118210c9836a166c923665fc4714997d}{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+set()}. 

\hyperlink{group__EPhysics__Body_ga45dadf9123da25dd007b6c458f86d589}{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+get()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}, \hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}, and \hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_gaa65f3bf819cf09ac5da543ee6460a9f3}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+set@{ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+set}}
\index{ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+set@{ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+set}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double}]{linear\+\_\+threshold, }
\item[{double}]{angular\+\_\+threshold}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gaa65f3bf819cf09ac5da543ee6460a9f3}


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'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'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}
\hyperlink{group__EPhysics__Body_gacaf8c1fdcc247819ef0646539742c11b}{ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+get()}. 

\hyperlink{group__EPhysics__World_ga797b98c12273d85f7dd5b30a911f76f2}{ephysics\+\_\+world\+\_\+max\+\_\+sleeping\+\_\+time\+\_\+set()} for sleeping time details. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}, \hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}, and \hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_gacaf8c1fdcc247819ef0646539742c11b}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+get@{ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+get@{ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double $\ast$}]{linear\+\_\+threshold, }
\item[{double $\ast$}]{angular\+\_\+threshold}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gacaf8c1fdcc247819ef0646539742c11b}


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}
\hyperlink{group__EPhysics__Body_gaa65f3bf819cf09ac5da543ee6460a9f3}{ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+set()} for more details. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_gabf7fbfc0052b28ed1d5fcade8eeaa5e6}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+stop@{ephysics\+\_\+body\+\_\+stop}}
\index{ephysics\+\_\+body\+\_\+stop@{ephysics\+\_\+body\+\_\+stop}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+stop}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+stop (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gabf7fbfc0052b28ed1d5fcade8eeaa5e6}


Stop angular and linear body movement. 

It's equivalent to set linear velocity to 0 on both axis and angular velocity to 0 as well.

It'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}
\hyperlink{group__EPhysics__Body_ga118210c9836a166c923665fc4714997d}{ephysics\+\_\+body\+\_\+angular\+\_\+velocity\+\_\+set()}. 

\hyperlink{group__EPhysics__Body_ga1e2bbd2a002b05afbfdbd0da2a9480ed}{ephysics\+\_\+body\+\_\+linear\+\_\+velocity\+\_\+set()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga0ecea96f6a5a62f29e2bdeecb86db400}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+damping\+\_\+set@{ephysics\+\_\+body\+\_\+damping\+\_\+set}}
\index{ephysics\+\_\+body\+\_\+damping\+\_\+set@{ephysics\+\_\+body\+\_\+damping\+\_\+set}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+damping\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+damping\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double}]{linear\+\_\+damping, }
\item[{double}]{angular\+\_\+damping}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga0ecea96f6a5a62f29e2bdeecb86db400}


Set the angular and linear damping values. 

Damping(linear and angular) values are applied to body'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}
\hyperlink{group__EPhysics__Body_ga1349b21af465b7e0fe5aec01cc17b10d}{ephysics\+\_\+body\+\_\+damping\+\_\+get()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}, \hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}, and \hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga1349b21af465b7e0fe5aec01cc17b10d}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+damping\+\_\+get@{ephysics\+\_\+body\+\_\+damping\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+damping\+\_\+get@{ephysics\+\_\+body\+\_\+damping\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+damping\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+damping\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double $\ast$}]{linear\+\_\+damping, }
\item[{double $\ast$}]{angular\+\_\+damping}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga1349b21af465b7e0fe5aec01cc17b10d}


Get the angular and linear damping values. 

Damping(linear and angular) values are applied to body'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}
\hyperlink{group__EPhysics__Body_ga0ecea96f6a5a62f29e2bdeecb86db400}{ephysics\+\_\+body\+\_\+damping\+\_\+set()} for details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga163b202be4c445bf79c28adb0db2bdbd}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+add@{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+add}}
\index{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+add@{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+add}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{const char $\ast$}]{group}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga163b202be4c445bf79c28adb0db2bdbd}


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 E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if body is added to group, or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga7743d5ddc3cab8c82561463611ff5db5}{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+del()} 

\hyperlink{group__EPhysics__Body_gace89603811baa1850393e0c05ec8294b}{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+list\+\_\+get()} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga7743d5ddc3cab8c82561463611ff5db5}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+del@{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+del}}
\index{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+del@{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+del}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+del}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+del (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{const char $\ast$}]{group}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga7743d5ddc3cab8c82561463611ff5db5}


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'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 E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if body is removed from group, or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga163b202be4c445bf79c28adb0db2bdbd}{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+add()} 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gace89603811baa1850393e0c05ec8294b}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+list\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} const {\bf Eina\+\_\+\+List}$\ast$ ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+list\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gace89603811baa1850393e0c05ec8294b}


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}, N\+U\+L\+L on failure or case no group has been added to {\ttfamily body}.
\end{DoxyReturn}
\begin{DoxyWarning}{Warning}
The collision group list is an E\+Physics internal data structure and should {\bfseries never} be modified by its callers.
\end{DoxyWarning}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga163b202be4c445bf79c28adb0db2bdbd}{ephysics\+\_\+body\+\_\+collision\+\_\+group\+\_\+add()} 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga7209e650176e0612efb2a2cc2af0ec27}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+update@{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+update}}
\index{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+update@{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+update}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+update}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+update (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga7209e650176e0612efb2a2cc2af0ec27}


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 \hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}. It will take rate between pixels and meters set with \hyperlink{group__EPhysics__World_ga8327212faf3a8016382056b29fcec387}{ephysics\+\_\+world\+\_\+rate\+\_\+set()} in account.

If an update callback wasn't set with \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't be called automatically. So inside this callback it could be called, or a customized update could be implemented.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()} for more details. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}, \hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}, and \hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add@{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add}}
\index{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add@{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}}]{type, }
\item[{{\bf E\+Physics\+\_\+\+Body\+\_\+\+Event\+\_\+\+Cb}}]{func, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}


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's possible to get the world it belongs to with \hyperlink{group__EPhysics__Body_ga753059be60bb7e52da9fdfa68c4d32dc}{ephysics\+\_\+body\+\_\+world\+\_\+get()}, the rate between pixels and meters with \hyperlink{group__EPhysics__World_ga4191077d4da05cfe550e9690fc311213}{ephysics\+\_\+world\+\_\+rate\+\_\+get()} and the associated evas object with \hyperlink{group__EPhysics__Body_ga47ea07534cc809cd5d132495ebf2793a}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+get()}.

So it's enough to do customized updates or fix pointers in your program.

Regarding E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+U\+P\+D\+A\+T\+E\+:

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 \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 \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}
1  static void
2  \_update\_cb(void *data, EPhysics\_Body *body, void *event\_info)
3  \{
4    // Something you want to do before updating the evas object
5    ephysics\_body\_evas\_object\_update(body);
6    // Something to be done after the update, like checking the new position
7    // of the evas object to change a property.
8  \}
9 
10 ephysics\_body\_event\_callback\_add(body, EPHYSICS\_CALLBACK\_BODY\_UPDATE,
11                                  \_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 \hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cacb2363cd59bc8642e74ad916c6658e0a}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+U\+P\+D\+A\+T\+E}\+: Called after every physics iteration. {\ttfamily body} points to the E\+Physics\+\_\+\+Body itself and {\ttfamily event\+\_\+info} points to the evas object associated to the body.
\item \hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277caa002e2d26e86261221dc643f19071754}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+O\+L\+L\+I\+S\+I\+O\+N}\+: 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 \hyperlink{group__EPhysics__Body_ga454052288e957641ff40f79ca3c72792}{E\+Physics\+\_\+\+Body\+\_\+\+Collision} -\/ note, this structure({\ttfamily event\+\_\+info}) is discarded/freed right after callback returns.
\item \hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cab8f46f167ee3872ea35fe645bf14a5d2}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+L}\+: 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 \hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cae88f6dfe5c24a67f5f074fb818edfa72}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+S\+T\+O\+P\+P\+E\+D}\+: 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't be used by ephysics in any way. \\
\hline
\end{DoxyParams}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}, \hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}, \hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}, \hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}, \hyperlink{test_constraint_8c-example}{test\+\_\+constraint.\+c}, \hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}, \hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}, \hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}, \hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}, \hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}, \hyperlink{test_slider_8c-example}{test\+\_\+slider.\+c}, and \hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga4a92eb1bf013960a36e45e3ba2a1416f}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del@{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del}}
\index{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del@{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void$\ast$ ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}}]{type, }
\item[{{\bf E\+Physics\+\_\+\+Body\+\_\+\+Event\+\_\+\+Cb}}]{func}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga4a92eb1bf013960a36e45e3ba2a1416f}


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 N\+U\+L\+L} on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()} for details. 

\hyperlink{group__EPhysics__Body_ga8d562dbc00d021a28981b953324869e0}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del\+\_\+full()} if you need to match data pointer. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga8d562dbc00d021a28981b953324869e0}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del\+\_\+full}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void$\ast$ ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del\+\_\+full (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf E\+Physics\+\_\+\+Callback\+\_\+\+Body\+\_\+\+Type}}]{type, }
\item[{{\bf E\+Physics\+\_\+\+Body\+\_\+\+Event\+\_\+\+Cb}}]{func, }
\item[{void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga8d562dbc00d021a28981b953324869e0}


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 N\+U\+L\+L} on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()} for details. 

\hyperlink{group__EPhysics__Body_ga4a92eb1bf013960a36e45e3ba2a1416f}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+del()} if you don't need to match data pointer. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gabcbb3bd68d47bb0fdf071bb022763d58}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+collision\+\_\+position\+\_\+get@{ephysics\+\_\+body\+\_\+collision\+\_\+position\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+collision\+\_\+position\+\_\+get@{ephysics\+\_\+body\+\_\+collision\+\_\+position\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+collision\+\_\+position\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+collision\+\_\+position\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body\+\_\+\+Collision} $\ast$}]{collision, }
\item[{{\bf Evas\+\_\+\+Coord} $\ast$}]{x, }
\item[{{\bf Evas\+\_\+\+Coord} $\ast$}]{y, }
\item[{{\bf Evas\+\_\+\+Coord} $\ast$}]{z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gabcbb3bd68d47bb0fdf071bb022763d58}


Get the position(x, y) of a body'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}
\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277caa002e2d26e86261221dc643f19071754}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+O\+L\+L\+I\+S\+I\+O\+N} and \hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()} for collision callback. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_gae94b1bd402657e11208cc90c5c3bbba4}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+collision\+\_\+contact\+\_\+body\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf E\+Physics\+\_\+\+Body}$\ast$ ephysics\+\_\+body\+\_\+collision\+\_\+contact\+\_\+body\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body\+\_\+\+Collision} $\ast$}]{collision}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gae94b1bd402657e11208cc90c5c3bbba4}


Get the body'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}
\hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277caa002e2d26e86261221dc643f19071754}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+O\+L\+L\+I\+S\+I\+O\+N} and \hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()} for collision callback. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}, and \hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+restitution\+\_\+set@{ephysics\+\_\+body\+\_\+restitution\+\_\+set}}
\index{ephysics\+\_\+body\+\_\+restitution\+\_\+set@{ephysics\+\_\+body\+\_\+restitution\+\_\+set}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+restitution\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+restitution\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double}]{restitution}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}


Set body's coefficient of restitution. 

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

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

E\+Physics has some pre-\/defined restitution coefficients for materials\+: \begin{DoxyItemize}
\item \hyperlink{group__EPhysics__Body_ga036d37e0d96952e92c1f00958e329c16}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E} \item \hyperlink{group__EPhysics__Body_ga7eb95e5bbd6e984fa154d4a2a6eeaa0b}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+I\+R\+O\+N} \item \hyperlink{group__EPhysics__Body_ga3a89e0d5765ad9e8ef6ceb4bb1f704c3}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+P\+L\+A\+S\+T\+I\+C} \item \hyperlink{group__EPhysics__Body_ga03c67b9d284f796c09c8aface92f4f28}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E} \item \hyperlink{group__EPhysics__Body_ga016e0f52f46cd30204d6b5a664c4c724}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+R\+U\+B\+B\+E\+R} \item \hyperlink{group__EPhysics__Body_ga74e9c011d0d1fd10f45cd8dcf2893426}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+W\+O\+O\+D}\end{DoxyItemize}

\begin{DoxyParams}{Parameters}
{\em body} & The body to has its restitution coefficient set. \\
\hline
{\em restitution} & The new {\ttfamily body's} restitution coefficient.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga6546a6558cad9468a9af2e1517cab82d}{ephysics\+\_\+body\+\_\+restitution\+\_\+get()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}, \hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}, \hyperlink{test_bouncing_text_8c-example}{test\+\_\+bouncing\+\_\+text.\+c}, \hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}, \hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}, \hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}, \hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}, \hyperlink{test_constraint_8c-example}{test\+\_\+constraint.\+c}, \hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}, \hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}, \hyperlink{test_growing_balls_8c-example}{test\+\_\+growing\+\_\+balls.\+c}, \hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}, \hyperlink{test_shapes_8c-example}{test\+\_\+shapes.\+c}, \hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}, \hyperlink{test_slider_8c-example}{test\+\_\+slider.\+c}, and \hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga6546a6558cad9468a9af2e1517cab82d}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+restitution\+\_\+get@{ephysics\+\_\+body\+\_\+restitution\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+restitution\+\_\+get@{ephysics\+\_\+body\+\_\+restitution\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+restitution\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} double ephysics\+\_\+body\+\_\+restitution\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga6546a6558cad9468a9af2e1517cab82d}


Get body's restitution. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the {\ttfamily body's} restitution value.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga731c9a6443f7c4294fce23fc1287b778}{ephysics\+\_\+body\+\_\+restitution\+\_\+set()} for details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+friction\+\_\+set@{ephysics\+\_\+body\+\_\+friction\+\_\+set}}
\index{ephysics\+\_\+body\+\_\+friction\+\_\+set@{ephysics\+\_\+body\+\_\+friction\+\_\+set}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+friction\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+friction\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double}]{friction}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}


Set body'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.

E\+Physics has some pre-\/defined friction coefficients for materials\+: \begin{DoxyItemize}
\item \hyperlink{group__EPhysics__Body_gabcc5b09329505bb312d6c581e616c387}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E} \item \hyperlink{group__EPhysics__Body_ga32f7044e93047cd6d3b3bac9da2e6d44}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+I\+R\+O\+N} \item \hyperlink{group__EPhysics__Body_ga317e3bcbdcbdda9f2b403d224f02cbf3}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+P\+L\+A\+S\+T\+I\+C} \item \hyperlink{group__EPhysics__Body_ga4abb48d3936c9fbf268109d4ac62afad}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E} \item \hyperlink{group__EPhysics__Body_ga0ebe75973c80b76d7fcb8644cf53f034}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+R\+U\+B\+B\+E\+R} \item \hyperlink{group__EPhysics__Body_ga547c86262e60760cac8e930b5b85ef47}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+W\+O\+O\+D}\end{DoxyItemize}

\begin{DoxyParams}{Parameters}
{\em body} & The body to has its friction set. \\
\hline
{\em friction} & The new {\ttfamily body's} friction value.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_gae7cc514b91c8c13ab709f9e6534ea19e}{ephysics\+\_\+body\+\_\+friction\+\_\+get()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}, \hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}, \hyperlink{test_bouncing_text_8c-example}{test\+\_\+bouncing\+\_\+text.\+c}, \hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}, \hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}, \hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}, \hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}, \hyperlink{test_constraint_8c-example}{test\+\_\+constraint.\+c}, \hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}, \hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}, \hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}, \hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}, \hyperlink{test_slider_8c-example}{test\+\_\+slider.\+c}, and \hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_gae7cc514b91c8c13ab709f9e6534ea19e}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+friction\+\_\+get@{ephysics\+\_\+body\+\_\+friction\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+friction\+\_\+get@{ephysics\+\_\+body\+\_\+friction\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+friction\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} double ephysics\+\_\+body\+\_\+friction\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gae7cc514b91c8c13ab709f9e6534ea19e}


Get body's friction. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the {\ttfamily body's} friction value.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga986d45060bf6ba1689a56889a2bcabce}{ephysics\+\_\+body\+\_\+friction\+\_\+set()} for details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga9109b39047a724640f6a18c683c9eb07}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+central\+\_\+impulse\+\_\+apply@{ephysics\+\_\+body\+\_\+central\+\_\+impulse\+\_\+apply}}
\index{ephysics\+\_\+body\+\_\+central\+\_\+impulse\+\_\+apply@{ephysics\+\_\+body\+\_\+central\+\_\+impulse\+\_\+apply}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+central\+\_\+impulse\+\_\+apply}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+central\+\_\+impulse\+\_\+apply (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double}]{x, }
\item[{double}]{y, }
\item[{double}]{z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga9109b39047a724640f6a18c683c9eb07}


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's center, so it won't implies in rotating the body. For that is possible to apply a torque impulse with \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}
\hyperlink{group__EPhysics__Body_ga6c6d3c8bfc6bb5600947b66b519d2d98}{ephysics\+\_\+body\+\_\+torque\+\_\+impulse\+\_\+apply()}. 

\hyperlink{group__EPhysics__Body_gadc5405c4d07742e9aff7a0a564aa63e2}{ephysics\+\_\+body\+\_\+impulse\+\_\+apply()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}, \hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}, \hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}, \hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}, \hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}, \hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}, \hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}, \hyperlink{test_growing_balls_8c-example}{test\+\_\+growing\+\_\+balls.\+c}, \hyperlink{test_slider_8c-example}{test\+\_\+slider.\+c}, and \hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga6c6d3c8bfc6bb5600947b66b519d2d98}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+torque\+\_\+impulse\+\_\+apply@{ephysics\+\_\+body\+\_\+torque\+\_\+impulse\+\_\+apply}}
\index{ephysics\+\_\+body\+\_\+torque\+\_\+impulse\+\_\+apply@{ephysics\+\_\+body\+\_\+torque\+\_\+impulse\+\_\+apply}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+torque\+\_\+impulse\+\_\+apply}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+torque\+\_\+impulse\+\_\+apply (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double}]{pitch, }
\item[{double}]{yaw, }
\item[{double}]{roll}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga6c6d3c8bfc6bb5600947b66b519d2d98}


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'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}
\hyperlink{group__EPhysics__Body_ga9109b39047a724640f6a18c683c9eb07}{ephysics\+\_\+body\+\_\+central\+\_\+impulse\+\_\+apply()}. 

\hyperlink{group__EPhysics__Body_gadc5405c4d07742e9aff7a0a564aa63e2}{ephysics\+\_\+body\+\_\+impulse\+\_\+apply()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_gadc5405c4d07742e9aff7a0a564aa63e2}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+impulse\+\_\+apply@{ephysics\+\_\+body\+\_\+impulse\+\_\+apply}}
\index{ephysics\+\_\+body\+\_\+impulse\+\_\+apply@{ephysics\+\_\+body\+\_\+impulse\+\_\+apply}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+impulse\+\_\+apply}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+impulse\+\_\+apply (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double}]{x, }
\item[{double}]{y, }
\item[{double}]{z, }
\item[{{\bf Evas\+\_\+\+Coord}}]{pos\+\_\+x, }
\item[{{\bf Evas\+\_\+\+Coord}}]{pos\+\_\+y, }
\item[{{\bf Evas\+\_\+\+Coord}}]{pos\+\_\+z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gadc5405c4d07742e9aff7a0a564aa63e2}


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 \hyperlink{group__EPhysics__Body_ga9109b39047a724640f6a18c683c9eb07}{ephysics\+\_\+body\+\_\+central\+\_\+impulse\+\_\+apply()}, it can be applied only to make a body rotate, with \hyperlink{group__EPhysics__Body_ga6c6d3c8bfc6bb5600947b66b519d2d98}{ephysics\+\_\+body\+\_\+torque\+\_\+impulse\+\_\+apply()}, or can be used to lead to both behaviors with \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}
\hyperlink{group__EPhysics__Body_ga9109b39047a724640f6a18c683c9eb07}{ephysics\+\_\+body\+\_\+central\+\_\+impulse\+\_\+apply()}. 

\hyperlink{group__EPhysics__Body_ga6c6d3c8bfc6bb5600947b66b519d2d98}{ephysics\+\_\+body\+\_\+torque\+\_\+impulse\+\_\+apply()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga049f9410c5d04d5b810a1755da993cc0}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+angular\+\_\+movement\+\_\+enable\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+angular\+\_\+movement\+\_\+enable\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf Eina\+\_\+\+Bool}}]{enable\+\_\+x, }
\item[{{\bf Eina\+\_\+\+Bool}}]{enable\+\_\+y, }
\item[{{\bf Eina\+\_\+\+Bool}}]{enable\+\_\+z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga049f9410c5d04d5b810a1755da993cc0}


Enable or disable body'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 E\+I\+N\+A\+\_\+\+T\+R\+U\+E} allow rotation on x axis (y-\/z plane), if {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} disallow it. \\
\hline
{\em enable\+\_\+y} & If {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} allow rotation on y axis (x-\/z plane), if {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} disallow it. \\
\hline
{\em enable\+\_\+z} & If {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} allow rotation on z axis (x-\/y plane), if {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} disallow it.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga055108d89ca21f230fbf58b387a451bd}{ephysics\+\_\+body\+\_\+angular\+\_\+movement\+\_\+enable\+\_\+get()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga055108d89ca21f230fbf58b387a451bd}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+angular\+\_\+movement\+\_\+enable\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+angular\+\_\+movement\+\_\+enable\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf Eina\+\_\+\+Bool} $\ast$}]{enable\+\_\+x, }
\item[{{\bf Eina\+\_\+\+Bool} $\ast$}]{enable\+\_\+y, }
\item[{{\bf Eina\+\_\+\+Bool} $\ast$}]{enable\+\_\+z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga055108d89ca21f230fbf58b387a451bd}


Return body's rotation on z axis state. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em enable\+\_\+x} & {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if rotation on x axis (y-\/z plane) is allowed, or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} if it's not. \\
\hline
{\em enable\+\_\+y} & {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if rotation on y axis (x-\/z plane) is allowed, or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} if it's not. \\
\hline
{\em enable\+\_\+z} & {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if rotation on z axis (x-\/y plane) is allowed, or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} if it's not.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga049f9410c5d04d5b810a1755da993cc0}{ephysics\+\_\+body\+\_\+angular\+\_\+movement\+\_\+enable\+\_\+set()} for more details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gae25a32b3808208877a177661b0e24b8e}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+linear\+\_\+movement\+\_\+enable\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+linear\+\_\+movement\+\_\+enable\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf Eina\+\_\+\+Bool}}]{enable\+\_\+x, }
\item[{{\bf Eina\+\_\+\+Bool}}]{enable\+\_\+y, }
\item[{{\bf Eina\+\_\+\+Bool}}]{enable\+\_\+z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gae25a32b3808208877a177661b0e24b8e}


Enable or disable body'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 E\+I\+N\+A\+\_\+\+T\+R\+U\+E} allow movement on x axis, if {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} disallow it. \\
\hline
{\em enable\+\_\+y} & If {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} allow movement on y axis, if {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} disallow it. \\
\hline
{\em enable\+\_\+z} & If {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} allow movement on z axis, if {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} disallow it.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga5266a4832c78178b58f3300fc12c37aa}{ephysics\+\_\+body\+\_\+linear\+\_\+movement\+\_\+enable\+\_\+get()}. 

\hyperlink{group__EPhysics__Body_ga049f9410c5d04d5b810a1755da993cc0}{ephysics\+\_\+body\+\_\+angular\+\_\+movement\+\_\+enable\+\_\+set()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga5266a4832c78178b58f3300fc12c37aa}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+linear\+\_\+movement\+\_\+enable\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+linear\+\_\+movement\+\_\+enable\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf Eina\+\_\+\+Bool} $\ast$}]{enable\+\_\+x, }
\item[{{\bf Eina\+\_\+\+Bool} $\ast$}]{enable\+\_\+y, }
\item[{{\bf Eina\+\_\+\+Bool} $\ast$}]{enable\+\_\+z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga5266a4832c78178b58f3300fc12c37aa}


Get body's movement on x, y and z axes behavior. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em enable\+\_\+x} & {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if movement on x axis is allowed, or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} if it's not. \\
\hline
{\em enable\+\_\+y} & {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if movement on y axis is allowed, or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} if it's not. \\
\hline
{\em enable\+\_\+z} & {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if movement on z axis is allowed, or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} if it's not.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_gae25a32b3808208877a177661b0e24b8e}{ephysics\+\_\+body\+\_\+linear\+\_\+movement\+\_\+enable\+\_\+set()}. 

\hyperlink{group__EPhysics__Body_ga055108d89ca21f230fbf58b387a451bd}{ephysics\+\_\+body\+\_\+angular\+\_\+movement\+\_\+enable\+\_\+get()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gaf1e13b27301a7f4c9cb3bcba3fa9f26a}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+rotation\+\_\+get@{ephysics\+\_\+body\+\_\+rotation\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+rotation\+\_\+get@{ephysics\+\_\+body\+\_\+rotation\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+rotation\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf E\+Physics\+\_\+\+Quaternion}$\ast$ ephysics\+\_\+body\+\_\+rotation\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf E\+Physics\+\_\+\+Quaternion} $\ast$}]{rotation}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gaf1e13b27301a7f4c9cb3bcba3fa9f26a}


Get body'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's {\ttfamily N\+U\+L\+L}, a new quaternion will be allocated (and should be freed after usage). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A quaternion or {\ttfamily N\+U\+L\+L} on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga11a611cba12f9066a272e5cb6d1b371e}{ephysics\+\_\+body\+\_\+rotation\+\_\+set()} 

\hyperlink{group__EPhysics__Quaternion_gaab4373700e3bdad8e761e63c398ebda6}{ephysics\+\_\+quaternion\+\_\+get()} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga11a611cba12f9066a272e5cb6d1b371e}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+rotation\+\_\+set@{ephysics\+\_\+body\+\_\+rotation\+\_\+set}}
\index{ephysics\+\_\+body\+\_\+rotation\+\_\+set@{ephysics\+\_\+body\+\_\+rotation\+\_\+set}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+rotation\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+rotation\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf E\+Physics\+\_\+\+Quaternion} $\ast$}]{quat}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga11a611cba12f9066a272e5cb6d1b371e}


Set body'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}
\hyperlink{group__EPhysics__Body_gaf1e13b27301a7f4c9cb3bcba3fa9f26a}{ephysics\+\_\+body\+\_\+rotation\+\_\+get()} 

\hyperlink{group__EPhysics__Quaternion_gac645b7642eb43181b5d27f648fb0e021}{ephysics\+\_\+quaternion\+\_\+new()} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_gac696066772dc2d9e12a5fe08afee0688}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+data\+\_\+set@{ephysics\+\_\+body\+\_\+data\+\_\+set}}
\index{ephysics\+\_\+body\+\_\+data\+\_\+set@{ephysics\+\_\+body\+\_\+data\+\_\+set}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+data\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+data\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gac696066772dc2d9e12a5fe08afee0688}


Set data to {\ttfamily body}. 

If a previous data was set, it'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}
E\+Physics won't handle this data, it won't be used in any way by the library. If it need to be freed when the body is deleted, a callback for \hyperlink{group__EPhysics__Body_gga904d0d1462e71c1f32cb27f540b5277cab8f46f167ee3872ea35fe645bf14a5d2}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+L} 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}
\hyperlink{group__EPhysics__Body_ga07b351899580f2f1adb28bce25366fc5}{ephysics\+\_\+body\+\_\+data\+\_\+get()} 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga07b351899580f2f1adb28bce25366fc5}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+data\+\_\+get@{ephysics\+\_\+body\+\_\+data\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+data\+\_\+get@{ephysics\+\_\+body\+\_\+data\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+data\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void$\ast$ ephysics\+\_\+body\+\_\+data\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga07b351899580f2f1adb28bce25366fc5}


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 N\+U\+L\+L} on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga07b351899580f2f1adb28bce25366fc5}{ephysics\+\_\+body\+\_\+data\+\_\+get()} for more details 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga2134702db807dc4f7dc604d72e5b73db}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+central\+\_\+force\+\_\+apply@{ephysics\+\_\+body\+\_\+central\+\_\+force\+\_\+apply}}
\index{ephysics\+\_\+body\+\_\+central\+\_\+force\+\_\+apply@{ephysics\+\_\+body\+\_\+central\+\_\+force\+\_\+apply}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+central\+\_\+force\+\_\+apply}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+central\+\_\+force\+\_\+apply (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double}]{x, }
\item[{double}]{y, }
\item[{double}]{z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga2134702db807dc4f7dc604d72e5b73db}


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 \hyperlink{group__EPhysics__Body_ga8a84144392d9f3c7dbecdec6a1199a49}{ephysics\+\_\+body\+\_\+forces\+\_\+clear()}.

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

If the force shouldn't be applied on body's center, it can be applied on a relative point with \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}
\hyperlink{group__EPhysics__Body_ga336a585598ed882a9575ed72a9f748e2}{ephysics\+\_\+body\+\_\+torque\+\_\+apply()}. 

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

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

\hyperlink{group__EPhysics__Body_ga7d494e105a7f3a16e658b36ff00e8f17}{ephysics\+\_\+body\+\_\+torques\+\_\+get()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga336a585598ed882a9575ed72a9f748e2}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+torque\+\_\+apply@{ephysics\+\_\+body\+\_\+torque\+\_\+apply}}
\index{ephysics\+\_\+body\+\_\+torque\+\_\+apply@{ephysics\+\_\+body\+\_\+torque\+\_\+apply}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+torque\+\_\+apply}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+torque\+\_\+apply (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double}]{torque\+\_\+x, }
\item[{double}]{torque\+\_\+y, }
\item[{double}]{torque\+\_\+z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga336a585598ed882a9575ed72a9f748e2}


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}
\hyperlink{group__EPhysics__Body_ga2134702db807dc4f7dc604d72e5b73db}{ephysics\+\_\+body\+\_\+central\+\_\+force\+\_\+apply()}. 

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

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

\hyperlink{group__EPhysics__Body_ga7d494e105a7f3a16e658b36ff00e8f17}{ephysics\+\_\+body\+\_\+torques\+\_\+get()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}, and \hyperlink{test_shapes_8c-example}{test\+\_\+shapes.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga5fe14931bd89326182bdf021d84ec40c}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+force\+\_\+apply@{ephysics\+\_\+body\+\_\+force\+\_\+apply}}
\index{ephysics\+\_\+body\+\_\+force\+\_\+apply@{ephysics\+\_\+body\+\_\+force\+\_\+apply}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+force\+\_\+apply}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+force\+\_\+apply (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double}]{x, }
\item[{double}]{y, }
\item[{double}]{z, }
\item[{{\bf Evas\+\_\+\+Coord}}]{pos\+\_\+x, }
\item[{{\bf Evas\+\_\+\+Coord}}]{pos\+\_\+y, }
\item[{{\bf Evas\+\_\+\+Coord}}]{pos\+\_\+z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga5fe14931bd89326182bdf021d84ec40c}


Apply a force over a body. 

A force will be applied over the body to change it's linear and angular accelerations.

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

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

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

\hyperlink{group__EPhysics__Body_ga7d494e105a7f3a16e658b36ff00e8f17}{ephysics\+\_\+body\+\_\+torques\+\_\+get()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_gaa4ff8dc0e1edefd2ad6a52361ff23edd}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+forces\+\_\+get@{ephysics\+\_\+body\+\_\+forces\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+forces\+\_\+get@{ephysics\+\_\+body\+\_\+forces\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+forces\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+forces\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double $\ast$}]{x, }
\item[{double $\ast$}]{y, }
\item[{double $\ast$}]{z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gaa4ff8dc0e1edefd2ad6a52361ff23edd}


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}
\hyperlink{group__EPhysics__Body_ga5fe14931bd89326182bdf021d84ec40c}{ephysics\+\_\+body\+\_\+force\+\_\+apply()} for more details. 

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

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

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

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

\hyperlink{group__EPhysics__World_ga849f9d794ce5da7bf07f0bfc71aa5b6c}{ephysics\+\_\+world\+\_\+gravity\+\_\+set()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga7d494e105a7f3a16e658b36ff00e8f17}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+torques\+\_\+get@{ephysics\+\_\+body\+\_\+torques\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+torques\+\_\+get@{ephysics\+\_\+body\+\_\+torques\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+torques\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+torques\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double $\ast$}]{x, }
\item[{double $\ast$}]{y, }
\item[{double $\ast$}]{z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga7d494e105a7f3a16e658b36ff00e8f17}


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}
\hyperlink{group__EPhysics__Body_ga336a585598ed882a9575ed72a9f748e2}{ephysics\+\_\+body\+\_\+torque\+\_\+apply()} for more details. 

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

\hyperlink{group__EPhysics__Body_ga8a84144392d9f3c7dbecdec6a1199a49}{ephysics\+\_\+body\+\_\+forces\+\_\+clear()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}, and \hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga8a84144392d9f3c7dbecdec6a1199a49}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+forces\+\_\+clear@{ephysics\+\_\+body\+\_\+forces\+\_\+clear}}
\index{ephysics\+\_\+body\+\_\+forces\+\_\+clear@{ephysics\+\_\+body\+\_\+forces\+\_\+clear}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+forces\+\_\+clear}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+forces\+\_\+clear (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga8a84144392d9f3c7dbecdec6a1199a49}


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't interfere with world's gravity, the body will continue to be accelerated considering gravity.

It won'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}
\hyperlink{group__EPhysics__Body_ga2134702db807dc4f7dc604d72e5b73db}{ephysics\+\_\+body\+\_\+central\+\_\+force\+\_\+apply()}. 

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

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

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

\hyperlink{group__EPhysics__Body_ga7d494e105a7f3a16e658b36ff00e8f17}{ephysics\+\_\+body\+\_\+torques\+\_\+get()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}.\end{Desc}
\hypertarget{group__EPhysics__Body_ga2370842d3a7fb806534e51acb543286d}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+center\+\_\+mass\+\_\+get@{ephysics\+\_\+body\+\_\+center\+\_\+mass\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+center\+\_\+mass\+\_\+get@{ephysics\+\_\+body\+\_\+center\+\_\+mass\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+center\+\_\+mass\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+center\+\_\+mass\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double $\ast$}]{x, }
\item[{double $\ast$}]{y, }
\item[{double $\ast$}]{z}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga2370842d3a7fb806534e51acb543286d}


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}
\hyperlink{group__EPhysics__Body_gabe733ecf3e04d267005118ff7291daab}{ephysics\+\_\+body\+\_\+shape\+\_\+add()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gabe0a56c7d3bb4cecd6161c412457c974}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+density\+\_\+set@{ephysics\+\_\+body\+\_\+density\+\_\+set}}
\index{ephysics\+\_\+body\+\_\+density\+\_\+set@{ephysics\+\_\+body\+\_\+density\+\_\+set}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+density\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+density\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{double}]{density}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gabe0a56c7d3bb4cecd6161c412457c974}


Set body'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 \hyperlink{group__EPhysics__Body_gaa0915777f634079ca6c088fda5c20e8f}{ephysics\+\_\+body\+\_\+mass\+\_\+set()}, the density will be unset.

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

By default, no density is set.

E\+Physics has some pre-\/defined density values for materials\+: \begin{DoxyItemize}
\item \hyperlink{group__EPhysics__Body_gab7927bb7dc3cabd1e624cb05566dba09}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+C\+O\+N\+C\+R\+E\+T\+E} \item \hyperlink{group__EPhysics__Body_gaf1c982444b3cd365ee1bdd2239692286}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+I\+R\+O\+N} \item \hyperlink{group__EPhysics__Body_ga7fd7521988913ed203faee3299d67731}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+P\+L\+A\+S\+T\+I\+C} \item \hyperlink{group__EPhysics__Body_gaa06a7a722600758a065399c5c7b94382}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+P\+O\+L\+Y\+S\+T\+Y\+R\+E\+N\+E} \item \hyperlink{group__EPhysics__Body_gad25c12093611b1e121218794acdcd261}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+R\+U\+B\+B\+E\+R} \item \hyperlink{group__EPhysics__Body_ga27512e99dc34fa2337fa663e497b1e27}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+W\+O\+O\+D}\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's} material density, in kilograms / meters $^\wedge$ 3.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_gae30c5e062a35d0f75f91d43c82ca93af}{ephysics\+\_\+body\+\_\+density\+\_\+get()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gae30c5e062a35d0f75f91d43c82ca93af}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+density\+\_\+get@{ephysics\+\_\+body\+\_\+density\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+density\+\_\+get@{ephysics\+\_\+body\+\_\+density\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+density\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} double ephysics\+\_\+body\+\_\+density\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gae30c5e062a35d0f75f91d43c82ca93af}


Get body's material density. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the {\ttfamily body} material's density, in kilograms / meters $^\wedge$ 3 or 0 if no density is set.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_gabe0a56c7d3bb4cecd6161c412457c974}{ephysics\+\_\+body\+\_\+density\+\_\+set()} for details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gaa128367c0b773e54d430ec11fc96a4b6}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+volume\+\_\+get@{ephysics\+\_\+body\+\_\+volume\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+volume\+\_\+get@{ephysics\+\_\+body\+\_\+volume\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+volume\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} double ephysics\+\_\+body\+\_\+volume\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gaa128367c0b773e54d430ec11fc96a4b6}


Get body'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's} volume, in meters $^\wedge$ 3 or -\/1 on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga8821fa07fb5be9d956cc090b14223fd2}{ephysics\+\_\+body\+\_\+geometry\+\_\+set()}. 

\hyperlink{group__EPhysics__Body_gae84f1b9e25cb15f7ec63d1371093b263}{ephysics\+\_\+body\+\_\+geometry\+\_\+get()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga626f390590db830fea221c4ef42a2f5b}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+material\+\_\+set@{ephysics\+\_\+body\+\_\+material\+\_\+set}}
\index{ephysics\+\_\+body\+\_\+material\+\_\+set@{ephysics\+\_\+body\+\_\+material\+\_\+set}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+material\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+material\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf E\+Physics\+\_\+\+Body\+\_\+\+Material}}]{material}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga626f390590db830fea221c4ef42a2f5b}


Set body'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.

E\+Physics support some materials defined by \hyperlink{group__EPhysics__Body_gaed2ef2bd32f5ef2363a6690ceaa1ea29}{E\+Physics\+\_\+\+Body\+\_\+\+Material}.

So, for example, if \hyperlink{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aa6da554ebde5c54ea870e85dbc1e99344}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+W\+O\+O\+D} is set, it will set body's density to \hyperlink{group__EPhysics__Body_ga27512e99dc34fa2337fa663e497b1e27}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+D\+E\+N\+S\+I\+T\+Y\+\_\+\+W\+O\+O\+D}, restitution to \hyperlink{group__EPhysics__Body_ga74e9c011d0d1fd10f45cd8dcf2893426}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+R\+E\+S\+T\+I\+T\+U\+T\+I\+O\+N\+\_\+\+W\+O\+O\+D} and friction to \hyperlink{group__EPhysics__Body_ga547c86262e60760cac8e930b5b85ef47}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+W\+O\+O\+D}.

If any of these values are later explicitely set, the material will be set back to \hyperlink{group__EPhysics__Body_ggacaef1c39c01f3d744b26dba7ce37b19aafd81323434eb3fd5caaf3fa52772e420}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+B\+O\+D\+Y\+\_\+\+M\+A\+T\+E\+R\+I\+A\+L\+\_\+\+C\+U\+S\+T\+O\+M}, 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}
\hyperlink{group__EPhysics__Body_gad29b75d5e38aade74c06993cfead2fb0}{ephysics\+\_\+body\+\_\+material\+\_\+get()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gad29b75d5e38aade74c06993cfead2fb0}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+material\+\_\+get@{ephysics\+\_\+body\+\_\+material\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+material\+\_\+get@{ephysics\+\_\+body\+\_\+material\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+material\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf E\+Physics\+\_\+\+Body\+\_\+\+Material} ephysics\+\_\+body\+\_\+material\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gad29b75d5e38aade74c06993cfead2fb0}


Get body'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}
\hyperlink{group__EPhysics__Body_ga626f390590db830fea221c4ef42a2f5b}{ephysics\+\_\+body\+\_\+material\+\_\+set()} for more details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga37dc0885fe9a3b3ec643edd42a9e7a6f}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+light\+\_\+set@{ephysics\+\_\+body\+\_\+light\+\_\+set}}
\index{ephysics\+\_\+body\+\_\+light\+\_\+set@{ephysics\+\_\+body\+\_\+light\+\_\+set}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+light\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+light\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf Eina\+\_\+\+Bool}}]{enable}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga37dc0885fe9a3b3ec643edd42a9e7a6f}


Set light effect over body. 


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

So, if {\ttfamily body} is set to doesn'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}
\hyperlink{group__EPhysics__Body_ga447c41bf0f810ae25a8ce37634b34fae}{ephysics\+\_\+body\+\_\+light\+\_\+get()}. 

\hyperlink{group__EPhysics__World_gac798a9ec1348f4e3d0273287b00641d0}{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+set()} for more details regarding lighting. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga447c41bf0f810ae25a8ce37634b34fae}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+light\+\_\+get@{ephysics\+\_\+body\+\_\+light\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+light\+\_\+get@{ephysics\+\_\+body\+\_\+light\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+light\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ephysics\+\_\+body\+\_\+light\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga447c41bf0f810ae25a8ce37634b34fae}


Get light effect over body. 


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if light is applied over this {\ttfamily body} or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} in the other case, or on error.
\end{DoxyReturn}
\begin{DoxyNote}{Note}
If light is applied over all the bodies it may return {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} even if it's being affect by lights. This need to be checked with \hyperlink{group__EPhysics__World_ga3a94f91f0748f640140b8a4fa57dbea0}{ephysics\+\_\+world\+\_\+light\+\_\+all\+\_\+bodies\+\_\+get()}.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga37dc0885fe9a3b3ec643edd42a9e7a6f}{ephysics\+\_\+body\+\_\+light\+\_\+set()} for more details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_gafb9956cf8648c885add542272f924d9e}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+back\+\_\+face\+\_\+culling\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+body\+\_\+back\+\_\+face\+\_\+culling\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+Body} $\ast$}]{body, }
\item[{{\bf Eina\+\_\+\+Bool}}]{enable}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_gafb9956cf8648c885add542272f924d9e}


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


\begin{DoxyParams}{Parameters}
{\em body} & The physics body. \\
\hline
{\em enable} & If {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E}, 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 \hyperlink{group__EPhysics__Body_ga7209e650176e0612efb2a2cc2af0ec27}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+update()}.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_ga5a6c7a2f58cd10585a6fa667cce1da06}{ephysics\+\_\+body\+\_\+back\+\_\+face\+\_\+culling\+\_\+get()}. 

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

\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga5a6c7a2f58cd10585a6fa667cce1da06}{\index{E\+Physics Body@{E\+Physics 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}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+back\+\_\+face\+\_\+culling\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ephysics\+\_\+body\+\_\+back\+\_\+face\+\_\+culling\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga5a6c7a2f58cd10585a6fa667cce1da06}


Return if body'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 E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if evas object will be hidden, or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} in the other case, or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_gafb9956cf8648c885add542272f924d9e}{ephysics\+\_\+body\+\_\+back\+\_\+face\+\_\+culling\+\_\+set()} for more details. 

\hyperlink{group__EPhysics__Body_ga7df8fedc4b224a89288b1b4f8568aad1}{ephysics\+\_\+body\+\_\+clockwise\+\_\+get()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__Body_ga7df8fedc4b224a89288b1b4f8568aad1}{\index{E\+Physics Body@{E\+Physics Body}!ephysics\+\_\+body\+\_\+clockwise\+\_\+get@{ephysics\+\_\+body\+\_\+clockwise\+\_\+get}}
\index{ephysics\+\_\+body\+\_\+clockwise\+\_\+get@{ephysics\+\_\+body\+\_\+clockwise\+\_\+get}!E\+Physics Body@{E\+Physics Body}}
\subsubsection[{ephysics\+\_\+body\+\_\+clockwise\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ephysics\+\_\+body\+\_\+clockwise\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+Body} $\ast$}]{body}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__Body_ga7df8fedc4b224a89288b1b4f8568aad1}


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 \hyperlink{group__EPhysics__Body_gafb9956cf8648c885add542272f924d9e}{ephysics\+\_\+body\+\_\+back\+\_\+face\+\_\+culling\+\_\+set()}, so E\+Physics will handle visibility automatically on evas object update.

\begin{DoxyNote}{Note}
This information only will be updated on \hyperlink{group__EPhysics__Body_ga7209e650176e0612efb2a2cc2af0ec27}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+update()}. So if a custom rendering is being done, this function won'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 E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if clockwise, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_gafb9956cf8648c885add542272f924d9e}{ephysics\+\_\+body\+\_\+back\+\_\+face\+\_\+culling\+\_\+set()} for more details. 
\end{DoxySeeAlso}
