Sophie

Sophie

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

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: iODEDynamicSystemState 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>iODEDynamicSystemState Struct Reference</h1><!-- doxytag: class="iODEDynamicSystemState" --><!-- doxytag: inherits="iBase" -->This class exposes parameters specific to odedynam as an implementation of <a class="el" href="structiDynamics.html" title="This is the interface for the actual plugin.">iDynamics</a>.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="ode_8h-source.html">ivaria/ode.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for iODEDynamicSystemState:</div>
<div class="dynsection">
<p><center><img src="structiODEDynamicSystemState__inherit__graph.png" border="0" usemap="#iODEDynamicSystemState__inherit__map" alt="Inheritance graph"></center>
<map name="iODEDynamicSystemState__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="76,7,132,33"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="structiODEDynamicSystemState-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 <a class="el" href="classcsPtr.html">csPtr</a><br>
&lt; <a class="el" href="structiODEAMotorJoint.html">iODEAMotorJoint</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiODEDynamicSystemState.html#ebb002065ce0eb6be4103dfd7d16ad32">CreateAMotorJoint</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a AMotor joint and add it to he simulation.  <a href="#ebb002065ce0eb6be4103dfd7d16ad32"></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="structiODEBallJoint.html">iODEBallJoint</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiODEDynamicSystemState.html#f38943df4d07f8c5a264d306d3e5886d">CreateBallJoint</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a ball joint and add it to he simulation.  <a href="#f38943df4d07f8c5a264d306d3e5886d"></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="structiODEHinge2Joint.html">iODEHinge2Joint</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiODEDynamicSystemState.html#16d10f88bcdf864e2180b20634601d7d">CreateHinge2Joint</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a hinge2 joint and add it to he simulation.  <a href="#16d10f88bcdf864e2180b20634601d7d"></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="structiODEHingeJoint.html">iODEHingeJoint</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiODEDynamicSystemState.html#e832cd841bcd75a5b90d93c114031727">CreateHingeJoint</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a hinge joint and add it to he simulation.  <a href="#e832cd841bcd75a5b90d93c114031727"></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="structiODESliderJoint.html">iODESliderJoint</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiODEDynamicSystemState.html#c95adeeb91a3268ae81f59152f7a1f3c">CreateSliderJoint</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a Slider joint and add it to he simulation.  <a href="#c95adeeb91a3268ae81f59152f7a1f3c"></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="structiODEUniversalJoint.html">iODEUniversalJoint</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiODEDynamicSystemState.html#55bea73735642cdac9ed4dc4232d8aeb">CreateUniversalJoint</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a Universal joint and add it to he simulation.  <a href="#55bea73735642cdac9ed4dc4232d8aeb"></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="structiODEDynamicSystemState.html#2babe5155536137ce2b682235e6a094a">EnableAutoDisable</a> (bool enable)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Turn on/off AutoDisable functionality.  <a href="#2babe5155536137ce2b682235e6a094a"></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="structiODEDynamicSystemState.html#4d87b8891d0b2f6ec9b755274e146e44">EnableFastObjects</a> (bool enable)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The following enables special robustness checks for fast moving objects to determine if they will tunneling and adjusts the physics frame resolution (rate) to a double for that step (possible doing this recursively down to a potentially infinite resolution for a given step, depending on the speed of the objects being tested) Only enable this if you are experiencing tunneling problems and can't afford to increase the standard FrameRate in the settings above Setting this in <a class="el" href="structiODEDynamicState.html" title="This class exposes parameters specific to odedynam as an implementation of iDynamics...">iODEDynamicState</a> will set it for each System Use this only if you want a specific system to behave differently.  <a href="#4d87b8891d0b2f6ec9b755274e146e44"></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="structiODEDynamicSystemState.html#8839745963884b4d934be1dc403984ba">EnableFrameRate</a> (bool enable)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">NOTE: This should not be done here if its been done in <a class="el" href="structiODEDynamicState.html" title="This class exposes parameters specific to odedynam as an implementation of iDynamics...">iODEDynamicState</a> The following code enables a constant framerate on processing this means if you set the frame rate to (default) 50 The stepsize passed into Step is treated as the elapsed time in seconds received from the virtual clock GetElapsedTicks.  <a href="#8839745963884b4d934be1dc403984ba"></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="structiODEDynamicSystemState.html#10f3533cfdb7c71750577c8e4d63443d">EnableOldInertia</a> (bool enable)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the code to use previous and broken inertia calculation.  <a href="#10f3533cfdb7c71750577c8e4d63443d"></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="structiODEDynamicSystemState.html#bd4bb53305a6bc9815590477658b6447">EnableStepFast</a> (bool enable)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enables the experimental StepFast code in ode Setting this in ODEDynamicState sets it here Only modify it if you want a specific system to behave differently.  <a href="#bd4bb53305a6bc9815590477658b6447"></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="structiODEDynamicSystemState.html#99f849ef0ccccadd6f203e4973d16f41">GetContactMaxCorrectingVel</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the maximum correcting velocity that contacts are allowed to generate.  <a href="#99f849ef0ccccadd6f203e4973d16f41"></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="structiODEDynamicSystemState.html#e5670a727bb45592dd93ed2d20c4340c">GetContactSurfaceLayer</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the depth of the surface layer around all geometry objects.  <a href="#e5670a727bb45592dd93ed2d20c4340c"></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="structiODEDynamicSystemState.html#ebfcc3096d312ba2f5e5503fa17e7308">RemoveJoint</a> (<a class="el" href="structiODEHinge2Joint.html">iODEHinge2Joint</a> *joint)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a Slider joint from the simulation.  <a href="#ebfcc3096d312ba2f5e5503fa17e7308"></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="structiODEDynamicSystemState.html#da0abbbc3556d5b401495f81f470483d">RemoveJoint</a> (<a class="el" href="structiODESliderJoint.html">iODESliderJoint</a> *joint)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a Slider joint from the simulation.  <a href="#da0abbbc3556d5b401495f81f470483d"></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="structiODEDynamicSystemState.html#621862b3c74396c25ee55535e670b341">RemoveJoint</a> (<a class="el" href="structiODEUniversalJoint.html">iODEUniversalJoint</a> *joint)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a Universal joint from the simulation.  <a href="#621862b3c74396c25ee55535e670b341"></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="structiODEDynamicSystemState.html#49432634869cb28c7ca6f0684bdcb4fb">RemoveJoint</a> (<a class="el" href="structiODEAMotorJoint.html">iODEAMotorJoint</a> *joint)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a AMotor joint from the simulation.  <a href="#49432634869cb28c7ca6f0684bdcb4fb"></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="structiODEDynamicSystemState.html#cc3364c5df0d83b9dee15356df72218f">RemoveJoint</a> (<a class="el" href="structiODEHingeJoint.html">iODEHingeJoint</a> *joint)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a hinge joint from the simulation.  <a href="#cc3364c5df0d83b9dee15356df72218f"></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="structiODEDynamicSystemState.html#06540dee1f7aca36a098cc6c53dc8d79">RemoveJoint</a> (<a class="el" href="structiODEBallJoint.html">iODEBallJoint</a> *joint)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a ball joint from the simulation.  <a href="#06540dee1f7aca36a098cc6c53dc8d79"></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="structiODEDynamicSystemState.html#b55657155569dc349b07daf2a67db06f">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="#b55657155569dc349b07daf2a67db06f"></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="structiODEDynamicSystemState.html#cfca828d67911b367189ba7982f11f1b">SetCFM</a> (float cfm)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets ODE's Constraint Force Mixing (see ode docs for details) Setting this in <a class="el" href="structiODEDynamicState.html" title="This class exposes parameters specific to odedynam as an implementation of iDynamics...">iODEDynamicState</a> will set it for each System Use this only if you want a specific system to behave differently.  <a href="#cfca828d67911b367189ba7982f11f1b"></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="structiODEDynamicSystemState.html#6fae06337c5ae244e875750f27b69c66">SetContactMaxCorrectingVel</a> (float v)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the maximum correcting velocity that contacts are allowed to generate.  <a href="#6fae06337c5ae244e875750f27b69c66"></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="structiODEDynamicSystemState.html#f19ead227d0483ed919c1d134c502d2f">SetContactSurfaceLayer</a> (float depth)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the depth of the surface layer around all geometry objects.  <a href="#f19ead227d0483ed919c1d134c502d2f"></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="structiODEDynamicSystemState.html#2d7bea727964889212dfd50d23879d03">SetERP</a> (float erp)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets ODE's Error Resolution Parameter (see ode docs for details) Setting this in <a class="el" href="structiODEDynamicState.html" title="This class exposes parameters specific to odedynam as an implementation of iDynamics...">iODEDynamicState</a> will set it for each System Use this only if you want a specific system to behave differently.  <a href="#2d7bea727964889212dfd50d23879d03"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This class exposes parameters specific to odedynam as an implementation of <a class="el" href="structiDynamics.html" title="This is the interface for the actual plugin.">iDynamics</a>. 
<p>
In most cases SystemState should not be modified directly unless you want the behavior of a specific system different from others. 
<p>Definition at line <a class="el" href="ode_8h-source.html#l00132">132</a> of file <a class="el" href="ode_8h-source.html">ode.h</a>.</p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="ebb002065ce0eb6be4103dfd7d16ad32"></a><!-- doxytag: member="iODEDynamicSystemState::CreateAMotorJoint" ref="ebb002065ce0eb6be4103dfd7d16ad32" 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="structiODEAMotorJoint.html">iODEAMotorJoint</a>&gt; iODEDynamicSystemState::CreateAMotorJoint           </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 AMotor joint and add it to he simulation. 
<p>

