Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bad97183153701b09df5fae1052b1c30 > files > 3547

crystalspace-doc-1.2.1-5mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Crystal Space 1.2.1: iRigidBody Struct Reference (Crystal Space 1.2.1 Public API Reference)</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="head">
 <tr height="59">
  <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td>
  <td class="head"><h2>Public API Reference</h2></td>
 </tr>
 <tr height="11">
  <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td>
 </tr>
</table>
<div class="content">
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>iRigidBody Struct Reference</h1><!-- doxytag: class="iRigidBody" --><!-- doxytag: inherits="iBase" -->This is the interface for a rigid body.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="dynamics_8h-source.html">ivaria/dynamics.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for iRigidBody:</div>
<div class="dynsection">
<p><center><img src="structiRigidBody__inherit__graph.png" border="0" usemap="#iRigidBody__inherit__map" alt="Inheritance graph"></center>
<map name="iRigidBody__inherit__map">
<area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="21,7,77,33"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="structiRigidBody-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#7c2a68d8b505a6b8bd3da2c9692eab76">AddForce</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;force)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a force (world space) (active for one timestep).  <a href="#7c2a68d8b505a6b8bd3da2c9692eab76"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#983d9ce9e9bd78980f4a5a1994260455">AddForceAtPos</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;force, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;pos)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a force (world space) at a specific position (world space) (active for one timestep).  <a href="#983d9ce9e9bd78980f4a5a1994260455"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#08e8cf4338f1752447ba1aabedce2c8e">AddForceAtRelPos</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;force, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;pos)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a force (world space) at a specific position (local space) (active for one timestep).  <a href="#08e8cf4338f1752447ba1aabedce2c8e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#fc4174a6fec4ebcbeb674db04a1d608b">AddRelForce</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;force)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a force (local space) (active for one timestep).  <a href="#fc4174a6fec4ebcbeb674db04a1d608b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#71252d2dd46d9b454a7a529fc9f73305">AddRelForceAtPos</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;force, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;pos)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a force (local space) at a specific position (world space) (active for one timestep).  <a href="#71252d2dd46d9b454a7a529fc9f73305"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#6ceb22efe62fe778509a51ab36cdd903">AddRelForceAtRelPos</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;force, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;pos)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a force (local space) at a specific position (loacl space) (active for one timestep).  <a href="#6ceb22efe62fe778509a51ab36cdd903"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#4ccce03d1df3ac3d29caa92ab97ab595">AddRelTorque</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;force)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a torque (local space) (active for one timestep).  <a href="#4ccce03d1df3ac3d29caa92ab97ab595"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#98ac49f5a395e76e7ab63251f5b18a7b">AddTorque</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;force)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a torque (world space) (active for one timestep).  <a href="#98ac49f5a395e76e7ab63251f5b18a7b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#798f706d7865e44f4eff5647043fdd78">AdjustTotalMass</a> (float targetmass)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set total mass to targetmass, and adjust properties.  <a href="#798f706d7865e44f4eff5647043fdd78"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#1c76232df9c69f2349be039766933db5">AttachCamera</a> (<a class="el" href="structiCamera.html">iCamera</a> *camera)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attach an <a class="el" href="structiCamera.html" title="Camera class.">iCamera</a> to this body.  <a href="#1c76232df9c69f2349be039766933db5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#0bdc2f98e2a32d86e44cecb639e032f1">AttachCollider</a> (<a class="el" href="structiDynamicsSystemCollider.html">iDynamicsSystemCollider</a> *collider)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attach collider to rigid body.  <a href="#0bdc2f98e2a32d86e44cecb639e032f1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#36721ffa511162e4275a6709795a39cd">AttachColliderBox</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;size, const <a class="el" href="classcsOrthoTransform.html">csOrthoTransform</a> &amp;trans, float friction, float density, float elasticity, float softness=0.01f)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a collider box with given properties.  <a href="#36721ffa511162e4275a6709795a39cd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#a1fc685559f2845b851324526cfcd6dd">AttachColliderCylinder</a> (float length, float radius, const <a class="el" href="classcsOrthoTransform.html">csOrthoTransform</a> &amp;trans, float friction, float density, float elasticity, float softness=0.01f)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cylinder orientated along its local z axis.  <a href="#a1fc685559f2845b851324526cfcd6dd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#f3fa7e1fdffa90cc1c956d7aad0f3fc9">AttachColliderMesh</a> (<a class="el" href="structiMeshWrapper.html">iMeshWrapper</a> *mesh, const <a class="el" href="classcsOrthoTransform.html">csOrthoTransform</a> &amp;trans, float friction, float density, float elasticity, float softness=0.01f)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a collider with a associated friction coefficient.  <a href="#f3fa7e1fdffa90cc1c956d7aad0f3fc9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#b7d3c0350d8d1e0dd5a82c9a3096690b">AttachColliderPlane</a> (const <a class="el" href="classcsPlane3.html">csPlane3</a> &amp;plane, float friction, float density, float elasticity, float softness=0.01f)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a collider plane with given properties.  <a href="#b7d3c0350d8d1e0dd5a82c9a3096690b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#0c4d1d25dd984af1099e66e3acf5f879">AttachColliderSphere</a> (float radius, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;offset, float friction, float density, float elasticity, float softness=0.01f)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a collider sphere with given properties.  <a href="#0c4d1d25dd984af1099e66e3acf5f879"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#f21e638fe85b8ea020b32e08a6baf5e1">AttachLight</a> (<a class="el" href="structiLight.html">iLight</a> *light)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attach an <a class="el" href="structiLight.html" title="The iLight interface is the SCF interface for the csLight class.">iLight</a> to this body.  <a href="#f21e638fe85b8ea020b32e08a6baf5e1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#519d785cfde4add3b010057655a5e1a0">AttachMesh</a> (<a class="el" href="structiMeshWrapper.html">iMeshWrapper</a> *mesh)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attach an <a class="el" href="structiMeshWrapper.html" title="A mesh wrapper is an engine-level object that wraps around an actual mesh object...">iMeshWrapper</a> to this body.  <a href="#519d785cfde4add3b010057655a5e1a0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#ed50a48483fd780cbb67f956bb3cf8cd">Collision</a> (<a class="el" href="structiRigidBody.html">iRigidBody</a> *other, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;pos, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;normal, float depth)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If there's a collision callback with this body, execute it.  <a href="#ed50a48483fd780cbb67f956bb3cf8cd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#02c067f100833f14fb72f34db6e50354">DestroyCollider</a> (<a class="el" href="structiDynamicsSystemCollider.html">iDynamicsSystemCollider</a> *collider)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy body collider.  <a href="#02c067f100833f14fb72f34db6e50354"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#29a25c25825eb5f641970102f791b707">DestroyColliders</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy body colliders.  <a href="#29a25c25825eb5f641970102f791b707"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#40bd14b54fce76f18efec46878b6e82e">Disable</a> (void)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Temporarily ignores the body until something collides with it.  <a href="#40bd14b54fce76f18efec46878b6e82e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#7e9ba50dc2386b13ab295c964dc590bf">Enable</a> (void)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Re-enables a body after calling Disable, or by being auto disabled.  <a href="#7e9ba50dc2386b13ab295c964dc590bf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classcsVector3.html">csVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#e804da1fc623a32e6c4c7efa56f8f9d3">GetAngularVelocity</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the angular velocity (rotation).  <a href="#e804da1fc623a32e6c4c7efa56f8f9d3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiCamera.html">iCamera</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#5ba2bc9dedd2364b550f15dccc9b04e1">GetAttachedCamera</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the attached camera.  <a href="#5ba2bc9dedd2364b550f15dccc9b04e1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiLight.html">iLight</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#d8e5eaf02b7451e3ca6c84593ac8507d">GetAttachedLight</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the attached light.  <a href="#d8e5eaf02b7451e3ca6c84593ac8507d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiMeshWrapper.html">iMeshWrapper</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#7195434fea4fa7c6f61eff7ce50c2b2b">GetAttachedMesh</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the attached MeshWrapper.  <a href="#7195434fea4fa7c6f61eff7ce50c2b2b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsVector3.html">csVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#445f9156cb4601868d1988f2507e1caa">GetCenter</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get center.  <a href="#445f9156cb4601868d1988f2507e1caa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsRef.html">csRef</a><br>
&lt; <a class="el" href="structiDynamicsSystemCollider.html">iDynamicsSystemCollider</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#314ccd916ef547a9d40475f940486747">GetCollider</a> (unsigned int index)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get body collider by its index.  <a href="#314ccd916ef547a9d40475f940486747"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#a685e6f9051c6af001db70bbddd4d14a">GetColliderCount</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get body colliders count.  <a href="#a685e6f9051c6af001db70bbddd4d14a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classcsVector3.html">csVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#930c32ec7aff9bf78b8761d5259c3a19">GetForce</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get total force (world space).  <a href="#930c32ec7aff9bf78b8761d5259c3a19"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsRef.html">csRef</a><br>
&lt; <a class="el" href="structiBodyGroup.html">iBodyGroup</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#1fdea1c1e51dfa11b26a8740fb868cf5">GetGroup</a> (void)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns which group a body belongs to.  <a href="#1fdea1c1e51dfa11b26a8740fb868cf5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsMatrix3.html">csMatrix3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#705986dc39460a7292d8320e93e7969a">GetInertia</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get inertia.  <a href="#705986dc39460a7292d8320e93e7969a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classcsVector3.html">csVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#4daee9b727db816e259cd63fe001d11a">GetLinearVelocity</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the linear velocity (movement).  <a href="#4daee9b727db816e259cd63fe001d11a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#7623b858716f07088293a984a86765e0">GetMass</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get mass.  <a href="#7623b858716f07088293a984a86765e0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classcsMatrix3.html">csMatrix3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#9a843e8c8d3e62ae43b288dd5ad61bc2">GetOrientation</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the orientation.  <a href="#9a843e8c8d3e62ae43b288dd5ad61bc2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classcsVector3.html">csVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#1d02c4a10c4a75fdc295b137516f66c2">GetPosition</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the position.  <a href="#1d02c4a10c4a75fdc295b137516f66c2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#938c8c9fa96c8be28bc7579594c8d20e">GetProperties</a> (float *mass, <a class="el" href="classcsVector3.html">csVector3</a> *center, <a class="el" href="classcsMatrix3.html">csMatrix3</a> *inertia)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the physic properties. 0 parameters are ignored.  <a href="#938c8c9fa96c8be28bc7579594c8d20e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classcsVector3.html">csVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#f0f5e68eb54bd8d0f19957271a4d12cb">GetTorque</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get total torque (world space).  <a href="#f0f5e68eb54bd8d0f19957271a4d12cb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <br>
<a class="el" href="classcsOrthoTransform.html">csOrthoTransform</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#5e97d4affcec251ea9189a6120e4c1af">GetTransform</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the transform.  <a href="#5e97d4affcec251ea9189a6120e4c1af"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#86a56233211a2cc44261b3e771b6c631">IsEnabled</a> (void)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if a body is enabled.  <a href="#86a56233211a2cc44261b3e771b6c631"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#a33c2f23878073bba2744fc35bb9553e">IsStatic</a> (void)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tells whether a body has been made static or not.  <a href="#a33c2f23878073bba2744fc35bb9553e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#b911d0db4162d02a778539fa41926dc3">MakeDynamic</a> (void)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a static body to a dynamic state.  <a href="#b911d0db4162d02a778539fa41926dc3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#c4cade2d5db4b51eb48eb9a65afe4ab5">MakeStatic</a> (void)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes a body stop reacting dynamically.  <a href="#c4cade2d5db4b51eb48eb9a65afe4ab5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiObject.html">iObject</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#7aea07ea3bb4206bccda2233a97b8fac">QueryObject</a> (void)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns the underlying object  <a href="#7aea07ea3bb4206bccda2233a97b8fac"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#0b6ced1fcb5d830e5df6f7114fbfbc08">SetAngularVelocity</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;vel)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the angular velocity (rotation).  <a href="#0b6ced1fcb5d830e5df6f7114fbfbc08"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#4b5d99b3038c22f57ed6cd18d122a8b0">SetCollisionCallback</a> (<a class="el" href="structiDynamicsCollisionCallback.html">iDynamicsCollisionCallback</a> *cb)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a callback to be executed when this body collides with another If 0, no callback is executed.  <a href="#4b5d99b3038c22f57ed6cd18d122a8b0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#a9bba853fb4c2dff42b4ea695e006c78">SetLinearVelocity</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;vel)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the linear velocity (movement).  <a href="#a9bba853fb4c2dff42b4ea695e006c78"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#9d142e4077ae6874dac9dc2129b33e21">SetMoveCallback</a> (<a class="el" href="structiDynamicsMoveCallback.html">iDynamicsMoveCallback</a> *cb)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a callback to be executed when this body moves.  <a href="#9d142e4077ae6874dac9dc2129b33e21"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#6c1775ff3784fcb5625db083f83aa18b">SetOrientation</a> (const <a class="el" href="classcsMatrix3.html">csMatrix3</a> &amp;trans)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the orientation.  <a href="#6c1775ff3784fcb5625db083f83aa18b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#dbdad427ff30dcf47ec708aaf2dc8f38">SetPosition</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;trans)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the position.  <a href="#dbdad427ff30dcf47ec708aaf2dc8f38"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#c7994ee8d911634e435ab4d675f7ba47">SetProperties</a> (float mass, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;center, const <a class="el" href="classcsMatrix3.html">csMatrix3</a> &amp;inertia)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the physic properties.  <a href="#c7994ee8d911634e435ab4d675f7ba47"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#fa8ec940584458a682ef20d57a8a9199">SetTransform</a> (const <a class="el" href="classcsOrthoTransform.html">csOrthoTransform</a> &amp;trans)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the transform.  <a href="#fa8ec940584458a682ef20d57a8a9199"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiRigidBody.html#b301657bf77e098036839bcd01209e73">Update</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Update transforms for mesh and/or bone.  <a href="#b301657bf77e098036839bcd01209e73"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This is the interface for a rigid body. 
<p>
It keeps all properties for the body. It can also be attached to a movable or a bone, to automatically update it.<p>
Main creators of instances implementing this interface:<ul>
<li><a class="el" href="structiDynamicSystem.html#291a3b0f3f65d25d290bc6511291d60a" title="Create a rigid body and add it to the simulation.">iDynamicSystem::CreateBody()</a></li></ul>
<p>
Main ways to get pointers to this interface:<ul>
<li><a class="el" href="structiDynamicSystem.html#a969e3f449c2429d4baf24e4ed44c1ad" title="Finds a body within a system.">iDynamicSystem::FindBody()</a></li></ul>
<p>
Main users of this interface:<ul>
<li><a class="el" href="structiDynamicSystem.html" title="This is the interface for the dynamics core.">iDynamicSystem</a> </li></ul>

