\hypertarget{group__EPhysics__World}{\section{E\+Physics World}
\label{group__EPhysics__World}\index{E\+Physics World@{E\+Physics World}}
}


A world is required to simulate physics between bodies.  


\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \+\_\+\+E\+Physics\+\_\+\+World \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World}
\begin{DoxyCompactList}\small\item\em World handle, most basic type of E\+Physics. \end{DoxyCompactList}\item 
typedef enum \\*
\hyperlink{group__EPhysics__World_ga0b0aff31f415be24679d4ab703674619}{\+\_\+\+E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type} \hyperlink{group__EPhysics__World_ga3bc002ee27ad02e470e7c9a96cc216bf}{E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type}
\begin{DoxyCompactList}\small\item\em Identifier of callbacks to be set for E\+Physics worlds. \end{DoxyCompactList}\item 
\hypertarget{group__EPhysics__World_ga2dc631d120dc3c023be213c8c94a1b57}{typedef enum \\*
\hyperlink{group__EPhysics__World_ga5723626f948a9e8951324c4ffcbfa3c3}{\+\_\+\+E\+Physics\+\_\+\+World\+\_\+\+Constraint\+\_\+\+Solver\+\_\+\+Mode} {\bfseries E\+Physics\+\_\+\+World\+\_\+\+Solver\+\_\+\+Mode}}\label{group__EPhysics__World_ga2dc631d120dc3c023be213c8c94a1b57}

\item 
typedef void($\ast$ \hyperlink{group__EPhysics__World_ga4d9063ac39aa180c0eea39e5849ac96f}{E\+Physics\+\_\+\+World\+\_\+\+Event\+\_\+\+Cb} )(void $\ast$data, \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, void $\ast$event\+\_\+info)
\begin{DoxyCompactList}\small\item\em E\+Physics world event callback function signature. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{group__EPhysics__World_ga0b0aff31f415be24679d4ab703674619}{\+\_\+\+E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type} \{ \\*
\hyperlink{group__EPhysics__World_gga0b0aff31f415be24679d4ab703674619ae42b35c975ed4847c43373b2c5abf2b8}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+D\+E\+L}, 
\\*
\hyperlink{group__EPhysics__World_gga0b0aff31f415be24679d4ab703674619ac553fa1d8ca19d2d17fe4cb7801c52ba}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+T\+O\+P\+P\+E\+D}, 
\\*
\hyperlink{group__EPhysics__World_gga0b0aff31f415be24679d4ab703674619aa5f6adbd98bc6599221d12ecfeb1cbc6}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+C\+A\+M\+E\+R\+A\+\_\+\+M\+O\+V\+E\+D}, 
\\*
\hyperlink{group__EPhysics__World_gga0b0aff31f415be24679d4ab703674619a8fae2bbe9fcb164d9848fbd929462fbb}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+U\+P\+D\+A\+T\+E}, 
\\*
\hyperlink{group__EPhysics__World_gga0b0aff31f415be24679d4ab703674619a022f6c857a8cea0a1adb2bbe5c6822fa}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+L\+A\+S\+T}
 \}
\item 
enum \hyperlink{group__EPhysics__World_ga5723626f948a9e8951324c4ffcbfa3c3}{\+\_\+\+E\+Physics\+\_\+\+World\+\_\+\+Constraint\+\_\+\+Solver\+\_\+\+Mode} \{ \\*
\hyperlink{group__EPhysics__World_gga5723626f948a9e8951324c4ffcbfa3c3ac05bb8f778c529de7f2d209708ec55b7}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+R\+A\+N\+D\+M\+I\+Z\+E\+\_\+\+O\+R\+D\+E\+R} = 1, 
\\*
\hyperlink{group__EPhysics__World_gga5723626f948a9e8951324c4ffcbfa3c3afd99d0a859514f82a1930eb49b55f754}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+U\+S\+E\+\_\+\+W\+A\+R\+M\+S\+T\+A\+R\+T\+I\+N\+G} = 4, 
\\*
\hyperlink{group__EPhysics__World_gga5723626f948a9e8951324c4ffcbfa3c3a81c043ce000eec701e73d383a2aad0b4}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+U\+S\+E\+\_\+2\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+D\+I\+R\+E\+C\+T\+I\+O\+N\+S} = 16, 
\\*
\hyperlink{group__EPhysics__World_gga5723626f948a9e8951324c4ffcbfa3c3ab5343c995195505eeb2bf5c34fe631bc}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+S\+I\+M\+D} = 256
 \}