</div>
</div><p>
<a class="anchor" name="f38943df4d07f8c5a264d306d3e5886d"></a><!-- doxytag: member="iODEDynamicSystemState::CreateBallJoint" ref="f38943df4d07f8c5a264d306d3e5886d" 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="structiODEBallJoint.html">iODEBallJoint</a>&gt; iODEDynamicSystemState::CreateBallJoint           </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 ball joint and add it to he simulation. 
<p>

</div>
</div><p>
<a class="anchor" name="16d10f88bcdf864e2180b20634601d7d"></a><!-- doxytag: member="iODEDynamicSystemState::CreateHinge2Joint" ref="16d10f88bcdf864e2180b20634601d7d" 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="structiODEHinge2Joint.html">iODEHinge2Joint</a>&gt; iODEDynamicSystemState::CreateHinge2Joint           </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 hinge2 joint and add it to he simulation. 
<p>

</div>
</div><p>
<a class="anchor" name="e832cd841bcd75a5b90d93c114031727"></a><!-- doxytag: member="iODEDynamicSystemState::CreateHingeJoint" ref="e832cd841bcd75a5b90d93c114031727" 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="structiODEHingeJoint.html">iODEHingeJoint</a>&gt; iODEDynamicSystemState::CreateHingeJoint           </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 hinge joint and add it to he simulation. 
<p>