<p>Definition at line <a class="el" href="dynamics_8h-source.html#l00382">382</a> of file <a class="el" href="dynamics_8h-source.html">dynamics.h</a>.</p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="7c2a68d8b505a6b8bd3da2c9692eab76"></a><!-- doxytag: member="iRigidBody::AddForce" ref="7c2a68d8b505a6b8bd3da2c9692eab76" args="(const csVector3 &amp;force)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::AddForce           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>force</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a force (world space) (active for one timestep). 
<p>

</div>
</div><p>
<a class="anchor" name="983d9ce9e9bd78980f4a5a1994260455"></a><!-- doxytag: member="iRigidBody::AddForceAtPos" ref="983d9ce9e9bd78980f4a5a1994260455" args="(const csVector3 &amp;force, const csVector3 &amp;pos)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::AddForceAtPos           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>force</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pos</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a force (world space) at a specific position (world space) (active for one timestep). 
<p>

</div>
</div><p>
<a class="anchor" name="08e8cf4338f1752447ba1aabedce2c8e"></a><!-- doxytag: member="iRigidBody::AddForceAtRelPos" ref="08e8cf4338f1752447ba1aabedce2c8e" args="(const csVector3 &amp;force, const csVector3 &amp;pos)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::AddForceAtRelPos           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>force</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pos</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a force (world space) at a specific position (local space) (active for one timestep). 
<p>