\begin{DoxyCompactList}\small\item\em typedef E\+Physics\+\_\+\+World\+\_\+\+Constraint\+\_\+\+Solver\+\_\+\+Mode \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$ \hyperlink{group__EPhysics__World_ga108e2d7df8c81321b8d5bde8497f0d45}{ephysics\+\_\+world\+\_\+new} (void)
\begin{DoxyCompactList}\small\item\em Create a new physics world. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, \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 dimensions of rendered area to be take on account by default updates. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga6bc905b2f56aa2a6c567d9a1575f9075}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, \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 dimensions of rendered area to be take on account by default updates. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__EPhysics__World_gafdf9ecb15c2fc0ecc4ab54de55005427}{ephysics\+\_\+world\+\_\+serialize} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, const char $\ast$path)
\begin{DoxyCompactList}\small\item\em Serializes the {\ttfamily world} to {\ttfamily path}. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga99ebd1425f258f895c0089d6eb13def9}{ephysics\+\_\+world\+\_\+del} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Deletes a physics world. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga994f911d6249986a8d1c21fd53bec462}{ephysics\+\_\+world\+\_\+running\+\_\+set} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} running)
\begin{DoxyCompactList}\small\item\em Set running status of world. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__EPhysics__World_ga1bba3c8099e200459f0c0b0865efd17a}{ephysics\+\_\+world\+\_\+running\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Get running status of world. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga797b98c12273d85f7dd5b30a911f76f2}{ephysics\+\_\+world\+\_\+max\+\_\+sleeping\+\_\+time\+\_\+set} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, double sleeping\+\_\+time)
\begin{DoxyCompactList}\small\item\em Set the max sleeping time value. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} double \hyperlink{group__EPhysics__World_ga083912a5014474719d38e05de367836d}{ephysics\+\_\+world\+\_\+max\+\_\+sleeping\+\_\+time\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Get the max sleeping time value for {\ttfamily world}. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga849f9d794ce5da7bf07f0bfc71aa5b6c}{ephysics\+\_\+world\+\_\+gravity\+\_\+set} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, double gx, double gy, double gz)
\begin{DoxyCompactList}\small\item\em Set world gravity in the 3 axes (x, y, z). \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga3f64766b79c71155d06f1bf4931bb84d}{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+iterations\+\_\+set} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, int iterations)
\begin{DoxyCompactList}\small\item\em Set the number of iterations the {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Collision_
Detection_and_Physics_FAQ#How_do_most_physics_engines_solve_constraints.3F}{\tt constraint solver}} will have for contact and {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Glossary_of_
Terms#Joint.2C_constraint}{\tt joint constraints}}. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__EPhysics__World_gaa0a6b5aae6ae432449981daa47f0a819}{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+iterations\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Get the number of iterations the {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Collision_
Detection_and_Physics_FAQ#How_do_most_physics_engines_solve_constraints.3F}{\tt constraint solver}} will have for contact and {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Glossary_of_
Terms#Joint.2C_constraint}{\tt joint constraints}}. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_gab6e3fd1ef7c6ae7f8c99992861084f0f}{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+mode\+\_\+enable\+\_\+set} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, E\+Physics\+\_\+\+World\+\_\+\+Solver\+\_\+\+Mode solver\+\_\+mode, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} enable)
\begin{DoxyCompactList}\small\item\em Enable or disable a {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Collision_
Detection_and_Physics_FAQ#How_do_most_physics_engines_solve_constraints.3F}{\tt constraint solver}} mode to {\ttfamily world}. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__EPhysics__World_ga8b1458e740ae1003b9f721b666d66c5b}{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+mode\+\_\+enable\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, E\+Physics\+\_\+\+World\+\_\+\+Solver\+\_\+\+Mode solver\+\_\+mode)
\begin{DoxyCompactList}\small\item\em Get the {\ttfamily solver\+\_\+mode} status on {\ttfamily world}. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga8a0636506c8fcd3ed4285d90ce41dcdd}{ephysics\+\_\+world\+\_\+gravity\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, double $\ast$gx, double $\ast$gy, double $\ast$gz)
\begin{DoxyCompactList}\small\item\em Get world gravity values for axis x, y and z. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga8327212faf3a8016382056b29fcec387}{ephysics\+\_\+world\+\_\+rate\+\_\+set} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, double rate)
\begin{DoxyCompactList}\small\item\em Set rate between pixels on evas canvas and meters on ephysics world. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} double \hyperlink{group__EPhysics__World_ga4191077d4da05cfe550e9690fc311213}{ephysics\+\_\+world\+\_\+rate\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Get rate between pixels on evas canvas and meters on ephysics world. \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__World_gaab312a6478f07c9db88264b7611fa3de}{ephysics\+\_\+world\+\_\+bodies\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Gets the world's bodies list. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__EPhysics__Camera_ga945948dcbf4d98beb457c77b6537116f}{E\+Physics\+\_\+\+Camera} $\ast$ \hyperlink{group__EPhysics__World_ga97fe0c2a98a7998f29f7390cea868ff0}{ephysics\+\_\+world\+\_\+camera\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Get the camera used by an ephysics world. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga2b621ffb39920e4619fe2ec2e5508073}{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+add} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, \hyperlink{group__EPhysics__World_ga3bc002ee27ad02e470e7c9a96cc216bf}{E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type} type, \hyperlink{group__EPhysics__World_ga4d9063ac39aa180c0eea39e5849ac96f}{E\+Physics\+\_\+\+World\+\_\+\+Event\+\_\+\+Cb} func, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Register a callback to a type of physics world event. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void $\ast$ \hyperlink{group__EPhysics__World_gabcb51571c221004f1a459269bcbe1798}{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+del} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, \hyperlink{group__EPhysics__World_ga3bc002ee27ad02e470e7c9a96cc216bf}{E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type} type, \hyperlink{group__EPhysics__World_ga4d9063ac39aa180c0eea39e5849ac96f}{E\+Physics\+\_\+\+World\+\_\+\+Event\+\_\+\+Cb} func)
\begin{DoxyCompactList}\small\item\em Unregister an ephysics world event callback. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void $\ast$ \hyperlink{group__EPhysics__World_ga172b637b1426c3f6cd3eb96fd906f04f}{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+del\+\_\+full} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, \hyperlink{group__EPhysics__World_ga3bc002ee27ad02e470e7c9a96cc216bf}{E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type} type, \hyperlink{group__EPhysics__World_ga4d9063ac39aa180c0eea39e5849ac96f}{E\+Physics\+\_\+\+World\+\_\+\+Event\+\_\+\+Cb} func, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Unregister an ephysics world event callback matching data pointer. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga2a0c4f4c910574ebcaa26f001804e0bb}{ephysics\+\_\+world\+\_\+linear\+\_\+slop\+\_\+set} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, double linear\+\_\+slop)
\begin{DoxyCompactList}\small\item\em Set linear slop to be used by world. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} double \hyperlink{group__EPhysics__World_ga303b3aac240db8fb2cc3e52269183c4f}{ephysics\+\_\+world\+\_\+linear\+\_\+slop\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Get linear slop used by world. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_gab640a4c15eec53d9d851e09cd541a358}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+set} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} autodel)
\begin{DoxyCompactList}\small\item\em Set world autodeleting bodies mode when they're outside of render area by the top. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__EPhysics__World_gae97bd69521f684f1258257e12161b697}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Get world autodeleting bodies mode when they're outside of render area by the top. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga3fd8aadc141b6d5e45e473ac01f9ced6}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+set} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} autodel)
\begin{DoxyCompactList}\small\item\em Set world autodeleting bodies mode when they're outside of render area by the bottom. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__EPhysics__World_gaefcba9ab8214650ea77e786d572e554e}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Get world autodeleting bodies mode when they're outside of render area by the bottom. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga798aea0ade40886b4fd71bf89bf3e4df}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+set} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} autodel)
\begin{DoxyCompactList}\small\item\em Set world autodeleting bodies mode when they're outside of render area by the right. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__EPhysics__World_ga441d22350368e7db4861d2863b2151cc}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Get world autodeleting bodies mode when they're outside of render area by the right. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga0c9669966a4be20e9899952227edb460}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+set} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} autodel)
\begin{DoxyCompactList}\small\item\em Set world autodeleting bodies mode when they're outside of render area by the left. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__EPhysics__World_ga546a59ecd1f39cd5abc70c4fa55c0fdf}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Get world autodeleting bodies mode when they're outside of render area by the left. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_gac740b9f50af19504856f3074144754f8}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+set} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} autodel)
\begin{DoxyCompactList}\small\item\em Set world autodeleting bodies mode when they're outside of render area by the front. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__EPhysics__World_ga0d8bbc0e15ffb6c21dd7784faac4aa41}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Get world autodeleting bodies mode when they're outside of render area by the front. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga6806a81eea8e6f3f0da900b1e237425b}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+set} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} autodel)
\begin{DoxyCompactList}\small\item\em Set world autodeleting bodies mode when they're outside of render area by the back. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__EPhysics__World_ga4895f508065ccf3f5aa4d71e8e5c3436}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Get world autodeleting bodies mode when they're outside of render area by the back. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_gab605cbebcc53278db5138f68df074607}{ephysics\+\_\+world\+\_\+simulation\+\_\+set} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, double fixed\+\_\+time\+\_\+step, int max\+\_\+sub\+\_\+steps)
\begin{DoxyCompactList}\small\item\em Set world simulation's fixed time step and max number of sub steps configuration. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga12e0d7a91f40bdeb16e6e13e0f4f7661}{ephysics\+\_\+world\+\_\+simulation\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, double $\ast$fixed\+\_\+time\+\_\+step, int $\ast$max\+\_\+sub\+\_\+steps)
\begin{DoxyCompactList}\small\item\em Get world simulation's fixed time step and max number of sub steps configuration. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_gac798a9ec1348f4e3d0273287b00641d0}{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+set} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} lx, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} ly, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} lz)
\begin{DoxyCompactList}\small\item\em Set position of point light to be applied on the scene. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_gad8a25241614ac01d37df87cc2668bf9e}{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+color\+\_\+set} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, int lr, int lg, int lb)
\begin{DoxyCompactList}\small\item\em Set color of point light to be applied on the scene. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga564febf03357030ed82748572f25ddb8}{ephysics\+\_\+world\+\_\+ambient\+\_\+light\+\_\+color\+\_\+set} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, int ar, int ag, int ab)
\begin{DoxyCompactList}\small\item\em Set color of the ambient light to be applied on the scene. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga202072d9ea09764d6127f0e70dc7ac03}{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} $\ast$lx, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} $\ast$ly, \hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\+\_\+\+Coord} $\ast$lz)
\begin{DoxyCompactList}\small\item\em Get position of point light applied on the scene. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga99817f08b591d802c99b274070d01bc1}{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+color\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, int $\ast$lr, int $\ast$lg, int $\ast$lb)
\begin{DoxyCompactList}\small\item\em Get color of point light applied on the scene. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga982ae13814b01b6419dcf853db332e3d}{ephysics\+\_\+world\+\_\+ambient\+\_\+light\+\_\+color\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, int $\ast$ar, int $\ast$ag, int $\ast$ab)
\begin{DoxyCompactList}\small\item\em Set color of the ambient light to be applied on the scene. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga9ccd111c05eafbdc99dc70e7c0ca5b22}{ephysics\+\_\+world\+\_\+light\+\_\+all\+\_\+bodies\+\_\+set} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} enable)
\begin{DoxyCompactList}\small\item\em Set if light should be applied over all the bodies. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__EPhysics__World_ga3a94f91f0748f640140b8a4fa57dbea0}{ephysics\+\_\+world\+\_\+light\+\_\+all\+\_\+bodies\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Get light setting regarding being applied over all the bodies. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__EPhysics__World_ga0f9ea8e4dff64ad639c3f4c0075fbec9}{ephysics\+\_\+world\+\_\+stack\+\_\+enable\+\_\+set} (\hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} enabled)
\begin{DoxyCompactList}\small\item\em Enable / disable stacking based on bodies z coordinates. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__EPhysics__World_gaf6eccd13662674b879c91b24a1913bfc}{ephysics\+\_\+world\+\_\+stack\+\_\+enable\+\_\+get} (const \hyperlink{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{E\+Physics\+\_\+\+World} $\ast$world)
\begin{DoxyCompactList}\small\item\em Get stacking status of world. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
A world is required to simulate physics between bodies. 

It will setup collision configuration, {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Collision_
Detection_and_Physics_FAQ#How_do_most_physics_engines_solve_constraints.3F}{\tt constraint solver}}, the {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Broadphase}{\tt broadphase}} interface and a dispatcher to dispatch calculations for overlapping pairs.

A new world can be created with \hyperlink{group__EPhysics__World_ga108e2d7df8c81321b8d5bde8497f0d45}{ephysics\+\_\+world\+\_\+new()} and deleted with \hyperlink{group__EPhysics__World_ga99ebd1425f258f895c0089d6eb13def9}{ephysics\+\_\+world\+\_\+del()}. It can have its gravity changed with \hyperlink{group__EPhysics__World_ga849f9d794ce5da7bf07f0bfc71aa5b6c}{ephysics\+\_\+world\+\_\+gravity\+\_\+set()} and play / paused with \hyperlink{group__EPhysics__World_ga994f911d6249986a8d1c21fd53bec462}{ephysics\+\_\+world\+\_\+running\+\_\+set()}. When running, the simulation will be gradually stepped. 

\subsection{Typedef Documentation}
\hypertarget{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}{\index{E\+Physics World@{E\+Physics World}!E\+Physics\+\_\+\+World@{E\+Physics\+\_\+\+World}}
\index{E\+Physics\+\_\+\+World@{E\+Physics\+\_\+\+World}!E\+Physics World@{E\+Physics World}}
\subsubsection[{E\+Physics\+\_\+\+World}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct \+\_\+\+E\+Physics\+\_\+\+World {\bf E\+Physics\+\_\+\+World}}}\label{group__EPhysics__World_ga83c0d22744748525aa2dac11726c58e6}


World handle, most basic type of E\+Physics. 

Created with \hyperlink{group__EPhysics__World_ga108e2d7df8c81321b8d5bde8497f0d45}{ephysics\+\_\+world\+\_\+new()} and deleted with \hyperlink{group__EPhysics__World_ga99ebd1425f258f895c0089d6eb13def9}{ephysics\+\_\+world\+\_\+del()}. \hypertarget{group__EPhysics__World_ga3bc002ee27ad02e470e7c9a96cc216bf}{\index{E\+Physics World@{E\+Physics World}!E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type@{E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type}}
\index{E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type@{E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type}!E\+Physics World@{E\+Physics World}}
\subsubsection[{E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type}}}\label{group__EPhysics__World_ga3bc002ee27ad02e470e7c9a96cc216bf}


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

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

\hyperlink{group__EPhysics__World_gabcb51571c221004f1a459269bcbe1798}{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+del()} 

\hyperlink{group__EPhysics__World_ga172b637b1426c3f6cd3eb96fd906f04f}{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+del\+\_\+full()} 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga4d9063ac39aa180c0eea39e5849ac96f}{\index{E\+Physics World@{E\+Physics World}!E\+Physics\+\_\+\+World\+\_\+\+Event\+\_\+\+Cb@{E\+Physics\+\_\+\+World\+\_\+\+Event\+\_\+\+Cb}}
\index{E\+Physics\+\_\+\+World\+\_\+\+Event\+\_\+\+Cb@{E\+Physics\+\_\+\+World\+\_\+\+Event\+\_\+\+Cb}!E\+Physics World@{E\+Physics World}}
\subsubsection[{E\+Physics\+\_\+\+World\+\_\+\+Event\+\_\+\+Cb}]{\setlength{\rightskip}{0pt plus 5cm}E\+Physics\+\_\+\+World\+\_\+\+Event\+\_\+\+Cb}}\label{group__EPhysics__World_ga4d9063ac39aa180c0eea39e5849ac96f}


E\+Physics world event callback function signature. 

Callbacks can be registered for events like world deleting.


\begin{DoxyParams}{Parameters}
{\em data} & User data that will be set when registering the callback. \\
\hline
{\em world} & Physics world. \\
\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__World_ga2b621ffb39920e4619fe2ec2e5508073}{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+add()} for more info. 
\end{DoxySeeAlso}


