OpenSimMirror/libraries/ode-0.9/docs/group__bodies.html

1828 lines
85 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Open Dynamics Engine: Rigid Bodies</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- 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="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<h1>Rigid Bodies</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dReal&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g57c1e1b1bd50fdcafc5140c1ed89c7d7">dBodyGetAutoDisableLinearThreshold</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get auto disable linear average threshold. <a href="#g57c1e1b1bd50fdcafc5140c1ed89c7d7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#gb8f6e736830cfea86c35e7a0cdfa3112">dBodySetAutoDisableLinearThreshold</a> (dBodyID, dReal linear_average_threshold)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set auto disable linear average threshold. <a href="#gb8f6e736830cfea86c35e7a0cdfa3112"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dReal&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g5b988719423e9bc3af1be2146872e2d6">dBodyGetAutoDisableAngularThreshold</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get auto disable angular average threshold. <a href="#g5b988719423e9bc3af1be2146872e2d6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g206ccf22f027a62aaf5e45a16ddc4040">dBodySetAutoDisableAngularThreshold</a> (dBodyID, dReal angular_average_threshold)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set auto disable angular average threshold. <a href="#g206ccf22f027a62aaf5e45a16ddc4040"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#gf398254a02ab5bedcdf7e4fb2918a902">dBodyGetAutoDisableAverageSamplesCount</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get auto disable average size (samples count). <a href="#gf398254a02ab5bedcdf7e4fb2918a902"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g4bce13aaa5ffb7d4b3452191974c3be6">dBodySetAutoDisableAverageSamplesCount</a> (dBodyID, unsigned int average_samples_count)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set auto disable average buffer size (average steps). <a href="#g4bce13aaa5ffb7d4b3452191974c3be6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g797ad84c737a2ae4ef3f8a37dfa02183">dBodyGetAutoDisableSteps</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get auto steps a body must be thought of as idle to disable. <a href="#g797ad84c737a2ae4ef3f8a37dfa02183"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g03cc329bdc8e19e59c4bfe62cf736578">dBodySetAutoDisableSteps</a> (dBodyID, int steps)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set auto disable steps. <a href="#g03cc329bdc8e19e59c4bfe62cf736578"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dReal&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#ga2f4d01a8fb5c4d7e77efd5f0e4dd72b">dBodyGetAutoDisableTime</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get auto disable time. <a href="#ga2f4d01a8fb5c4d7e77efd5f0e4dd72b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g0ae2f08bb38359934151f9420cdef341">dBodySetAutoDisableTime</a> (dBodyID, dReal time)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set auto disable time. <a href="#g0ae2f08bb38359934151f9420cdef341"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#gfe44b3ae620abb1091472089cb07f64e">dBodyGetAutoDisableFlag</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get auto disable flag. <a href="#gfe44b3ae620abb1091472089cb07f64e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#ge352fdcd8851224f07da53f35691ceb7">dBodySetAutoDisableFlag</a> (dBodyID, int do_auto_disable)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set auto disable flag. <a href="#ge352fdcd8851224f07da53f35691ceb7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g00969db4aebc2e8629cd9c45f3b7385e">dBodySetAutoDisableDefaults</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set auto disable defaults. <a href="#g00969db4aebc2e8629cd9c45f3b7385e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dWorldID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#gb044b0a466f2ec2af3fd29ae399e822e">dBodyGetWorld</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrives the world attached to te given body. <a href="#gb044b0a466f2ec2af3fd29ae399e822e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dBodyID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g578137bbaf82d4b8896d2baee3a032a6">dBodyCreate</a> (dWorldID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a body in given world. <a href="#g578137bbaf82d4b8896d2baee3a032a6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#gc1a0ee96898f14017a29b2afa0eafe13">dBodyDestroy</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy a body. <a href="#gc1a0ee96898f14017a29b2afa0eafe13"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#gf9cbe9e1ed1bd4559bb5603b8d0f92f2">dBodySetData</a> (dBodyID, void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the body's user-data pointer. <a href="#gf9cbe9e1ed1bd4559bb5603b8d0f92f2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g68d3d80c7476776dd4512d577bf70325">dBodyGetData</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the body's user-data pointer. <a href="#g68d3d80c7476776dd4512d577bf70325"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#gb84612b793366f18ff5b5cbdbed092da">dBodySetPosition</a> (dBodyID, dReal x, dReal y, dReal z)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set position of a body. <a href="#gb84612b793366f18ff5b5cbdbed092da"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#gb5f04968ec37ef46d2aaffad6c344468">dBodySetRotation</a> (dBodyID, const dMatrix3 R)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the orientation of a body. <a href="#gb5f04968ec37ef46d2aaffad6c344468"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#ga5f51dd3605c402320e9eae4231d7ad4">dBodySetQuaternion</a> (dBodyID, const dQuaternion q)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the orientation of a body. <a href="#ga5f51dd3605c402320e9eae4231d7ad4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gafe72e03c1df0f2150e2d7b8677e1460"></a><!-- doxytag: member="bodies::dBodySetLinearVel" ref="gafe72e03c1df0f2150e2d7b8677e1460" args="(dBodyID, dReal x, dReal y, dReal z)" -->
ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#gafe72e03c1df0f2150e2d7b8677e1460">dBodySetLinearVel</a> (dBodyID, dReal x, dReal y, dReal z)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the linear velocity of a body. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7b4f90c1986333395375c086c4f3ec41"></a><!-- doxytag: member="bodies::dBodySetAngularVel" ref="g7b4f90c1986333395375c086c4f3ec41" args="(dBodyID, dReal x, dReal y, dReal z)" -->
ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g7b4f90c1986333395375c086c4f3ec41">dBodySetAngularVel</a> (dBodyID, dReal x, dReal y, dReal z)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the angular velocity of a body. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API const dReal *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g2bddae29591b9f14c5175411b783d570">dBodyGetPosition</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the position of a body. <a href="#g2bddae29591b9f14c5175411b783d570"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#gf69c1ebd1c8d7d165fe740c9f1146217">dBodyCopyPosition</a> (dBodyID body, dVector3 pos)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy the position of a body into a vector. <a href="#gf69c1ebd1c8d7d165fe740c9f1146217"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API const dReal *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g2374da7ff88a2bac607e2fbce529ad27">dBodyGetRotation</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the rotation of a body. <a href="#g2374da7ff88a2bac607e2fbce529ad27"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#ga992006681bc720c6c6ef644768226e5">dBodyCopyRotation</a> (dBodyID, dMatrix3 R)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy the rotation of a body. <a href="#ga992006681bc720c6c6ef644768226e5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API const dReal *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g36b7e19622ed47fe6b9dcfbac20237e7">dBodyGetQuaternion</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the rotation of a body. <a href="#g36b7e19622ed47fe6b9dcfbac20237e7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#gd906c3ad061b7f70d1c60d6957aa2d0f">dBodyCopyQuaternion</a> (dBodyID body, dQuaternion quat)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy the orientation of a body into a quaternion. <a href="#gd906c3ad061b7f70d1c60d6957aa2d0f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2a0a986c12d53efd5a3753dd4b509cac"></a><!-- doxytag: member="bodies::dBodyGetLinearVel" ref="g2a0a986c12d53efd5a3753dd4b509cac" args="(dBodyID)" -->
ODE_API const dReal *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g2a0a986c12d53efd5a3753dd4b509cac">dBodyGetLinearVel</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the linear velocity of a body. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g54dc73be9562cdece52d0a7d8decd1d0"></a><!-- doxytag: member="bodies::dBodyGetAngularVel" ref="g54dc73be9562cdece52d0a7d8decd1d0" args="(dBodyID)" -->
ODE_API const dReal *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g54dc73be9562cdece52d0a7d8decd1d0">dBodyGetAngularVel</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the angular velocity of a body. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf3609b58548e34471ef8ad4727b33e52"></a><!-- doxytag: member="bodies::dBodySetMass" ref="gf3609b58548e34471ef8ad4727b33e52" args="(dBodyID, const dMass *mass)" -->
ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#gf3609b58548e34471ef8ad4727b33e52">dBodySetMass</a> (dBodyID, const dMass *mass)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the mass of a body. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7aa7944f6e36a96d3e578f3369ac4171"></a><!-- doxytag: member="bodies::dBodyGetMass" ref="g7aa7944f6e36a96d3e578f3369ac4171" args="(dBodyID, dMass *mass)" -->
ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g7aa7944f6e36a96d3e578f3369ac4171">dBodyGetMass</a> (dBodyID, dMass *mass)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the mass of a body. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1e1352dc350ad42bff5818f2200ba792"></a><!-- doxytag: member="bodies::dBodyAddForce" ref="g1e1352dc350ad42bff5818f2200ba792" args="(dBodyID, dReal fx, dReal fy, dReal fz)" -->
ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g1e1352dc350ad42bff5818f2200ba792">dBodyAddForce</a> (dBodyID, dReal fx, dReal fy, dReal fz)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add force at centre of mass of body in absolute coordinates. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g8378560dd168ee8d7a4b74e3de510ebc"></a><!-- doxytag: member="bodies::dBodyAddTorque" ref="g8378560dd168ee8d7a4b74e3de510ebc" args="(dBodyID, dReal fx, dReal fy, dReal fz)" -->
ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g8378560dd168ee8d7a4b74e3de510ebc">dBodyAddTorque</a> (dBodyID, dReal fx, dReal fy, dReal fz)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add torque at centre of mass of body in absolute coordinates. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g0a91e5416c5af7729177c465346837ad"></a><!-- doxytag: member="bodies::dBodyAddRelForce" ref="g0a91e5416c5af7729177c465346837ad" args="(dBodyID, dReal fx, dReal fy, dReal fz)" -->
ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g0a91e5416c5af7729177c465346837ad">dBodyAddRelForce</a> (dBodyID, dReal fx, dReal fy, dReal fz)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add force at centre of mass of body in coordinates relative to body. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g172a59e64f6dfa4a59bcd45b694585de"></a><!-- doxytag: member="bodies::dBodyAddRelTorque" ref="g172a59e64f6dfa4a59bcd45b694585de" args="(dBodyID, dReal fx, dReal fy, dReal fz)" -->
ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g172a59e64f6dfa4a59bcd45b694585de">dBodyAddRelTorque</a> (dBodyID, dReal fx, dReal fy, dReal fz)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add torque at centre of mass of body in coordinates relative to body. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gfa134c6b7b455680b890b677c5789c2b"></a><!-- doxytag: member="bodies::dBodyAddForceAtPos" ref="gfa134c6b7b455680b890b677c5789c2b" args="(dBodyID, dReal fx, dReal fy, dReal fz, dReal px, dReal py, dReal pz)" -->
ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#gfa134c6b7b455680b890b677c5789c2b">dBodyAddForceAtPos</a> (dBodyID, dReal fx, dReal fy, dReal fz, dReal px, dReal py, dReal pz)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add force at specified point in body in global coordinates. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g77606cdb23029337a7ed43dee5a59ee1"></a><!-- doxytag: member="bodies::dBodyAddForceAtRelPos" ref="g77606cdb23029337a7ed43dee5a59ee1" args="(dBodyID, dReal fx, dReal fy, dReal fz, dReal px, dReal py, dReal pz)" -->
ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g77606cdb23029337a7ed43dee5a59ee1">dBodyAddForceAtRelPos</a> (dBodyID, dReal fx, dReal fy, dReal fz, dReal px, dReal py, dReal pz)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add force at specified point in body in local coordinates. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga024b08f8dfb85705b86e18b99a0ef8e"></a><!-- doxytag: member="bodies::dBodyAddRelForceAtPos" ref="ga024b08f8dfb85705b86e18b99a0ef8e" args="(dBodyID, dReal fx, dReal fy, dReal fz, dReal px, dReal py, dReal pz)" -->
ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#ga024b08f8dfb85705b86e18b99a0ef8e">dBodyAddRelForceAtPos</a> (dBodyID, dReal fx, dReal fy, dReal fz, dReal px, dReal py, dReal pz)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add force at specified point in body in global coordinates. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7e5d20b6bb36f74d0dedb08f5eefddcb"></a><!-- doxytag: member="bodies::dBodyAddRelForceAtRelPos" ref="g7e5d20b6bb36f74d0dedb08f5eefddcb" args="(dBodyID, dReal fx, dReal fy, dReal fz, dReal px, dReal py, dReal pz)" -->
ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g7e5d20b6bb36f74d0dedb08f5eefddcb">dBodyAddRelForceAtRelPos</a> (dBodyID, dReal fx, dReal fy, dReal fz, dReal px, dReal py, dReal pz)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add force at specified point in body in local coordinates. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API const dReal *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g3b458397a79f09b1957cb6e5a85e9eba">dBodyGetForce</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current accumulated force vector. <a href="#g3b458397a79f09b1957cb6e5a85e9eba"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API const dReal *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#gfe88a5bc363fc812c8f154e3d5f8ea5d">dBodyGetTorque</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current accumulated torque vector. <a href="#gfe88a5bc363fc812c8f154e3d5f8ea5d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#gbd56079db36d4562db0e18aebea4f95f">dBodySetForce</a> (dBodyID b, dReal x, dReal y, dReal z)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the body force accumulation vector. <a href="#gbd56079db36d4562db0e18aebea4f95f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#gfcd3e44223a878ba52428ad3a124fa94">dBodySetTorque</a> (dBodyID b, dReal x, dReal y, dReal z)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the body torque accumulation vector. <a href="#gfcd3e44223a878ba52428ad3a124fa94"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#gfcf00cd9c4c754c82189fb9d1eb9f102">dBodyGetRelPointPos</a> (dBodyID, dReal px, dReal py, dReal pz, dVector3 result)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get world position of a relative point on body. <a href="#gfcf00cd9c4c754c82189fb9d1eb9f102"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g7fd4f4c7e70c59380da11277b2e97510">dBodyGetRelPointVel</a> (dBodyID, dReal px, dReal py, dReal pz, dVector3 result)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get velocity vector in global coords of a relative point on body. <a href="#g7fd4f4c7e70c59380da11277b2e97510"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g89dd6a4a3c6f3cd98c8377e8d4dec015">dBodyGetPointVel</a> (dBodyID, dReal px, dReal py, dReal pz, dVector3 result)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get velocity vector in global coords of a globally specified point on a body. <a href="#g89dd6a4a3c6f3cd98c8377e8d4dec015"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g0334d9d523cbfeec742ac4a814834199">dBodyGetPosRelPoint</a> (dBodyID, dReal px, dReal py, dReal pz, dVector3 result)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">takes a point in global coordinates and returns the point's position in body-relative coordinates. <a href="#g0334d9d523cbfeec742ac4a814834199"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g0a2cd6f7499bcfeb8275cbb981465bbf">dBodyVectorToWorld</a> (dBodyID, dReal px, dReal py, dReal pz, dVector3 result)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert from local to world coordinates. <a href="#g0a2cd6f7499bcfeb8275cbb981465bbf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g1e3ac3ef038e806d4942ea8b399ab575">dBodyVectorFromWorld</a> (dBodyID, dReal px, dReal py, dReal pz, dVector3 result)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert from world to local coordinates. <a href="#g1e3ac3ef038e806d4942ea8b399ab575"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#gc474ca36d734fb67b8bd504b672527fa">dBodySetFiniteRotationMode</a> (dBodyID, int mode)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">controls the way a body's orientation is updated at each timestep. <a href="#gc474ca36d734fb67b8bd504b672527fa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#ga9546c1ea6119fcbf80c71a96f56d052">dBodySetFiniteRotationAxis</a> (dBodyID, dReal x, dReal y, dReal z)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets the finite rotation axis for a body. <a href="#ga9546c1ea6119fcbf80c71a96f56d052"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g3fb10ac984d64c92e4f138e50b704f9e">dBodyGetFiniteRotationMode</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the way a body's orientation is updated each timestep. <a href="#g3fb10ac984d64c92e4f138e50b704f9e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#gfc8853ff678be731881665ff7abf61ad">dBodyGetFiniteRotationAxis</a> (dBodyID, dVector3 result)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the finite rotation axis. <a href="#gfc8853ff678be731881665ff7abf61ad"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g79fd517a57ac9c3594cb71850f649af7">dBodyGetNumJoints</a> (dBodyID b)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of joints that are attached to this body. <a href="#g79fd517a57ac9c3594cb71850f649af7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dJointID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g095e41c5b5632b22aa9bd1a4bd051f8d">dBodyGetJoint</a> (dBodyID, int index)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a joint attached to this body, given by index. <a href="#g095e41c5b5632b22aa9bd1a4bd051f8d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#gd0776c40f667b235f8642e10755543f8">dBodyEnable</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Manually enable a body. <a href="#gd0776c40f667b235f8642e10755543f8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#ga78092d7cadae36373441aa9be7e6157">dBodyDisable</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Manually disable a body. <a href="#ga78092d7cadae36373441aa9be7e6157"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g7e7803132dfcfceee04a6ab0ca1e0bf8">dBodyIsEnabled</a> (dBodyID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check wether a body is enabled. <a href="#g7e7803132dfcfceee04a6ab0ca1e0bf8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g5465d605e7fbe82d63a0d4e1000da731">dBodySetGravityMode</a> (dBodyID b, int mode)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set whether the body is influenced by the world's gravity or not. <a href="#g5465d605e7fbe82d63a0d4e1000da731"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g0df2f4fed454c567f10fc8bbb8c70455">dBodyGetGravityMode</a> (dBodyID b)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get whether the body is influenced by the world's gravity or not. <a href="#g0df2f4fed454c567f10fc8bbb8c70455"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A rigid body has various properties from the point of view of the simulation. Some properties change over time:<p>
<ul>
<li>Position vector (x,y,z) of the body's point of reference. Currently the point of reference must correspond to the body's center of mass. </li>
<li>Linear velocity of the point of reference, a vector (vx,vy,vz). </li>
<li>Orientation of a body, represented by a quaternion (qs,qx,qy,qz) or a 3x3 rotation matrix. </li>
<li>Angular velocity vector (wx,wy,wz) which describes how the orientation changes over time.</li>
</ul>
Other body properties are usually constant over time:<p>
<ul>
<li>Mass of the body. </li>
<li>Position of the center of mass with respect to the point of reference. In the current implementation the center of mass and the point of reference must coincide. </li>
<li>Inertia matrix. This is a 3x3 matrix that describes how the body's mass is distributed around the center of mass. Conceptually each body has an x-y-z coordinate frame embedded in it that moves and rotates with the body.</li>
</ul>
The origin of this coordinate frame is the body's point of reference. Some values in ODE (vectors, matrices etc) are relative to the body coordinate frame, and others are relative to the global coordinate frame.<p>
Note that the shape of a rigid body is not a dynamical property (except insofar as it influences the various mass properties). It is only collision detection that cares about the detailed shape of the body. <hr><h2>Function Documentation</h2>
<a class="anchor" name="gf69c1ebd1c8d7d165fe740c9f1146217"></a><!-- doxytag: member="objects.h::dBodyCopyPosition" ref="gf69c1ebd1c8d7d165fe740c9f1146217" args="(dBodyID body, dVector3 pos)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodyCopyPosition </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> <em>body</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dVector3&nbsp;</td>
<td class="paramname"> <em>pos</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Copy the position of a body into a vector.
<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>body</em>&nbsp;</td><td>the body to query </td></tr>
<tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>a copy of the body position </td></tr>
</table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__bodies.html#g2bddae29591b9f14c5175411b783d570" title="Get the position of a body.">dBodyGetPosition</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="gd906c3ad061b7f70d1c60d6957aa2d0f"></a><!-- doxytag: member="objects.h::dBodyCopyQuaternion" ref="gd906c3ad061b7f70d1c60d6957aa2d0f" args="(dBodyID body, dQuaternion quat)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodyCopyQuaternion </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> <em>body</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dQuaternion&nbsp;</td>
<td class="paramname"> <em>quat</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Copy the orientation of a body into a quaternion.
<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>body</em>&nbsp;</td><td>the body to query </td></tr>
<tr><td valign="top"></td><td valign="top"><em>quat</em>&nbsp;</td><td>a copy of the orientation quaternion </td></tr>
</table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__bodies.html#g36b7e19622ed47fe6b9dcfbac20237e7" title="Get the rotation of a body.">dBodyGetQuaternion</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="ga992006681bc720c6c6ef644768226e5"></a><!-- doxytag: member="objects.h::dBodyCopyRotation" ref="ga992006681bc720c6c6ef644768226e5" args="(dBodyID, dMatrix3 R)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodyCopyRotation </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dMatrix3&nbsp;</td>
<td class="paramname"> <em>R</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Copy the rotation of a body.
<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>body</em>&nbsp;</td><td>the body to query </td></tr>
<tr><td valign="top"></td><td valign="top"><em>R</em>&nbsp;</td><td>a copy of the rotation matrix </td></tr>
</table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__bodies.html#g2374da7ff88a2bac607e2fbce529ad27" title="Get the rotation of a body.">dBodyGetRotation</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="g578137bbaf82d4b8896d2baee3a032a6"></a><!-- doxytag: member="objects.h::dBodyCreate" ref="g578137bbaf82d4b8896d2baee3a032a6" args="(dWorldID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API dBodyID dBodyCreate </td>
<td>(</td>
<td class="paramtype">dWorldID&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Create a body in given world.
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Default mass parameters are at position (0,0,0). </dd></dl>
</div>
</div><p>
<a class="anchor" name="gc1a0ee96898f14017a29b2afa0eafe13"></a><!-- doxytag: member="objects.h::dBodyDestroy" ref="gc1a0ee96898f14017a29b2afa0eafe13" args="(dBodyID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodyDestroy </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Destroy a body.
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>All joints that are attached to this body will be put into limbo: i.e. unattached and not affecting the simulation, but they will NOT be deleted. </dd></dl>
</div>
</div><p>
<a class="anchor" name="ga78092d7cadae36373441aa9be7e6157"></a><!-- doxytag: member="objects.h::dBodyDisable" ref="ga78092d7cadae36373441aa9be7e6157" args="(dBodyID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodyDisable </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Manually disable a body.
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>A disabled body that is connected through a joint to an enabled body will be automatically re-enabled at the next simulation step. </dd></dl>
</div>
</div><p>
<a class="anchor" name="gd0776c40f667b235f8642e10755543f8"></a><!-- doxytag: member="objects.h::dBodyEnable" ref="gd0776c40f667b235f8642e10755543f8" args="(dBodyID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodyEnable </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Manually enable a body.
<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>dBodyID</em>&nbsp;</td><td>identification of body. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g5b988719423e9bc3af1be2146872e2d6"></a><!-- doxytag: member="objects.h::dBodyGetAutoDisableAngularThreshold" ref="g5b988719423e9bc3af1be2146872e2d6" args="(dBodyID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API dReal dBodyGetAutoDisableAngularThreshold </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get auto disable angular average threshold.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the threshold </dd></dl>
</div>
</div><p>
<a class="anchor" name="gf398254a02ab5bedcdf7e4fb2918a902"></a><!-- doxytag: member="objects.h::dBodyGetAutoDisableAverageSamplesCount" ref="gf398254a02ab5bedcdf7e4fb2918a902" args="(dBodyID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API int dBodyGetAutoDisableAverageSamplesCount </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get auto disable average size (samples count).
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the nr of steps/size. </dd></dl>
</div>
</div><p>
<a class="anchor" name="gfe44b3ae620abb1091472089cb07f64e"></a><!-- doxytag: member="objects.h::dBodyGetAutoDisableFlag" ref="gfe44b3ae620abb1091472089cb07f64e" args="(dBodyID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API int dBodyGetAutoDisableFlag </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get auto disable flag.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 or 1 </dd></dl>
</div>
</div><p>
<a class="anchor" name="g57c1e1b1bd50fdcafc5140c1ed89c7d7"></a><!-- doxytag: member="objects.h::dBodyGetAutoDisableLinearThreshold" ref="g57c1e1b1bd50fdcafc5140c1ed89c7d7" args="(dBodyID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API dReal dBodyGetAutoDisableLinearThreshold </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get auto disable linear average threshold.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the threshold </dd></dl>
</div>
</div><p>
<a class="anchor" name="g797ad84c737a2ae4ef3f8a37dfa02183"></a><!-- doxytag: member="objects.h::dBodyGetAutoDisableSteps" ref="g797ad84c737a2ae4ef3f8a37dfa02183" args="(dBodyID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API int dBodyGetAutoDisableSteps </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get auto steps a body must be thought of as idle to disable.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the nr of steps </dd></dl>
</div>
</div><p>
<a class="anchor" name="ga2f4d01a8fb5c4d7e77efd5f0e4dd72b"></a><!-- doxytag: member="objects.h::dBodyGetAutoDisableTime" ref="ga2f4d01a8fb5c4d7e77efd5f0e4dd72b" args="(dBodyID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API dReal dBodyGetAutoDisableTime </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get auto disable time.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>nr of seconds </dd></dl>
</div>
</div><p>
<a class="anchor" name="g68d3d80c7476776dd4512d577bf70325"></a><!-- doxytag: member="objects.h::dBodyGetData" ref="g68d3d80c7476776dd4512d577bf70325" args="(dBodyID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void* dBodyGetData </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get the body's user-data pointer.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to the user's data. </dd></dl>
</div>
</div><p>
<a class="anchor" name="gfc8853ff678be731881665ff7abf61ad"></a><!-- doxytag: member="objects.h::dBodyGetFiniteRotationAxis" ref="gfc8853ff678be731881665ff7abf61ad" args="(dBodyID, dVector3 result)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodyGetFiniteRotationAxis </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dVector3&nbsp;</td>
<td class="paramname"> <em>result</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get the finite rotation 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>result</em>&nbsp;</td><td>will contain the axis. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g3fb10ac984d64c92e4f138e50b704f9e"></a><!-- doxytag: member="objects.h::dBodyGetFiniteRotationMode" ref="g3fb10ac984d64c92e4f138e50b704f9e" args="(dBodyID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API int dBodyGetFiniteRotationMode </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get the way a body's orientation is updated each timestep.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the mode 0 (infitesimal) or 1 (finite). </dd></dl>
</div>
</div><p>
<a class="anchor" name="g3b458397a79f09b1957cb6e5a85e9eba"></a><!-- doxytag: member="objects.h::dBodyGetForce" ref="g3b458397a79f09b1957cb6e5a85e9eba" args="(dBodyID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API const dReal* dBodyGetForce </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Return the current accumulated force vector.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>points to an array of 3 reals. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The returned values are pointers to internal data structures, so the vectors are only valid until any changes are made to the rigid body system. </dd></dl>
</div>
</div><p>
<a class="anchor" name="g0df2f4fed454c567f10fc8bbb8c70455"></a><!-- doxytag: member="objects.h::dBodyGetGravityMode" ref="g0df2f4fed454c567f10fc8bbb8c70455" args="(dBodyID b)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API int dBodyGetGravityMode </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> <em>b</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get whether the body is influenced by the world's gravity or not.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>nonzero means gravity affects this body. </dd></dl>
</div>
</div><p>
<a class="anchor" name="g095e41c5b5632b22aa9bd1a4bd051f8d"></a><!-- doxytag: member="objects.h::dBodyGetJoint" ref="g095e41c5b5632b22aa9bd1a4bd051f8d" args="(dBodyID, int index)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API dJointID dBodyGetJoint </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>index</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Return a joint attached to this body, given by index.
<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>index</em>&nbsp;</td><td>valid range is 0 to n-1 where n is the value returned by <a class="el" href="group__bodies.html#g79fd517a57ac9c3594cb71850f649af7" title="Get the number of joints that are attached to this body.">dBodyGetNumJoints()</a>. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g79fd517a57ac9c3594cb71850f649af7"></a><!-- doxytag: member="objects.h::dBodyGetNumJoints" ref="g79fd517a57ac9c3594cb71850f649af7" args="(dBodyID b)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API int dBodyGetNumJoints </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> <em>b</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get the number of joints that are attached to this body.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>nr of joints </dd></dl>
</div>
</div><p>
<a class="anchor" name="g89dd6a4a3c6f3cd98c8377e8d4dec015"></a><!-- doxytag: member="objects.h::dBodyGetPointVel" ref="g89dd6a4a3c6f3cd98c8377e8d4dec015" args="(dBodyID, dReal px, dReal py, dReal pz, dVector3 result)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodyGetPointVel </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>px</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>py</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>pz</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dVector3&nbsp;</td>
<td class="paramname"> <em>result</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get velocity vector in global coords of a globally specified point on a body.
<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>result</em>&nbsp;</td><td>will contain the result. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g2bddae29591b9f14c5175411b783d570"></a><!-- doxytag: member="objects.h::dBodyGetPosition" ref="g2bddae29591b9f14c5175411b783d570" args="(dBodyID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API const dReal* dBodyGetPosition </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get the position of a body.
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>When getting, the returned values are pointers to internal data structures, so the vectors are valid until any changes are made to the rigid body system structure. </dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__bodies.html#gf69c1ebd1c8d7d165fe740c9f1146217" title="Copy the position of a body into a vector.">dBodyCopyPosition</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="g0334d9d523cbfeec742ac4a814834199"></a><!-- doxytag: member="objects.h::dBodyGetPosRelPoint" ref="g0334d9d523cbfeec742ac4a814834199" args="(dBodyID, dReal px, dReal py, dReal pz, dVector3 result)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodyGetPosRelPoint </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>px</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>py</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>pz</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dVector3&nbsp;</td>
<td class="paramname"> <em>result</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
takes a point in global coordinates and returns the point's position in body-relative coordinates.
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This is the inverse of <a class="el" href="group__bodies.html#gfcf00cd9c4c754c82189fb9d1eb9f102" title="Get world position of a relative point on body.">dBodyGetRelPointPos()</a></dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>will contain the result. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g36b7e19622ed47fe6b9dcfbac20237e7"></a><!-- doxytag: member="objects.h::dBodyGetQuaternion" ref="g36b7e19622ed47fe6b9dcfbac20237e7" args="(dBodyID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API const dReal* dBodyGetQuaternion </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get the rotation of a body.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to 4 scalars that represent the quaternion. </dd></dl>
</div>
</div><p>
<a class="anchor" name="gfcf00cd9c4c754c82189fb9d1eb9f102"></a><!-- doxytag: member="objects.h::dBodyGetRelPointPos" ref="gfcf00cd9c4c754c82189fb9d1eb9f102" args="(dBodyID, dReal px, dReal py, dReal pz, dVector3 result)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodyGetRelPointPos </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>px</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>py</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>pz</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dVector3&nbsp;</td>
<td class="paramname"> <em>result</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get world position of a relative point on body.
<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>result</em>&nbsp;</td><td>will contain the result. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g7fd4f4c7e70c59380da11277b2e97510"></a><!-- doxytag: member="objects.h::dBodyGetRelPointVel" ref="g7fd4f4c7e70c59380da11277b2e97510" args="(dBodyID, dReal px, dReal py, dReal pz, dVector3 result)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodyGetRelPointVel </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>px</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>py</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>pz</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dVector3&nbsp;</td>
<td class="paramname"> <em>result</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get velocity vector in global coords of a relative point on body.
<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>result</em>&nbsp;</td><td>will contain the result. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g2374da7ff88a2bac607e2fbce529ad27"></a><!-- doxytag: member="objects.h::dBodyGetRotation" ref="g2374da7ff88a2bac607e2fbce529ad27" args="(dBodyID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API const dReal* dBodyGetRotation </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get the rotation of a body.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to a 4x3 rotation matrix. </dd></dl>
</div>
</div><p>
<a class="anchor" name="gfe88a5bc363fc812c8f154e3d5f8ea5d"></a><!-- doxytag: member="objects.h::dBodyGetTorque" ref="gfe88a5bc363fc812c8f154e3d5f8ea5d" args="(dBodyID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API const dReal* dBodyGetTorque </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Return the current accumulated torque vector.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>points to an array of 3 reals. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The returned values are pointers to internal data structures, so the vectors are only valid until any changes are made to the rigid body system. </dd></dl>
</div>
</div><p>
<a class="anchor" name="gb044b0a466f2ec2af3fd29ae399e822e"></a><!-- doxytag: member="objects.h::dBodyGetWorld" ref="gb044b0a466f2ec2af3fd29ae399e822e" args="(dBodyID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API dWorldID dBodyGetWorld </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Retrives the world attached to te given body.
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd></dd></dl>
</div>
</div><p>
<a class="anchor" name="g7e7803132dfcfceee04a6ab0ca1e0bf8"></a><!-- doxytag: member="objects.h::dBodyIsEnabled" ref="g7e7803132dfcfceee04a6ab0ca1e0bf8" args="(dBodyID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API int dBodyIsEnabled </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Check wether a body is enabled.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if a body is currently enabled or 0 if it is disabled. </dd></dl>
</div>
</div><p>
<a class="anchor" name="g206ccf22f027a62aaf5e45a16ddc4040"></a><!-- doxytag: member="objects.h::dBodySetAutoDisableAngularThreshold" ref="g206ccf22f027a62aaf5e45a16ddc4040" args="(dBodyID, dReal angular_average_threshold)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodySetAutoDisableAngularThreshold </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>angular_average_threshold</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set auto disable angular average threshold.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the threshold </dd></dl>
</div>
</div><p>
<a class="anchor" name="g4bce13aaa5ffb7d4b3452191974c3be6"></a><!-- doxytag: member="objects.h::dBodySetAutoDisableAverageSamplesCount" ref="g4bce13aaa5ffb7d4b3452191974c3be6" args="(dBodyID, unsigned int average_samples_count)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodySetAutoDisableAverageSamplesCount </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>average_samples_count</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set auto disable average buffer size (average steps).
<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>average_samples_count</em>&nbsp;</td><td>the nr of samples to review. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g00969db4aebc2e8629cd9c45f3b7385e"></a><!-- doxytag: member="objects.h::dBodySetAutoDisableDefaults" ref="g00969db4aebc2e8629cd9c45f3b7385e" args="(dBodyID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodySetAutoDisableDefaults </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set auto disable defaults.
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Set the values for the body to those set as default for the world. </dd></dl>
</div>
</div><p>
<a class="anchor" name="ge352fdcd8851224f07da53f35691ceb7"></a><!-- doxytag: member="objects.h::dBodySetAutoDisableFlag" ref="ge352fdcd8851224f07da53f35691ceb7" args="(dBodyID, int do_auto_disable)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodySetAutoDisableFlag </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>do_auto_disable</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set auto disable flag.
<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>do_auto_disable</em>&nbsp;</td><td>0 or 1 </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="gb8f6e736830cfea86c35e7a0cdfa3112"></a><!-- doxytag: member="objects.h::dBodySetAutoDisableLinearThreshold" ref="gb8f6e736830cfea86c35e7a0cdfa3112" args="(dBodyID, dReal linear_average_threshold)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodySetAutoDisableLinearThreshold </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>linear_average_threshold</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set auto disable linear average threshold.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the threshold </dd></dl>
</div>
</div><p>
<a class="anchor" name="g03cc329bdc8e19e59c4bfe62cf736578"></a><!-- doxytag: member="objects.h::dBodySetAutoDisableSteps" ref="g03cc329bdc8e19e59c4bfe62cf736578" args="(dBodyID, int steps)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodySetAutoDisableSteps </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>steps</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set auto disable steps.
<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>steps</em>&nbsp;</td><td>the nr of steps. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g0ae2f08bb38359934151f9420cdef341"></a><!-- doxytag: member="objects.h::dBodySetAutoDisableTime" ref="g0ae2f08bb38359934151f9420cdef341" args="(dBodyID, dReal time)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodySetAutoDisableTime </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&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%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set auto disable time.
<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>time</em>&nbsp;</td><td>nr of seconds. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="gf9cbe9e1ed1bd4559bb5603b8d0f92f2"></a><!-- doxytag: member="objects.h::dBodySetData" ref="gf9cbe9e1ed1bd4559bb5603b8d0f92f2" args="(dBodyID, void *data)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodySetData </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>data</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set the body's user-data pointer.
<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>data</em>&nbsp;</td><td>arbitraty pointer </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="ga9546c1ea6119fcbf80c71a96f56d052"></a><!-- doxytag: member="objects.h::dBodySetFiniteRotationAxis" ref="ga9546c1ea6119fcbf80c71a96f56d052" args="(dBodyID, dReal x, dReal y, dReal z)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodySetFiniteRotationAxis </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>z</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
sets the finite rotation axis for a body.
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This is axis only has meaning when the finite rotation mode is set If this axis is zero (0,0,0), full finite rotations are performed on the body. If this axis is nonzero, the body is rotated by performing a partial finite rotation along the axis direction followed by an infinitesimal rotation along an orthogonal direction. <p>
This can be useful to alleviate certain sources of error caused by quickly spinning bodies. For example, if a car wheel is rotating at high speed you can call this function with the wheel's hinge axis as the argument to try and improve its behavior. </dd></dl>
</div>
</div><p>
<a class="anchor" name="gc474ca36d734fb67b8bd504b672527fa"></a><!-- doxytag: member="objects.h::dBodySetFiniteRotationMode" ref="gc474ca36d734fb67b8bd504b672527fa" args="(dBodyID, int mode)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodySetFiniteRotationMode </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
controls the way a body's orientation is updated at each timestep.
<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>mode</em>&nbsp;</td><td>can be 0 or 1: <ul>
<li>0: An ``infinitesimal'' orientation update is used. This is fast to compute, but it can occasionally cause inaccuracies for bodies that are rotating at high speed, especially when those bodies are joined to other bodies. This is the default for every new body that is created. </li>
<li>1: A ``finite'' orientation update is used. This is more costly to compute, but will be more accurate for high speed rotations. </li>
</ul>
</td></tr>
</table>
</dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Note however that high speed rotations can result in many types of error in a simulation, and the finite mode will only fix one of those sources of error. </dd></dl>
</div>
</div><p>
<a class="anchor" name="gbd56079db36d4562db0e18aebea4f95f"></a><!-- doxytag: member="objects.h::dBodySetForce" ref="gbd56079db36d4562db0e18aebea4f95f" args="(dBodyID b, dReal x, dReal y, dReal z)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodySetForce </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> <em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>z</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set the body force accumulation vector.
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This is mostly useful to zero the force and torque for deactivated bodies before they are reactivated, in the case where the force-adding functions were called on them while they were deactivated. </dd></dl>
</div>
</div><p>
<a class="anchor" name="g5465d605e7fbe82d63a0d4e1000da731"></a><!-- doxytag: member="objects.h::dBodySetGravityMode" ref="g5465d605e7fbe82d63a0d4e1000da731" args="(dBodyID b, int mode)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodySetGravityMode </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> <em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set whether the body is influenced by the world's gravity or not.
<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>mode</em>&nbsp;</td><td>when nonzero gravity affects this body. </td></tr>
</table>
</dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Newly created bodies are always influenced by the world's gravity. </dd></dl>
</div>
</div><p>
<a class="anchor" name="gb84612b793366f18ff5b5cbdbed092da"></a><!-- doxytag: member="objects.h::dBodySetPosition" ref="gb84612b793366f18ff5b5cbdbed092da" args="(dBodyID, dReal x, dReal y, dReal z)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodySetPosition </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>z</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set position of a body.
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>After setting, the outcome of the simulation is undefined if the new configuration is inconsistent with the joints/constraints that are present. </dd></dl>
</div>
</div><p>
<a class="anchor" name="ga5f51dd3605c402320e9eae4231d7ad4"></a><!-- doxytag: member="objects.h::dBodySetQuaternion" ref="ga5f51dd3605c402320e9eae4231d7ad4" args="(dBodyID, const dQuaternion q)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodySetQuaternion </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const dQuaternion&nbsp;</td>
<td class="paramname"> <em>q</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set the orientation of a body.
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>After setting, the outcome of the simulation is undefined if the new configuration is inconsistent with the joints/constraints that are present. </dd></dl>
</div>
</div><p>
<a class="anchor" name="gb5f04968ec37ef46d2aaffad6c344468"></a><!-- doxytag: member="objects.h::dBodySetRotation" ref="gb5f04968ec37ef46d2aaffad6c344468" args="(dBodyID, const dMatrix3 R)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodySetRotation </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const dMatrix3&nbsp;</td>
<td class="paramname"> <em>R</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set the orientation of a body.
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>After setting, the outcome of the simulation is undefined if the new configuration is inconsistent with the joints/constraints that are present. </dd></dl>
</div>
</div><p>
<a class="anchor" name="gfcd3e44223a878ba52428ad3a124fa94"></a><!-- doxytag: member="objects.h::dBodySetTorque" ref="gfcd3e44223a878ba52428ad3a124fa94" args="(dBodyID b, dReal x, dReal y, dReal z)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodySetTorque </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname"> <em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>z</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set the body torque accumulation vector.
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This is mostly useful to zero the force and torque for deactivated bodies before they are reactivated, in the case where the force-adding functions were called on them while they were deactivated. </dd></dl>
</div>
</div><p>
<a class="anchor" name="g1e3ac3ef038e806d4942ea8b399ab575"></a><!-- doxytag: member="objects.h::dBodyVectorFromWorld" ref="g1e3ac3ef038e806d4942ea8b399ab575" args="(dBodyID, dReal px, dReal py, dReal pz, dVector3 result)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodyVectorFromWorld </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>px</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>py</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>pz</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dVector3&nbsp;</td>
<td class="paramname"> <em>result</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Convert from world to local coordinates.
<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>result</em>&nbsp;</td><td>will contain the result. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g0a2cd6f7499bcfeb8275cbb981465bbf"></a><!-- doxytag: member="objects.h::dBodyVectorToWorld" ref="g0a2cd6f7499bcfeb8275cbb981465bbf" args="(dBodyID, dReal px, dReal py, dReal pz, dVector3 result)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ODE_API void dBodyVectorToWorld </td>
<td>(</td>
<td class="paramtype">dBodyID&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>px</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>py</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dReal&nbsp;</td>
<td class="paramname"> <em>pz</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dVector3&nbsp;</td>
<td class="paramname"> <em>result</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Convert from local to world coordinates.
<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>result</em>&nbsp;</td><td>will contain the result. </td></tr>
</table>
</dl>
</div>
</div><p>
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
</body>
</html>