aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/ode-0.9/docs/group__bodies.html
diff options
context:
space:
mode:
authordan miller2007-10-19 05:15:33 +0000
committerdan miller2007-10-19 05:15:33 +0000
commit79eca25c945a535a7a0325999034bae17da92412 (patch)
tree40ff433d94859d629aac933d5ec73b382f62ba1a /libraries/ode-0.9/docs/group__bodies.html
parentadding ode source to /libraries (diff)
downloadopensim-SC-79eca25c945a535a7a0325999034bae17da92412.zip
opensim-SC-79eca25c945a535a7a0325999034bae17da92412.tar.gz
opensim-SC-79eca25c945a535a7a0325999034bae17da92412.tar.bz2
opensim-SC-79eca25c945a535a7a0325999034bae17da92412.tar.xz
resubmitting ode
Diffstat (limited to '')
-rw-r--r--libraries/ode-0.9/docs/group__bodies.html1827
1 files changed, 1827 insertions, 0 deletions
diff --git a/libraries/ode-0.9/docs/group__bodies.html b/libraries/ode-0.9/docs/group__bodies.html
new file mode 100644
index 0000000..951ff2b
--- /dev/null
+++ b/libraries/ode-0.9/docs/group__bodies.html
@@ -0,0 +1,1827 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>Open Dynamics Engine: Rigid Bodies</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.3 -->
8<div class="tabs">
9 <ul>
10 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 <li><a href="modules.html"><span>Modules</span></a></li>
12 <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 </ul>
15</div>
16<h1>Rigid Bodies</h1><table border="0" cellpadding="0" cellspacing="0">
17<tr><td></td></tr>
18<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
19<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>
20
21<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get auto disable linear average threshold. <a href="#g57c1e1b1bd50fdcafc5140c1ed89c7d7"></a><br></td></tr>
22<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>
23
24<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set auto disable linear average threshold. <a href="#gb8f6e736830cfea86c35e7a0cdfa3112"></a><br></td></tr>
25<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>
26
27<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get auto disable angular average threshold. <a href="#g5b988719423e9bc3af1be2146872e2d6"></a><br></td></tr>
28<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>
29
30<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set auto disable angular average threshold. <a href="#g206ccf22f027a62aaf5e45a16ddc4040"></a><br></td></tr>
31<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>
32
33<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get auto disable average size (samples count). <a href="#gf398254a02ab5bedcdf7e4fb2918a902"></a><br></td></tr>
34<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>
35
36<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set auto disable average buffer size (average steps). <a href="#g4bce13aaa5ffb7d4b3452191974c3be6"></a><br></td></tr>
37<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>
38
39<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>
40<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>
41
42<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set auto disable steps. <a href="#g03cc329bdc8e19e59c4bfe62cf736578"></a><br></td></tr>
43<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>
44
45<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get auto disable time. <a href="#ga2f4d01a8fb5c4d7e77efd5f0e4dd72b"></a><br></td></tr>
46<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>
47
48<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set auto disable time. <a href="#g0ae2f08bb38359934151f9420cdef341"></a><br></td></tr>
49<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>
50
51<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get auto disable flag. <a href="#gfe44b3ae620abb1091472089cb07f64e"></a><br></td></tr>
52<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>
53
54<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set auto disable flag. <a href="#ge352fdcd8851224f07da53f35691ceb7"></a><br></td></tr>
55<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>
56
57<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set auto disable defaults. <a href="#g00969db4aebc2e8629cd9c45f3b7385e"></a><br></td></tr>
58<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>
59
60<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrives the world attached to te given body. <a href="#gb044b0a466f2ec2af3fd29ae399e822e"></a><br></td></tr>
61<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>
62
63<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a body in given world. <a href="#g578137bbaf82d4b8896d2baee3a032a6"></a><br></td></tr>
64<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>
65
66<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy a body. <a href="#gc1a0ee96898f14017a29b2afa0eafe13"></a><br></td></tr>
67<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>
68
69<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the body's user-data pointer. <a href="#gf9cbe9e1ed1bd4559bb5603b8d0f92f2"></a><br></td></tr>
70<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>
71
72<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the body's user-data pointer. <a href="#g68d3d80c7476776dd4512d577bf70325"></a><br></td></tr>
73<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>
74
75<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set position of a body. <a href="#gb84612b793366f18ff5b5cbdbed092da"></a><br></td></tr>
76<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>
77
78<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the orientation of a body. <a href="#gb5f04968ec37ef46d2aaffad6c344468"></a><br></td></tr>
79<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>
80
81<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the orientation of a body. <a href="#ga5f51dd3605c402320e9eae4231d7ad4"></a><br></td></tr>
82<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)" -->
83ODE_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>
84
85<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the linear velocity of a body. <br></td></tr>
86<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)" -->
87ODE_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>
88
89<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the angular velocity of a body. <br></td></tr>
90<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>
91
92<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the position of a body. <a href="#g2bddae29591b9f14c5175411b783d570"></a><br></td></tr>
93<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>
94
95<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>
96<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>
97
98<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the rotation of a body. <a href="#g2374da7ff88a2bac607e2fbce529ad27"></a><br></td></tr>
99<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>
100
101<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy the rotation of a body. <a href="#ga992006681bc720c6c6ef644768226e5"></a><br></td></tr>
102<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>
103
104<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the rotation of a body. <a href="#g36b7e19622ed47fe6b9dcfbac20237e7"></a><br></td></tr>
105<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>
106
107<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>
108<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2a0a986c12d53efd5a3753dd4b509cac"></a><!-- doxytag: member="bodies::dBodyGetLinearVel" ref="g2a0a986c12d53efd5a3753dd4b509cac" args="(dBodyID)" -->
109ODE_API const dReal *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g2a0a986c12d53efd5a3753dd4b509cac">dBodyGetLinearVel</a> (dBodyID)</td></tr>
110
111<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the linear velocity of a body. <br></td></tr>
112<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g54dc73be9562cdece52d0a7d8decd1d0"></a><!-- doxytag: member="bodies::dBodyGetAngularVel" ref="g54dc73be9562cdece52d0a7d8decd1d0" args="(dBodyID)" -->
113ODE_API const dReal *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g54dc73be9562cdece52d0a7d8decd1d0">dBodyGetAngularVel</a> (dBodyID)</td></tr>
114
115<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the angular velocity of a body. <br></td></tr>
116<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)" -->
117ODE_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>
118
119<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the mass of a body. <br></td></tr>
120<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)" -->
121ODE_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__bodies.html#g7aa7944f6e36a96d3e578f3369ac4171">dBodyGetMass</a> (dBodyID, dMass *mass)</td></tr>
122
123<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the mass of a body. <br></td></tr>
124<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)" -->
125ODE_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>
126
127<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add force at centre of mass of body in absolute coordinates. <br></td></tr>
128<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)" -->
129ODE_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>
130
131<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add torque at centre of mass of body in absolute coordinates. <br></td></tr>
132<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)" -->
133ODE_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>
134
135<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>
136<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)" -->
137ODE_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>
138
139<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>
140<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)" -->
141ODE_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>
142
143<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add force at specified point in body in global coordinates. <br></td></tr>
144<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)" -->
145ODE_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>
146
147<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add force at specified point in body in local coordinates. <br></td></tr>
148<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)" -->
149ODE_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>
150
151<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add force at specified point in body in global coordinates. <br></td></tr>
152<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)" -->
153ODE_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>
154
155<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add force at specified point in body in local coordinates. <br></td></tr>
156<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>
157
158<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current accumulated force vector. <a href="#g3b458397a79f09b1957cb6e5a85e9eba"></a><br></td></tr>
159<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>
160
161<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current accumulated torque vector. <a href="#gfe88a5bc363fc812c8f154e3d5f8ea5d"></a><br></td></tr>
162<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>
163
164<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the body force accumulation vector. <a href="#gbd56079db36d4562db0e18aebea4f95f"></a><br></td></tr>
165<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>
166
167<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the body torque accumulation vector. <a href="#gfcd3e44223a878ba52428ad3a124fa94"></a><br></td></tr>
168<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>
169
170<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>
171<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>
172
173<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>
174<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>
175
176<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>
177<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>
178
179<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>
180<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>
181
182<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert from local to world coordinates. <a href="#g0a2cd6f7499bcfeb8275cbb981465bbf"></a><br></td></tr>
183<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>
184
185<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert from world to local coordinates. <a href="#g1e3ac3ef038e806d4942ea8b399ab575"></a><br></td></tr>
186<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>
187
188<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>
189<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>
190
191<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets the finite rotation axis for a body. <a href="#ga9546c1ea6119fcbf80c71a96f56d052"></a><br></td></tr>
192<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>
193
194<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>
195<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>
196
197<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the finite rotation axis. <a href="#gfc8853ff678be731881665ff7abf61ad"></a><br></td></tr>
198<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>
199
200<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>
201<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>
202
203<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>
204<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>
205
206<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Manually enable a body. <a href="#gd0776c40f667b235f8642e10755543f8"></a><br></td></tr>
207<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>
208
209<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Manually disable a body. <a href="#ga78092d7cadae36373441aa9be7e6157"></a><br></td></tr>
210<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>
211
212<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check wether a body is enabled. <a href="#g7e7803132dfcfceee04a6ab0ca1e0bf8"></a><br></td></tr>
213<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>
214
215<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>
216<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>
217
218<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>
219</table>
220<hr><a name="_details"></a><h2>Detailed Description</h2>
221A rigid body has various properties from the point of view of the simulation. Some properties change over time:<p>
222<ul>
223<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>
224<li>Linear velocity of the point of reference, a vector (vx,vy,vz). </li>
225<li>Orientation of a body, represented by a quaternion (qs,qx,qy,qz) or a 3x3 rotation matrix. </li>
226<li>Angular velocity vector (wx,wy,wz) which describes how the orientation changes over time.</li>
227</ul>
228Other body properties are usually constant over time:<p>
229<ul>
230<li>Mass of the body. </li>
231<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>
232<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>
233</ul>
234The 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>
235Note 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>
236<a class="anchor" name="gf69c1ebd1c8d7d165fe740c9f1146217"></a><!-- doxytag: member="objects.h::dBodyCopyPosition" ref="gf69c1ebd1c8d7d165fe740c9f1146217" args="(dBodyID body, dVector3 pos)" -->
237<div class="memitem">
238<div class="memproto">
239 <table class="memname">
240 <tr>
241 <td class="memname">ODE_API void dBodyCopyPosition </td>
242 <td>(</td>
243 <td class="paramtype">dBodyID&nbsp;</td>
244 <td class="paramname"> <em>body</em>, </td>
245 </tr>
246 <tr>
247 <td class="paramkey"></td>
248 <td></td>
249 <td class="paramtype">dVector3&nbsp;</td>
250 <td class="paramname"> <em>pos</em></td><td>&nbsp;</td>
251 </tr>
252 <tr>
253 <td></td>
254 <td>)</td>
255 <td></td><td></td><td width="100%"></td>
256 </tr>
257 </table>
258</div>
259<div class="memdoc">
260
261<p>
262Copy the position of a body into a vector.
263<p>
264<dl compact><dt><b>Parameters:</b></dt><dd>
265 <table border="0" cellspacing="2" cellpadding="0">
266 <tr><td valign="top"></td><td valign="top"><em>body</em>&nbsp;</td><td>the body to query </td></tr>
267 <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>a copy of the body position </td></tr>
268 </table>
269</dl>
270<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>
271
272</div>
273</div><p>
274<a class="anchor" name="gd906c3ad061b7f70d1c60d6957aa2d0f"></a><!-- doxytag: member="objects.h::dBodyCopyQuaternion" ref="gd906c3ad061b7f70d1c60d6957aa2d0f" args="(dBodyID body, dQuaternion quat)" -->
275<div class="memitem">
276<div class="memproto">
277 <table class="memname">
278 <tr>
279 <td class="memname">ODE_API void dBodyCopyQuaternion </td>
280 <td>(</td>
281 <td class="paramtype">dBodyID&nbsp;</td>
282 <td class="paramname"> <em>body</em>, </td>
283 </tr>
284 <tr>
285 <td class="paramkey"></td>
286 <td></td>
287 <td class="paramtype">dQuaternion&nbsp;</td>
288 <td class="paramname"> <em>quat</em></td><td>&nbsp;</td>
289 </tr>
290 <tr>
291 <td></td>
292 <td>)</td>
293 <td></td><td></td><td width="100%"></td>
294 </tr>
295 </table>
296</div>
297<div class="memdoc">
298
299<p>
300Copy the orientation of a body into a quaternion.
301<p>
302<dl compact><dt><b>Parameters:</b></dt><dd>
303 <table border="0" cellspacing="2" cellpadding="0">
304 <tr><td valign="top"></td><td valign="top"><em>body</em>&nbsp;</td><td>the body to query </td></tr>
305 <tr><td valign="top"></td><td valign="top"><em>quat</em>&nbsp;</td><td>a copy of the orientation quaternion </td></tr>
306 </table>
307</dl>
308<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>
309
310</div>
311</div><p>
312<a class="anchor" name="ga992006681bc720c6c6ef644768226e5"></a><!-- doxytag: member="objects.h::dBodyCopyRotation" ref="ga992006681bc720c6c6ef644768226e5" args="(dBodyID, dMatrix3 R)" -->
313<div class="memitem">
314<div class="memproto">
315 <table class="memname">
316 <tr>
317 <td class="memname">ODE_API void dBodyCopyRotation </td>
318 <td>(</td>
319 <td class="paramtype">dBodyID&nbsp;</td>
320 <td class="paramname">, </td>
321 </tr>
322 <tr>
323 <td class="paramkey"></td>
324 <td></td>
325 <td class="paramtype">dMatrix3&nbsp;</td>
326 <td class="paramname"> <em>R</em></td><td>&nbsp;</td>
327 </tr>
328 <tr>
329 <td></td>
330 <td>)</td>
331 <td></td><td></td><td width="100%"></td>
332 </tr>
333 </table>
334</div>
335<div class="memdoc">
336
337<p>
338Copy the rotation of a body.
339<p>
340<dl compact><dt><b>Parameters:</b></dt><dd>
341 <table border="0" cellspacing="2" cellpadding="0">
342 <tr><td valign="top"></td><td valign="top"><em>body</em>&nbsp;</td><td>the body to query </td></tr>
343 <tr><td valign="top"></td><td valign="top"><em>R</em>&nbsp;</td><td>a copy of the rotation matrix </td></tr>
344 </table>
345</dl>
346<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>
347
348</div>
349</div><p>
350<a class="anchor" name="g578137bbaf82d4b8896d2baee3a032a6"></a><!-- doxytag: member="objects.h::dBodyCreate" ref="g578137bbaf82d4b8896d2baee3a032a6" args="(dWorldID)" -->
351<div class="memitem">
352<div class="memproto">
353 <table class="memname">
354 <tr>
355 <td class="memname">ODE_API dBodyID dBodyCreate </td>
356 <td>(</td>
357 <td class="paramtype">dWorldID&nbsp;</td>
358 <td class="paramname"> </td>
359 <td>&nbsp;)&nbsp;</td>
360 <td width="100%"></td>
361 </tr>
362 </table>
363</div>
364<div class="memdoc">
365
366<p>
367Create a body in given world.
368<p>
369<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Default mass parameters are at position (0,0,0). </dd></dl>
370
371</div>
372</div><p>
373<a class="anchor" name="gc1a0ee96898f14017a29b2afa0eafe13"></a><!-- doxytag: member="objects.h::dBodyDestroy" ref="gc1a0ee96898f14017a29b2afa0eafe13" args="(dBodyID)" -->
374<div class="memitem">
375<div class="memproto">
376 <table class="memname">
377 <tr>
378 <td class="memname">ODE_API void dBodyDestroy </td>
379 <td>(</td>
380 <td class="paramtype">dBodyID&nbsp;</td>
381 <td class="paramname"> </td>
382 <td>&nbsp;)&nbsp;</td>
383 <td width="100%"></td>
384 </tr>
385 </table>
386</div>
387<div class="memdoc">
388
389<p>
390Destroy a body.
391<p>
392<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>
393
394</div>
395</div><p>
396<a class="anchor" name="ga78092d7cadae36373441aa9be7e6157"></a><!-- doxytag: member="objects.h::dBodyDisable" ref="ga78092d7cadae36373441aa9be7e6157" args="(dBodyID)" -->
397<div class="memitem">
398<div class="memproto">
399 <table class="memname">
400 <tr>
401 <td class="memname">ODE_API void dBodyDisable </td>
402 <td>(</td>
403 <td class="paramtype">dBodyID&nbsp;</td>
404 <td class="paramname"> </td>
405 <td>&nbsp;)&nbsp;</td>
406 <td width="100%"></td>
407 </tr>
408 </table>
409</div>
410<div class="memdoc">
411
412<p>
413Manually disable a body.
414<p>
415<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>
416
417</div>
418</div><p>
419<a class="anchor" name="gd0776c40f667b235f8642e10755543f8"></a><!-- doxytag: member="objects.h::dBodyEnable" ref="gd0776c40f667b235f8642e10755543f8" args="(dBodyID)" -->
420<div class="memitem">
421<div class="memproto">
422 <table class="memname">
423 <tr>
424 <td class="memname">ODE_API void dBodyEnable </td>
425 <td>(</td>
426 <td class="paramtype">dBodyID&nbsp;</td>
427 <td class="paramname"> </td>
428 <td>&nbsp;)&nbsp;</td>
429 <td width="100%"></td>
430 </tr>
431 </table>
432</div>
433<div class="memdoc">
434
435<p>
436Manually enable a body.
437<p>
438<dl compact><dt><b>Parameters:</b></dt><dd>
439 <table border="0" cellspacing="2" cellpadding="0">
440 <tr><td valign="top"></td><td valign="top"><em>dBodyID</em>&nbsp;</td><td>identification of body. </td></tr>
441 </table>
442</dl>
443
444</div>
445</div><p>
446<a class="anchor" name="g5b988719423e9bc3af1be2146872e2d6"></a><!-- doxytag: member="objects.h::dBodyGetAutoDisableAngularThreshold" ref="g5b988719423e9bc3af1be2146872e2d6" args="(dBodyID)" -->
447<div class="memitem">
448<div class="memproto">
449 <table class="memname">
450 <tr>
451 <td class="memname">ODE_API dReal dBodyGetAutoDisableAngularThreshold </td>
452 <td>(</td>
453 <td class="paramtype">dBodyID&nbsp;</td>
454 <td class="paramname"> </td>
455 <td>&nbsp;)&nbsp;</td>
456 <td width="100%"></td>
457 </tr>
458 </table>
459</div>
460<div class="memdoc">
461
462<p>
463Get auto disable angular average threshold.
464<p>
465<dl class="return" compact><dt><b>Returns:</b></dt><dd>the threshold </dd></dl>
466
467</div>
468</div><p>
469<a class="anchor" name="gf398254a02ab5bedcdf7e4fb2918a902"></a><!-- doxytag: member="objects.h::dBodyGetAutoDisableAverageSamplesCount" ref="gf398254a02ab5bedcdf7e4fb2918a902" args="(dBodyID)" -->
470<div class="memitem">
471<div class="memproto">
472 <table class="memname">
473 <tr>
474 <td class="memname">ODE_API int dBodyGetAutoDisableAverageSamplesCount </td>
475 <td>(</td>
476 <td class="paramtype">dBodyID&nbsp;</td>
477 <td class="paramname"> </td>
478 <td>&nbsp;)&nbsp;</td>
479 <td width="100%"></td>
480 </tr>
481 </table>
482</div>
483<div class="memdoc">
484
485<p>
486Get auto disable average size (samples count).
487<p>
488<dl class="return" compact><dt><b>Returns:</b></dt><dd>the nr of steps/size. </dd></dl>
489
490</div>
491</div><p>
492<a class="anchor" name="gfe44b3ae620abb1091472089cb07f64e"></a><!-- doxytag: member="objects.h::dBodyGetAutoDisableFlag" ref="gfe44b3ae620abb1091472089cb07f64e" args="(dBodyID)" -->
493<div class="memitem">
494<div class="memproto">
495 <table class="memname">
496 <tr>
497 <td class="memname">ODE_API int dBodyGetAutoDisableFlag </td>
498 <td>(</td>
499 <td class="paramtype">dBodyID&nbsp;</td>
500 <td class="paramname"> </td>
501 <td>&nbsp;)&nbsp;</td>
502 <td width="100%"></td>
503 </tr>
504 </table>
505</div>
506<div class="memdoc">
507
508<p>
509Get auto disable flag.
510<p>
511<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 or 1 </dd></dl>
512
513</div>
514</div><p>
515<a class="anchor" name="g57c1e1b1bd50fdcafc5140c1ed89c7d7"></a><!-- doxytag: member="objects.h::dBodyGetAutoDisableLinearThreshold" ref="g57c1e1b1bd50fdcafc5140c1ed89c7d7" args="(dBodyID)" -->
516<div class="memitem">
517<div class="memproto">
518 <table class="memname">
519 <tr>
520 <td class="memname">ODE_API dReal dBodyGetAutoDisableLinearThreshold </td>
521 <td>(</td>
522 <td class="paramtype">dBodyID&nbsp;</td>
523 <td class="paramname"> </td>
524 <td>&nbsp;)&nbsp;</td>
525 <td width="100%"></td>
526 </tr>
527 </table>
528</div>
529<div class="memdoc">
530
531<p>
532Get auto disable linear average threshold.
533<p>
534<dl class="return" compact><dt><b>Returns:</b></dt><dd>the threshold </dd></dl>
535
536</div>
537</div><p>
538<a class="anchor" name="g797ad84c737a2ae4ef3f8a37dfa02183"></a><!-- doxytag: member="objects.h::dBodyGetAutoDisableSteps" ref="g797ad84c737a2ae4ef3f8a37dfa02183" args="(dBodyID)" -->
539<div class="memitem">
540<div class="memproto">
541 <table class="memname">
542 <tr>
543 <td class="memname">ODE_API int dBodyGetAutoDisableSteps </td>
544 <td>(</td>
545 <td class="paramtype">dBodyID&nbsp;</td>
546 <td class="paramname"> </td>
547 <td>&nbsp;)&nbsp;</td>
548 <td width="100%"></td>
549 </tr>
550 </table>
551</div>
552<div class="memdoc">
553
554<p>
555Get auto steps a body must be thought of as idle to disable.
556<p>
557<dl class="return" compact><dt><b>Returns:</b></dt><dd>the nr of steps </dd></dl>
558
559</div>
560</div><p>
561<a class="anchor" name="ga2f4d01a8fb5c4d7e77efd5f0e4dd72b"></a><!-- doxytag: member="objects.h::dBodyGetAutoDisableTime" ref="ga2f4d01a8fb5c4d7e77efd5f0e4dd72b" args="(dBodyID)" -->
562<div class="memitem">
563<div class="memproto">
564 <table class="memname">
565 <tr>
566 <td class="memname">ODE_API dReal dBodyGetAutoDisableTime </td>
567 <td>(</td>
568 <td class="paramtype">dBodyID&nbsp;</td>
569 <td class="paramname"> </td>
570 <td>&nbsp;)&nbsp;</td>
571 <td width="100%"></td>
572 </tr>
573 </table>
574</div>
575<div class="memdoc">
576
577<p>
578Get auto disable time.
579<p>
580<dl class="return" compact><dt><b>Returns:</b></dt><dd>nr of seconds </dd></dl>
581
582</div>
583</div><p>
584<a class="anchor" name="g68d3d80c7476776dd4512d577bf70325"></a><!-- doxytag: member="objects.h::dBodyGetData" ref="g68d3d80c7476776dd4512d577bf70325" args="(dBodyID)" -->
585<div class="memitem">
586<div class="memproto">
587 <table class="memname">
588 <tr>
589 <td class="memname">ODE_API void* dBodyGetData </td>
590 <td>(</td>
591 <td class="paramtype">dBodyID&nbsp;</td>
592 <td class="paramname"> </td>
593 <td>&nbsp;)&nbsp;</td>
594 <td width="100%"></td>
595 </tr>
596 </table>
597</div>
598<div class="memdoc">
599
600<p>
601Get the body's user-data pointer.
602<p>
603<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to the user's data. </dd></dl>
604
605</div>
606</div><p>
607<a class="anchor" name="gfc8853ff678be731881665ff7abf61ad"></a><!-- doxytag: member="objects.h::dBodyGetFiniteRotationAxis" ref="gfc8853ff678be731881665ff7abf61ad" args="(dBodyID, dVector3 result)" -->
608<div class="memitem">
609<div class="memproto">
610 <table class="memname">
611 <tr>
612 <td class="memname">ODE_API void dBodyGetFiniteRotationAxis </td>
613 <td>(</td>
614 <td class="paramtype">dBodyID&nbsp;</td>
615 <td class="paramname">, </td>
616 </tr>
617 <tr>
618 <td class="paramkey"></td>
619 <td></td>
620 <td class="paramtype">dVector3&nbsp;</td>
621 <td class="paramname"> <em>result</em></td><td>&nbsp;</td>
622 </tr>
623 <tr>
624 <td></td>
625 <td>)</td>
626 <td></td><td></td><td width="100%"></td>
627 </tr>
628 </table>
629</div>
630<div class="memdoc">
631
632<p>
633Get the finite rotation axis.
634<p>
635<dl compact><dt><b>Parameters:</b></dt><dd>
636 <table border="0" cellspacing="2" cellpadding="0">
637 <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>will contain the axis. </td></tr>
638 </table>
639</dl>
640
641</div>
642</div><p>
643<a class="anchor" name="g3fb10ac984d64c92e4f138e50b704f9e"></a><!-- doxytag: member="objects.h::dBodyGetFiniteRotationMode" ref="g3fb10ac984d64c92e4f138e50b704f9e" args="(dBodyID)" -->
644<div class="memitem">
645<div class="memproto">
646 <table class="memname">
647 <tr>
648 <td class="memname">ODE_API int dBodyGetFiniteRotationMode </td>
649 <td>(</td>
650 <td class="paramtype">dBodyID&nbsp;</td>
651 <td class="paramname"> </td>
652 <td>&nbsp;)&nbsp;</td>
653 <td width="100%"></td>
654 </tr>
655 </table>
656</div>
657<div class="memdoc">
658
659<p>
660Get the way a body's orientation is updated each timestep.
661<p>
662<dl class="return" compact><dt><b>Returns:</b></dt><dd>the mode 0 (infitesimal) or 1 (finite). </dd></dl>
663
664</div>
665</div><p>
666<a class="anchor" name="g3b458397a79f09b1957cb6e5a85e9eba"></a><!-- doxytag: member="objects.h::dBodyGetForce" ref="g3b458397a79f09b1957cb6e5a85e9eba" args="(dBodyID)" -->
667<div class="memitem">
668<div class="memproto">
669 <table class="memname">
670 <tr>
671 <td class="memname">ODE_API const dReal* dBodyGetForce </td>
672 <td>(</td>
673 <td class="paramtype">dBodyID&nbsp;</td>
674 <td class="paramname"> </td>
675 <td>&nbsp;)&nbsp;</td>
676 <td width="100%"></td>
677 </tr>
678 </table>
679</div>
680<div class="memdoc">
681
682<p>
683Return the current accumulated force vector.
684<p>
685<dl class="return" compact><dt><b>Returns:</b></dt><dd>points to an array of 3 reals. </dd></dl>
686<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>
687
688</div>
689</div><p>
690<a class="anchor" name="g0df2f4fed454c567f10fc8bbb8c70455"></a><!-- doxytag: member="objects.h::dBodyGetGravityMode" ref="g0df2f4fed454c567f10fc8bbb8c70455" args="(dBodyID b)" -->
691<div class="memitem">
692<div class="memproto">
693 <table class="memname">
694 <tr>
695 <td class="memname">ODE_API int dBodyGetGravityMode </td>
696 <td>(</td>
697 <td class="paramtype">dBodyID&nbsp;</td>
698 <td class="paramname"> <em>b</em> </td>
699 <td>&nbsp;)&nbsp;</td>
700 <td width="100%"></td>
701 </tr>
702 </table>
703</div>
704<div class="memdoc">
705
706<p>
707Get whether the body is influenced by the world's gravity or not.
708<p>
709<dl class="return" compact><dt><b>Returns:</b></dt><dd>nonzero means gravity affects this body. </dd></dl>
710
711</div>
712</div><p>
713<a class="anchor" name="g095e41c5b5632b22aa9bd1a4bd051f8d"></a><!-- doxytag: member="objects.h::dBodyGetJoint" ref="g095e41c5b5632b22aa9bd1a4bd051f8d" args="(dBodyID, int index)" -->
714<div class="memitem">
715<div class="memproto">
716 <table class="memname">
717 <tr>
718 <td class="memname">ODE_API dJointID dBodyGetJoint </td>
719 <td>(</td>
720 <td class="paramtype">dBodyID&nbsp;</td>
721 <td class="paramname">, </td>
722 </tr>
723 <tr>
724 <td class="paramkey"></td>
725 <td></td>
726 <td class="paramtype">int&nbsp;</td>
727 <td class="paramname"> <em>index</em></td><td>&nbsp;</td>
728 </tr>
729 <tr>
730 <td></td>
731 <td>)</td>
732 <td></td><td></td><td width="100%"></td>
733 </tr>
734 </table>
735</div>
736<div class="memdoc">
737
738<p>
739Return a joint attached to this body, given by index.
740<p>
741<dl compact><dt><b>Parameters:</b></dt><dd>
742 <table border="0" cellspacing="2" cellpadding="0">
743 <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>
744 </table>
745</dl>
746
747</div>
748</div><p>
749<a class="anchor" name="g79fd517a57ac9c3594cb71850f649af7"></a><!-- doxytag: member="objects.h::dBodyGetNumJoints" ref="g79fd517a57ac9c3594cb71850f649af7" args="(dBodyID b)" -->
750<div class="memitem">
751<div class="memproto">
752 <table class="memname">
753 <tr>
754 <td class="memname">ODE_API int dBodyGetNumJoints </td>
755 <td>(</td>
756 <td class="paramtype">dBodyID&nbsp;</td>
757 <td class="paramname"> <em>b</em> </td>
758 <td>&nbsp;)&nbsp;</td>
759 <td width="100%"></td>
760 </tr>
761 </table>
762</div>
763<div class="memdoc">
764
765<p>
766Get the number of joints that are attached to this body.
767<p>
768<dl class="return" compact><dt><b>Returns:</b></dt><dd>nr of joints </dd></dl>
769
770</div>
771</div><p>
772<a class="anchor" name="g89dd6a4a3c6f3cd98c8377e8d4dec015"></a><!-- doxytag: member="objects.h::dBodyGetPointVel" ref="g89dd6a4a3c6f3cd98c8377e8d4dec015" args="(dBodyID, dReal px, dReal py, dReal pz, dVector3 result)" -->
773<div class="memitem">
774<div class="memproto">
775 <table class="memname">
776 <tr>
777 <td class="memname">ODE_API void dBodyGetPointVel </td>
778 <td>(</td>
779 <td class="paramtype">dBodyID&nbsp;</td>
780 <td class="paramname">, </td>
781 </tr>
782 <tr>
783 <td class="paramkey"></td>
784 <td></td>
785 <td class="paramtype">dReal&nbsp;</td>
786 <td class="paramname"> <em>px</em>, </td>
787 </tr>
788 <tr>
789 <td class="paramkey"></td>
790 <td></td>
791 <td class="paramtype">dReal&nbsp;</td>
792 <td class="paramname"> <em>py</em>, </td>
793 </tr>
794 <tr>
795 <td class="paramkey"></td>
796 <td></td>
797 <td class="paramtype">dReal&nbsp;</td>
798 <td class="paramname"> <em>pz</em>, </td>
799 </tr>
800 <tr>
801 <td class="paramkey"></td>
802 <td></td>
803 <td class="paramtype">dVector3&nbsp;</td>
804 <td class="paramname"> <em>result</em></td><td>&nbsp;</td>
805 </tr>
806 <tr>
807 <td></td>
808 <td>)</td>
809 <td></td><td></td><td width="100%"></td>
810 </tr>
811 </table>
812</div>
813<div class="memdoc">
814
815<p>
816Get velocity vector in global coords of a globally specified point on a body.
817<p>
818<dl compact><dt><b>Parameters:</b></dt><dd>
819 <table border="0" cellspacing="2" cellpadding="0">
820 <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>will contain the result. </td></tr>
821 </table>
822</dl>
823
824</div>
825</div><p>
826<a class="anchor" name="g2bddae29591b9f14c5175411b783d570"></a><!-- doxytag: member="objects.h::dBodyGetPosition" ref="g2bddae29591b9f14c5175411b783d570" args="(dBodyID)" -->
827<div class="memitem">
828<div class="memproto">
829 <table class="memname">
830 <tr>
831 <td class="memname">ODE_API const dReal* dBodyGetPosition </td>
832 <td>(</td>
833 <td class="paramtype">dBodyID&nbsp;</td>
834 <td class="paramname"> </td>
835 <td>&nbsp;)&nbsp;</td>
836 <td width="100%"></td>
837 </tr>
838 </table>
839</div>
840<div class="memdoc">
841
842<p>
843Get the position of a body.
844<p>
845<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>
846<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>
847
848</div>
849</div><p>
850<a class="anchor" name="g0334d9d523cbfeec742ac4a814834199"></a><!-- doxytag: member="objects.h::dBodyGetPosRelPoint" ref="g0334d9d523cbfeec742ac4a814834199" args="(dBodyID, dReal px, dReal py, dReal pz, dVector3 result)" -->
851<div class="memitem">
852<div class="memproto">
853 <table class="memname">
854 <tr>
855 <td class="memname">ODE_API void dBodyGetPosRelPoint </td>
856 <td>(</td>
857 <td class="paramtype">dBodyID&nbsp;</td>
858 <td class="paramname">, </td>
859 </tr>
860 <tr>
861 <td class="paramkey"></td>
862 <td></td>
863 <td class="paramtype">dReal&nbsp;</td>
864 <td class="paramname"> <em>px</em>, </td>
865 </tr>
866 <tr>
867 <td class="paramkey"></td>
868 <td></td>
869 <td class="paramtype">dReal&nbsp;</td>
870 <td class="paramname"> <em>py</em>, </td>
871 </tr>
872 <tr>
873 <td class="paramkey"></td>
874 <td></td>
875 <td class="paramtype">dReal&nbsp;</td>
876 <td class="paramname"> <em>pz</em>, </td>
877 </tr>
878 <tr>
879 <td class="paramkey"></td>
880 <td></td>
881 <td class="paramtype">dVector3&nbsp;</td>
882 <td class="paramname"> <em>result</em></td><td>&nbsp;</td>
883 </tr>
884 <tr>
885 <td></td>
886 <td>)</td>
887 <td></td><td></td><td width="100%"></td>
888 </tr>
889 </table>
890</div>
891<div class="memdoc">
892
893<p>
894takes a point in global coordinates and returns the point's position in body-relative coordinates.
895<p>
896<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>
897<dl compact><dt><b>Parameters:</b></dt><dd>
898 <table border="0" cellspacing="2" cellpadding="0">
899 <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>will contain the result. </td></tr>
900 </table>
901</dl>
902
903</div>
904</div><p>
905<a class="anchor" name="g36b7e19622ed47fe6b9dcfbac20237e7"></a><!-- doxytag: member="objects.h::dBodyGetQuaternion" ref="g36b7e19622ed47fe6b9dcfbac20237e7" args="(dBodyID)" -->
906<div class="memitem">
907<div class="memproto">
908 <table class="memname">
909 <tr>
910 <td class="memname">ODE_API const dReal* dBodyGetQuaternion </td>
911 <td>(</td>
912 <td class="paramtype">dBodyID&nbsp;</td>
913 <td class="paramname"> </td>
914 <td>&nbsp;)&nbsp;</td>
915 <td width="100%"></td>
916 </tr>
917 </table>
918</div>
919<div class="memdoc">
920
921<p>
922Get the rotation of a body.
923<p>
924<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to 4 scalars that represent the quaternion. </dd></dl>
925
926</div>
927</div><p>
928<a class="anchor" name="gfcf00cd9c4c754c82189fb9d1eb9f102"></a><!-- doxytag: member="objects.h::dBodyGetRelPointPos" ref="gfcf00cd9c4c754c82189fb9d1eb9f102" args="(dBodyID, dReal px, dReal py, dReal pz, dVector3 result)" -->
929<div class="memitem">
930<div class="memproto">
931 <table class="memname">
932 <tr>
933 <td class="memname">ODE_API void dBodyGetRelPointPos </td>
934 <td>(</td>
935 <td class="paramtype">dBodyID&nbsp;</td>
936 <td class="paramname">, </td>
937 </tr>
938 <tr>
939 <td class="paramkey"></td>
940 <td></td>
941 <td class="paramtype">dReal&nbsp;</td>
942 <td class="paramname"> <em>px</em>, </td>
943 </tr>
944 <tr>
945 <td class="paramkey"></td>
946 <td></td>
947 <td class="paramtype">dReal&nbsp;</td>
948 <td class="paramname"> <em>py</em>, </td>
949 </tr>
950 <tr>
951 <td class="paramkey"></td>
952 <td></td>
953 <td class="paramtype">dReal&nbsp;</td>
954 <td class="paramname"> <em>pz</em>, </td>
955 </tr>
956 <tr>
957 <td class="paramkey"></td>
958 <td></td>
959 <td class="paramtype">dVector3&nbsp;</td>
960 <td class="paramname"> <em>result</em></td><td>&nbsp;</td>
961 </tr>
962 <tr>
963 <td></td>
964 <td>)</td>
965 <td></td><td></td><td width="100%"></td>
966 </tr>
967 </table>
968</div>
969<div class="memdoc">
970
971<p>
972Get world position of a relative point on body.
973<p>
974<dl compact><dt><b>Parameters:</b></dt><dd>
975 <table border="0" cellspacing="2" cellpadding="0">
976 <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>will contain the result. </td></tr>
977 </table>
978</dl>
979
980</div>
981</div><p>
982<a class="anchor" name="g7fd4f4c7e70c59380da11277b2e97510"></a><!-- doxytag: member="objects.h::dBodyGetRelPointVel" ref="g7fd4f4c7e70c59380da11277b2e97510" args="(dBodyID, dReal px, dReal py, dReal pz, dVector3 result)" -->
983<div class="memitem">
984<div class="memproto">
985 <table class="memname">
986 <tr>
987 <td class="memname">ODE_API void dBodyGetRelPointVel </td>
988 <td>(</td>
989 <td class="paramtype">dBodyID&nbsp;</td>
990 <td class="paramname">, </td>
991 </tr>
992 <tr>
993 <td class="paramkey"></td>
994 <td></td>
995 <td class="paramtype">dReal&nbsp;</td>
996 <td class="paramname"> <em>px</em>, </td>
997 </tr>
998 <tr>
999 <td class="paramkey"></td>
1000 <td></td>
1001 <td class="paramtype">dReal&nbsp;</td>
1002 <td class="paramname"> <em>py</em>, </td>
1003 </tr>
1004 <tr>
1005 <td class="paramkey"></td>
1006 <td></td>
1007 <td class="paramtype">dReal&nbsp;</td>
1008 <td class="paramname"> <em>pz</em>, </td>
1009 </tr>
1010 <tr>
1011 <td class="paramkey"></td>
1012 <td></td>
1013 <td class="paramtype">dVector3&nbsp;</td>
1014 <td class="paramname"> <em>result</em></td><td>&nbsp;</td>
1015 </tr>
1016 <tr>
1017 <td></td>
1018 <td>)</td>
1019 <td></td><td></td><td width="100%"></td>
1020 </tr>
1021 </table>
1022</div>
1023<div class="memdoc">
1024
1025<p>
1026Get velocity vector in global coords of a relative point on body.
1027<p>
1028<dl compact><dt><b>Parameters:</b></dt><dd>
1029 <table border="0" cellspacing="2" cellpadding="0">
1030 <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>will contain the result. </td></tr>
1031 </table>
1032</dl>
1033
1034</div>
1035</div><p>
1036<a class="anchor" name="g2374da7ff88a2bac607e2fbce529ad27"></a><!-- doxytag: member="objects.h::dBodyGetRotation" ref="g2374da7ff88a2bac607e2fbce529ad27" args="(dBodyID)" -->
1037<div class="memitem">
1038<div class="memproto">
1039 <table class="memname">
1040 <tr>
1041 <td class="memname">ODE_API const dReal* dBodyGetRotation </td>
1042 <td>(</td>
1043 <td class="paramtype">dBodyID&nbsp;</td>
1044 <td class="paramname"> </td>
1045 <td>&nbsp;)&nbsp;</td>
1046 <td width="100%"></td>
1047 </tr>
1048 </table>
1049</div>
1050<div class="memdoc">
1051
1052<p>
1053Get the rotation of a body.
1054<p>
1055<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to a 4x3 rotation matrix. </dd></dl>
1056
1057</div>
1058</div><p>
1059<a class="anchor" name="gfe88a5bc363fc812c8f154e3d5f8ea5d"></a><!-- doxytag: member="objects.h::dBodyGetTorque" ref="gfe88a5bc363fc812c8f154e3d5f8ea5d" args="(dBodyID)" -->
1060<div class="memitem">
1061<div class="memproto">
1062 <table class="memname">
1063 <tr>
1064 <td class="memname">ODE_API const dReal* dBodyGetTorque </td>
1065 <td>(</td>
1066 <td class="paramtype">dBodyID&nbsp;</td>
1067 <td class="paramname"> </td>
1068 <td>&nbsp;)&nbsp;</td>
1069 <td width="100%"></td>
1070 </tr>
1071 </table>
1072</div>
1073<div class="memdoc">
1074
1075<p>
1076Return the current accumulated torque vector.
1077<p>
1078<dl class="return" compact><dt><b>Returns:</b></dt><dd>points to an array of 3 reals. </dd></dl>
1079<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>
1080
1081</div>
1082</div><p>
1083<a class="anchor" name="gb044b0a466f2ec2af3fd29ae399e822e"></a><!-- doxytag: member="objects.h::dBodyGetWorld" ref="gb044b0a466f2ec2af3fd29ae399e822e" args="(dBodyID)" -->
1084<div class="memitem">
1085<div class="memproto">
1086 <table class="memname">
1087 <tr>
1088 <td class="memname">ODE_API dWorldID dBodyGetWorld </td>
1089 <td>(</td>
1090 <td class="paramtype">dBodyID&nbsp;</td>
1091 <td class="paramname"> </td>
1092 <td>&nbsp;)&nbsp;</td>
1093 <td width="100%"></td>
1094 </tr>
1095 </table>
1096</div>
1097<div class="memdoc">
1098
1099<p>
1100Retrives the world attached to te given body.
1101<p>
1102<dl class="remark" compact><dt><b>Remarks:</b></dt><dd></dd></dl>
1103
1104</div>
1105</div><p>
1106<a class="anchor" name="g7e7803132dfcfceee04a6ab0ca1e0bf8"></a><!-- doxytag: member="objects.h::dBodyIsEnabled" ref="g7e7803132dfcfceee04a6ab0ca1e0bf8" args="(dBodyID)" -->
1107<div class="memitem">
1108<div class="memproto">
1109 <table class="memname">
1110 <tr>
1111 <td class="memname">ODE_API int dBodyIsEnabled </td>
1112 <td>(</td>
1113 <td class="paramtype">dBodyID&nbsp;</td>
1114 <td class="paramname"> </td>
1115 <td>&nbsp;)&nbsp;</td>
1116 <td width="100%"></td>
1117 </tr>
1118 </table>
1119</div>
1120<div class="memdoc">
1121
1122<p>
1123Check wether a body is enabled.
1124<p>
1125<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>
1126
1127</div>
1128</div><p>
1129<a class="anchor" name="g206ccf22f027a62aaf5e45a16ddc4040"></a><!-- doxytag: member="objects.h::dBodySetAutoDisableAngularThreshold" ref="g206ccf22f027a62aaf5e45a16ddc4040" args="(dBodyID, dReal angular_average_threshold)" -->
1130<div class="memitem">
1131<div class="memproto">
1132 <table class="memname">
1133 <tr>
1134 <td class="memname">ODE_API void dBodySetAutoDisableAngularThreshold </td>
1135 <td>(</td>
1136 <td class="paramtype">dBodyID&nbsp;</td>
1137 <td class="paramname">, </td>
1138 </tr>
1139 <tr>
1140 <td class="paramkey"></td>
1141 <td></td>
1142 <td class="paramtype">dReal&nbsp;</td>
1143 <td class="paramname"> <em>angular_average_threshold</em></td><td>&nbsp;</td>
1144 </tr>
1145 <tr>
1146 <td></td>
1147 <td>)</td>
1148 <td></td><td></td><td width="100%"></td>
1149 </tr>
1150 </table>
1151</div>
1152<div class="memdoc">
1153
1154<p>
1155Set auto disable angular average threshold.
1156<p>
1157<dl class="return" compact><dt><b>Returns:</b></dt><dd>the threshold </dd></dl>
1158
1159</div>
1160</div><p>
1161<a class="anchor" name="g4bce13aaa5ffb7d4b3452191974c3be6"></a><!-- doxytag: member="objects.h::dBodySetAutoDisableAverageSamplesCount" ref="g4bce13aaa5ffb7d4b3452191974c3be6" args="(dBodyID, unsigned int average_samples_count)" -->
1162<div class="memitem">
1163<div class="memproto">
1164 <table class="memname">
1165 <tr>
1166 <td class="memname">ODE_API void dBodySetAutoDisableAverageSamplesCount </td>
1167 <td>(</td>
1168 <td class="paramtype">dBodyID&nbsp;</td>
1169 <td class="paramname">, </td>
1170 </tr>
1171 <tr>
1172 <td class="paramkey"></td>
1173 <td></td>
1174 <td class="paramtype">unsigned int&nbsp;</td>
1175 <td class="paramname"> <em>average_samples_count</em></td><td>&nbsp;</td>
1176 </tr>
1177 <tr>
1178 <td></td>
1179 <td>)</td>
1180 <td></td><td></td><td width="100%"></td>
1181 </tr>
1182 </table>
1183</div>
1184<div class="memdoc">
1185
1186<p>
1187Set auto disable average buffer size (average steps).
1188<p>
1189<dl compact><dt><b>Parameters:</b></dt><dd>
1190 <table border="0" cellspacing="2" cellpadding="0">
1191 <tr><td valign="top"></td><td valign="top"><em>average_samples_count</em>&nbsp;</td><td>the nr of samples to review. </td></tr>
1192 </table>
1193</dl>
1194
1195</div>
1196</div><p>
1197<a class="anchor" name="g00969db4aebc2e8629cd9c45f3b7385e"></a><!-- doxytag: member="objects.h::dBodySetAutoDisableDefaults" ref="g00969db4aebc2e8629cd9c45f3b7385e" args="(dBodyID)" -->
1198<div class="memitem">
1199<div class="memproto">
1200 <table class="memname">
1201 <tr>
1202 <td class="memname">ODE_API void dBodySetAutoDisableDefaults </td>
1203 <td>(</td>
1204 <td class="paramtype">dBodyID&nbsp;</td>
1205 <td class="paramname"> </td>
1206 <td>&nbsp;)&nbsp;</td>
1207 <td width="100%"></td>
1208 </tr>
1209 </table>
1210</div>
1211<div class="memdoc">
1212
1213<p>
1214Set auto disable defaults.
1215<p>
1216<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>
1217
1218</div>
1219</div><p>
1220<a class="anchor" name="ge352fdcd8851224f07da53f35691ceb7"></a><!-- doxytag: member="objects.h::dBodySetAutoDisableFlag" ref="ge352fdcd8851224f07da53f35691ceb7" args="(dBodyID, int do_auto_disable)" -->
1221<div class="memitem">
1222<div class="memproto">
1223 <table class="memname">
1224 <tr>
1225 <td class="memname">ODE_API void dBodySetAutoDisableFlag </td>
1226 <td>(</td>
1227 <td class="paramtype">dBodyID&nbsp;</td>
1228 <td class="paramname">, </td>
1229 </tr>
1230 <tr>
1231 <td class="paramkey"></td>
1232 <td></td>
1233 <td class="paramtype">int&nbsp;</td>
1234 <td class="paramname"> <em>do_auto_disable</em></td><td>&nbsp;</td>
1235 </tr>
1236 <tr>
1237 <td></td>
1238 <td>)</td>
1239 <td></td><td></td><td width="100%"></td>
1240 </tr>
1241 </table>
1242</div>
1243<div class="memdoc">
1244
1245<p>
1246Set auto disable flag.
1247<p>
1248<dl compact><dt><b>Parameters:</b></dt><dd>
1249 <table border="0" cellspacing="2" cellpadding="0">
1250 <tr><td valign="top"></td><td valign="top"><em>do_auto_disable</em>&nbsp;</td><td>0 or 1 </td></tr>
1251 </table>
1252</dl>
1253
1254</div>
1255</div><p>
1256<a class="anchor" name="gb8f6e736830cfea86c35e7a0cdfa3112"></a><!-- doxytag: member="objects.h::dBodySetAutoDisableLinearThreshold" ref="gb8f6e736830cfea86c35e7a0cdfa3112" args="(dBodyID, dReal linear_average_threshold)" -->
1257<div class="memitem">
1258<div class="memproto">
1259 <table class="memname">
1260 <tr>
1261 <td class="memname">ODE_API void dBodySetAutoDisableLinearThreshold </td>
1262 <td>(</td>
1263 <td class="paramtype">dBodyID&nbsp;</td>
1264 <td class="paramname">, </td>
1265 </tr>
1266 <tr>
1267 <td class="paramkey"></td>
1268 <td></td>
1269 <td class="paramtype">dReal&nbsp;</td>
1270 <td class="paramname"> <em>linear_average_threshold</em></td><td>&nbsp;</td>
1271 </tr>
1272 <tr>
1273 <td></td>
1274 <td>)</td>
1275 <td></td><td></td><td width="100%"></td>
1276 </tr>
1277 </table>
1278</div>
1279<div class="memdoc">
1280
1281<p>
1282Set auto disable linear average threshold.
1283<p>
1284<dl class="return" compact><dt><b>Returns:</b></dt><dd>the threshold </dd></dl>
1285
1286</div>
1287</div><p>
1288<a class="anchor" name="g03cc329bdc8e19e59c4bfe62cf736578"></a><!-- doxytag: member="objects.h::dBodySetAutoDisableSteps" ref="g03cc329bdc8e19e59c4bfe62cf736578" args="(dBodyID, int steps)" -->
1289<div class="memitem">
1290<div class="memproto">
1291 <table class="memname">
1292 <tr>
1293 <td class="memname">ODE_API void dBodySetAutoDisableSteps </td>
1294 <td>(</td>
1295 <td class="paramtype">dBodyID&nbsp;</td>
1296 <td class="paramname">, </td>
1297 </tr>
1298 <tr>
1299 <td class="paramkey"></td>
1300 <td></td>
1301 <td class="paramtype">int&nbsp;</td>
1302 <td class="paramname"> <em>steps</em></td><td>&nbsp;</td>
1303 </tr>
1304 <tr>
1305 <td></td>
1306 <td>)</td>
1307 <td></td><td></td><td width="100%"></td>
1308 </tr>
1309 </table>
1310</div>
1311<div class="memdoc">
1312
1313<p>
1314Set auto disable steps.
1315<p>
1316<dl compact><dt><b>Parameters:</b></dt><dd>
1317 <table border="0" cellspacing="2" cellpadding="0">
1318 <tr><td valign="top"></td><td valign="top"><em>steps</em>&nbsp;</td><td>the nr of steps. </td></tr>
1319 </table>
1320</dl>
1321
1322</div>
1323</div><p>
1324<a class="anchor" name="g0ae2f08bb38359934151f9420cdef341"></a><!-- doxytag: member="objects.h::dBodySetAutoDisableTime" ref="g0ae2f08bb38359934151f9420cdef341" args="(dBodyID, dReal time)" -->
1325<div class="memitem">
1326<div class="memproto">
1327 <table class="memname">
1328 <tr>
1329 <td class="memname">ODE_API void dBodySetAutoDisableTime </td>
1330 <td>(</td>
1331 <td class="paramtype">dBodyID&nbsp;</td>
1332 <td class="paramname">, </td>
1333 </tr>
1334 <tr>
1335 <td class="paramkey"></td>
1336 <td></td>
1337 <td class="paramtype">dReal&nbsp;</td>
1338 <td class="paramname"> <em>time</em></td><td>&nbsp;</td>
1339 </tr>
1340 <tr>
1341 <td></td>
1342 <td>)</td>
1343 <td></td><td></td><td width="100%"></td>
1344 </tr>
1345 </table>
1346</div>
1347<div class="memdoc">
1348
1349<p>
1350Set auto disable time.
1351<p>
1352<dl compact><dt><b>Parameters:</b></dt><dd>
1353 <table border="0" cellspacing="2" cellpadding="0">
1354 <tr><td valign="top"></td><td valign="top"><em>time</em>&nbsp;</td><td>nr of seconds. </td></tr>
1355 </table>
1356</dl>
1357
1358</div>
1359</div><p>
1360<a class="anchor" name="gf9cbe9e1ed1bd4559bb5603b8d0f92f2"></a><!-- doxytag: member="objects.h::dBodySetData" ref="gf9cbe9e1ed1bd4559bb5603b8d0f92f2" args="(dBodyID, void *data)" -->
1361<div class="memitem">
1362<div class="memproto">
1363 <table class="memname">
1364 <tr>
1365 <td class="memname">ODE_API void dBodySetData </td>
1366 <td>(</td>
1367 <td class="paramtype">dBodyID&nbsp;</td>
1368 <td class="paramname">, </td>
1369 </tr>
1370 <tr>
1371 <td class="paramkey"></td>
1372 <td></td>
1373 <td class="paramtype">void *&nbsp;</td>
1374 <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
1375 </tr>
1376 <tr>
1377 <td></td>
1378 <td>)</td>
1379 <td></td><td></td><td width="100%"></td>
1380 </tr>
1381 </table>
1382</div>
1383<div class="memdoc">
1384
1385<p>
1386Set the body's user-data pointer.
1387<p>
1388<dl compact><dt><b>Parameters:</b></dt><dd>
1389 <table border="0" cellspacing="2" cellpadding="0">
1390 <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>arbitraty pointer </td></tr>
1391 </table>
1392</dl>
1393
1394</div>
1395</div><p>
1396<a class="anchor" name="ga9546c1ea6119fcbf80c71a96f56d052"></a><!-- doxytag: member="objects.h::dBodySetFiniteRotationAxis" ref="ga9546c1ea6119fcbf80c71a96f56d052" args="(dBodyID, dReal x, dReal y, dReal z)" -->
1397<div class="memitem">
1398<div class="memproto">
1399 <table class="memname">
1400 <tr>
1401 <td class="memname">ODE_API void dBodySetFiniteRotationAxis </td>
1402 <td>(</td>
1403 <td class="paramtype">dBodyID&nbsp;</td>
1404 <td class="paramname">, </td>
1405 </tr>
1406 <tr>
1407 <td class="paramkey"></td>
1408 <td></td>
1409 <td class="paramtype">dReal&nbsp;</td>
1410 <td class="paramname"> <em>x</em>, </td>
1411 </tr>
1412 <tr>
1413 <td class="paramkey"></td>
1414 <td></td>
1415 <td class="paramtype">dReal&nbsp;</td>
1416 <td class="paramname"> <em>y</em>, </td>
1417 </tr>
1418 <tr>
1419 <td class="paramkey"></td>
1420 <td></td>
1421 <td class="paramtype">dReal&nbsp;</td>
1422 <td class="paramname"> <em>z</em></td><td>&nbsp;</td>
1423 </tr>
1424 <tr>
1425 <td></td>
1426 <td>)</td>
1427 <td></td><td></td><td width="100%"></td>
1428 </tr>
1429 </table>
1430</div>
1431<div class="memdoc">
1432
1433<p>
1434sets the finite rotation axis for a body.
1435<p>
1436<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>
1437This 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>
1438
1439</div>
1440</div><p>
1441<a class="anchor" name="gc474ca36d734fb67b8bd504b672527fa"></a><!-- doxytag: member="objects.h::dBodySetFiniteRotationMode" ref="gc474ca36d734fb67b8bd504b672527fa" args="(dBodyID, int mode)" -->
1442<div class="memitem">
1443<div class="memproto">
1444 <table class="memname">
1445 <tr>
1446 <td class="memname">ODE_API void dBodySetFiniteRotationMode </td>
1447 <td>(</td>
1448 <td class="paramtype">dBodyID&nbsp;</td>
1449 <td class="paramname">, </td>
1450 </tr>
1451 <tr>
1452 <td class="paramkey"></td>
1453 <td></td>
1454 <td class="paramtype">int&nbsp;</td>
1455 <td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
1456 </tr>
1457 <tr>
1458 <td></td>
1459 <td>)</td>
1460 <td></td><td></td><td width="100%"></td>
1461 </tr>
1462 </table>
1463</div>
1464<div class="memdoc">
1465
1466<p>
1467controls the way a body's orientation is updated at each timestep.
1468<p>
1469<dl compact><dt><b>Parameters:</b></dt><dd>
1470 <table border="0" cellspacing="2" cellpadding="0">
1471 <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>can be 0 or 1: <ul>
1472<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>
1473<li>1: A ``finite'' orientation update is used. This is more costly to compute, but will be more accurate for high speed rotations. </li>
1474</ul>
1475</td></tr>
1476 </table>
1477</dl>
1478<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>
1479
1480</div>
1481</div><p>
1482<a class="anchor" name="gbd56079db36d4562db0e18aebea4f95f"></a><!-- doxytag: member="objects.h::dBodySetForce" ref="gbd56079db36d4562db0e18aebea4f95f" args="(dBodyID b, dReal x, dReal y, dReal z)" -->
1483<div class="memitem">
1484<div class="memproto">
1485 <table class="memname">
1486 <tr>
1487 <td class="memname">ODE_API void dBodySetForce </td>
1488 <td>(</td>
1489 <td class="paramtype">dBodyID&nbsp;</td>
1490 <td class="paramname"> <em>b</em>, </td>
1491 </tr>
1492 <tr>
1493 <td class="paramkey"></td>
1494 <td></td>
1495 <td class="paramtype">dReal&nbsp;</td>
1496 <td class="paramname"> <em>x</em>, </td>
1497 </tr>
1498 <tr>
1499 <td class="paramkey"></td>
1500 <td></td>
1501 <td class="paramtype">dReal&nbsp;</td>
1502 <td class="paramname"> <em>y</em>, </td>
1503 </tr>
1504 <tr>
1505 <td class="paramkey"></td>
1506 <td></td>
1507 <td class="paramtype">dReal&nbsp;</td>
1508 <td class="paramname"> <em>z</em></td><td>&nbsp;</td>
1509 </tr>
1510 <tr>
1511 <td></td>
1512 <td>)</td>
1513 <td></td><td></td><td width="100%"></td>
1514 </tr>
1515 </table>
1516</div>
1517<div class="memdoc">
1518
1519<p>
1520Set the body force accumulation vector.
1521<p>
1522<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>
1523
1524</div>
1525</div><p>
1526<a class="anchor" name="g5465d605e7fbe82d63a0d4e1000da731"></a><!-- doxytag: member="objects.h::dBodySetGravityMode" ref="g5465d605e7fbe82d63a0d4e1000da731" args="(dBodyID b, int mode)" -->
1527<div class="memitem">
1528<div class="memproto">
1529 <table class="memname">
1530 <tr>
1531 <td class="memname">ODE_API void dBodySetGravityMode </td>
1532 <td>(</td>
1533 <td class="paramtype">dBodyID&nbsp;</td>
1534 <td class="paramname"> <em>b</em>, </td>
1535 </tr>
1536 <tr>
1537 <td class="paramkey"></td>
1538 <td></td>
1539 <td class="paramtype">int&nbsp;</td>
1540 <td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
1541 </tr>
1542 <tr>
1543 <td></td>
1544 <td>)</td>
1545 <td></td><td></td><td width="100%"></td>
1546 </tr>
1547 </table>
1548</div>
1549<div class="memdoc">
1550
1551<p>
1552Set whether the body is influenced by the world's gravity or not.
1553<p>
1554<dl compact><dt><b>Parameters:</b></dt><dd>
1555 <table border="0" cellspacing="2" cellpadding="0">
1556 <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>when nonzero gravity affects this body. </td></tr>
1557 </table>
1558</dl>
1559<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Newly created bodies are always influenced by the world's gravity. </dd></dl>
1560
1561</div>
1562</div><p>
1563<a class="anchor" name="gb84612b793366f18ff5b5cbdbed092da"></a><!-- doxytag: member="objects.h::dBodySetPosition" ref="gb84612b793366f18ff5b5cbdbed092da" args="(dBodyID, dReal x, dReal y, dReal z)" -->
1564<div class="memitem">
1565<div class="memproto">
1566 <table class="memname">
1567 <tr>
1568 <td class="memname">ODE_API void dBodySetPosition </td>
1569 <td>(</td>
1570 <td class="paramtype">dBodyID&nbsp;</td>
1571 <td class="paramname">, </td>
1572 </tr>
1573 <tr>
1574 <td class="paramkey"></td>
1575 <td></td>
1576 <td class="paramtype">dReal&nbsp;</td>
1577 <td class="paramname"> <em>x</em>, </td>
1578 </tr>
1579 <tr>
1580 <td class="paramkey"></td>
1581 <td></td>
1582 <td class="paramtype">dReal&nbsp;</td>
1583 <td class="paramname"> <em>y</em>, </td>
1584 </tr>
1585 <tr>
1586 <td class="paramkey"></td>
1587 <td></td>
1588 <td class="paramtype">dReal&nbsp;</td>
1589 <td class="paramname"> <em>z</em></td><td>&nbsp;</td>
1590 </tr>
1591 <tr>
1592 <td></td>
1593 <td>)</td>
1594 <td></td><td></td><td width="100%"></td>
1595 </tr>
1596 </table>
1597</div>
1598<div class="memdoc">
1599
1600<p>
1601Set position of a body.
1602<p>
1603<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>
1604
1605</div>
1606</div><p>
1607<a class="anchor" name="ga5f51dd3605c402320e9eae4231d7ad4"></a><!-- doxytag: member="objects.h::dBodySetQuaternion" ref="ga5f51dd3605c402320e9eae4231d7ad4" args="(dBodyID, const dQuaternion q)" -->
1608<div class="memitem">
1609<div class="memproto">
1610 <table class="memname">
1611 <tr>
1612 <td class="memname">ODE_API void dBodySetQuaternion </td>
1613 <td>(</td>
1614 <td class="paramtype">dBodyID&nbsp;</td>
1615 <td class="paramname">, </td>
1616 </tr>
1617 <tr>
1618 <td class="paramkey"></td>
1619 <td></td>
1620 <td class="paramtype">const dQuaternion&nbsp;</td>
1621 <td class="paramname"> <em>q</em></td><td>&nbsp;</td>
1622 </tr>
1623 <tr>
1624 <td></td>
1625 <td>)</td>
1626 <td></td><td></td><td width="100%"></td>
1627 </tr>
1628 </table>
1629</div>
1630<div class="memdoc">
1631
1632<p>
1633Set the orientation of a body.
1634<p>
1635<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>
1636
1637</div>
1638</div><p>
1639<a class="anchor" name="gb5f04968ec37ef46d2aaffad6c344468"></a><!-- doxytag: member="objects.h::dBodySetRotation" ref="gb5f04968ec37ef46d2aaffad6c344468" args="(dBodyID, const dMatrix3 R)" -->
1640<div class="memitem">
1641<div class="memproto">
1642 <table class="memname">
1643 <tr>
1644 <td class="memname">ODE_API void dBodySetRotation </td>
1645 <td>(</td>
1646 <td class="paramtype">dBodyID&nbsp;</td>
1647 <td class="paramname">, </td>
1648 </tr>
1649 <tr>
1650 <td class="paramkey"></td>
1651 <td></td>
1652 <td class="paramtype">const dMatrix3&nbsp;</td>
1653 <td class="paramname"> <em>R</em></td><td>&nbsp;</td>
1654 </tr>
1655 <tr>
1656 <td></td>
1657 <td>)</td>
1658 <td></td><td></td><td width="100%"></td>
1659 </tr>
1660 </table>
1661</div>
1662<div class="memdoc">
1663
1664<p>
1665Set the orientation of a body.
1666<p>
1667<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>
1668
1669</div>
1670</div><p>
1671<a class="anchor" name="gfcd3e44223a878ba52428ad3a124fa94"></a><!-- doxytag: member="objects.h::dBodySetTorque" ref="gfcd3e44223a878ba52428ad3a124fa94" args="(dBodyID b, dReal x, dReal y, dReal z)" -->
1672<div class="memitem">
1673<div class="memproto">
1674 <table class="memname">
1675 <tr>
1676 <td class="memname">ODE_API void dBodySetTorque </td>
1677 <td>(</td>
1678 <td class="paramtype">dBodyID&nbsp;</td>
1679 <td class="paramname"> <em>b</em>, </td>
1680 </tr>
1681 <tr>
1682 <td class="paramkey"></td>
1683 <td></td>
1684 <td class="paramtype">dReal&nbsp;</td>
1685 <td class="paramname"> <em>x</em>, </td>
1686 </tr>
1687 <tr>
1688 <td class="paramkey"></td>
1689 <td></td>
1690 <td class="paramtype">dReal&nbsp;</td>
1691 <td class="paramname"> <em>y</em>, </td>
1692 </tr>
1693 <tr>
1694 <td class="paramkey"></td>
1695 <td></td>
1696 <td class="paramtype">dReal&nbsp;</td>
1697 <td class="paramname"> <em>z</em></td><td>&nbsp;</td>
1698 </tr>
1699 <tr>
1700 <td></td>
1701 <td>)</td>
1702 <td></td><td></td><td width="100%"></td>
1703 </tr>
1704 </table>
1705</div>
1706<div class="memdoc">
1707
1708<p>
1709Set the body torque accumulation vector.
1710<p>
1711<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>
1712
1713</div>
1714</div><p>
1715<a class="anchor" name="g1e3ac3ef038e806d4942ea8b399ab575"></a><!-- doxytag: member="objects.h::dBodyVectorFromWorld" ref="g1e3ac3ef038e806d4942ea8b399ab575" args="(dBodyID, dReal px, dReal py, dReal pz, dVector3 result)" -->
1716<div class="memitem">
1717<div class="memproto">
1718 <table class="memname">
1719 <tr>
1720 <td class="memname">ODE_API void dBodyVectorFromWorld </td>
1721 <td>(</td>
1722 <td class="paramtype">dBodyID&nbsp;</td>
1723 <td class="paramname">, </td>
1724 </tr>
1725 <tr>
1726 <td class="paramkey"></td>
1727 <td></td>
1728 <td class="paramtype">dReal&nbsp;</td>
1729 <td class="paramname"> <em>px</em>, </td>
1730 </tr>
1731 <tr>
1732 <td class="paramkey"></td>
1733 <td></td>
1734 <td class="paramtype">dReal&nbsp;</td>
1735 <td class="paramname"> <em>py</em>, </td>
1736 </tr>
1737 <tr>
1738 <td class="paramkey"></td>
1739 <td></td>
1740 <td class="paramtype">dReal&nbsp;</td>
1741 <td class="paramname"> <em>pz</em>, </td>
1742 </tr>
1743 <tr>
1744 <td class="paramkey"></td>
1745 <td></td>
1746 <td class="paramtype">dVector3&nbsp;</td>
1747 <td class="paramname"> <em>result</em></td><td>&nbsp;</td>
1748 </tr>
1749 <tr>
1750 <td></td>
1751 <td>)</td>
1752 <td></td><td></td><td width="100%"></td>
1753 </tr>
1754 </table>
1755</div>
1756<div class="memdoc">
1757
1758<p>
1759Convert from world to local coordinates.
1760<p>
1761<dl compact><dt><b>Parameters:</b></dt><dd>
1762 <table border="0" cellspacing="2" cellpadding="0">
1763 <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>will contain the result. </td></tr>
1764 </table>
1765</dl>
1766
1767</div>
1768</div><p>
1769<a class="anchor" name="g0a2cd6f7499bcfeb8275cbb981465bbf"></a><!-- doxytag: member="objects.h::dBodyVectorToWorld" ref="g0a2cd6f7499bcfeb8275cbb981465bbf" args="(dBodyID, dReal px, dReal py, dReal pz, dVector3 result)" -->
1770<div class="memitem">
1771<div class="memproto">
1772 <table class="memname">
1773 <tr>
1774 <td class="memname">ODE_API void dBodyVectorToWorld </td>
1775 <td>(</td>
1776 <td class="paramtype">dBodyID&nbsp;</td>
1777 <td class="paramname">, </td>
1778 </tr>
1779 <tr>
1780 <td class="paramkey"></td>
1781 <td></td>
1782 <td class="paramtype">dReal&nbsp;</td>
1783 <td class="paramname"> <em>px</em>, </td>
1784 </tr>
1785 <tr>
1786 <td class="paramkey"></td>
1787 <td></td>
1788 <td class="paramtype">dReal&nbsp;</td>
1789 <td class="paramname"> <em>py</em>, </td>
1790 </tr>
1791 <tr>
1792 <td class="paramkey"></td>
1793 <td></td>
1794 <td class="paramtype">dReal&nbsp;</td>
1795 <td class="paramname"> <em>pz</em>, </td>
1796 </tr>
1797 <tr>
1798 <td class="paramkey"></td>
1799 <td></td>
1800 <td class="paramtype">dVector3&nbsp;</td>
1801 <td class="paramname"> <em>result</em></td><td>&nbsp;</td>
1802 </tr>
1803 <tr>
1804 <td></td>
1805 <td>)</td>
1806 <td></td><td></td><td width="100%"></td>
1807 </tr>
1808 </table>
1809</div>
1810<div class="memdoc">
1811
1812<p>
1813Convert from local to world coordinates.
1814<p>
1815<dl compact><dt><b>Parameters:</b></dt><dd>
1816 <table border="0" cellspacing="2" cellpadding="0">
1817 <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>will contain the result. </td></tr>
1818 </table>
1819</dl>
1820
1821</div>
1822</div><p>
1823<hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by&nbsp;
1824<a href="http://www.doxygen.org/index.html">
1825<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
1826</body>
1827</html>