\subsection{Enumeration Type Documentation}
\hypertarget{group__EPhysics__World_ga0b0aff31f415be24679d4ab703674619}{\index{E\+Physics World@{E\+Physics World}!\+\_\+\+E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type@{\+\_\+\+E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type}}
\index{\+\_\+\+E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type@{\+\_\+\+E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type}!E\+Physics World@{E\+Physics World}}
\subsubsection[{\+\_\+\+E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \+\_\+\+E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type}}}\label{group__EPhysics__World_ga0b0aff31f415be24679d4ab703674619}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+D\+E\+L@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+D\+E\+L}!E\+Physics World@{E\+Physics World}}\index{E\+Physics World@{E\+Physics World}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+D\+E\+L@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+D\+E\+L}}\item[{\em 
\hypertarget{group__EPhysics__World_gga0b0aff31f415be24679d4ab703674619ae42b35c975ed4847c43373b2c5abf2b8}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+D\+E\+L}\label{group__EPhysics__World_gga0b0aff31f415be24679d4ab703674619ae42b35c975ed4847c43373b2c5abf2b8}
}]World being deleted (called before free) \index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+T\+O\+P\+P\+E\+D@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+T\+O\+P\+P\+E\+D}!E\+Physics World@{E\+Physics World}}\index{E\+Physics World@{E\+Physics World}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+T\+O\+P\+P\+E\+D@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+T\+O\+P\+P\+E\+D}}\item[{\em 
\hypertarget{group__EPhysics__World_gga0b0aff31f415be24679d4ab703674619ac553fa1d8ca19d2d17fe4cb7801c52ba}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+T\+O\+P\+P\+E\+D}\label{group__EPhysics__World_gga0b0aff31f415be24679d4ab703674619ac553fa1d8ca19d2d17fe4cb7801c52ba}
}]no objects are moving any more \index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+C\+A\+M\+E\+R\+A\+\_\+\+M\+O\+V\+E\+D@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+C\+A\+M\+E\+R\+A\+\_\+\+M\+O\+V\+E\+D}!E\+Physics World@{E\+Physics World}}\index{E\+Physics World@{E\+Physics World}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+C\+A\+M\+E\+R\+A\+\_\+\+M\+O\+V\+E\+D@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+C\+A\+M\+E\+R\+A\+\_\+\+M\+O\+V\+E\+D}}\item[{\em 
\hypertarget{group__EPhysics__World_gga0b0aff31f415be24679d4ab703674619aa5f6adbd98bc6599221d12ecfeb1cbc6}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+C\+A\+M\+E\+R\+A\+\_\+\+M\+O\+V\+E\+D}\label{group__EPhysics__World_gga0b0aff31f415be24679d4ab703674619aa5f6adbd98bc6599221d12ecfeb1cbc6}
}]camera position changed \index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+U\+P\+D\+A\+T\+E@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+U\+P\+D\+A\+T\+E}!E\+Physics World@{E\+Physics World}}\index{E\+Physics World@{E\+Physics World}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+U\+P\+D\+A\+T\+E@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+U\+P\+D\+A\+T\+E}}\item[{\em 
\hypertarget{group__EPhysics__World_gga0b0aff31f415be24679d4ab703674619a8fae2bbe9fcb164d9848fbd929462fbb}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+U\+P\+D\+A\+T\+E}\label{group__EPhysics__World_gga0b0aff31f415be24679d4ab703674619a8fae2bbe9fcb164d9848fbd929462fbb}
}]world being updated \index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+L\+A\+S\+T@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+L\+A\+S\+T}!E\+Physics World@{E\+Physics World}}\index{E\+Physics World@{E\+Physics World}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+L\+A\+S\+T@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+L\+A\+S\+T}}\item[{\em 
\hypertarget{group__EPhysics__World_gga0b0aff31f415be24679d4ab703674619a022f6c857a8cea0a1adb2bbe5c6822fa}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+L\+A\+S\+T}\label{group__EPhysics__World_gga0b0aff31f415be24679d4ab703674619a022f6c857a8cea0a1adb2bbe5c6822fa}
}]kept as sentinel, not really an event \end{description}
\end{Desc}
\hypertarget{group__EPhysics__World_ga5723626f948a9e8951324c4ffcbfa3c3}{\index{E\+Physics World@{E\+Physics World}!\+\_\+\+E\+Physics\+\_\+\+World\+\_\+\+Constraint\+\_\+\+Solver\+\_\+\+Mode@{\+\_\+\+E\+Physics\+\_\+\+World\+\_\+\+Constraint\+\_\+\+Solver\+\_\+\+Mode}}
\index{\+\_\+\+E\+Physics\+\_\+\+World\+\_\+\+Constraint\+\_\+\+Solver\+\_\+\+Mode@{\+\_\+\+E\+Physics\+\_\+\+World\+\_\+\+Constraint\+\_\+\+Solver\+\_\+\+Mode}!E\+Physics World@{E\+Physics World}}
\subsubsection[{\+\_\+\+E\+Physics\+\_\+\+World\+\_\+\+Constraint\+\_\+\+Solver\+\_\+\+Mode}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \+\_\+\+E\+Physics\+\_\+\+World\+\_\+\+Constraint\+\_\+\+Solver\+\_\+\+Mode}}}\label{group__EPhysics__World_ga5723626f948a9e8951324c4ffcbfa3c3}


typedef E\+Physics\+\_\+\+World\+\_\+\+Constraint\+\_\+\+Solver\+\_\+\+Mode 

Identifies the worlds contact and {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Glossary_of_
Terms#Joint.2C_constraint}{\tt joint constraint}} solver mode. By default E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+U\+S\+E\+\_\+\+W\+A\+R\+M\+S\+T\+A\+R\+T\+I\+N\+G is the only enabled solver mode.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gab6e3fd1ef7c6ae7f8c99992861084f0f}{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+mode\+\_\+enable\+\_\+set()} 

\hyperlink{group__EPhysics__World_ga8b1458e740ae1003b9f721b666d66c5b}{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+mode\+\_\+enable\+\_\+get()} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+R\+A\+N\+D\+M\+I\+Z\+E\+\_\+\+O\+R\+D\+E\+R@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+R\+A\+N\+D\+M\+I\+Z\+E\+\_\+\+O\+R\+D\+E\+R}!E\+Physics World@{E\+Physics World}}\index{E\+Physics World@{E\+Physics World}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+R\+A\+N\+D\+M\+I\+Z\+E\+\_\+\+O\+R\+D\+E\+R@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+R\+A\+N\+D\+M\+I\+Z\+E\+\_\+\+O\+R\+D\+E\+R}}\item[{\em 
\hypertarget{group__EPhysics__World_gga5723626f948a9e8951324c4ffcbfa3c3ac05bb8f778c529de7f2d209708ec55b7}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+R\+A\+N\+D\+M\+I\+Z\+E\+\_\+\+O\+R\+D\+E\+R}\label{group__EPhysics__World_gga5723626f948a9e8951324c4ffcbfa3c3ac05bb8f778c529de7f2d209708ec55b7}
}]Randomize the order of solving the constraint rows. \index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+U\+S\+E\+\_\+\+W\+A\+R\+M\+S\+T\+A\+R\+T\+I\+N\+G@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+U\+S\+E\+\_\+\+W\+A\+R\+M\+S\+T\+A\+R\+T\+I\+N\+G}!E\+Physics World@{E\+Physics World}}\index{E\+Physics World@{E\+Physics World}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+U\+S\+E\+\_\+\+W\+A\+R\+M\+S\+T\+A\+R\+T\+I\+N\+G@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+U\+S\+E\+\_\+\+W\+A\+R\+M\+S\+T\+A\+R\+T\+I\+N\+G}}\item[{\em 
\hypertarget{group__EPhysics__World_gga5723626f948a9e8951324c4ffcbfa3c3afd99d0a859514f82a1930eb49b55f754}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+U\+S\+E\+\_\+\+W\+A\+R\+M\+S\+T\+A\+R\+T\+I\+N\+G}\label{group__EPhysics__World_gga5723626f948a9e8951324c4ffcbfa3c3afd99d0a859514f82a1930eb49b55f754}
}]The P\+G\+S is an iterative algorithm where each iteration is based on the solution of previous iteration, if no warmstarting is used, the initial solution for P\+G\+S is set to zero each frame (by default this mode is enabled, disabling this mode the user can face a better performance depending on the amount of objects in the simulation) \index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+U\+S\+E\+\_\+2\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+D\+I\+R\+E\+C\+T\+I\+O\+N\+S@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+U\+S\+E\+\_\+2\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+D\+I\+R\+E\+C\+T\+I\+O\+N\+S}!E\+Physics World@{E\+Physics World}}\index{E\+Physics World@{E\+Physics World}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+U\+S\+E\+\_\+2\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+D\+I\+R\+E\+C\+T\+I\+O\+N\+S@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+U\+S\+E\+\_\+2\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+D\+I\+R\+E\+C\+T\+I\+O\+N\+S}}\item[{\em 
\hypertarget{group__EPhysics__World_gga5723626f948a9e8951324c4ffcbfa3c3a81c043ce000eec701e73d383a2aad0b4}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+U\+S\+E\+\_\+2\+\_\+\+F\+R\+I\+C\+T\+I\+O\+N\+\_\+\+D\+I\+R\+E\+C\+T\+I\+O\+N\+S}\label{group__EPhysics__World_gga5723626f948a9e8951324c4ffcbfa3c3a81c043ce000eec701e73d383a2aad0b4}
}]While calculating a friction impulse consider this should be applied on both bodies (this mode cause a better stacking stabilization) \index{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+S\+I\+M\+D@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+S\+I\+M\+D}!E\+Physics World@{E\+Physics World}}\index{E\+Physics World@{E\+Physics World}!E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+S\+I\+M\+D@{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+S\+I\+M\+D}}\item[{\em 
\hypertarget{group__EPhysics__World_gga5723626f948a9e8951324c4ffcbfa3c3ab5343c995195505eeb2bf5c34fe631bc}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+O\+L\+V\+E\+R\+\_\+\+S\+I\+M\+D}\label{group__EPhysics__World_gga5723626f948a9e8951324c4ffcbfa3c3ab5343c995195505eeb2bf5c34fe631bc}
}]Use a S\+S\+E optimized innerloop, using assembly intrinsics, this is implemented and can be enabled/disabled for Windows and Mac O\+S\+X versions, single-\/precision floating point, 32bit(disabled by default) \end{description}
\end{Desc}


\subsection{Function Documentation}
\hypertarget{group__EPhysics__World_ga108e2d7df8c81321b8d5bde8497f0d45}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+new@{ephysics\+\_\+world\+\_\+new}}
\index{ephysics\+\_\+world\+\_\+new@{ephysics\+\_\+world\+\_\+new}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf E\+Physics\+\_\+\+World}$\ast$ ephysics\+\_\+world\+\_\+new (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga108e2d7df8c81321b8d5bde8497f0d45}


Create a new physics world. 