</div>
</div><p>
<a class="anchor" name="fc4174a6fec4ebcbeb674db04a1d608b"></a><!-- doxytag: member="iRigidBody::AddRelForce" ref="fc4174a6fec4ebcbeb674db04a1d608b" args="(const csVector3 &amp;force)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::AddRelForce           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>force</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a force (local space) (active for one timestep). 
<p>

</div>
</div><p>
<a class="anchor" name="71252d2dd46d9b454a7a529fc9f73305"></a><!-- doxytag: member="iRigidBody::AddRelForceAtPos" ref="71252d2dd46d9b454a7a529fc9f73305" args="(const csVector3 &amp;force, const csVector3 &amp;pos)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::AddRelForceAtPos           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>force</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pos</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a force (local space) at a specific position (world space) (active for one timestep). 
<p>

</div>
</div><p>
<a class="anchor" name="6ceb22efe62fe778509a51ab36cdd903"></a><!-- doxytag: member="iRigidBody::AddRelForceAtRelPos" ref="6ceb22efe62fe778509a51ab36cdd903" args="(const csVector3 &amp;force, const csVector3 &amp;pos)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::AddRelForceAtRelPos           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>force</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pos</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a force (local space) at a specific position (loacl space) (active for one timestep). 
<p>

</div>
</div><p>
<a class="anchor" name="4ccce03d1df3ac3d29caa92ab97ab595"></a><!-- doxytag: member="iRigidBody::AddRelTorque" ref="4ccce03d1df3ac3d29caa92ab97ab595" args="(const csVector3 &amp;force)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::AddRelTorque           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>force</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a torque (local space) (active for one timestep). 
<p>