</div>
</div><p>
<a class="anchor" name="c95adeeb91a3268ae81f59152f7a1f3c"></a><!-- doxytag: member="iODEDynamicSystemState::CreateSliderJoint" ref="c95adeeb91a3268ae81f59152f7a1f3c" 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="structiODESliderJoint.html">iODESliderJoint</a>&gt; iODEDynamicSystemState::CreateSliderJoint           </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 Slider joint and add it to he simulation. 
<p>

</div>
</div><p>
<a class="anchor" name="55bea73735642cdac9ed4dc4232d8aeb"></a><!-- doxytag: member="iODEDynamicSystemState::CreateUniversalJoint" ref="55bea73735642cdac9ed4dc4232d8aeb" 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="structiODEUniversalJoint.html">iODEUniversalJoint</a>&gt; iODEDynamicSystemState::CreateUniversalJoint           </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 Universal joint and add it to he simulation. 
<p>

</div>
</div><p>
<a class="anchor" name="2babe5155536137ce2b682235e6a094a"></a><!-- doxytag: member="iODEDynamicSystemState::EnableAutoDisable" ref="2babe5155536137ce2b682235e6a094a" args="(bool enable)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iODEDynamicSystemState::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. 
</div>
</div><p>
<a class="anchor" name="4d87b8891d0b2f6ec9b755274e146e44"></a><!-- doxytag: member="iODEDynamicSystemState::EnableFastObjects" ref="4d87b8891d0b2f6ec9b755274e146e44" args="(bool enable)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iODEDynamicSystemState::EnableFastObjects           </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>
The following enables special robustness checks for fast moving objects to determine if they will tunneling and adjusts the physics frame resolution (rate) to a double for that step (possible doing this recursively down to a potentially infinite resolution for a given step, depending on the speed of the objects being tested) Only enable this if you are experiencing tunneling problems and can't afford to increase the standard FrameRate in the settings above Setting this in <a class="el" href="structiODEDynamicState.html" title="This class exposes parameters specific to odedynam as an implementation of iDynamics...">iODEDynamicState</a> will set it for each System Use this only if you want a specific system to behave differently. 
<p>