A new world will be created with set collision configuration, {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Collision_
Detection_and_Physics_FAQ#How_do_most_physics_engines_solve_constraints.3F}{\tt constraint solver}}, {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Broadphase}{\tt broadphase}} interface and dispatcher.

It can be paused / unpaused with \hyperlink{group__EPhysics__World_ga994f911d6249986a8d1c21fd53bec462}{ephysics\+\_\+world\+\_\+running\+\_\+set()} and its gravity can be changed with \hyperlink{group__EPhysics__World_ga849f9d794ce5da7bf07f0bfc71aa5b6c}{ephysics\+\_\+world\+\_\+gravity\+\_\+set()}.

By default it starts with gravity y = 294 Evas coordinates per second $^\wedge$ 2 and playing.

If default updates between physics bodies and evas objects will be used it's mandatory to set the size of the area to be rendered with \hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()}.

\begin{DoxyReturn}{Returns}
A new world or {\ttfamily N\+U\+L\+L}, on errors.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_ga99ebd1425f258f895c0089d6eb13def9}{ephysics\+\_\+world\+\_\+del()}. 
\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__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set@{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set}}
\index{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set@{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\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__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}


Set dimensions of rendered area to be take on account by default updates. 

By default it starts with null x, y, width and height.

The physics world won't be limited, but boundaries can be added with\+: \begin{DoxyItemize}
\item \hyperlink{group__EPhysics__Body_ga2a3e40784ef30f15d5d7e9f1f2a814b3}{ephysics\+\_\+body\+\_\+top\+\_\+boundary\+\_\+add()}, \item \hyperlink{group__EPhysics__Body_gac5fc5a1817ac81e2f1fcdcd8908614f2}{ephysics\+\_\+body\+\_\+bottom\+\_\+boundary\+\_\+add()}, \item \hyperlink{group__EPhysics__Body_ga4ad52252b2537c6f41e14b9135847fe9}{ephysics\+\_\+body\+\_\+left\+\_\+boundary\+\_\+add()}, \item \hyperlink{group__EPhysics__Body_gab7e598db12a5270311c429f0ee12271c}{ephysics\+\_\+body\+\_\+right\+\_\+boundary\+\_\+add()}, \item \hyperlink{group__EPhysics__Body_ga6c3998e80d45fbc90b44cb84acdd333e}{ephysics\+\_\+body\+\_\+front\+\_\+boundary\+\_\+add()}, \item \hyperlink{group__EPhysics__Body_ga74754bdd06134aee9cf7c18227aaecef}{ephysics\+\_\+body\+\_\+back\+\_\+boundary\+\_\+add()}.\end{DoxyItemize}

\begin{DoxyParams}{Parameters}
{\em world} & the world to be configured. \\
\hline
{\em x} & Coordinate x of the top left point of rendered area, in pixels. \\
\hline
{\em y} & Coordinate y of the top left point of rendered area, in pixels. \\
\hline
{\em z} & Coordinate z of the rendered area, in pixels. \\
\hline
{\em w} & rendered area width, in pixels. \\
\hline
{\em h} & rendered area height, in pixels. \\
\hline
{\em d} & rendered area depth, in pixels.\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
The unit used for geometry is Evas coordinates.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()} for more info. 

\hyperlink{group__EPhysics__World_ga4191077d4da05cfe550e9690fc311213}{ephysics\+\_\+world\+\_\+rate\+\_\+get()}. 

\hyperlink{group__EPhysics__World_ga6bc905b2f56aa2a6c567d9a1575f9075}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+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_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__World_ga6bc905b2f56aa2a6c567d9a1575f9075}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+get@{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+get@{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\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__World_ga6bc905b2f56aa2a6c567d9a1575f9075}


Get dimensions of rendered area to be take on account by default updates. 


\begin{DoxyParams}{Parameters}
{\em world} & the world to be configured. \\
\hline
{\em x} & Coordinate x of the top left point of rendered area, in pixels. \\
\hline
{\em y} & Coordinate y of the top left point of rendered area, in pixels. \\
\hline
{\em z} & Coordinate z of the rendered area, in pixels. \\
\hline
{\em w} & rendered area width, in pixels. \\
\hline
{\em h} & rendered area height, in pixels. \\
\hline
{\em d} & rendered area depth, in pixels.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()} for more information. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}.\end{Desc}
\hypertarget{group__EPhysics__World_gafdf9ecb15c2fc0ecc4ab54de55005427}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+serialize@{ephysics\+\_\+world\+\_\+serialize}}
\index{ephysics\+\_\+world\+\_\+serialize@{ephysics\+\_\+world\+\_\+serialize}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+serialize}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ephysics\+\_\+world\+\_\+serialize (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{const char $\ast$}]{path}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_gafdf9ecb15c2fc0ecc4ab54de55005427}


Serializes the {\ttfamily world} to {\ttfamily path}. 

Save the dynamics world to a binary dump, a .bullet file.

\begin{DoxyNote}{Note}
Should be used only for debugging purposes.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em world} & the world to be serialized. \\
\hline
{\em path} & where the serialized world should be written to.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+U\+E on success, E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E otherwise 
\end{DoxyReturn}
\hypertarget{group__EPhysics__World_ga99ebd1425f258f895c0089d6eb13def9}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+del@{ephysics\+\_\+world\+\_\+del}}
\index{ephysics\+\_\+world\+\_\+del@{ephysics\+\_\+world\+\_\+del}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+del}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+del (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga99ebd1425f258f895c0089d6eb13def9}


Deletes a physics world. 

It will also delete all bodies associated to it.


\begin{DoxyParams}{Parameters}
{\em world} & The world to be deleted.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_ga108e2d7df8c81321b8d5bde8497f0d45}{ephysics\+\_\+world\+\_\+new()} for more details. 
\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_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}, \hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}, and \hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}.\end{Desc}
\hypertarget{group__EPhysics__World_ga994f911d6249986a8d1c21fd53bec462}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+running\+\_\+set@{ephysics\+\_\+world\+\_\+running\+\_\+set}}
\index{ephysics\+\_\+world\+\_\+running\+\_\+set@{ephysics\+\_\+world\+\_\+running\+\_\+set}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+running\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+running\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{{\bf Eina\+\_\+\+Bool}}]{running}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga994f911d6249986a8d1c21fd53bec462}


Set running status of world. 

A world can be played / paused. When running, it will simulate the physics step by step. When paused, it will stop simulation. Consequently all the registered callbacks won't be called since no event will occur (no collisions, no object updates).

When a world is created it starts running.


\begin{DoxyParams}{Parameters}
{\em world} & The world to be played / paused. \\
\hline
{\em running} & If {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} it will play, otherwise it will pause.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_ga1bba3c8099e200459f0c0b0865efd17a}{ephysics\+\_\+world\+\_\+running\+\_\+get()} 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga1bba3c8099e200459f0c0b0865efd17a}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+running\+\_\+get@{ephysics\+\_\+world\+\_\+running\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+running\+\_\+get@{ephysics\+\_\+world\+\_\+running\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+running\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ephysics\+\_\+world\+\_\+running\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga1bba3c8099e200459f0c0b0865efd17a}


Get running status of world. 

By default a world starts running.


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if it's running, or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} if it's paused or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_ga994f911d6249986a8d1c21fd53bec462}{ephysics\+\_\+world\+\_\+running\+\_\+set()} for more details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga797b98c12273d85f7dd5b30a911f76f2}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+max\+\_\+sleeping\+\_\+time\+\_\+set@{ephysics\+\_\+world\+\_\+max\+\_\+sleeping\+\_\+time\+\_\+set}}
\index{ephysics\+\_\+world\+\_\+max\+\_\+sleeping\+\_\+time\+\_\+set@{ephysics\+\_\+world\+\_\+max\+\_\+sleeping\+\_\+time\+\_\+set}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+max\+\_\+sleeping\+\_\+time\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+max\+\_\+sleeping\+\_\+time\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{double}]{sleeping\+\_\+time}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga797b98c12273d85f7dd5b30a911f76f2}


Set the max sleeping time value. 

This value determines how long(in seconds) a rigid body under the linear and angular threshold is supposed to be marked as sleeping. Default value is set to 2.\+0.


\begin{DoxyParams}{Parameters}
{\em world} & The world to set the max sleeping time. \\
\hline
{\em sleeping\+\_\+time} & The max sleeping time to set to {\ttfamily world}.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_ga083912a5014474719d38e05de367836d}{ephysics\+\_\+world\+\_\+max\+\_\+sleeping\+\_\+time\+\_\+get()} 

\hyperlink{group__EPhysics__Body_gaa65f3bf819cf09ac5da543ee6460a9f3}{ephysics\+\_\+body\+\_\+sleeping\+\_\+threshold\+\_\+set()} for sleeping thresholds details. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}.\end{Desc}
\hypertarget{group__EPhysics__World_ga083912a5014474719d38e05de367836d}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+max\+\_\+sleeping\+\_\+time\+\_\+get@{ephysics\+\_\+world\+\_\+max\+\_\+sleeping\+\_\+time\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+max\+\_\+sleeping\+\_\+time\+\_\+get@{ephysics\+\_\+world\+\_\+max\+\_\+sleeping\+\_\+time\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+max\+\_\+sleeping\+\_\+time\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} double ephysics\+\_\+world\+\_\+max\+\_\+sleeping\+\_\+time\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga083912a5014474719d38e05de367836d}


Get the max sleeping time value for {\ttfamily world}. 


\begin{DoxyParams}{Parameters}
{\em world} & The world to get the max sleeping time from. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The max sleeping time from {\ttfamily world}.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_ga797b98c12273d85f7dd5b30a911f76f2}{ephysics\+\_\+world\+\_\+max\+\_\+sleeping\+\_\+time\+\_\+set()} 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga849f9d794ce5da7bf07f0bfc71aa5b6c}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+gravity\+\_\+set@{ephysics\+\_\+world\+\_\+gravity\+\_\+set}}
\index{ephysics\+\_\+world\+\_\+gravity\+\_\+set@{ephysics\+\_\+world\+\_\+gravity\+\_\+set}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+gravity\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+gravity\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{double}]{gx, }
\item[{double}]{gy, }
\item[{double}]{gz}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga849f9d794ce5da7bf07f0bfc71aa5b6c}


Set world gravity in the 3 axes (x, y, z). 

Gravity will act over bodies with mass over all the time.

By default values are 0, 294, 0 Evas Coordinates per second $^\wedge$ 2 (9.\+8 m/s$^\wedge$2, since we've a default rate of 30 pixels).

If you change the rate but wants to keep 9.\+8 m/s$^\wedge$2, you well need to set world gravity with\+: 9.\+8 $\ast$ new\+\_\+rate.


\begin{DoxyParams}{Parameters}
{\em world} & The world object. \\
\hline
{\em gx} & Gravity on x axis. \\
\hline
{\em gy} & Gravity on y axis. \\
\hline
{\em gz} & Gravity on z axis.\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
The unit used for acceleration is Evas coordinates per second $^\wedge$ 2.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_ga8a0636506c8fcd3ed4285d90ce41dcdd}{ephysics\+\_\+world\+\_\+gravity\+\_\+get()}. 

