\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 
\hyperlink{group__EPhysics__Quaternion}{E\+Physics Quaternion}
\begin{DoxyCompactList}\small\item\em Quaternions are used to perform linear algebra rotations. \end{DoxyCompactList}\item 
\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 
\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 
\hyperlink{group__EPhysics__World}{E\+Physics World}
\begin{DoxyCompactList}\small\item\em A world is required to simulate physics between bodies. \end{DoxyCompactList}\item 
\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 
\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 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__EPhysics_gaca8fc170d73b3f688349cc4dbaf219fd}{ephysics\+\_\+init} (void)
\begin{DoxyCompactList}\small\item\em Initialize E\+Physics. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \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}
\hypertarget{group__EPhysics_gaca8fc170d73b3f688349cc4dbaf219fd}{}\index{E\+Physics@{E\+Physics}!ephysics\+\_\+init@{ephysics\+\_\+init}}
\index{ephysics\+\_\+init@{ephysics\+\_\+init}!E\+Physics@{E\+Physics}}
\subsubsection[{ephysics\+\_\+init(void)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int ephysics\+\_\+init (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\label{group__EPhysics_gaca8fc170d73b3f688349cc4dbaf219fd}


Initialize E\+Physics. 

Initializes Bullet physics engine.

\begin{DoxyReturn}{Returns}
The init counter value.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__EPhysics_ga07e695074fb4d5d125b36c3a1d963f49}{ephysics\+\_\+shutdown()}. 
\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_ga07e695074fb4d5d125b36c3a1d963f49}{}\index{E\+Physics@{E\+Physics}!ephysics\+\_\+shutdown@{ephysics\+\_\+shutdown}}
\index{ephysics\+\_\+shutdown@{ephysics\+\_\+shutdown}!E\+Physics@{E\+Physics}}
\subsubsection[{ephysics\+\_\+shutdown(void)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int ephysics\+\_\+shutdown (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\label{group__EPhysics_ga07e695074fb4d5d125b36c3a1d963f49}


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}
\hyperlink{group__EPhysics_gaca8fc170d73b3f688349cc4dbaf219fd}{ephysics\+\_\+init()}. 
\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}, \hyperlink{test_growing_balls_8c-example}{test\+\_\+growing\+\_\+balls.\+c}, and \hyperlink{test_velocity_8c-example}{test\+\_\+velocity.\+c}.\end{Desc}
