Sophie

Sophie

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

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: iDynamicSystem 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>iDynamicSystem Struct Reference</h1><!-- doxytag: class="iDynamicSystem" --><!-- doxytag: inherits="iBase" -->This is the interface for the dynamics core.  
<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 iDynamicSystem:</div>
<div class="dynsection">
<p><center><img src="structiDynamicSystem__inherit__graph.png" border="0" usemap="#iDynamicSystem__inherit__map" alt="Inheritance graph"></center>
<map name="iDynamicSystem__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="43,7,99,33"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="structiDynamicSystem-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="structiDynamicSystem.html#bd16f41cc92cba534dde08c84cd2275d">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 dynamic system.  <a href="#bd16f41cc92cba534dde08c84cd2275d"></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="structiDynamicSystem.html#3d08b869bc7bb1c538d1c7708c38ce43">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 elasticity, float softness=0.01f)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attaches a static collider box to world.  <a href="#3d08b869bc7bb1c538d1c7708c38ce43"></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="structiDynamicSystem.html#22c05542e9f0869b31d60371f87f092a">AttachColliderCylinder</a> (float length, float radius, const <a class="el" href="classcsOrthoTransform.html">csOrthoTransform</a> &amp;trans, float friction, float elasticity, float softness=0.01f)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attaches a static collider cylinder to world (oriented along it's Z axis).  <a href="#22c05542e9f0869b31d60371f87f092a"></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="structiDynamicSystem.html#9e4cb1cad040deacaf02df97ec55c939">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 elasticity, float softness=0.01f)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attaches a static collider mesh to world.  <a href="#9e4cb1cad040deacaf02df97ec55c939"></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="structiDynamicSystem.html#e9eddc879b08eed823d378477d1e5f6d">AttachColliderPlane</a> (const <a class="el" href="classcsPlane3.html">csPlane3</a> &amp;plane, float friction, float elasticity, float softness=0.01f)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attaches a static collider plane to world.  <a href="#e9eddc879b08eed823d378477d1e5f6d"></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="structiDynamicSystem.html#c6af95c792b5d751b056537347deb0eb">AttachColliderSphere</a> (float radius, const <a class="el" href="classcsVector3.html">csVector3</a> &amp;offset, float friction, float elasticity, float softness=0.01f)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attaches a static collider sphere to world.  <a href="#c6af95c792b5d751b056537347deb0eb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a><br>
&lt; <a class="el" href="structiRigidBody.html">iRigidBody</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiDynamicSystem.html#291a3b0f3f65d25d290bc6511291d60a">CreateBody</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a rigid body and add it to the simulation.  <a href="#291a3b0f3f65d25d290bc6511291d60a"></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="structiDynamicSystem.html#f14bd22e1450bdb97c1e37deee233052">CreateCollider</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create static collider and put it into simulation.  <a href="#f14bd22e1450bdb97c1e37deee233052"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a><br>
&lt; <a class="el" href="structiBodyGroup.html">iBodyGroup</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiDynamicSystem.html#2e3319edfec1797abc82a3112ca71998">CreateGroup</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a body group. Bodies in a group don't collide with each other.  <a href="#2e3319edfec1797abc82a3112ca71998"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt; <a class="el" href="structiJoint.html">iJoint</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiDynamicSystem.html#9f4156c2ab6332edcfffb5ac1f43edfb">CreateJoint</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a joint and add it to the simulation.  <a href="#9f4156c2ab6332edcfffb5ac1f43edfb"></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="structiDynamicSystem.html#96e0c5dc2e70c631ee2582876c973a01">DestroyCollider</a> (<a class="el" href="structiDynamicsSystemCollider.html">iDynamicsSystemCollider</a> *collider)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy static collider.  <a href="#96e0c5dc2e70c631ee2582876c973a01"></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="structiDynamicSystem.html#3f5ea0a9b0986b31f6e2fe9e94be502e">DestroyColliders</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy all static colliders.  <a href="#3f5ea0a9b0986b31f6e2fe9e94be502e"></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="structiDynamicSystem.html#9f48d7826e2f78f59f156e4e23d61907">EnableAutoDisable</a> (bool enable)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Turn on/off AutoDisable functionality.  <a href="#9f48d7826e2f78f59f156e4e23d61907"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiRigidBody.html">iRigidBody</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiDynamicSystem.html#a969e3f449c2429d4baf24e4ed44c1ad">FindBody</a> (const char *name)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finds a body within a system.  <a href="#a969e3f449c2429d4baf24e4ed44c1ad"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiRigidBody.html">iRigidBody</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiDynamicSystem.html#c42c7efb36cda2f22178821215965127">GetBody</a> (unsigned int index)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get Rigid Body by its index.  <a href="#c42c7efb36cda2f22178821215965127"></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="structiDynamicSystem.html#845d585a34eae20913460776f1379155">GetBodysCount</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get rigid bodys count.  <a href="#845d585a34eae20913460776f1379155"></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="structiDynamicSystem.html#17c0960be4fe5c9fef6aaa081d190e89">GetCollider</a> (unsigned int index)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get static collider.  <a href="#17c0960be4fe5c9fef6aaa081d190e89"></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="structiDynamicSystem.html#b38ea552238219cd4b6056bc10a674bd">GetColliderCount</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get static colliders count.  <a href="#b38ea552238219cd4b6056bc10a674bd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br>
<a class="el" href="structiDynamicsMoveCallback.html">iDynamicsMoveCallback</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiDynamicSystem.html#1b876631a683ee7a24dcef382aabdbb6">GetDefaultMoveCallback</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the default move callback.  <a href="#1b876631a683ee7a24dcef382aabdbb6"></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="structiDynamicSystem.html#3dabe0b6ddfb9a64a670d65346943199">GetGravity</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the global gravity.  <a href="#3dabe0b6ddfb9a64a670d65346943199"></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="structiDynamicSystem.html#0609aa3cde5196df7d58e3cba3854eac">GetLinearDampener</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the global linear dampener setting.  <a href="#0609aa3cde5196df7d58e3cba3854eac"></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="structiDynamicSystem.html#35056b9679654f5be94b0d346822f957">GetRollingDampener</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the global rolling dampener setting.  <a href="#35056b9679654f5be94b0d346822f957"></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="structiDynamicSystem.html#2acb7d6f87fcd7d33fbb5a5579fab047">QueryObject</a> (void)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns the underlying object  <a href="#2acb7d6f87fcd7d33fbb5a5579fab047"></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="structiDynamicSystem.html#0c3df60197d406c1ea31577547b67657">RemoveBody</a> (<a class="el" href="structiRigidBody.html">iRigidBody</a> *body)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a rigid body and add it to the simulation.  <a href="#0c3df60197d406c1ea31577547b67657"></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="structiDynamicSystem.html#727a7f6ce023f21f7b71de4a7d072dd2">RemoveGroup</a> (<a class="el" href="structiBodyGroup.html">iBodyGroup</a> *group)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a group from a simulation. Those bodies now collide.  <a href="#727a7f6ce023f21f7b71de4a7d072dd2"></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="structiDynamicSystem.html#3681fcca08aaf2d214fc374fef035300">RemoveJoint</a> (<a class="el" href="structiJoint.html">iJoint</a> *joint)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a joint from the simulation.  <a href="#3681fcca08aaf2d214fc374fef035300"></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="structiDynamicSystem.html#9da628db607de6c8424e3f20847f001f">SetAutoDisableParams</a> (float linear, float angular, int steps, float time)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the parameters for AutoDisable.  <a href="#9da628db607de6c8424e3f20847f001f"></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="structiDynamicSystem.html#984ef4b916592ea9a4d4228334008bfb">SetGravity</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;v)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the global gravity.  <a href="#984ef4b916592ea9a4d4228334008bfb"></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="structiDynamicSystem.html#04d0000cf75b84fe6352e57386b82d78">SetLinearDampener</a> (float d)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the global linear dampener.  <a href="#04d0000cf75b84fe6352e57386b82d78"></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="structiDynamicSystem.html#043c42e0a314dfe25c79151861923636">SetRollingDampener</a> (float d)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the global rolling dampener.  <a href="#043c42e0a314dfe25c79151861923636"></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="structiDynamicSystem.html#5ed29beeb38862085f77b0eecc83f86c">Step</a> (float stepsize)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Step the simulation forward by stepsize.  <a href="#5ed29beeb38862085f77b0eecc83f86c"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This is the interface for the dynamics core. 
<p>
It handles all bookkeeping for rigid bodies and joints. It also handles collision response. Collision detection is done in another plugin.<p>
Main creators of instances implementing this interface:<ul>
<li>iDynamicSystem::CreateSystem()</li></ul>
<p>
Main ways to get pointers to this interface:<ul>
<li>iDynamicSystem::FindSystem() </li></ul>

<p>Definition at line <a class="el" href="dynamics_8h-source.html#l00114">114</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="bd16f41cc92cba534dde08c84cd2275d"></a><!-- doxytag: member="iDynamicSystem::AttachCollider" ref="bd16f41cc92cba534dde08c84cd2275d" args="(iDynamicsSystemCollider *collider)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iDynamicSystem::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 dynamic system. 
<p>

</div>
</div><p>
<a class="anchor" name="3d08b869bc7bb1c538d1c7708c38ce43"></a><!-- doxytag: member="iDynamicSystem::AttachColliderBox" ref="3d08b869bc7bb1c538d1c7708c38ce43" args="(const csVector3 &amp;size, const csOrthoTransform &amp;trans, float friction, float elasticity, float softness=0.01f)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iDynamicSystem::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>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>
Attaches a static collider box to world. 
<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 size along each axis </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>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="22c05542e9f0869b31d60371f87f092a"></a><!-- doxytag: member="iDynamicSystem::AttachColliderCylinder" ref="22c05542e9f0869b31d60371f87f092a" args="(float length, float radius, const csOrthoTransform &amp;trans, float friction, float elasticity, float softness=0.01f)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iDynamicSystem::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>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>
Attaches a static collider cylinder to world (oriented along it's 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>the cylinder length along the axis </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>radius</em>&nbsp;</td><td>the cylinder radius </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>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="9e4cb1cad040deacaf02df97ec55c939"></a><!-- doxytag: member="iDynamicSystem::AttachColliderMesh" ref="9e4cb1cad040deacaf02df97ec55c939" args="(iMeshWrapper *mesh, const csOrthoTransform &amp;trans, float friction, float elasticity, float softness=0.01f)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iDynamicSystem::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>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>
Attaches a static collider mesh to world. 
<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 to use for collision detection </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>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="e9eddc879b08eed823d378477d1e5f6d"></a><!-- doxytag: member="iDynamicSystem::AttachColliderPlane" ref="e9eddc879b08eed823d378477d1e5f6d" args="(const csPlane3 &amp;plane, float friction, float elasticity, float softness=0.01f)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iDynamicSystem::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>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>
Attaches a static collider plane to world. 
<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>describes the plane to added </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>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="c6af95c792b5d751b056537347deb0eb"></a><!-- doxytag: member="iDynamicSystem::AttachColliderSphere" ref="c6af95c792b5d751b056537347deb0eb" args="(float radius, const csVector3 &amp;offset, float friction, float elasticity, float softness=0.01f)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iDynamicSystem::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>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>
Attaches a static collider sphere to world. 
<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>the radius of the sphere </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>a translation of the sphere's center from the default (0,0,0) </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>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="291a3b0f3f65d25d290bc6511291d60a"></a><!-- doxytag: member="iDynamicSystem::CreateBody" ref="291a3b0f3f65d25d290bc6511291d60a" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiRigidBody.html">iRigidBody</a>&gt; iDynamicSystem::CreateBody           </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>
Create a rigid body and add it to the simulation. 
<p>

</div>
</div><p>
<a class="anchor" name="f14bd22e1450bdb97c1e37deee233052"></a><!-- doxytag: member="iDynamicSystem::CreateCollider" ref="f14bd22e1450bdb97c1e37deee233052" args="()=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; iDynamicSystem::CreateCollider           </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>
Create static collider and put it into simulation. 
<p>
After collision it will remain in the same place, but it will affect collided dynamic colliders (to make it dynamic, just attach it to the rigid body). 
</div>
</div><p>
<a class="anchor" name="2e3319edfec1797abc82a3112ca71998"></a><!-- doxytag: member="iDynamicSystem::CreateGroup" ref="2e3319edfec1797abc82a3112ca71998" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiBodyGroup.html">iBodyGroup</a>&gt; iDynamicSystem::CreateGroup           </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>
Create a body group. Bodies in a group don't collide with each other. 
<p>

</div>
</div><p>
<a class="anchor" name="9f4156c2ab6332edcfffb5ac1f43edfb"></a><!-- doxytag: member="iDynamicSystem::CreateJoint" ref="9f4156c2ab6332edcfffb5ac1f43edfb" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiJoint.html">iJoint</a>&gt; iDynamicSystem::CreateJoint           </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>
Create a joint and add it to the simulation. 
<p>

</div>
</div><p>
<a class="anchor" name="96e0c5dc2e70c631ee2582876c973a01"></a><!-- doxytag: member="iDynamicSystem::DestroyCollider" ref="96e0c5dc2e70c631ee2582876c973a01" args="(iDynamicsSystemCollider *collider)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iDynamicSystem::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 static collider. 
<p>

</div>
</div><p>
<a class="anchor" name="3f5ea0a9b0986b31f6e2fe9e94be502e"></a><!-- doxytag: member="iDynamicSystem::DestroyColliders" ref="3f5ea0a9b0986b31f6e2fe9e94be502e" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iDynamicSystem::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 all static colliders. 
<p>

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

<p>
Turn on/off AutoDisable functionality. 
<p>
AutoDisable will stop moving objects if they are stable in order to save processing time. By default this is enabled. 
</div>
</div><p>
<a class="anchor" name="a969e3f449c2429d4baf24e4ed44c1ad"></a><!-- doxytag: member="iDynamicSystem::FindBody" ref="a969e3f449c2429d4baf24e4ed44c1ad" args="(const char *name)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiRigidBody.html">iRigidBody</a>* iDynamicSystem::FindBody           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Finds a body within a system. 
<p>

</div>
</div><p>
<a class="anchor" name="c42c7efb36cda2f22178821215965127"></a><!-- doxytag: member="iDynamicSystem::GetBody" ref="c42c7efb36cda2f22178821215965127" args="(unsigned int index)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiRigidBody.html">iRigidBody</a>* iDynamicSystem::GetBody           </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 Rigid Body by its index. 
<p>

</div>
</div><p>
<a class="anchor" name="845d585a34eae20913460776f1379155"></a><!-- doxytag: member="iDynamicSystem::GetBodysCount" ref="845d585a34eae20913460776f1379155" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int iDynamicSystem::GetBodysCount           </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 rigid bodys count. 
<p>

</div>
</div><p>
<a class="anchor" name="17c0960be4fe5c9fef6aaa081d190e89"></a><!-- doxytag: member="iDynamicSystem::GetCollider" ref="17c0960be4fe5c9fef6aaa081d190e89" 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; iDynamicSystem::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 static collider. 
<p>

</div>
</div><p>
<a class="anchor" name="b38ea552238219cd4b6056bc10a674bd"></a><!-- doxytag: member="iDynamicSystem::GetColliderCount" ref="b38ea552238219cd4b6056bc10a674bd" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int iDynamicSystem::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 static colliders count. 
<p>

</div>
</div><p>
<a class="anchor" name="1b876631a683ee7a24dcef382aabdbb6"></a><!-- doxytag: member="iDynamicSystem::GetDefaultMoveCallback" ref="1b876631a683ee7a24dcef382aabdbb6" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiDynamicsMoveCallback.html">iDynamicsMoveCallback</a>* iDynamicSystem::GetDefaultMoveCallback           </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 the default move callback. 
<p>

</div>
</div><p>
<a class="anchor" name="3dabe0b6ddfb9a64a670d65346943199"></a><!-- doxytag: member="iDynamicSystem::GetGravity" ref="3dabe0b6ddfb9a64a670d65346943199" 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> iDynamicSystem::GetGravity           </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 global gravity. 
<p>

</div>
</div><p>
<a class="anchor" name="0609aa3cde5196df7d58e3cba3854eac"></a><!-- doxytag: member="iDynamicSystem::GetLinearDampener" ref="0609aa3cde5196df7d58e3cba3854eac" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual float iDynamicSystem::GetLinearDampener           </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 global linear dampener setting. 
<p>

</div>
</div><p>
<a class="anchor" name="35056b9679654f5be94b0d346822f957"></a><!-- doxytag: member="iDynamicSystem::GetRollingDampener" ref="35056b9679654f5be94b0d346822f957" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual float iDynamicSystem::GetRollingDampener           </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 global rolling dampener setting. 
<p>

</div>
</div><p>
<a class="anchor" name="2acb7d6f87fcd7d33fbb5a5579fab047"></a><!-- doxytag: member="iDynamicSystem::QueryObject" ref="2acb7d6f87fcd7d33fbb5a5579fab047" 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>* iDynamicSystem::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="0c3df60197d406c1ea31577547b67657"></a><!-- doxytag: member="iDynamicSystem::RemoveBody" ref="0c3df60197d406c1ea31577547b67657" args="(iRigidBody *body)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iDynamicSystem::RemoveBody           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiRigidBody.html">iRigidBody</a> *&nbsp;</td>
          <td class="paramname"> <em>body</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a rigid body and add it to the simulation. 
<p>

</div>
</div><p>
<a class="anchor" name="727a7f6ce023f21f7b71de4a7d072dd2"></a><!-- doxytag: member="iDynamicSystem::RemoveGroup" ref="727a7f6ce023f21f7b71de4a7d072dd2" args="(iBodyGroup *group)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iDynamicSystem::RemoveGroup           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiBodyGroup.html">iBodyGroup</a> *&nbsp;</td>
          <td class="paramname"> <em>group</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove a group from a simulation. Those bodies now collide. 
<p>

</div>
</div><p>
<a class="anchor" name="3681fcca08aaf2d214fc374fef035300"></a><!-- doxytag: member="iDynamicSystem::RemoveJoint" ref="3681fcca08aaf2d214fc374fef035300" args="(iJoint *joint)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iDynamicSystem::RemoveJoint           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiJoint.html">iJoint</a> *&nbsp;</td>
          <td class="paramname"> <em>joint</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove a joint from the simulation. 
<p>

</div>
</div><p>
<a class="anchor" name="9da628db607de6c8424e3f20847f001f"></a><!-- doxytag: member="iDynamicSystem::SetAutoDisableParams" ref="9da628db607de6c8424e3f20847f001f" args="(float linear, float angular, int steps, float time)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iDynamicSystem::SetAutoDisableParams           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>linear</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>angular</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>steps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>time</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 parameters for AutoDisable. 
<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>linear</em>&nbsp;</td><td>Maximum linear movement to disable a body </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>angular</em>&nbsp;</td><td>Maximum angular movement to disable a body </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>steps</em>&nbsp;</td><td>Minimum number of steps the body meets linear and angular requirements before it is disabled. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>time</em>&nbsp;</td><td>Minimum time the body needs to meet linear and angular movement requirements before it is disabled. </td></tr>
  </table>
</dl>

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

<p>
Set the global gravity. 
<p>

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

<p>
Set the global linear dampener. 
<p>

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

<p>
Set the global rolling dampener. 
<p>

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

<p>
Step the simulation forward by stepsize. 
<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>