</div>
</div><p>
<a class="anchor" name="8839745963884b4d934be1dc403984ba"></a><!-- doxytag: member="iODEDynamicSystemState::EnableFrameRate" ref="8839745963884b4d934be1dc403984ba" args="(bool enable)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iODEDynamicSystemState::EnableFrameRate           </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>
NOTE: This should not be done here if its been done in <a class="el" href="structiODEDynamicState.html" title="This class exposes parameters specific to odedynam as an implementation of iDynamics...">iODEDynamicState</a> The following code enables a constant framerate on processing this means if you set the frame rate to (default) 50 The stepsize passed into Step is treated as the elapsed time in seconds received from the virtual clock GetElapsedTicks. 
<p>
The physics will iterate a number of steps at 1/50th of a second until enough time has passed to account for the time Beware the default setting for frame limit is 10, which means if the stepsize passed to Step is longer than 1/10 a second the physics will stop iterating and slow down. Never set this parameter to 0 or else you could incur cycle of death where the number of physics steps increases the amount of elapsed time between frames which increases the number of physics steps toward infinity 
</div>
</div><p>
<a class="anchor" name="10f3533cfdb7c71750577c8e4d63443d"></a><!-- doxytag: member="iODEDynamicSystemState::EnableOldInertia" ref="10f3533cfdb7c71750577c8e4d63443d" args="(bool enable)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iODEDynamicSystemState::EnableOldInertia           </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>
Set the code to use previous and broken inertia calculation. 
<p>
Use only if you know you need it 
</div>
</div><p>
<a class="anchor" name="bd4bb53305a6bc9815590477658b6447"></a><!-- doxytag: member="iODEDynamicSystemState::EnableStepFast" ref="bd4bb53305a6bc9815590477658b6447" args="(bool enable)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iODEDynamicSystemState::EnableStepFast           </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>
Enables the experimental StepFast code in ode Setting this in ODEDynamicState sets it here Only modify it if you want a specific system to behave differently. 
<p>

</div>
</div><p>
<a class="anchor" name="99f849ef0ccccadd6f203e4973d16f41"></a><!-- doxytag: member="iODEDynamicSystemState::GetContactMaxCorrectingVel" ref="99f849ef0ccccadd6f203e4973d16f41" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual float iODEDynamicSystemState::GetContactMaxCorrectingVel           </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 maximum correcting velocity that contacts are allowed to generate. 
<p>
The default value is infinity (i.e. no limit). Reducing this value can help prevent "popping" of deeply embedded objects. 
</div>
</div><p>
<a class="anchor" name="e5670a727bb45592dd93ed2d20c4340c"></a><!-- doxytag: member="iODEDynamicSystemState::GetContactSurfaceLayer" ref="e5670a727bb45592dd93ed2d20c4340c" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual float iODEDynamicSystemState::GetContactSurfaceLayer           </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 depth of the surface layer around all geometry objects. 
<p>
Contacts are allowed to sink into the surface layer up to the given depth before coming to rest. The default value is zero. Increasing this to some small value (e.g. 0.001) can help prevent jittering problems due to contacts being repeatedly made and broken. <dl class="return" compact><dt><b>Returns:</b></dt><dd>the distance two bodies are allowed to interpenetrate </dd></dl>

</div>
</div><p>
<a class="anchor" name="ebfcc3096d312ba2f5e5503fa17e7308"></a><!-- doxytag: member="iODEDynamicSystemState::RemoveJoint" ref="ebfcc3096d312ba2f5e5503fa17e7308" args="(iODEHinge2Joint *joint)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iODEDynamicSystemState::RemoveJoint           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiODEHinge2Joint.html">iODEHinge2Joint</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 Slider joint from the simulation. 
<p>

</div>
</div><p>
<a class="anchor" name="da0abbbc3556d5b401495f81f470483d"></a><!-- doxytag: member="iODEDynamicSystemState::RemoveJoint" ref="da0abbbc3556d5b401495f81f470483d" args="(iODESliderJoint *joint)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iODEDynamicSystemState::RemoveJoint           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiODESliderJoint.html">iODESliderJoint</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 Slider joint from the simulation. 
<p>