\hyperlink{group__EPhysics__World_ga8327212faf3a8016382056b29fcec387}{ephysics\+\_\+world\+\_\+rate\+\_\+set()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}, \hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}, and \hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}.\end{Desc}
\hypertarget{group__EPhysics__World_ga3f64766b79c71155d06f1bf4931bb84d}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+iterations\+\_\+set@{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+iterations\+\_\+set}}
\index{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+iterations\+\_\+set@{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+iterations\+\_\+set}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+iterations\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+iterations\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{int}]{iterations}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga3f64766b79c71155d06f1bf4931bb84d}


Set the number of iterations the {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Collision_
Detection_and_Physics_FAQ#How_do_most_physics_engines_solve_constraints.3F}{\tt constraint solver}} will have for contact and {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Glossary_of_
Terms#Joint.2C_constraint}{\tt joint constraints}}. 

The default value is set to 10. The greater number of iterations more quality and precise the result but with performance penalty.

By default, the Projected Gauss Seidel {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Collision_
Detection_and_Physics_FAQ#How_do_most_physics_engines_solve_constraints.3F}{\tt constraint solver}} is used for contact and {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Glossary_of_
Terms#Joint.2C_constraint}{\tt joint constraints}}. The algorithm is an iterative L\+C\+P solver, informally known as 'sequential impulse'.

A reasonable range of iterations is from 4 (low quality, good performance) to 20 (good quality, less but still reasonable performance).


\begin{DoxyParams}{Parameters}
{\em world} & The world to be set. \\
\hline
{\em iterations} & The number of iterations to be set.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gaa0a6b5aae6ae432449981daa47f0a819}{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+iterations\+\_\+get()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_gaa0a6b5aae6ae432449981daa47f0a819}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+iterations\+\_\+get@{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+iterations\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+iterations\+\_\+get@{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+iterations\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+iterations\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+iterations\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_gaa0a6b5aae6ae432449981daa47f0a819}


Get the number of iterations the {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Collision_
Detection_and_Physics_FAQ#How_do_most_physics_engines_solve_constraints.3F}{\tt constraint solver}} will have for contact and {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Glossary_of_
Terms#Joint.2C_constraint}{\tt joint constraints}}. 


\begin{DoxyParams}{Parameters}
{\em world} & The world to get number of iterations from. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the number of iterations set to {\ttfamily world}, or 0 on failure.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_ga3f64766b79c71155d06f1bf4931bb84d}{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+iterations\+\_\+set()} for its meaning. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_gab6e3fd1ef7c6ae7f8c99992861084f0f}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+mode\+\_\+enable\+\_\+set@{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+mode\+\_\+enable\+\_\+set}}
\index{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+mode\+\_\+enable\+\_\+set@{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+mode\+\_\+enable\+\_\+set}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+mode\+\_\+enable\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+mode\+\_\+enable\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{E\+Physics\+\_\+\+World\+\_\+\+Solver\+\_\+\+Mode}]{solver\+\_\+mode, }
\item[{{\bf Eina\+\_\+\+Bool}}]{enable}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_gab6e3fd1ef7c6ae7f8c99992861084f0f}


Enable or disable a {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Collision_
Detection_and_Physics_FAQ#How_do_most_physics_engines_solve_constraints.3F}{\tt constraint solver}} mode to {\ttfamily world}. 

A world can operate on several {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Collision_
Detection_and_Physics_FAQ#How_do_most_physics_engines_solve_constraints.3F}{\tt constraint solver}} modes.


\begin{DoxyParams}{Parameters}
{\em world} & The world to be set. \\
\hline
{\em solver\+\_\+mode} & The solver mode to set. \\
\hline
{\em enable} & If {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} enable the mode, if E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, disable it.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
E\+Physics\+\_\+\+World\+\_\+\+Solver\+\_\+\+Mode for supported solver modes. 

\hyperlink{group__EPhysics__World_ga8b1458e740ae1003b9f721b666d66c5b}{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+mode\+\_\+enable\+\_\+get()} 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga8b1458e740ae1003b9f721b666d66c5b}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+mode\+\_\+enable\+\_\+get@{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+mode\+\_\+enable\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+mode\+\_\+enable\+\_\+get@{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+mode\+\_\+enable\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+mode\+\_\+enable\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+mode\+\_\+enable\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{E\+Physics\+\_\+\+World\+\_\+\+Solver\+\_\+\+Mode}]{solver\+\_\+mode}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga8b1458e740ae1003b9f721b666d66c5b}


Get the {\ttfamily solver\+\_\+mode} status on {\ttfamily world}. 


\begin{DoxyParams}{Parameters}
{\em world} & The world to be queried. \\
\hline
{\em solver\+\_\+mode} & The solver mode of interest. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+U\+E if {\ttfamily solver\+\_\+mode} is enabled, E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E otherwise.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gab6e3fd1ef7c6ae7f8c99992861084f0f}{ephysics\+\_\+world\+\_\+constraint\+\_\+solver\+\_\+mode\+\_\+enable\+\_\+set()} 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga8a0636506c8fcd3ed4285d90ce41dcdd}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+gravity\+\_\+get@{ephysics\+\_\+world\+\_\+gravity\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+gravity\+\_\+get@{ephysics\+\_\+world\+\_\+gravity\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+gravity\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+gravity\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{double $\ast$}]{gx, }
\item[{double $\ast$}]{gy, }
\item[{double $\ast$}]{gz}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga8a0636506c8fcd3ed4285d90ce41dcdd}


Get world gravity values for axis x, y and z. 


\begin{DoxyParams}{Parameters}
{\em world} & The world object. \\
\hline
{\em gx} & Gravity on x axis. \\
\hline
{\em gy} & Gravity on y axis. \\
\hline
{\em gz} & Gravity on y axis.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_ga849f9d794ce5da7bf07f0bfc71aa5b6c}{ephysics\+\_\+world\+\_\+gravity\+\_\+set()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga8327212faf3a8016382056b29fcec387}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+rate\+\_\+set@{ephysics\+\_\+world\+\_\+rate\+\_\+set}}
\index{ephysics\+\_\+world\+\_\+rate\+\_\+set@{ephysics\+\_\+world\+\_\+rate\+\_\+set}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+rate\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+rate\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{double}]{rate}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga8327212faf3a8016382056b29fcec387}


Set rate between pixels on evas canvas and meters on ephysics world. 

It will be used by automatic updates of evas objects associated to physics bodies.

By default its value is 30 Evas coordinates (pixels) per meter.

If you change the rate but wants to keep gravity as (0, 9.\+8 m/s$^\wedge$2), you well need to set world gravity with\+: 9.\+8 $\ast$ new\+\_\+rate. For this, use \hyperlink{group__EPhysics__World_ga849f9d794ce5da7bf07f0bfc71aa5b6c}{ephysics\+\_\+world\+\_\+gravity\+\_\+set()};


\begin{DoxyParams}{Parameters}
{\em world} & The world object. \\
\hline
{\em rate} & Rate between pixels and meters. Value must be $>$ 0.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_gada176f4748a4c2fc4ba2042021ea7067}{ephysics\+\_\+body\+\_\+event\+\_\+callback\+\_\+add()} for more info. 

\hyperlink{group__EPhysics__World_ga4191077d4da05cfe550e9690fc311213}{ephysics\+\_\+world\+\_\+rate\+\_\+get()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga4191077d4da05cfe550e9690fc311213}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+rate\+\_\+get@{ephysics\+\_\+world\+\_\+rate\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+rate\+\_\+get@{ephysics\+\_\+world\+\_\+rate\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+rate\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} double ephysics\+\_\+world\+\_\+rate\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga4191077d4da05cfe550e9690fc311213}


Get rate between pixels on evas canvas and meters on ephysics world. 


\begin{DoxyParams}{Parameters}
{\em world} & The world object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The rate between pixels and meters.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_ga8327212faf3a8016382056b29fcec387}{ephysics\+\_\+world\+\_\+rate\+\_\+set()} for details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_gaab312a6478f07c9db88264b7611fa3de}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+bodies\+\_\+get@{ephysics\+\_\+world\+\_\+bodies\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+bodies\+\_\+get@{ephysics\+\_\+world\+\_\+bodies\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+bodies\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+List}$\ast$ ephysics\+\_\+world\+\_\+bodies\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_gaab312a6478f07c9db88264b7611fa3de}


Gets the world's bodies list. 


\begin{DoxyParams}{Parameters}
{\em world} & The world object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The list of bodies that belongs to this {\ttfamily world}.
\end{DoxyReturn}
\begin{DoxyNote}{Note}
The list should be freed after usage.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Body_gab57e99be7fe5a5174c38b8aea55f3266}{ephysics\+\_\+body\+\_\+cylinder\+\_\+add()}. 

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

\hyperlink{group__EPhysics__Body_ga9f47ada6fe8ee0abb234bc4aaab7dd1c}{ephysics\+\_\+body\+\_\+del()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga97fe0c2a98a7998f29f7390cea868ff0}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+camera\+\_\+get@{ephysics\+\_\+world\+\_\+camera\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+camera\+\_\+get@{ephysics\+\_\+world\+\_\+camera\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+camera\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf E\+Physics\+\_\+\+Camera}$\ast$ ephysics\+\_\+world\+\_\+camera\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga97fe0c2a98a7998f29f7390cea868ff0}


Get the camera used by an ephysics world. 


\begin{DoxyParams}{Parameters}
{\em world} & The world object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The camera.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__Camera_gaed0ba3e4daecc66fca5dc399031da530}{ephysics\+\_\+camera\+\_\+position\+\_\+set()}. 

\hyperlink{group__EPhysics__Camera_gabb7602830e3a9daa67d7bbe1a71a776e}{ephysics\+\_\+camera\+\_\+body\+\_\+track()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}, and \hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}.\end{Desc}
\hypertarget{group__EPhysics__World_ga2b621ffb39920e4619fe2ec2e5508073}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+add@{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+add}}
\index{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+add@{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+add}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{{\bf E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type}}]{type, }
\item[{{\bf E\+Physics\+\_\+\+World\+\_\+\+Event\+\_\+\+Cb}}]{func, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga2b621ffb39920e4619fe2ec2e5508073}


Register a callback to a type of physics world event. 

The registered callback will receives the world and extra user data that can be passed.

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