</div>
</div><p>
<a class="anchor" name="98ac49f5a395e76e7ab63251f5b18a7b"></a><!-- doxytag: member="iRigidBody::AddTorque" ref="98ac49f5a395e76e7ab63251f5b18a7b" args="(const csVector3 &amp;force)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::AddTorque           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>force</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a torque (world space) (active for one timestep). 
<p>

</div>
</div><p>
<a class="anchor" name="798f706d7865e44f4eff5647043fdd78"></a><!-- doxytag: member="iRigidBody::AdjustTotalMass" ref="798f706d7865e44f4eff5647043fdd78" args="(float targetmass)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::AdjustTotalMass           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>targetmass</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set total mass to targetmass, and adjust properties. 
<p>

</div>
</div><p>
<a class="anchor" name="1c76232df9c69f2349be039766933db5"></a><!-- doxytag: member="iRigidBody::AttachCamera" ref="1c76232df9c69f2349be039766933db5" args="(iCamera *camera)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::AttachCamera           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiCamera.html">iCamera</a> *&nbsp;</td>
          <td class="paramname"> <em>camera</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Attach an <a class="el" href="structiCamera.html" title="Camera class.">iCamera</a> to this body. 
<p>

</div>
</div><p>
<a class="anchor" name="0bdc2f98e2a32d86e44cecb639e032f1"></a><!-- doxytag: member="iRigidBody::AttachCollider" ref="0bdc2f98e2a32d86e44cecb639e032f1" args="(iDynamicsSystemCollider *collider)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::AttachCollider           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiDynamicsSystemCollider.html">iDynamicsSystemCollider</a> *&nbsp;</td>
          <td class="paramname"> <em>collider</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Attach collider to rigid body. 
