\hypertarget{group__EPhysics}{}\section{E\+Physics}
\label{group__EPhysics}\index{E\+Physics@{E\+Physics}}


Physics simulation integration and visual effects.  


\subsection*{Modules}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__EPhysics__Quaternion}{E\+Physics Quaternion}}
\begin{DoxyCompactList}\small\item\em Quaternions are used to perform linear algebra rotations. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__EPhysics__Shape}{E\+Physics Shape}}
\begin{DoxyCompactList}\small\item\em Shapes are used to create bodies with shapes that differ from primitive ones, like box and cylinder. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__EPhysics__Camera}{E\+Physics Camera}}
\begin{DoxyCompactList}\small\item\em A camera defines the region of the physics world that will be rendered on the canvas. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__EPhysics__World}{E\+Physics World}}
\begin{DoxyCompactList}\small\item\em A world is required to simulate physics between bodies. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__EPhysics__Body}{E\+Physics Body}}
\begin{DoxyCompactList}\small\item\em A body is a representation of an object inside a physics world. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__EPhysics__Constraint}{E\+Physics Constraint}}
\begin{DoxyCompactList}\small\item\em Constraints can be used to limit bodies movements, between bodies or between bodies and the world. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} int \mbox{\hyperlink{group__EPhysics_gaca8fc170d73b3f688349cc4dbaf219fd}{ephysics\+\_\+init}} (void)
\begin{DoxyCompactList}\small\item\em Initialize E\+Physics. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} int \mbox{\hyperlink{group__EPhysics_ga07e695074fb4d5d125b36c3a1d963f49}{ephysics\+\_\+shutdown}} (void)
\begin{DoxyCompactList}\small\item\em Shutdown E\+Physics. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Physics simulation integration and visual effects. 



\subsection{Function Documentation}
\mbox{\Hypertarget{group__EPhysics_gaca8fc170d73b3f688349cc4dbaf219fd}\label{group__EPhysics_gaca8fc170d73b3f688349cc4dbaf219fd}} 
\index{E\+Physics@{E\+Physics}!ephysics\+\_\+init@{ephysics\+\_\+init}}
\index{ephysics\+\_\+init@{ephysics\+\_\+init}!E\+Physics@{E\+Physics}}
\subsubsection{\texorpdfstring{ephysics\+\_\+init()}{ephysics\_init()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} int ephysics\+\_\+init (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Initialize E\+Physics. 

Initializes Bullet physics engine.

\begin{DoxyReturn}{Returns}
The init counter value.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics_ga07e695074fb4d5d125b36c3a1d963f49}{ephysics\+\_\+shutdown()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}}, \mbox{\hyperlink{test_bouncing_ball_8c-example}{test\+\_\+bouncing\+\_\+ball.\+c}}, \mbox{\hyperlink{test_bouncing_text_8c-example}{test\+\_\+bouncing\+\_\+text.\+c}}, \mbox{\hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}}, \mbox{\hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}}, \mbox{\hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}}, \mbox{\hyperlink{test_collision_filter_8c-example}{test\+\_\+collision\+\_\+filter.\+c}}, \mbox{\hyperlink{test_constraint_8c-example}{test\+\_\+constraint.\+c}}, \mbox{\hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}}, \mbox{\hyperlink{test_forces_8c-example}{test\+\_\+forces.\+c}}, \mbox{\hyperlink{test_growing_balls_8c-example}{test\+\_\+growing\+\_\+balls.\+c}}, \mbox{\hyperlink{test_no_gravity_8c-example}{test\+\_\+no\+\_\+gravity.\+c}}, \mbox{\hyperlink{test_rotating_forever_8c-example}{test\+\_\+rotating\+\_\+forever.\+c}}, \mbox{\hyperlink{test_shapes_8c-example}{test\+\_\+shapes.\+c}}, \mbox{\hyperlink{test_sleeping_threshold_8c-example}{test\+\_\+sleeping\+\_\+threshold.\+c}}, \mbox{\hyperlink{test_slider_8c-example}{test\+\_\+slider.\+c}}, and \mbox{\hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__EPhysics_ga07e695074fb4d5d125b36c3a1d963f49}\label{group__EPhysics_ga07e695074fb4d5d125b36c3a1d963f49}} 
\index{E\+Physics@{E\+Physics}!ephysics\+\_\+shutdown@{ephysics\+\_\+shutdown}}
\index{ephysics\+\_\+shutdown@{ephysics\+\_\+shutdown}!E\+Physics@{E\+Physics}}
\subsubsection{\texorpdfstring{ephysics\+\_\+shutdown()}{ephysics\_shutdown()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} int ephysics\+\_\+shutdown (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Shutdown E\+Physics. 

Shutdown Bullet physics engine. If init count reaches 0, all the existing worlds will be deleted, and consequently all the bodies.

\begin{DoxyReturn}{Returns}
E\+Physics\textquotesingle{} init counter value.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__EPhysics_gaca8fc170d73b3f688349cc4dbaf219fd}{ephysics\+\_\+init()}}. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}}, \mbox{\hyperlink{test_camera_8c-example}{test\+\_\+camera.\+c}}, \mbox{\hyperlink{test_camera_track_8c-example}{test\+\_\+camera\+\_\+track.\+c}}, \mbox{\hyperlink{test_collision_detection_8c-example}{test\+\_\+collision\+\_\+detection.\+c}}, \mbox{\hyperlink{test_delete_8c-example}{test\+\_\+delete.\+c}}, \mbox{\hyperlink{test_growing_balls_8c-example}{test\+\_\+growing\+\_\+balls.\+c}}, and \mbox{\hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}}.\end{Desc}