\begin{DoxyItemize}
\item \hyperlink{group__EPhysics__World_gga0b0aff31f415be24679d4ab703674619ae42b35c975ed4847c43373b2c5abf2b8}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+D\+E\+L}\+: Called just before a world is freed. No event\+\_\+info is passed to the callback.
\item \hyperlink{group__EPhysics__World_gga0b0aff31f415be24679d4ab703674619ac553fa1d8ca19d2d17fe4cb7801c52ba}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+T\+O\+P\+P\+E\+D}\+: Called when all the bodies are stopped. No event\+\_\+info is passed to the callback.
\item \hyperlink{group__EPhysics__World_gga0b0aff31f415be24679d4ab703674619aa5f6adbd98bc6599221d12ecfeb1cbc6}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+C\+A\+M\+E\+R\+A\+\_\+\+M\+O\+V\+E\+D}\+: Called if camera position changed on physics simulation tick. Camera is passed as event\+\_\+info to the callback. Useful to move backgrounds, since objects would be already updated considering camera's position.
\end{DoxyItemize}


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\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{test_camera_8c-example}{test\+\_\+camera.\+c}, and \hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}.\end{Desc}
\hypertarget{group__EPhysics__World_gabcb51571c221004f1a459269bcbe1798}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+del@{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+del}}
\index{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+del@{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+del}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+del}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void$\ast$ ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+del (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{{\bf E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type}}]{type, }
\item[{{\bf E\+Physics\+\_\+\+World\+\_\+\+Event\+\_\+\+Cb}}]{func}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_gabcb51571c221004f1a459269bcbe1798}


Unregister an ephysics world event callback. 

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


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\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__World_ga2b621ffb39920e4619fe2ec2e5508073}{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+add()} for details. 

\hyperlink{group__EPhysics__World_ga172b637b1426c3f6cd3eb96fd906f04f}{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+del\+\_\+full()} if you need to match data pointer. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga172b637b1426c3f6cd3eb96fd906f04f}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+del\+\_\+full@{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+del\+\_\+full}}
\index{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+del\+\_\+full@{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+del\+\_\+full}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+del\+\_\+full}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void$\ast$ ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+del\+\_\+full (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{{\bf E\+Physics\+\_\+\+Callback\+\_\+\+World\+\_\+\+Type}}]{type, }
\item[{{\bf E\+Physics\+\_\+\+World\+\_\+\+Event\+\_\+\+Cb}}]{func, }
\item[{void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga172b637b1426c3f6cd3eb96fd906f04f}


Unregister an ephysics world event callback matching data pointer. 

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


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\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__World_ga2b621ffb39920e4619fe2ec2e5508073}{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+add()} for details. 

\hyperlink{group__EPhysics__World_gabcb51571c221004f1a459269bcbe1798}{ephysics\+\_\+world\+\_\+event\+\_\+callback\+\_\+del()} if you don't need to match data pointer. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga2a0c4f4c910574ebcaa26f001804e0bb}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+linear\+\_\+slop\+\_\+set@{ephysics\+\_\+world\+\_\+linear\+\_\+slop\+\_\+set}}
\index{ephysics\+\_\+world\+\_\+linear\+\_\+slop\+\_\+set@{ephysics\+\_\+world\+\_\+linear\+\_\+slop\+\_\+set}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+linear\+\_\+slop\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+linear\+\_\+slop\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{double}]{linear\+\_\+slop}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga2a0c4f4c910574ebcaa26f001804e0bb}


Set linear slop to be used by world. 

{\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Collision_
Detection_and_Physics_FAQ#How_do_most_physics_engines_solve_constraints.3F}{\tt Constraint solver}} can be configured using some advanced settings, like the solver slop factor.

The default value is set to 0 with a small value results in a smoother stabilization for stacking bodies.

Linear slop on sequencial impulse {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Collision_
Detection_and_Physics_FAQ#How_do_most_physics_engines_solve_constraints.3F}{\tt constraint solver}} is used as a factor for penetration. The penetration will the manifold distance + linear slop.


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
{\em linear\+\_\+slop} & New linear slop value to be used by {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Collision_
Detection_and_Physics_FAQ#How_do_most_physics_engines_solve_constraints.3F}{\tt constraint solver}} of physics engine. \\
\hline
\end{DoxyParams}
\hypertarget{group__EPhysics__World_ga303b3aac240db8fb2cc3e52269183c4f}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+linear\+\_\+slop\+\_\+get@{ephysics\+\_\+world\+\_\+linear\+\_\+slop\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+linear\+\_\+slop\+\_\+get@{ephysics\+\_\+world\+\_\+linear\+\_\+slop\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+linear\+\_\+slop\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} double ephysics\+\_\+world\+\_\+linear\+\_\+slop\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga303b3aac240db8fb2cc3e52269183c4f}


Get linear slop used by world. 


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Linear slop value used by {\bfseries \href{http://bulletphysics.org/mediawiki-1.5.8/index.php/Collision_
Detection_and_Physics_FAQ#How_do_most_physics_engines_solve_constraints.3F}{\tt constraint solver}} of physics engine or 0 on failure.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_ga2a0c4f4c910574ebcaa26f001804e0bb}{ephysics\+\_\+world\+\_\+linear\+\_\+slop\+\_\+set()} for details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_gab640a4c15eec53d9d851e09cd541a358}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+set@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+set}}
\index{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+set@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+set}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{{\bf Eina\+\_\+\+Bool}}]{autodel}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_gab640a4c15eec53d9d851e09cd541a358}


Set world autodeleting bodies mode when they're outside of render area by the top. 

It's useful when you don't care about bodies leaving the render area set with \hyperlink{group__EPhysics__World_gaabf8abaf9c41b0c1e5daa4acf3df0356}{ephysics\+\_\+world\+\_\+render\+\_\+geometry\+\_\+set()}, and don't think they could / should return. So you can safely delete them and save resources.

Also, it's useful if you have only a bottom border set with \hyperlink{group__EPhysics__Body_ga2a3e40784ef30f15d5d7e9f1f2a814b3}{ephysics\+\_\+body\+\_\+top\+\_\+boundary\+\_\+add()} and gravity set, and want to listen for \hyperlink{group__EPhysics__World_gga0b0aff31f415be24679d4ab703674619ac553fa1d8ca19d2d17fe4cb7801c52ba}{E\+P\+H\+Y\+S\+I\+C\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+W\+O\+R\+L\+D\+\_\+\+S\+T\+O\+P\+P\+E\+D} event. If a body goes out of the render area, they will be acting by gravity and won't collide to anything, so they could be moving forever and world would never stop. For this case, enabling autodel for left and right borders seems to be a good idea.


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
{\em autodel} & If {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} delete bodies when they are outside render area, otherwise, don't delete.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gae97bd69521f684f1258257e12161b697}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+get()}. 

\hyperlink{group__EPhysics__World_ga3fd8aadc141b6d5e45e473ac01f9ced6}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+set()}. 

\hyperlink{group__EPhysics__World_ga0c9669966a4be20e9899952227edb460}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+set()}. 

\hyperlink{group__EPhysics__World_ga798aea0ade40886b4fd71bf89bf3e4df}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+set()}. 

\hyperlink{group__EPhysics__World_gac740b9f50af19504856f3074144754f8}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+set()}. 

\hyperlink{group__EPhysics__World_ga6806a81eea8e6f3f0da900b1e237425b}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+set()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_gae97bd69521f684f1258257e12161b697}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+get@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+get@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_gae97bd69521f684f1258257e12161b697}


Get world autodeleting bodies mode when they're outside of render area by the top. 


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if bodies will be deleted or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} if they won't, or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gab640a4c15eec53d9d851e09cd541a358}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+set()} for details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga3fd8aadc141b6d5e45e473ac01f9ced6}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+set@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+set}}
\index{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+set@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+set}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{{\bf Eina\+\_\+\+Bool}}]{autodel}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga3fd8aadc141b6d5e45e473ac01f9ced6}


Set world autodeleting bodies mode when they're outside of render area by the bottom. 


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
{\em autodel} & If {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} delete bodies when they are outside render area, otherwise, don't delete.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gab640a4c15eec53d9d851e09cd541a358}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+set()} for more details. 

\hyperlink{group__EPhysics__World_gaefcba9ab8214650ea77e786d572e554e}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+get()}. 

\hyperlink{group__EPhysics__World_ga0c9669966a4be20e9899952227edb460}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+set()}. 

\hyperlink{group__EPhysics__World_ga798aea0ade40886b4fd71bf89bf3e4df}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+set()}. 

\hyperlink{group__EPhysics__World_gac740b9f50af19504856f3074144754f8}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+set()}. 

\hyperlink{group__EPhysics__World_ga6806a81eea8e6f3f0da900b1e237425b}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+set()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_gaefcba9ab8214650ea77e786d572e554e}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+get@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+get@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_gaefcba9ab8214650ea77e786d572e554e}


Get world autodeleting bodies mode when they're outside of render area by the bottom. 


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if bodies will be deleted or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} if they won't, or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_ga3fd8aadc141b6d5e45e473ac01f9ced6}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+set()} for details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga798aea0ade40886b4fd71bf89bf3e4df}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+set@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+set}}
\index{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+set@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+set}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{{\bf Eina\+\_\+\+Bool}}]{autodel}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga798aea0ade40886b4fd71bf89bf3e4df}


Set world autodeleting bodies mode when they're outside of render area by the right. 


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
{\em autodel} & If {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} delete bodies when they are outside render area, otherwise, don't delete.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gab640a4c15eec53d9d851e09cd541a358}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+set()} for more details. 

\hyperlink{group__EPhysics__World_ga441d22350368e7db4861d2863b2151cc}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+get()}. 

\hyperlink{group__EPhysics__World_ga3fd8aadc141b6d5e45e473ac01f9ced6}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+set()}. 

\hyperlink{group__EPhysics__World_ga0c9669966a4be20e9899952227edb460}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+set()}. 

\hyperlink{group__EPhysics__World_gac740b9f50af19504856f3074144754f8}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+set()}. 

\hyperlink{group__EPhysics__World_ga6806a81eea8e6f3f0da900b1e237425b}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+set()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga441d22350368e7db4861d2863b2151cc}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+get@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+get@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga441d22350368e7db4861d2863b2151cc}


Get world autodeleting bodies mode when they're outside of render area by the right. 


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if bodies will be deleted or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} if they won't, or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_ga798aea0ade40886b4fd71bf89bf3e4df}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+set()} for details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga0c9669966a4be20e9899952227edb460}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+set@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+set}}
\index{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+set@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+set}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{{\bf Eina\+\_\+\+Bool}}]{autodel}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga0c9669966a4be20e9899952227edb460}


Set world autodeleting bodies mode when they're outside of render area by the left. 


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
{\em autodel} & If {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} delete bodies when they are outside render area, otherwise, don't delete.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gab640a4c15eec53d9d851e09cd541a358}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+set()} for more details. 

\hyperlink{group__EPhysics__World_ga546a59ecd1f39cd5abc70c4fa55c0fdf}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+get()}. 