<p>
If you have set colliders transform before then it will be considered as relative to attached body (but still if you will use colliders "GetTransform ()" it will be in the world coordinates. Colider become dynamic (which means that it will follow rigid body). 
</div>
</div><p>
<a class="anchor" name="36721ffa511162e4275a6709795a39cd"></a><!-- doxytag: member="iRigidBody::AttachColliderBox" ref="36721ffa511162e4275a6709795a39cd" args="(const csVector3 &amp;size, const csOrthoTransform &amp;trans, float friction, float density, float elasticity, float softness=0.01f)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iRigidBody::AttachColliderBox           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsOrthoTransform.html">csOrthoTransform</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>trans</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>friction</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>density</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>elasticity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>softness</em> = <code>0.01f</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a collider box with given properties. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>the box's dimensions </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>trans</em>&nbsp;</td><td>a hard transform to apply to the mesh </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>friction</em>&nbsp;</td><td>how much friction this body has, ranges from 0 (no friction) to infinity (perfect friction) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>density</em>&nbsp;</td><td>the density of this rigid body (used to calculate mass based on collider volume) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>elasticity</em>&nbsp;</td><td>the "bouncyness" of this object, from 0 (no bounce) to 1 (maximum bouncyness) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>softness</em>&nbsp;</td><td>how "squishy" this object is, in the range 0...1; small values (range of 0.00001 to 0.01) give reasonably stiff collision contacts, larger values are more "mushy" </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="a1fc685559f2845b851324526cfcd6dd"></a><!-- doxytag: member="iRigidBody::AttachColliderCylinder" ref="a1fc685559f2845b851324526cfcd6dd" args="(float length, float radius, const csOrthoTransform &amp;trans, float friction, float density, float elasticity, float softness=0.01f)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iRigidBody::AttachColliderCylinder           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>radius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsOrthoTransform.html">csOrthoTransform</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>trans</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>friction</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>density</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>elasticity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>softness</em> = <code>0.01f</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Cylinder orientated along its local z axis. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>length of the cylinder </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>radius</em>&nbsp;</td><td>radius of the cylinder </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>trans</em>&nbsp;</td><td>a hard transform to apply to the mesh </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>friction</em>&nbsp;</td><td>how much friction this body has, ranges from 0 (no friction) to infinity (perfect friction) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>density</em>&nbsp;</td><td>the density of this rigid body (used to calculate mass based on collider volume) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>elasticity</em>&nbsp;</td><td>the "bouncyness" of this object, from 0 (no bounce) to 1 (maximum bouncyness) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>softness</em>&nbsp;</td><td>how "squishy" this object is, in the range 0...1; small values (range of 0.00001 to 0.01) give reasonably stiff collision contacts, larger values are more "mushy" </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="f3fa7e1fdffa90cc1c956d7aad0f3fc9"></a><!-- doxytag: member="iRigidBody::AttachColliderMesh" ref="f3fa7e1fdffa90cc1c956d7aad0f3fc9" args="(iMeshWrapper *mesh, const csOrthoTransform &amp;trans, float friction, float density, float elasticity, float softness=0.01f)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iRigidBody::AttachColliderMesh           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiMeshWrapper.html">iMeshWrapper</a> *&nbsp;</td>
          <td class="paramname"> <em>mesh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsOrthoTransform.html">csOrthoTransform</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>trans</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>friction</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>density</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>elasticity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>softness</em> = <code>0.01f</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a collider with a associated friction coefficient. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>mesh</em>&nbsp;</td><td>the mesh object which will act as collider </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>trans</em>&nbsp;</td><td>a hard transform to apply to the mesh </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>friction</em>&nbsp;</td><td>how much friction this body has, ranges from 0 (no friction) to infinity (perfect friction) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>density</em>&nbsp;</td><td>the density of this rigid body (used to calculate mass based on collider volume) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>elasticity</em>&nbsp;</td><td>the "bouncyness" of this object, from 0 (no bounce) to 1 (maximum bouncyness) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>softness</em>&nbsp;</td><td>how "squishy" this object is, in the range 0...1; small values (range of 0.00001 to 0.01) give reasonably stiff collision contacts, larger values are more "mushy" </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="b7d3c0350d8d1e0dd5a82c9a3096690b"></a><!-- doxytag: member="iRigidBody::AttachColliderPlane" ref="b7d3c0350d8d1e0dd5a82c9a3096690b" args="(const csPlane3 &amp;plane, float friction, float density, float elasticity, float softness=0.01f)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iRigidBody::AttachColliderPlane           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsPlane3.html">csPlane3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>plane</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>friction</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>density</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>elasticity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>softness</em> = <code>0.01f</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a collider plane with given properties. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>plane</em>&nbsp;</td><td>the plane which will act as collider </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>friction</em>&nbsp;</td><td>how much friction this body has, ranges from 0 (no friction) to infinity (perfect friction) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>density</em>&nbsp;</td><td>the density of this rigid body (used to calculate mass based on collider volume) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>elasticity</em>&nbsp;</td><td>the "bouncyness" of this object, from 0 (no bounce) to 1 (maximum bouncyness) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>softness</em>&nbsp;</td><td>how "squishy" this object is, in the range 0...1; small values (range of 0.00001 to 0.01) give reasonably stiff collision contacts, larger values are more "mushy" </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="0c4d1d25dd984af1099e66e3acf5f879"></a><!-- doxytag: member="iRigidBody::AttachColliderSphere" ref="0c4d1d25dd984af1099e66e3acf5f879" args="(float radius, const csVector3 &amp;offset, float friction, float density, float elasticity, float softness=0.01f)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iRigidBody::AttachColliderSphere           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>radius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>friction</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>density</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>elasticity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>softness</em> = <code>0.01f</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a collider sphere with given properties. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>radius</em>&nbsp;</td><td>radius of sphere </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>position of sphere </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>friction</em>&nbsp;</td><td>how much friction this body has, ranges from 0 (no friction) to infinity (perfect friction) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>density</em>&nbsp;</td><td>the density of this rigid body (used to calculate mass based on collider volume) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>elasticity</em>&nbsp;</td><td>the "bouncyness" of this object, from 0 (no bounce) to 1 (maximum bouncyness) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>softness</em>&nbsp;</td><td>how "squishy" this object is, in the range 0...1; small values (range of 0.00001 to 0.01) give reasonably stiff collision contacts, larger values are more "mushy" </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="f21e638fe85b8ea020b32e08a6baf5e1"></a><!-- doxytag: member="iRigidBody::AttachLight" ref="f21e638fe85b8ea020b32e08a6baf5e1" args="(iLight *light)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::AttachLight           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiLight.html">iLight</a> *&nbsp;</td>
          <td class="paramname"> <em>light</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Attach an <a class="el" href="structiLight.html" title="The iLight interface is the SCF interface for the csLight class.">iLight</a> to this body. 
<p>

</div>
</div><p>
<a class="anchor" name="519d785cfde4add3b010057655a5e1a0"></a><!-- doxytag: member="iRigidBody::AttachMesh" ref="519d785cfde4add3b010057655a5e1a0" args="(iMeshWrapper *mesh)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::AttachMesh           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiMeshWrapper.html">iMeshWrapper</a> *&nbsp;</td>
          <td class="paramname"> <em>mesh</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Attach an <a class="el" href="structiMeshWrapper.html" title="A mesh wrapper is an engine-level object that wraps around an actual mesh object...">iMeshWrapper</a> to this body. 
<p>

</div>
</div><p>
<a class="anchor" name="ed50a48483fd780cbb67f956bb3cf8cd"></a><!-- doxytag: member="iRigidBody::Collision" ref="ed50a48483fd780cbb67f956bb3cf8cd" args="(iRigidBody *other, const csVector3 &amp;pos, const csVector3 &amp;normal, float depth)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::Collision           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiRigidBody.html">iRigidBody</a> *&nbsp;</td>
          <td class="paramname"> <em>other</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>normal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>depth</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
If there's a collision callback with this body, execute it. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>other</em>&nbsp;</td><td>The body that collided. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>is the position on which the collision occured. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>normal</em>&nbsp;</td><td>is the collision normal. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>depth</em>&nbsp;</td><td>is the penetration depth. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="02c067f100833f14fb72f34db6e50354"></a><!-- doxytag: member="iRigidBody::DestroyCollider" ref="02c067f100833f14fb72f34db6e50354" args="(iDynamicsSystemCollider *collider)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::DestroyCollider           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiDynamicsSystemCollider.html">iDynamicsSystemCollider</a> *&nbsp;</td>
          <td class="paramname"> <em>collider</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destroy body collider. 
<p>

</div>
</div><p>
<a class="anchor" name="29a25c25825eb5f641970102f791b707"></a><!-- doxytag: member="iRigidBody::DestroyColliders" ref="29a25c25825eb5f641970102f791b707" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::DestroyColliders           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destroy body colliders. 
<p>

</div>
</div><p>
<a class="anchor" name="40bd14b54fce76f18efec46878b6e82e"></a><!-- doxytag: member="iRigidBody::Disable" ref="40bd14b54fce76f18efec46878b6e82e" args="(void)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iRigidBody::Disable           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Temporarily ignores the body until something collides with it. 
<p>

</div>
</div><p>
<a class="anchor" name="7e9ba50dc2386b13ab295c964dc590bf"></a><!-- doxytag: member="iRigidBody::Enable" ref="7e9ba50dc2386b13ab295c964dc590bf" args="(void)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iRigidBody::Enable           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Re-enables a body after calling Disable, or by being auto disabled. 
<p>

</div>
</div><p>
<a class="anchor" name="e804da1fc623a32e6c4c7efa56f8f9d3"></a><!-- doxytag: member="iRigidBody::GetAngularVelocity" ref="e804da1fc623a32e6c4c7efa56f8f9d3" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classcsVector3.html">csVector3</a> iRigidBody::GetAngularVelocity           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the angular velocity (rotation). 
<p>

</div>
</div><p>
<a class="anchor" name="5ba2bc9dedd2364b550f15dccc9b04e1"></a><!-- doxytag: member="iRigidBody::GetAttachedCamera" ref="5ba2bc9dedd2364b550f15dccc9b04e1" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiCamera.html">iCamera</a>* iRigidBody::GetAttachedCamera           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the attached camera. 
<p>

</div>
</div><p>
<a class="anchor" name="d8e5eaf02b7451e3ca6c84593ac8507d"></a><!-- doxytag: member="iRigidBody::GetAttachedLight" ref="d8e5eaf02b7451e3ca6c84593ac8507d" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiLight.html">iLight</a>* iRigidBody::GetAttachedLight           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the attached light. 
<p>

</div>
</div><p>
<a class="anchor" name="7195434fea4fa7c6f61eff7ce50c2b2b"></a><!-- doxytag: member="iRigidBody::GetAttachedMesh" ref="7195434fea4fa7c6f61eff7ce50c2b2b" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiMeshWrapper.html">iMeshWrapper</a>* iRigidBody::GetAttachedMesh           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the attached MeshWrapper. 
<p>

</div>
</div><p>
<a class="anchor" name="445f9156cb4601868d1988f2507e1caa"></a><!-- doxytag: member="iRigidBody::GetCenter" ref="445f9156cb4601868d1988f2507e1caa" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsVector3.html">csVector3</a> iRigidBody::GetCenter           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get center. 
<p>

</div>
</div><p>
<a class="anchor" name="314ccd916ef547a9d40475f940486747"></a><!-- doxytag: member="iRigidBody::GetCollider" ref="314ccd916ef547a9d40475f940486747" args="(unsigned int index)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsRef.html">csRef</a>&lt;<a class="el" href="structiDynamicsSystemCollider.html">iDynamicsSystemCollider</a>&gt; iRigidBody::GetCollider           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>index</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get body collider by its index. 
<p>

</div>
</div><p>
<a class="anchor" name="a685e6f9051c6af001db70bbddd4d14a"></a><!-- doxytag: member="iRigidBody::GetColliderCount" ref="a685e6f9051c6af001db70bbddd4d14a" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int iRigidBody::GetColliderCount           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get body colliders count. 
<p>

</div>
</div><p>
<a class="anchor" name="930c32ec7aff9bf78b8761d5259c3a19"></a><!-- doxytag: member="iRigidBody::GetForce" ref="930c32ec7aff9bf78b8761d5259c3a19" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classcsVector3.html">csVector3</a> iRigidBody::GetForce           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get total force (world space). 
<p>

</div>
</div><p>
<a class="anchor" name="1fdea1c1e51dfa11b26a8740fb868cf5"></a><!-- doxytag: member="iRigidBody::GetGroup" ref="1fdea1c1e51dfa11b26a8740fb868cf5" args="(void)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsRef.html">csRef</a>&lt;<a class="el" href="structiBodyGroup.html">iBodyGroup</a>&gt; iRigidBody::GetGroup           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns which group a body belongs to. 
<p>

</div>
</div><p>
<a class="anchor" name="705986dc39460a7292d8320e93e7969a"></a><!-- doxytag: member="iRigidBody::GetInertia" ref="705986dc39460a7292d8320e93e7969a" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsMatrix3.html">csMatrix3</a> iRigidBody::GetInertia           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get inertia. 
<p>

</div>
</div><p>
<a class="anchor" name="4daee9b727db816e259cd63fe001d11a"></a><!-- doxytag: member="iRigidBody::GetLinearVelocity" ref="4daee9b727db816e259cd63fe001d11a" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classcsVector3.html">csVector3</a> iRigidBody::GetLinearVelocity           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the linear velocity (movement). 
<p>

</div>
</div><p>
<a class="anchor" name="7623b858716f07088293a984a86765e0"></a><!-- doxytag: member="iRigidBody::GetMass" ref="7623b858716f07088293a984a86765e0" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual float iRigidBody::GetMass           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get mass. 
<p>

</div>
</div><p>
<a class="anchor" name="9a843e8c8d3e62ae43b288dd5ad61bc2"></a><!-- doxytag: member="iRigidBody::GetOrientation" ref="9a843e8c8d3e62ae43b288dd5ad61bc2" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classcsMatrix3.html">csMatrix3</a> iRigidBody::GetOrientation           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the orientation. 
<p>

</div>
</div><p>
<a class="anchor" name="1d02c4a10c4a75fdc295b137516f66c2"></a><!-- doxytag: member="iRigidBody::GetPosition" ref="1d02c4a10c4a75fdc295b137516f66c2" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classcsVector3.html">csVector3</a> iRigidBody::GetPosition           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the position. 
<p>

</div>
</div><p>
<a class="anchor" name="938c8c9fa96c8be28bc7579594c8d20e"></a><!-- doxytag: member="iRigidBody::GetProperties" ref="938c8c9fa96c8be28bc7579594c8d20e" args="(float *mass, csVector3 *center, csMatrix3 *inertia)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::GetProperties           </td>
          <td>(</td>
          <td class="paramtype">float *&nbsp;</td>
          <td class="paramname"> <em>mass</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> *&nbsp;</td>
          <td class="paramname"> <em>center</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsMatrix3.html">csMatrix3</a> *&nbsp;</td>
          <td class="paramname"> <em>inertia</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the physic properties. 0 parameters are ignored. 
<p>

</div>
</div><p>
<a class="anchor" name="f0f5e68eb54bd8d0f19957271a4d12cb"></a><!-- doxytag: member="iRigidBody::GetTorque" ref="f0f5e68eb54bd8d0f19957271a4d12cb" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classcsVector3.html">csVector3</a> iRigidBody::GetTorque           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get total torque (world space). 
<p>

</div>
</div><p>
<a class="anchor" name="5e97d4affcec251ea9189a6120e4c1af"></a><!-- doxytag: member="iRigidBody::GetTransform" ref="5e97d4affcec251ea9189a6120e4c1af" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classcsOrthoTransform.html">csOrthoTransform</a> iRigidBody::GetTransform           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the transform. 
<p>

</div>
</div><p>
<a class="anchor" name="86a56233211a2cc44261b3e771b6c631"></a><!-- doxytag: member="iRigidBody::IsEnabled" ref="86a56233211a2cc44261b3e771b6c631" args="(void)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iRigidBody::IsEnabled           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns true if a body is enabled. 
<p>

</div>
</div><p>
<a class="anchor" name="a33c2f23878073bba2744fc35bb9553e"></a><!-- doxytag: member="iRigidBody::IsStatic" ref="a33c2f23878073bba2744fc35bb9553e" args="(void)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iRigidBody::IsStatic           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Tells whether a body has been made static or not. 
<p>

</div>
</div><p>
<a class="anchor" name="b911d0db4162d02a778539fa41926dc3"></a><!-- doxytag: member="iRigidBody::MakeDynamic" ref="b911d0db4162d02a778539fa41926dc3" args="(void)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iRigidBody::MakeDynamic           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a static body to a dynamic state. 
<p>

</div>
</div><p>
<a class="anchor" name="c4cade2d5db4b51eb48eb9a65afe4ab5"></a><!-- doxytag: member="iRigidBody::MakeStatic" ref="c4cade2d5db4b51eb48eb9a65afe4ab5" args="(void)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iRigidBody::MakeStatic           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Makes a body stop reacting dynamically. 
<p>
This is especially useful for environmental objects. It will also increase speed in some cases by ignoring all physics for that body 
</div>
</div><p>
<a class="anchor" name="7aea07ea3bb4206bccda2233a97b8fac"></a><!-- doxytag: member="iRigidBody::QueryObject" ref="7aea07ea3bb4206bccda2233a97b8fac" args="(void)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiObject.html">iObject</a>* iRigidBody::QueryObject           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
returns the underlying object 
<p>

</div>
</div><p>
<a class="anchor" name="0b6ced1fcb5d830e5df6f7114fbfbc08"></a><!-- doxytag: member="iRigidBody::SetAngularVelocity" ref="0b6ced1fcb5d830e5df6f7114fbfbc08" args="(const csVector3 &amp;vel)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::SetAngularVelocity           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vel</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the angular velocity (rotation). 
<p>

</div>
</div><p>
<a class="anchor" name="4b5d99b3038c22f57ed6cd18d122a8b0"></a><!-- doxytag: member="iRigidBody::SetCollisionCallback" ref="4b5d99b3038c22f57ed6cd18d122a8b0" args="(iDynamicsCollisionCallback *cb)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::SetCollisionCallback           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiDynamicsCollisionCallback.html">iDynamicsCollisionCallback</a> *&nbsp;</td>
          <td class="paramname"> <em>cb</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a callback to be executed when this body collides with another If 0, no callback is executed. 
<p>

</div>
</div><p>
<a class="anchor" name="a9bba853fb4c2dff42b4ea695e006c78"></a><!-- doxytag: member="iRigidBody::SetLinearVelocity" ref="a9bba853fb4c2dff42b4ea695e006c78" args="(const csVector3 &amp;vel)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::SetLinearVelocity           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vel</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the linear velocity (movement). 
<p>

</div>
</div><p>
<a class="anchor" name="9d142e4077ae6874dac9dc2129b33e21"></a><!-- doxytag: member="iRigidBody::SetMoveCallback" ref="9d142e4077ae6874dac9dc2129b33e21" args="(iDynamicsMoveCallback *cb)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::SetMoveCallback           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiDynamicsMoveCallback.html">iDynamicsMoveCallback</a> *&nbsp;</td>
          <td class="paramname"> <em>cb</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a callback to be executed when this body moves. 
<p>
If 0, no callback is executed. 
</div>
</div><p>
<a class="anchor" name="6c1775ff3784fcb5625db083f83aa18b"></a><!-- doxytag: member="iRigidBody::SetOrientation" ref="6c1775ff3784fcb5625db083f83aa18b" args="(const csMatrix3 &amp;trans)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::SetOrientation           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsMatrix3.html">csMatrix3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>trans</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the orientation. 
<p>

</div>
</div><p>
<a class="anchor" name="dbdad427ff30dcf47ec708aaf2dc8f38"></a><!-- doxytag: member="iRigidBody::SetPosition" ref="dbdad427ff30dcf47ec708aaf2dc8f38" args="(const csVector3 &amp;trans)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::SetPosition           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>trans</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the position. 
<p>

</div>
</div><p>
<a class="anchor" name="c7994ee8d911634e435ab4d675f7ba47"></a><!-- doxytag: member="iRigidBody::SetProperties" ref="c7994ee8d911634e435ab4d675f7ba47" args="(float mass, const csVector3 &amp;center, const csMatrix3 &amp;inertia)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::SetProperties           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>mass</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>center</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsMatrix3.html">csMatrix3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>inertia</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the physic properties. 
<p>

</div>
</div><p>
<a class="anchor" name="fa8ec940584458a682ef20d57a8a9199"></a><!-- doxytag: member="iRigidBody::SetTransform" ref="fa8ec940584458a682ef20d57a8a9199" args="(const csOrthoTransform &amp;trans)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::SetTransform           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsOrthoTransform.html">csOrthoTransform</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>trans</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the transform. 
<p>

</div>
</div><p>
<a class="anchor" name="b301657bf77e098036839bcd01209e73"></a><!-- doxytag: member="iRigidBody::Update" ref="b301657bf77e098036839bcd01209e73" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iRigidBody::Update           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Update transforms for mesh and/or bone. 
<p>

</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>ivaria/<a class="el" href="dynamics_8h-source.html">dynamics.h</a></ul>
<hr size="1"><address><small>Generated for Crystal Space 1.2.1 by 
<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 
</small></address> </div></body> </html>