</div>
</div><p>
<a class="anchor" name="621862b3c74396c25ee55535e670b341"></a><!-- doxytag: member="iODEDynamicSystemState::RemoveJoint" ref="621862b3c74396c25ee55535e670b341" args="(iODEUniversalJoint *joint)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iODEDynamicSystemState::RemoveJoint           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiODEUniversalJoint.html">iODEUniversalJoint</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 Universal joint from the simulation. 
<p>

</div>
</div><p>
<a class="anchor" name="49432634869cb28c7ca6f0684bdcb4fb"></a><!-- doxytag: member="iODEDynamicSystemState::RemoveJoint" ref="49432634869cb28c7ca6f0684bdcb4fb" args="(iODEAMotorJoint *joint)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iODEDynamicSystemState::RemoveJoint           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiODEAMotorJoint.html">iODEAMotorJoint</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 AMotor joint from the simulation. 
<p>

</div>
</div><p>
<a class="anchor" name="cc3364c5df0d83b9dee15356df72218f"></a><!-- doxytag: member="iODEDynamicSystemState::RemoveJoint" ref="cc3364c5df0d83b9dee15356df72218f" args="(iODEHingeJoint *joint)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iODEDynamicSystemState::RemoveJoint           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiODEHingeJoint.html">iODEHingeJoint</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 hinge joint from the simulation. 
<p>

</div>
</div><p>
<a class="anchor" name="06540dee1f7aca36a098cc6c53dc8d79"></a><!-- doxytag: member="iODEDynamicSystemState::RemoveJoint" ref="06540dee1f7aca36a098cc6c53dc8d79" args="(iODEBallJoint *joint)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iODEDynamicSystemState::RemoveJoint           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiODEBallJoint.html">iODEBallJoint</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 ball joint from the simulation. 
<p>

</div>
</div><p>
<a class="anchor" name="b55657155569dc349b07daf2a67db06f"></a><!-- doxytag: member="iODEDynamicSystemState::SetAutoDisableParams" ref="b55657155569dc349b07daf2a67db06f" 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 iODEDynamicSystemState::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>
/param linear Maximum linear movement to disable a body /param angular Maximum angular movement to disable a body /param steps Minimum number of steps the body meets linear and angular requirements before it is disabled. /param time Minimum time the body needs to meet linear and angular movement requirements before it is disabled. 
</div>
</div><p>
<a class="anchor" name="cfca828d67911b367189ba7982f11f1b"></a><!-- doxytag: member="iODEDynamicSystemState::SetCFM" ref="cfca828d67911b367189ba7982f11f1b" args="(float cfm)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iODEDynamicSystemState::SetCFM           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>cfm</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets ODE's Constraint Force Mixing (see ode docs for details) Setting this in <a class="el" href="structiODEDynamicState.html" title="This class exposes parameters specific to odedynam as an implementation of iDynamics...">iODEDynamicState</a> will set it for each System Use this only if you want a specific system to behave differently. 
<p>

</div>
</div><p>
<a class="anchor" name="6fae06337c5ae244e875750f27b69c66"></a><!-- doxytag: member="iODEDynamicSystemState::SetContactMaxCorrectingVel" ref="6fae06337c5ae244e875750f27b69c66" args="(float v)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iODEDynamicSystemState::SetContactMaxCorrectingVel           </td>
          <td>(</td>
          <td class="paramtype">float&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 maximum correcting velocity that contacts are allowed to generate. 
<p>
The default value is infinity (i.e. no limit). Reducing this value can help prevent "popping" of deeply embedded objects. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>velocity </td></tr>
  </table>
</dl>

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

<p>
Set the depth of the surface layer around all geometry objects. 
<p>
Contacts are allowed to sink into the surface layer up to the given depth before coming to rest. The default value is zero. Increasing this to some small value (e.g. 0.001) can help prevent jittering problems due to contacts being repeatedly made and broken. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>depth</em>&nbsp;</td><td>the distance two bodies are allowed to interpenetrate </td></tr>
  </table>
</dl>

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

<p>
Sets ODE's Error Resolution Parameter (see ode docs for details) Setting this in <a class="el" href="structiODEDynamicState.html" title="This class exposes parameters specific to odedynam as an implementation of iDynamics...">iODEDynamicState</a> will set it for each System Use this only if you want a specific system to behave differently. 
<p>

</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>ivaria/<a class="el" href="ode_8h-source.html">ode.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>