\hyperlink{group__EPhysics__World_ga3fd8aadc141b6d5e45e473ac01f9ced6}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+set()}. 

\hyperlink{group__EPhysics__World_ga798aea0ade40886b4fd71bf89bf3e4df}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+set()}. 

\hyperlink{group__EPhysics__World_gac740b9f50af19504856f3074144754f8}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+set()}. 

\hyperlink{group__EPhysics__World_ga6806a81eea8e6f3f0da900b1e237425b}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+set()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga546a59ecd1f39cd5abc70c4fa55c0fdf}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+get@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+get@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga546a59ecd1f39cd5abc70c4fa55c0fdf}


Get world autodeleting bodies mode when they're outside of render area by the left. 


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if bodies will be deleted or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} if they won't, or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_ga0c9669966a4be20e9899952227edb460}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+set()} for details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_gac740b9f50af19504856f3074144754f8}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+set@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+set}}
\index{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+set@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+set}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{{\bf Eina\+\_\+\+Bool}}]{autodel}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_gac740b9f50af19504856f3074144754f8}


Set world autodeleting bodies mode when they're outside of render area by the front. 


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
{\em autodel} & If {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} delete bodies when they are outside render area, otherwise, don't delete.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gab640a4c15eec53d9d851e09cd541a358}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+set()} for more details. 

\hyperlink{group__EPhysics__World_ga546a59ecd1f39cd5abc70c4fa55c0fdf}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+get()}. 

\hyperlink{group__EPhysics__World_ga3fd8aadc141b6d5e45e473ac01f9ced6}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+set()}. 

\hyperlink{group__EPhysics__World_ga798aea0ade40886b4fd71bf89bf3e4df}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+set()}. 

\hyperlink{group__EPhysics__World_gac740b9f50af19504856f3074144754f8}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+set()}. 

\hyperlink{group__EPhysics__World_ga6806a81eea8e6f3f0da900b1e237425b}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+set()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga0d8bbc0e15ffb6c21dd7784faac4aa41}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+get@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+get@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga0d8bbc0e15ffb6c21dd7784faac4aa41}


Get world autodeleting bodies mode when they're outside of render area by the front. 


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if bodies will be deleted or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} if they won't, or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gac740b9f50af19504856f3074144754f8}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+set()} for details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga6806a81eea8e6f3f0da900b1e237425b}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+set@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+set}}
\index{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+set@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+set}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{{\bf Eina\+\_\+\+Bool}}]{autodel}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga6806a81eea8e6f3f0da900b1e237425b}


Set world autodeleting bodies mode when they're outside of render area by the back. 


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
{\em autodel} & If {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} delete bodies when they are outside render area, otherwise, don't delete.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gab640a4c15eec53d9d851e09cd541a358}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+top\+\_\+autodel\+\_\+set()} for more details. 

\hyperlink{group__EPhysics__World_ga546a59ecd1f39cd5abc70c4fa55c0fdf}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+left\+\_\+autodel\+\_\+get()}. 

\hyperlink{group__EPhysics__World_ga3fd8aadc141b6d5e45e473ac01f9ced6}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+bottom\+\_\+autodel\+\_\+set()}. 

\hyperlink{group__EPhysics__World_ga798aea0ade40886b4fd71bf89bf3e4df}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+right\+\_\+autodel\+\_\+set()}. 

\hyperlink{group__EPhysics__World_gac740b9f50af19504856f3074144754f8}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+front\+\_\+autodel\+\_\+set()}. 

\hyperlink{group__EPhysics__World_ga6806a81eea8e6f3f0da900b1e237425b}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+set()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga4895f508065ccf3f5aa4d71e8e5c3436}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+get@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+get@{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga4895f508065ccf3f5aa4d71e8e5c3436}


Get world autodeleting bodies mode when they're outside of render area by the back. 


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if bodies will be deleted or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} if they won't, or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_ga6806a81eea8e6f3f0da900b1e237425b}{ephysics\+\_\+world\+\_\+bodies\+\_\+outside\+\_\+back\+\_\+autodel\+\_\+set()} for details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_gab605cbebcc53278db5138f68df074607}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+simulation\+\_\+set@{ephysics\+\_\+world\+\_\+simulation\+\_\+set}}
\index{ephysics\+\_\+world\+\_\+simulation\+\_\+set@{ephysics\+\_\+world\+\_\+simulation\+\_\+set}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+simulation\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+simulation\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{double}]{fixed\+\_\+time\+\_\+step, }
\item[{int}]{max\+\_\+sub\+\_\+steps}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_gab605cbebcc53278db5138f68df074607}


Set world simulation's fixed time step and max number of sub steps configuration. 

It's important that time step is always less than {\ttfamily max\+\_\+sub\+\_\+steps} $\ast$ {\ttfamily fixed\+\_\+time\+\_\+step}, otherwise you are losing time. Mathematically\+:

time step $<$ {\ttfamily max\+\_\+sub\+\_\+steps} $\ast$ {\ttfamily fixed\+\_\+time\+\_\+step};

If you're a using a very large time step \mbox{[}say, five times the size of the fixed internal time step\mbox{]}, then you must increase the number of max sub steps to compensate for this, otherwise your simulation is “losing” time.

The time step may vary. Simulation ticks are called by an animator, so, by default, time step is {\ttfamily 1/30} secs. If you're using elementary, default F\+P\+S configuration is 60 fps, i.\+e. time step is {\ttfamily 1/60} secs. You can change that setting a different time with \hyperlink{group__Ecore__Animator__Group_ga2c7aa7e621cd68562519066ad87a3fa1}{ecore\+\_\+animator\+\_\+frametime\+\_\+set()}.

Also, keep in mind that if you're using C\+P\+U intense calculations maybe this framerate won't be achieved, so the time step will be bigger. You need to define what range of frames per seconds you need to support and configure {\ttfamily max\+\_\+sub\+\_\+steps} and {\ttfamily fixed\+\_\+time\+\_\+step} according to this.

By decreasing the size of {\ttfamily fixed\+\_\+time\+\_\+step}, you are increasing the “resolution” of the simulation.

If you are finding that your objects are moving very fast and escaping from your walls instead of colliding with them, then one way to help fix this problem is by decreasing {\ttfamily fixed\+\_\+time\+\_\+step}. If you do this, then you will need to increase {\ttfamily max\+\_\+sub\+\_\+steps} to ensure the equation listed above is still satisfied.

The issue with this is that each internal “tick” takes an amount of computation. More of them means your C\+P\+U will be spending more time on physics and therefore less time on other stuff. Say you want twice the resolution, you'll need twice the {\ttfamily max\+\_\+sub\+\_\+steps}, which could chew up twice as much C\+P\+U for the same amount of simulation time.

When you pass {\ttfamily max\+\_\+sub\+\_\+steps} $>$ 1, it will interpolate movement for you. This means that if your {\ttfamily fixed\+\_\+time\+\_\+step} is 3 units, and you pass a time\+Step of 4, then it will do exactly one tick, and estimate the remaining movement by 1/3. This saves you having to do interpolation yourself, but keep in mind that max\+Sub\+Steps needs to be greater than 1.

By default {\ttfamily fixed\+\_\+time\+\_\+step} is 1/60 seconds and {\ttfamily max\+\_\+sub\+\_\+steps} is 3.


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
{\em fixed\+\_\+time\+\_\+step} & size of the internal simulation step, in seconds. \\
\hline
{\em max\+\_\+sub\+\_\+steps} & maximum number of steps that simulation is allowed to take at each simulation tick.\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
The unit used for time is seconds.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_ga12e0d7a91f40bdeb16e6e13e0f4f7661}{ephysics\+\_\+world\+\_\+simulation\+\_\+get()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga12e0d7a91f40bdeb16e6e13e0f4f7661}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+simulation\+\_\+get@{ephysics\+\_\+world\+\_\+simulation\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+simulation\+\_\+get@{ephysics\+\_\+world\+\_\+simulation\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+simulation\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+simulation\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{double $\ast$}]{fixed\+\_\+time\+\_\+step, }
\item[{int $\ast$}]{max\+\_\+sub\+\_\+steps}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga12e0d7a91f40bdeb16e6e13e0f4f7661}


Get world simulation's fixed time step and max number of sub steps configuration. 


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
{\em fixed\+\_\+time\+\_\+step} & size of the internal simulation step, in seconds. \\
\hline
{\em max\+\_\+sub\+\_\+steps} & maximum number of steps that simulation is allowed to take at each simulation tick.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gab605cbebcc53278db5138f68df074607}{ephysics\+\_\+world\+\_\+simulation\+\_\+set()} for details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_gac798a9ec1348f4e3d0273287b00641d0}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+set@{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+set}}
\index{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+set@{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+set}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{{\bf Evas\+\_\+\+Coord}}]{lx, }
\item[{{\bf Evas\+\_\+\+Coord}}]{ly, }
\item[{{\bf Evas\+\_\+\+Coord}}]{lz}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_gac798a9ec1348f4e3d0273287b00641d0}


Set position of point light to be applied on the scene. 

It will perform lighting calculations on the evas map applied on evas objects associated with all the bodies to have light applied over.

This is used to apply lighting calculations (from a single light source) to a given object. The R, G and B values of each vertex will be modified to reflect the lighting based on the lixth point coordinates, the light color and the ambient color, and at what angle the map is facing the light source. A surface should have its points be declared in a clockwise fashion if the face is \char`\"{}facing\char`\"{} towards you (as opposed to away from you) as faces have a \char`\"{}logical\char`\"{} side for lighting.

More details can be found on \hyperlink{group__Evas__Object__Group__Map_gaffb11ebe4dfd914f97cdde7e9f713c97}{evas\+\_\+map\+\_\+util\+\_\+3d\+\_\+lighting()} documentation, since this function is used internally by E\+Physics.

There are two ways of setting a body to receive lighting. One is to simple set all the bodies to be affected, with \hyperlink{group__EPhysics__World_ga9ccd111c05eafbdc99dc70e7c0ca5b22}{ephysics\+\_\+world\+\_\+light\+\_\+all\+\_\+bodies\+\_\+set()}. The other, is to set each body individually, with \hyperlink{group__EPhysics__Body_ga37dc0885fe9a3b3ec643edd42a9e7a6f}{ephysics\+\_\+body\+\_\+light\+\_\+set()}.

By default, point light is set to position (0, 0, -\/200) and has white color (r=255, g=255, b=255). The ambient color is black (r=0, g=0, b=0). But no body will be affected. No change will be visible until some bodies are set to be enlightened.


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
{\em lx} & X coordinate in space of light point \\
\hline
{\em ly} & Y coordinate in space of light point \\
\hline
{\em lz} & Z coordinate in space of light point\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_ga202072d9ea09764d6127f0e70dc7ac03}{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+get()}. 

\hyperlink{group__EPhysics__World_gad8a25241614ac01d37df87cc2668bf9e}{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+color\+\_\+set()}. 

\hyperlink{group__EPhysics__World_ga564febf03357030ed82748572f25ddb8}{ephysics\+\_\+world\+\_\+ambient\+\_\+light\+\_\+color\+\_\+set()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_gad8a25241614ac01d37df87cc2668bf9e}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+color\+\_\+set@{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+color\+\_\+set}}
\index{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+color\+\_\+set@{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+color\+\_\+set}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+color\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+color\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{int}]{lr, }
\item[{int}]{lg, }
\item[{int}]{lb}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_gad8a25241614ac01d37df87cc2668bf9e}


Set color of point light to be applied on the scene. 

By default color of point light is r=255, g=255, b=255.


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
{\em lr} & light red value (0 -\/ 255) \\
\hline
{\em lg} & light green value (0 -\/ 255) \\
\hline
{\em lb} & light blue value (0 -\/ 255)\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gac798a9ec1348f4e3d0273287b00641d0}{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+set()} for more details. 

\hyperlink{group__EPhysics__World_ga99817f08b591d802c99b274070d01bc1}{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+color\+\_\+get()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga564febf03357030ed82748572f25ddb8}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+ambient\+\_\+light\+\_\+color\+\_\+set@{ephysics\+\_\+world\+\_\+ambient\+\_\+light\+\_\+color\+\_\+set}}
\index{ephysics\+\_\+world\+\_\+ambient\+\_\+light\+\_\+color\+\_\+set@{ephysics\+\_\+world\+\_\+ambient\+\_\+light\+\_\+color\+\_\+set}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+ambient\+\_\+light\+\_\+color\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+ambient\+\_\+light\+\_\+color\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{int}]{ar, }
\item[{int}]{ag, }
\item[{int}]{ab}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga564febf03357030ed82748572f25ddb8}


Set color of the ambient light to be applied on the scene. 

By default, ambient color is set to r=0, g=0, b=0.


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
{\em ar} & ambient color red value (0 -\/ 255) \\
\hline
{\em ag} & ambient color green value (0 -\/ 255) \\
\hline
{\em ab} & ambient color blue value (0 -\/ 255)\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gac798a9ec1348f4e3d0273287b00641d0}{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+set()} for more details. 

\hyperlink{group__EPhysics__World_ga982ae13814b01b6419dcf853db332e3d}{ephysics\+\_\+world\+\_\+ambient\+\_\+light\+\_\+color\+\_\+get()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga202072d9ea09764d6127f0e70dc7ac03}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+get@{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+get@{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{{\bf Evas\+\_\+\+Coord} $\ast$}]{lx, }
\item[{{\bf Evas\+\_\+\+Coord} $\ast$}]{ly, }
\item[{{\bf Evas\+\_\+\+Coord} $\ast$}]{lz}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga202072d9ea09764d6127f0e70dc7ac03}


Get position of point light applied on the scene. 


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
{\em lx} & X coordinate in space of light point \\
\hline
{\em ly} & Y coordinate in space of light point \\
\hline
{\em lz} & Z coordinate in space of light point\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gac798a9ec1348f4e3d0273287b00641d0}{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+set()} for details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga99817f08b591d802c99b274070d01bc1}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+color\+\_\+get@{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+color\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+color\+\_\+get@{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+color\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+color\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+color\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{int $\ast$}]{lr, }
\item[{int $\ast$}]{lg, }
\item[{int $\ast$}]{lb}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga99817f08b591d802c99b274070d01bc1}


Get color of point light applied on the scene. 

By default color of point light is r=255, g=255, b=255.


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
{\em lr} & light red value (0 -\/ 255) \\
\hline
{\em lg} & light green value (0 -\/ 255) \\
\hline
{\em lb} & light blue value (0 -\/ 255)\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gac798a9ec1348f4e3d0273287b00641d0}{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+set()} for more details. 

\hyperlink{group__EPhysics__World_gad8a25241614ac01d37df87cc2668bf9e}{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+color\+\_\+set()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga982ae13814b01b6419dcf853db332e3d}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+ambient\+\_\+light\+\_\+color\+\_\+get@{ephysics\+\_\+world\+\_\+ambient\+\_\+light\+\_\+color\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+ambient\+\_\+light\+\_\+color\+\_\+get@{ephysics\+\_\+world\+\_\+ambient\+\_\+light\+\_\+color\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+ambient\+\_\+light\+\_\+color\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+ambient\+\_\+light\+\_\+color\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{int $\ast$}]{ar, }
\item[{int $\ast$}]{ag, }
\item[{int $\ast$}]{ab}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga982ae13814b01b6419dcf853db332e3d}


Set color of the ambient light to be applied on the scene. 

By default, ambient color is set to r=0, g=0, b=0.


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
{\em ar} & ambient color red value (0 -\/ 255) \\
\hline
{\em ag} & ambient color green value (0 -\/ 255) \\
\hline
{\em ab} & ambient color blue value (0 -\/ 255)\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gac798a9ec1348f4e3d0273287b00641d0}{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+set()} for more details. 

\hyperlink{group__EPhysics__World_ga564febf03357030ed82748572f25ddb8}{ephysics\+\_\+world\+\_\+ambient\+\_\+light\+\_\+color\+\_\+set()}. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga9ccd111c05eafbdc99dc70e7c0ca5b22}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+light\+\_\+all\+\_\+bodies\+\_\+set@{ephysics\+\_\+world\+\_\+light\+\_\+all\+\_\+bodies\+\_\+set}}
\index{ephysics\+\_\+world\+\_\+light\+\_\+all\+\_\+bodies\+\_\+set@{ephysics\+\_\+world\+\_\+light\+\_\+all\+\_\+bodies\+\_\+set}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+light\+\_\+all\+\_\+bodies\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+light\+\_\+all\+\_\+bodies\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{{\bf Eina\+\_\+\+Bool}}]{enable}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga9ccd111c05eafbdc99dc70e7c0ca5b22}


Set if light should be applied over all the bodies. 


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
{\em enable} & {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if light should be obligatory applied over all the bodies, or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} if it only should be applied on bodies with light property set.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gac798a9ec1348f4e3d0273287b00641d0}{ephysics\+\_\+world\+\_\+point\+\_\+light\+\_\+position\+\_\+set()} for more details. 

\hyperlink{group__EPhysics__World_ga3a94f91f0748f640140b8a4fa57dbea0}{ephysics\+\_\+world\+\_\+light\+\_\+all\+\_\+bodies\+\_\+get()}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}.\end{Desc}
\hypertarget{group__EPhysics__World_ga3a94f91f0748f640140b8a4fa57dbea0}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+light\+\_\+all\+\_\+bodies\+\_\+get@{ephysics\+\_\+world\+\_\+light\+\_\+all\+\_\+bodies\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+light\+\_\+all\+\_\+bodies\+\_\+get@{ephysics\+\_\+world\+\_\+light\+\_\+all\+\_\+bodies\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+light\+\_\+all\+\_\+bodies\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ephysics\+\_\+world\+\_\+light\+\_\+all\+\_\+bodies\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga3a94f91f0748f640140b8a4fa57dbea0}


Get light setting regarding being applied over all the bodies. 


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if light will be obligatory applied over all the bodies, or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} if it only will be applied on bodies with light property set, or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_ga9ccd111c05eafbdc99dc70e7c0ca5b22}{ephysics\+\_\+world\+\_\+light\+\_\+all\+\_\+bodies\+\_\+set()} for details. 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_ga0f9ea8e4dff64ad639c3f4c0075fbec9}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+stack\+\_\+enable\+\_\+set@{ephysics\+\_\+world\+\_\+stack\+\_\+enable\+\_\+set}}
\index{ephysics\+\_\+world\+\_\+stack\+\_\+enable\+\_\+set@{ephysics\+\_\+world\+\_\+stack\+\_\+enable\+\_\+set}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+stack\+\_\+enable\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ephysics\+\_\+world\+\_\+stack\+\_\+enable\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf E\+Physics\+\_\+\+World} $\ast$}]{world, }
\item[{{\bf Eina\+\_\+\+Bool}}]{enabled}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_ga0f9ea8e4dff64ad639c3f4c0075fbec9}


Enable / disable stacking based on bodies z coordinates. 

Evas objects associated to bodies will be restacked when it's enabled. So if a body A has coordinates x = 10, y = 10, z = 8 and a body B has coordinates x = 10, y = 10, z = 10, the evas object associated to B will be displayed below the evas object associated to A.

Evas objects will be restacked at each simulation tick. It's enabled by default, and disabling it can lead to wrong scenarios when movement on Z axis is enabled or when cloths are used.

But disabling it can save performance, so if you won't face these scenarios, it safe to disable it, since no evas object will be moved to be below or above others.


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
{\em enabled} & If {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E}, stacking based on Z coordinates will be enabled, otherwise it will be disabled.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_gaf6eccd13662674b879c91b24a1913bfc}{ephysics\+\_\+world\+\_\+stack\+\_\+enable\+\_\+get()} 

\hyperlink{group__EPhysics__Body_ga39cb9e95bbe1d097926a09365c501db3}{ephysics\+\_\+body\+\_\+evas\+\_\+object\+\_\+set()} 
\end{DoxySeeAlso}
\hypertarget{group__EPhysics__World_gaf6eccd13662674b879c91b24a1913bfc}{\index{E\+Physics World@{E\+Physics World}!ephysics\+\_\+world\+\_\+stack\+\_\+enable\+\_\+get@{ephysics\+\_\+world\+\_\+stack\+\_\+enable\+\_\+get}}
\index{ephysics\+\_\+world\+\_\+stack\+\_\+enable\+\_\+get@{ephysics\+\_\+world\+\_\+stack\+\_\+enable\+\_\+get}!E\+Physics World@{E\+Physics World}}
\subsubsection[{ephysics\+\_\+world\+\_\+stack\+\_\+enable\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ephysics\+\_\+world\+\_\+stack\+\_\+enable\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf E\+Physics\+\_\+\+World} $\ast$}]{world}
\end{DoxyParamCaption}
)}}\label{group__EPhysics__World_gaf6eccd13662674b879c91b24a1913bfc}


Get stacking status of world. 

Stacking based on bodies z coordinates can be enabled or disabled.


\begin{DoxyParams}{Parameters}
{\em world} & The physics world. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if it's running, or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} if it's paused or on error.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics__World_ga0f9ea8e4dff64ad639c3f4c0075fbec9}{ephysics\+\_\+world\+\_\+stack\+\_\+enable\+\_\+set()} for more details. 
\end{DoxySeeAlso}
