diff options
Diffstat (limited to 'libraries/ode-0.9/docs')
44 files changed, 14169 insertions, 0 deletions
diff --git a/libraries/ode-0.9/docs/annotated.html b/libraries/ode-0.9/docs/annotated.html new file mode 100644 index 0000000..3b3c2f6 --- /dev/null +++ b/libraries/ode-0.9/docs/annotated.html | |||
@@ -0,0 +1,30 @@ | |||
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: Data Structures</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <div class="tabs"> | ||
17 | <ul> | ||
18 | <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> | ||
19 | <li><a href="functions.html"><span>Data Fields</span></a></li> | ||
20 | </ul> | ||
21 | </div> | ||
22 | <h1>Open Dynamics Engine Data Structures</h1>Here are the data structures with brief descriptions:<table> | ||
23 | <tr><td class="indexkey"><a class="el" href="structd_contact_geom.html">dContactGeom</a></td><td class="indexvalue">Describe the contact point between two geoms </td></tr> | ||
24 | <tr><td class="indexkey"><a class="el" href="structds_functions.html">dsFunctions</a></td><td class="indexvalue">Set of functions to be used as callbacks by the simulation loop </td></tr> | ||
25 | </table> | ||
26 | <hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:52 2007 for Open Dynamics Engine by | ||
27 | <a href="http://www.doxygen.org/index.html"> | ||
28 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
29 | </body> | ||
30 | </html> | ||
diff --git a/libraries/ode-0.9/docs/collision_8h-source.html b/libraries/ode-0.9/docs/collision_8h-source.html new file mode 100644 index 0000000..b6ff3b7 --- /dev/null +++ b/libraries/ode-0.9/docs/collision_8h-source.html | |||
@@ -0,0 +1,417 @@ | |||
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: collision.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>collision.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001-2003 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00023"></a>00023 <span class="preprocessor">#ifndef _ODE_COLLISION_H_</span> | ||
39 | <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define _ODE_COLLISION_H_</span> | ||
40 | <a name="l00025"></a>00025 <span class="preprocessor"></span> | ||
41 | <a name="l00026"></a>00026 <span class="preprocessor">#include <ode/common.h></span> | ||
42 | <a name="l00027"></a>00027 <span class="preprocessor">#include <ode/collision_space.h></span> | ||
43 | <a name="l00028"></a>00028 <span class="preprocessor">#include <ode/contact.h></span> | ||
44 | <a name="l00029"></a>00029 | ||
45 | <a name="l00030"></a>00030 <span class="preprocessor">#ifdef __cplusplus</span> | ||
46 | <a name="l00031"></a>00031 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | ||
47 | <a name="l00032"></a>00032 <span class="preprocessor">#endif</span> | ||
48 | <a name="l00033"></a>00033 <span class="preprocessor"></span> | ||
49 | <a name="l00049"></a>00049 <span class="comment">/* ************************************************************************ */</span> | ||
50 | <a name="l00050"></a>00050 <span class="comment">/* general functions */</span> | ||
51 | <a name="l00051"></a>00051 | ||
52 | <a name="l00065"></a>00065 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g96b9e7d3a7ca769b0c8f37eecfaf98c6" title="Destroy a geom, removing it from any space.">dGeomDestroy</a> (dGeomID geom); | ||
53 | <a name="l00066"></a>00066 | ||
54 | <a name="l00067"></a>00067 | ||
55 | <a name="l00075"></a>00075 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#gf68eb443d5c66ab1aaa8a7d38d1dbc4f" title="Set the user-defined data pointer stored in the geom.">dGeomSetData</a> (dGeomID geom, <span class="keywordtype">void</span>* data); | ||
56 | <a name="l00076"></a>00076 | ||
57 | <a name="l00077"></a>00077 | ||
58 | <a name="l00084"></a>00084 ODE_API <span class="keywordtype">void</span> *<a class="code" href="group__collide.html#gc1a185e22b136814fd3afc8469d98996" title="Get the user-defined data pointer stored in the geom.">dGeomGetData</a> (dGeomID geom); | ||
59 | <a name="l00085"></a>00085 | ||
60 | <a name="l00086"></a>00086 | ||
61 | <a name="l00105"></a>00105 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g97cad1194789477eac19fe364d986505" title="Set the body associated with a placeable geom.">dGeomSetBody</a> (dGeomID geom, dBodyID body); | ||
62 | <a name="l00106"></a>00106 | ||
63 | <a name="l00107"></a>00107 | ||
64 | <a name="l00114"></a>00114 ODE_API dBodyID <a class="code" href="group__collide.html#gd6cedf77fde0dddf751c5d42fcc8eebf" title="Get the body associated with a placeable geom.">dGeomGetBody</a> (dGeomID geom); | ||
65 | <a name="l00115"></a>00115 | ||
66 | <a name="l00116"></a>00116 | ||
67 | <a name="l00131"></a>00131 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g71043b70a735e8f5451c3e13cef345fe" title="Set the position vector of a placeable geom.">dGeomSetPosition</a> (dGeomID geom, dReal x, dReal y, dReal z); | ||
68 | <a name="l00132"></a>00132 | ||
69 | <a name="l00133"></a>00133 | ||
70 | <a name="l00146"></a>00146 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g76c510f4b7d5a036d8a36f2d60d670e5" title="Set the rotation matrix of a placeable geom.">dGeomSetRotation</a> (dGeomID geom, <span class="keyword">const</span> dMatrix3 R); | ||
71 | <a name="l00147"></a>00147 | ||
72 | <a name="l00148"></a>00148 | ||
73 | <a name="l00162"></a>00162 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g989149d93162264d699444a57b045150" title="Set the rotation of a placeable geom.">dGeomSetQuaternion</a> (dGeomID geom, <span class="keyword">const</span> dQuaternion Q); | ||
74 | <a name="l00163"></a>00163 | ||
75 | <a name="l00164"></a>00164 | ||
76 | <a name="l00181"></a>00181 ODE_API <span class="keyword">const</span> dReal * <a class="code" href="group__collide.html#g95b93f803880cac2619fe2635aa93ad8" title="Get the position vector of a placeable geom.">dGeomGetPosition</a> (dGeomID geom); | ||
77 | <a name="l00182"></a>00182 | ||
78 | <a name="l00183"></a>00183 | ||
79 | <a name="l00191"></a>00191 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#gd2cccf2b4c62bec58720d4f5fab8108d" title="Copy the position of a geom into a vector.">dGeomCopyPosition</a> (dGeomID geom, dVector3 pos); | ||
80 | <a name="l00192"></a>00192 | ||
81 | <a name="l00193"></a>00193 | ||
82 | <a name="l00210"></a>00210 ODE_API <span class="keyword">const</span> dReal * <a class="code" href="group__collide.html#g293b2264cefb12f9a6659cacc6a722f7" title="Get the rotation matrix of a placeable geom.">dGeomGetRotation</a> (dGeomID geom); | ||
83 | <a name="l00211"></a>00211 | ||
84 | <a name="l00212"></a>00212 | ||
85 | <a name="l00226"></a>00226 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g800b702e148a8c279596f591b910cfbd" title="Get the rotation matrix of a placeable geom.">dGeomCopyRotation</a>(dGeomID geom, dMatrix3 R); | ||
86 | <a name="l00227"></a>00227 | ||
87 | <a name="l00228"></a>00228 | ||
88 | <a name="l00242"></a>00242 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g11ad7f0098639b06f4bcd2d681122842" title="Get the rotation quaternion of a placeable geom.">dGeomGetQuaternion</a> (dGeomID geom, dQuaternion result); | ||
89 | <a name="l00243"></a>00243 | ||
90 | <a name="l00244"></a>00244 | ||
91 | <a name="l00261"></a>00261 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g904e360ac6e9e85a05e67929990e5b72" title="Return the axis-aligned bounding box.">dGeomGetAABB</a> (dGeomID geom, dReal aabb[6]); | ||
92 | <a name="l00262"></a>00262 | ||
93 | <a name="l00263"></a>00263 | ||
94 | <a name="l00270"></a>00270 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__collide.html#ge5a58bdc78fb4f163a0e9c3ecabf64c9" title="Determing if a geom is a space.">dGeomIsSpace</a> (dGeomID geom); | ||
95 | <a name="l00271"></a>00271 | ||
96 | <a name="l00272"></a>00272 | ||
97 | <a name="l00280"></a>00280 ODE_API dSpaceID <a class="code" href="group__collide.html#gfdc35eade2cbd0b6886ce957325d7c03" title="Query for the space containing a particular geom.">dGeomGetSpace</a> (dGeomID); | ||
98 | <a name="l00281"></a>00281 | ||
99 | <a name="l00282"></a>00282 | ||
100 | <a name="l00307"></a>00307 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__collide.html#g07b5ed5b915f756f419a4a7ce69dc67e" title="Given a geom, this returns its class.">dGeomGetClass</a> (dGeomID geom); | ||
101 | <a name="l00308"></a>00308 | ||
102 | <a name="l00309"></a>00309 | ||
103 | <a name="l00322"></a>00322 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g80fd5741701eb48472521780d5e2f9b9" title="Set the &quot;category&quot; bitfield for the given geom.">dGeomSetCategoryBits</a> (dGeomID geom, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> bits); | ||
104 | <a name="l00323"></a>00323 | ||
105 | <a name="l00324"></a>00324 | ||
106 | <a name="l00337"></a>00337 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#ga55b4de01a61be41668685857b78455d" title="Set the &quot;collide&quot; bitfield for the given geom.">dGeomSetCollideBits</a> (dGeomID geom, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> bits); | ||
107 | <a name="l00338"></a>00338 | ||
108 | <a name="l00339"></a>00339 | ||
109 | <a name="l00348"></a>00348 ODE_API <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="group__collide.html#gfb62d3493b6789382f65776ab931e78d" title="Get the &quot;category&quot; bitfield for the given geom.">dGeomGetCategoryBits</a> (dGeomID); | ||
110 | <a name="l00349"></a>00349 | ||
111 | <a name="l00350"></a>00350 | ||
112 | <a name="l00359"></a>00359 ODE_API <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="group__collide.html#g5591e5c496a5a6f8b66dc57e03d0cd8d" title="Get the &quot;collide&quot; bitfield for the given geom.">dGeomGetCollideBits</a> (dGeomID); | ||
113 | <a name="l00360"></a>00360 | ||
114 | <a name="l00361"></a>00361 | ||
115 | <a name="l00374"></a>00374 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#ga7c64b8fcae37ee9541208a0351f3d05" title="Enable a geom.">dGeomEnable</a> (dGeomID geom); | ||
116 | <a name="l00375"></a>00375 | ||
117 | <a name="l00376"></a>00376 | ||
118 | <a name="l00389"></a>00389 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g6cb32b4161435fe491859680b463fc12" title="Disable a geom.">dGeomDisable</a> (dGeomID geom); | ||
119 | <a name="l00390"></a>00390 | ||
120 | <a name="l00391"></a>00391 | ||
121 | <a name="l00405"></a>00405 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__collide.html#g6533d33f870cf0fb6684ec05e5c0562e" title="Check to see if a geom is enabled.">dGeomIsEnabled</a> (dGeomID geom); | ||
122 | <a name="l00406"></a>00406 | ||
123 | <a name="l00407"></a>00407 <span class="comment">/* ************************************************************************ */</span> | ||
124 | <a name="l00408"></a>00408 <span class="comment">/* geom offset from body */</span> | ||
125 | <a name="l00409"></a>00409 | ||
126 | <a name="l00425"></a>00425 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#gdc292bc01d5bed32f145ee42760d73b4" title="Set the local offset position of a geom from its body.">dGeomSetOffsetPosition</a> (dGeomID geom, dReal x, dReal y, dReal z); | ||
127 | <a name="l00426"></a>00426 | ||
128 | <a name="l00427"></a>00427 | ||
129 | <a name="l00441"></a>00441 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g805d896b4bc79ceb40e70aadb9629cab" title="Set the local offset rotation matrix of a geom from its body.">dGeomSetOffsetRotation</a> (dGeomID geom, <span class="keyword">const</span> dMatrix3 R); | ||
130 | <a name="l00442"></a>00442 | ||
131 | <a name="l00443"></a>00443 | ||
132 | <a name="l00457"></a>00457 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g9eba87b7598eb6b3a9b6bde1abbeaa1a" title="Set the local offset rotation of a geom from its body.">dGeomSetOffsetQuaternion</a> (dGeomID geom, <span class="keyword">const</span> dQuaternion Q); | ||
133 | <a name="l00458"></a>00458 | ||
134 | <a name="l00459"></a>00459 | ||
135 | <a name="l00476"></a>00476 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g934fe31c543d588991d28cd8571e52ed" title="Set the offset position of a geom from its body.">dGeomSetOffsetWorldPosition</a> (dGeomID geom, dReal x, dReal y, dReal z); | ||
136 | <a name="l00477"></a>00477 | ||
137 | <a name="l00478"></a>00478 | ||
138 | <a name="l00493"></a>00493 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g2c1ef27e7e8ced6eb8488221a1a7c200" title="Set the offset rotation of a geom from its body.">dGeomSetOffsetWorldRotation</a> (dGeomID geom, <span class="keyword">const</span> dMatrix3 R); | ||
139 | <a name="l00494"></a>00494 | ||
140 | <a name="l00495"></a>00495 | ||
141 | <a name="l00510"></a>00510 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#ga04f2117ab18a1d3e27270defdad83a8" title="Set the offset rotation of a geom from its body.">dGeomSetOffsetWorldQuaternion</a> (dGeomID geom, <span class="keyword">const</span> dQuaternion); | ||
142 | <a name="l00511"></a>00511 | ||
143 | <a name="l00512"></a>00512 | ||
144 | <a name="l00526"></a>00526 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#gc81929d988b21c4e5338017f2e92a6f2" title="Clear any offset from the geom.">dGeomClearOffset</a>(dGeomID geom); | ||
145 | <a name="l00527"></a>00527 | ||
146 | <a name="l00528"></a>00528 | ||
147 | <a name="l00544"></a>00544 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__collide.html#g46260e0668373aa600b1cf8f83276e10" title="Check to see whether the geom has an offset.">dGeomIsOffset</a>(dGeomID geom); | ||
148 | <a name="l00545"></a>00545 | ||
149 | <a name="l00546"></a>00546 | ||
150 | <a name="l00560"></a>00560 ODE_API <span class="keyword">const</span> dReal * <a class="code" href="group__collide.html#gb200f73800d253ab3a87f9856d4e18d2" title="Get the offset position vector of a geom.">dGeomGetOffsetPosition</a> (dGeomID geom); | ||
151 | <a name="l00561"></a>00561 | ||
152 | <a name="l00562"></a>00562 | ||
153 | <a name="l00573"></a>00573 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#gd4a1e59ecc3c570e3c37c5b8fad71220" title="Copy the offset position vector of a geom.">dGeomCopyOffsetPosition</a> (dGeomID geom, dVector3 pos); | ||
154 | <a name="l00574"></a>00574 | ||
155 | <a name="l00575"></a>00575 | ||
156 | <a name="l00590"></a>00590 ODE_API <span class="keyword">const</span> dReal * <a class="code" href="group__collide.html#gba28cf4ca8f552c782fc30ce3073dc73" title="Get the offset rotation matrix of a geom.">dGeomGetOffsetRotation</a> (dGeomID geom); | ||
157 | <a name="l00591"></a>00591 | ||
158 | <a name="l00592"></a>00592 | ||
159 | <a name="l00604"></a>00604 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#gcf96cd4f9913dc258e6f29da9979388c" title="Copy the offset rotation matrix of a geom.">dGeomCopyOffsetRotation</a> (dGeomID geom, dMatrix3 R); | ||
160 | <a name="l00605"></a>00605 | ||
161 | <a name="l00606"></a>00606 | ||
162 | <a name="l00617"></a>00617 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g8fc20f761daf36976e50d057cf2650ca" title="Get the offset rotation quaternion of a geom.">dGeomGetOffsetQuaternion</a> (dGeomID geom, dQuaternion result); | ||
163 | <a name="l00618"></a>00618 | ||
164 | <a name="l00619"></a>00619 | ||
165 | <a name="l00620"></a>00620 <span class="comment">/* ************************************************************************ */</span> | ||
166 | <a name="l00621"></a>00621 <span class="comment">/* collision detection */</span> | ||
167 | <a name="l00622"></a>00622 | ||
168 | <a name="l00623"></a>00623 <span class="comment">/*</span> | ||
169 | <a name="l00624"></a>00624 <span class="comment"> * Just generate any contacts (disables any contact refining).</span> | ||
170 | <a name="l00625"></a>00625 <span class="comment"> */</span> | ||
171 | <a name="l00626"></a>00626 <span class="preprocessor">#define CONTACTS_UNIMPORTANT 0x80000000</span> | ||
172 | <a name="l00627"></a>00627 <span class="preprocessor"></span> | ||
173 | <a name="l00675"></a>00675 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__collide.html#g08508345384abb95e25d674b39157bf8" title="Given two geoms o1 and o2 that potentially intersect, generate contact information...">dCollide</a> (dGeomID o1, dGeomID o2, <span class="keywordtype">int</span> flags, <a class="code" href="structd_contact_geom.html" title="Describe the contact point between two geoms.">dContactGeom</a> *contact, | ||
174 | <a name="l00676"></a>00676 <span class="keywordtype">int</span> skip); | ||
175 | <a name="l00677"></a>00677 | ||
176 | <a name="l00705"></a>00705 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#gfd185829b6940e2b3238517e1acd2fbb" title="Determines which pairs of geoms in a space may potentially intersect, and calls the...">dSpaceCollide</a> (dSpaceID space, <span class="keywordtype">void</span> *data, <a class="code" href="group__collide.html#g9f458413ace07fa9e3e7e52d6652ace0" title="User callback for geom-geom collision testing.">dNearCallback</a> *callback); | ||
177 | <a name="l00706"></a>00706 | ||
178 | <a name="l00707"></a>00707 | ||
179 | <a name="l00742"></a>00742 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g72a6bb0b550d3e181f8b7a9be7179db5" title="Determines which geoms from one space may potentially intersect with geoms from another...">dSpaceCollide2</a> (dGeomID space1, dGeomID space2, <span class="keywordtype">void</span> *data, <a class="code" href="group__collide.html#g9f458413ace07fa9e3e7e52d6652ace0" title="User callback for geom-geom collision testing.">dNearCallback</a> *callback); | ||
180 | <a name="l00743"></a>00743 | ||
181 | <a name="l00744"></a>00744 | ||
182 | <a name="l00745"></a>00745 <span class="comment">/* ************************************************************************ */</span> | ||
183 | <a name="l00746"></a>00746 <span class="comment">/* standard classes */</span> | ||
184 | <a name="l00747"></a>00747 | ||
185 | <a name="l00748"></a>00748 <span class="comment">/* the maximum number of user classes that are supported */</span> | ||
186 | <a name="l00749"></a>00749 <span class="keyword">enum</span> { | ||
187 | <a name="l00750"></a>00750 dMaxUserClasses = 4 | ||
188 | <a name="l00751"></a>00751 }; | ||
189 | <a name="l00752"></a>00752 | ||
190 | <a name="l00753"></a>00753 <span class="comment">/* class numbers - each geometry object needs a unique number */</span> | ||
191 | <a name="l00754"></a>00754 <span class="keyword">enum</span> { | ||
192 | <a name="l00755"></a>00755 dSphereClass = 0, | ||
193 | <a name="l00756"></a>00756 dBoxClass, | ||
194 | <a name="l00757"></a>00757 dCapsuleClass, | ||
195 | <a name="l00758"></a>00758 dCylinderClass, | ||
196 | <a name="l00759"></a>00759 dPlaneClass, | ||
197 | <a name="l00760"></a>00760 dRayClass, | ||
198 | <a name="l00761"></a>00761 dConvexClass, | ||
199 | <a name="l00762"></a>00762 dGeomTransformClass, | ||
200 | <a name="l00763"></a>00763 dTriMeshClass, | ||
201 | <a name="l00764"></a>00764 dHeightfieldClass, | ||
202 | <a name="l00765"></a>00765 | ||
203 | <a name="l00766"></a>00766 dFirstSpaceClass, | ||
204 | <a name="l00767"></a>00767 dSimpleSpaceClass = dFirstSpaceClass, | ||
205 | <a name="l00768"></a>00768 dHashSpaceClass, | ||
206 | <a name="l00769"></a>00769 dQuadTreeSpaceClass, | ||
207 | <a name="l00770"></a>00770 dLastSpaceClass = dQuadTreeSpaceClass, | ||
208 | <a name="l00771"></a>00771 | ||
209 | <a name="l00772"></a>00772 dFirstUserClass, | ||
210 | <a name="l00773"></a>00773 dLastUserClass = dFirstUserClass + dMaxUserClasses - 1, | ||
211 | <a name="l00774"></a>00774 dGeomNumClasses | ||
212 | <a name="l00775"></a>00775 }; | ||
213 | <a name="l00776"></a>00776 | ||
214 | <a name="l00777"></a>00777 | ||
215 | <a name="l00797"></a>00797 ODE_API dGeomID <a class="code" href="group__collide__sphere.html#g53c79c860638ca3600744a193da68474" title="Create a sphere geom of the given radius, and return its ID.">dCreateSphere</a> (dSpaceID space, dReal radius); | ||
216 | <a name="l00798"></a>00798 | ||
217 | <a name="l00799"></a>00799 | ||
218 | <a name="l00809"></a>00809 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide__sphere.html#g2341ae9b3b733571eff7a1857109f394" title="Set the radius of a sphere geom.">dGeomSphereSetRadius</a> (dGeomID sphere, dReal radius); | ||
219 | <a name="l00810"></a>00810 | ||
220 | <a name="l00811"></a>00811 | ||
221 | <a name="l00820"></a>00820 ODE_API dReal <a class="code" href="group__collide__sphere.html#g0e7f664deb9f557a6a24f93705b29fa9" title="Retrieves the radius of a sphere geom.">dGeomSphereGetRadius</a> (dGeomID sphere); | ||
222 | <a name="l00821"></a>00821 | ||
223 | <a name="l00822"></a>00822 | ||
224 | <a name="l00837"></a>00837 ODE_API dReal <a class="code" href="group__collide__sphere.html#gee86d3744471e447ffc85f85ee6578b1" title="Calculate the depth of the a given point within a sphere.">dGeomSpherePointDepth</a> (dGeomID sphere, dReal x, dReal y, dReal z); | ||
225 | <a name="l00838"></a>00838 | ||
226 | <a name="l00839"></a>00839 | ||
227 | <a name="l00840"></a>00840 <span class="comment">//--> Convex Functions</span> | ||
228 | <a name="l00841"></a>00841 ODE_API dGeomID dCreateConvex (dSpaceID space, | ||
229 | <a name="l00842"></a>00842 dReal *_planes, | ||
230 | <a name="l00843"></a>00843 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> _planecount, | ||
231 | <a name="l00844"></a>00844 dReal *_points, | ||
232 | <a name="l00845"></a>00845 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> _pointcount,<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *_polygons); | ||
233 | <a name="l00846"></a>00846 | ||
234 | <a name="l00847"></a>00847 ODE_API <span class="keywordtype">void</span> dGeomSetConvex (dGeomID g, | ||
235 | <a name="l00848"></a>00848 dReal *_planes, | ||
236 | <a name="l00849"></a>00849 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> _count, | ||
237 | <a name="l00850"></a>00850 dReal *_points, | ||
238 | <a name="l00851"></a>00851 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> _pointcount,<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *_polygons); | ||
239 | <a name="l00852"></a>00852 <span class="comment">//<-- Convex Functions</span> | ||
240 | <a name="l00853"></a>00853 | ||
241 | <a name="l00875"></a>00875 ODE_API dGeomID <a class="code" href="group__collide__box.html#g3e3b0b249a8ccd40a9969e3a26548397" title="Create a box geom with the provided side lengths.">dCreateBox</a> (dSpaceID space, dReal lx, dReal ly, dReal lz); | ||
242 | <a name="l00876"></a>00876 | ||
243 | <a name="l00877"></a>00877 | ||
244 | <a name="l00889"></a>00889 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide__box.html#g4c7060780be9eaf74228565910168273" title="Set the side lengths of the given box.">dGeomBoxSetLengths</a> (dGeomID box, dReal lx, dReal ly, dReal lz); | ||
245 | <a name="l00890"></a>00890 | ||
246 | <a name="l00891"></a>00891 | ||
247 | <a name="l00901"></a>00901 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide__box.html#ge24d9264235d2487b2e2d52b2c62c879" title="Get the side lengths of a box.">dGeomBoxGetLengths</a> (dGeomID box, dVector3 result); | ||
248 | <a name="l00902"></a>00902 | ||
249 | <a name="l00903"></a>00903 | ||
250 | <a name="l00916"></a>00916 ODE_API dReal dGeomBoxPointDepth (dGeomID box, dReal x, dReal y, dReal z); | ||
251 | <a name="l00917"></a>00917 | ||
252 | <a name="l00918"></a>00918 | ||
253 | <a name="l00919"></a>00919 ODE_API dGeomID dCreatePlane (dSpaceID space, dReal a, dReal b, dReal c, dReal d); | ||
254 | <a name="l00920"></a>00920 ODE_API <span class="keywordtype">void</span> dGeomPlaneSetParams (dGeomID plane, dReal a, dReal b, dReal c, dReal d); | ||
255 | <a name="l00921"></a>00921 ODE_API <span class="keywordtype">void</span> dGeomPlaneGetParams (dGeomID plane, dVector4 result); | ||
256 | <a name="l00922"></a>00922 ODE_API dReal dGeomPlanePointDepth (dGeomID plane, dReal x, dReal y, dReal z); | ||
257 | <a name="l00923"></a>00923 | ||
258 | <a name="l00924"></a>00924 ODE_API dGeomID dCreateCapsule (dSpaceID space, dReal radius, dReal length); | ||
259 | <a name="l00925"></a>00925 ODE_API <span class="keywordtype">void</span> dGeomCapsuleSetParams (dGeomID ccylinder, dReal radius, dReal length); | ||
260 | <a name="l00926"></a>00926 ODE_API <span class="keywordtype">void</span> dGeomCapsuleGetParams (dGeomID ccylinder, dReal *radius, dReal *length); | ||
261 | <a name="l00927"></a>00927 ODE_API dReal dGeomCapsulePointDepth (dGeomID ccylinder, dReal x, dReal y, dReal z); | ||
262 | <a name="l00928"></a>00928 | ||
263 | <a name="l00929"></a>00929 <span class="comment">// For now we want to have a backwards compatible C-API, note: C++ API is not.</span> | ||
264 | <a name="l00930"></a>00930 <span class="preprocessor">#define dCreateCCylinder dCreateCapsule</span> | ||
265 | <a name="l00931"></a>00931 <span class="preprocessor"></span><span class="preprocessor">#define dGeomCCylinderSetParams dGeomCapsuleSetParams</span> | ||
266 | <a name="l00932"></a>00932 <span class="preprocessor"></span><span class="preprocessor">#define dGeomCCylinderGetParams dGeomCapsuleGetParams</span> | ||
267 | <a name="l00933"></a>00933 <span class="preprocessor"></span><span class="preprocessor">#define dGeomCCylinderPointDepth dGeomCapsulePointDepth</span> | ||
268 | <a name="l00934"></a>00934 <span class="preprocessor"></span><span class="preprocessor">#define dCCylinderClass dCapsuleClass</span> | ||
269 | <a name="l00935"></a>00935 <span class="preprocessor"></span> | ||
270 | <a name="l00936"></a>00936 ODE_API dGeomID dCreateCylinder (dSpaceID space, dReal radius, dReal length); | ||
271 | <a name="l00937"></a>00937 ODE_API <span class="keywordtype">void</span> dGeomCylinderSetParams (dGeomID cylinder, dReal radius, dReal length); | ||
272 | <a name="l00938"></a>00938 ODE_API <span class="keywordtype">void</span> dGeomCylinderGetParams (dGeomID cylinder, dReal *radius, dReal *length); | ||
273 | <a name="l00939"></a>00939 | ||
274 | <a name="l00940"></a>00940 ODE_API dGeomID dCreateRay (dSpaceID space, dReal length); | ||
275 | <a name="l00941"></a>00941 ODE_API <span class="keywordtype">void</span> dGeomRaySetLength (dGeomID ray, dReal length); | ||
276 | <a name="l00942"></a>00942 ODE_API dReal dGeomRayGetLength (dGeomID ray); | ||
277 | <a name="l00943"></a>00943 ODE_API <span class="keywordtype">void</span> dGeomRaySet (dGeomID ray, dReal px, dReal py, dReal pz, | ||
278 | <a name="l00944"></a>00944 dReal dx, dReal dy, dReal dz); | ||
279 | <a name="l00945"></a>00945 ODE_API <span class="keywordtype">void</span> dGeomRayGet (dGeomID ray, dVector3 start, dVector3 dir); | ||
280 | <a name="l00946"></a>00946 | ||
281 | <a name="l00947"></a>00947 <span class="comment">/*</span> | ||
282 | <a name="l00948"></a>00948 <span class="comment"> * Set/get ray flags that influence ray collision detection.</span> | ||
283 | <a name="l00949"></a>00949 <span class="comment"> * These flags are currently only noticed by the trimesh collider, because</span> | ||
284 | <a name="l00950"></a>00950 <span class="comment"> * they can make a major differences there.</span> | ||
285 | <a name="l00951"></a>00951 <span class="comment"> */</span> | ||
286 | <a name="l00952"></a>00952 ODE_API <span class="keywordtype">void</span> dGeomRaySetParams (dGeomID g, <span class="keywordtype">int</span> FirstContact, <span class="keywordtype">int</span> BackfaceCull); | ||
287 | <a name="l00953"></a>00953 ODE_API <span class="keywordtype">void</span> dGeomRayGetParams (dGeomID g, <span class="keywordtype">int</span> *FirstContact, <span class="keywordtype">int</span> *BackfaceCull); | ||
288 | <a name="l00954"></a>00954 ODE_API <span class="keywordtype">void</span> dGeomRaySetClosestHit (dGeomID g, <span class="keywordtype">int</span> closestHit); | ||
289 | <a name="l00955"></a>00955 ODE_API <span class="keywordtype">int</span> dGeomRayGetClosestHit (dGeomID g); | ||
290 | <a name="l00956"></a>00956 | ||
291 | <a name="l00957"></a>00957 <span class="preprocessor">#include "collision_trimesh.h"</span> | ||
292 | <a name="l00958"></a>00958 | ||
293 | <a name="l00959"></a>00959 ODE_API dGeomID dCreateGeomTransform (dSpaceID space); | ||
294 | <a name="l00960"></a>00960 ODE_API <span class="keywordtype">void</span> dGeomTransformSetGeom (dGeomID g, dGeomID obj); | ||
295 | <a name="l00961"></a>00961 ODE_API dGeomID dGeomTransformGetGeom (dGeomID g); | ||
296 | <a name="l00962"></a>00962 ODE_API <span class="keywordtype">void</span> dGeomTransformSetCleanup (dGeomID g, <span class="keywordtype">int</span> mode); | ||
297 | <a name="l00963"></a>00963 ODE_API <span class="keywordtype">int</span> dGeomTransformGetCleanup (dGeomID g); | ||
298 | <a name="l00964"></a>00964 ODE_API <span class="keywordtype">void</span> dGeomTransformSetInfo (dGeomID g, <span class="keywordtype">int</span> mode); | ||
299 | <a name="l00965"></a>00965 ODE_API <span class="keywordtype">int</span> dGeomTransformGetInfo (dGeomID g); | ||
300 | <a name="l00966"></a>00966 | ||
301 | <a name="l00967"></a>00967 | ||
302 | <a name="l00968"></a>00968 <span class="comment">/* ************************************************************************ */</span> | ||
303 | <a name="l00969"></a>00969 <span class="comment">/* heightfield functions */</span> | ||
304 | <a name="l00970"></a>00970 | ||
305 | <a name="l00971"></a>00971 | ||
306 | <a name="l00972"></a>00972 <span class="comment">// Data storage for heightfield data.</span> | ||
307 | <a name="l00973"></a>00973 <span class="keyword">struct </span>dxHeightfieldData; | ||
308 | <a name="l00974"></a>00974 <span class="keyword">typedef</span> <span class="keyword">struct </span>dxHeightfieldData* dHeightfieldDataID; | ||
309 | <a name="l00975"></a>00975 | ||
310 | <a name="l00976"></a>00976 | ||
311 | <a name="l00994"></a><a class="code" href="group__collide.html#g32d2c58e3b2b589bd7672f3453102eb9">00994</a> <span class="keyword">typedef</span> dReal <a class="code" href="group__collide.html#g32d2c58e3b2b589bd7672f3453102eb9" title="Callback prototype.">dHeightfieldGetHeight</a>( <span class="keywordtype">void</span>* p_user_data, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> z ); | ||
312 | <a name="l00995"></a>00995 | ||
313 | <a name="l00996"></a>00996 | ||
314 | <a name="l00997"></a>00997 | ||
315 | <a name="l01017"></a>01017 ODE_API dGeomID <a class="code" href="group__collide.html#gd50d5cd5fea5bfc12584e60d4a936cfb" title="Creates a heightfield geom.">dCreateHeightfield</a>( dSpaceID space, | ||
316 | <a name="l01018"></a>01018 dHeightfieldDataID data, <span class="keywordtype">int</span> bPlaceable ); | ||
317 | <a name="l01019"></a>01019 | ||
318 | <a name="l01020"></a>01020 | ||
319 | <a name="l01033"></a>01033 ODE_API dHeightfieldDataID <a class="code" href="group__collide.html#g7de82d5cf9aa10bb3144d51f4360eea1" title="Creates a new empty dHeightfieldDataID.">dGeomHeightfieldDataCreate</a>(); | ||
320 | <a name="l01034"></a>01034 | ||
321 | <a name="l01035"></a>01035 | ||
322 | <a name="l01044"></a>01044 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#gf98fc1f3d1784df5a5dff114b483d408" title="Destroys a dHeightfieldDataID.">dGeomHeightfieldDataDestroy</a>( dHeightfieldDataID d ); | ||
323 | <a name="l01045"></a>01045 | ||
324 | <a name="l01046"></a>01046 | ||
325 | <a name="l01047"></a>01047 | ||
326 | <a name="l01088"></a>01088 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g34566000a5a2673cc013294f0ed85926" title="Configures a dHeightfieldDataID to use a callback to retrieve height data.">dGeomHeightfieldDataBuildCallback</a>( dHeightfieldDataID d, | ||
327 | <a name="l01089"></a>01089 <span class="keywordtype">void</span>* pUserData, <a class="code" href="group__collide.html#g32d2c58e3b2b589bd7672f3453102eb9" title="Callback prototype.">dHeightfieldGetHeight</a>* pCallback, | ||
328 | <a name="l01090"></a>01090 dReal width, dReal depth, <span class="keywordtype">int</span> widthSamples, <span class="keywordtype">int</span> depthSamples, | ||
329 | <a name="l01091"></a>01091 dReal scale, dReal offset, dReal thickness, <span class="keywordtype">int</span> bWrap ); | ||
330 | <a name="l01092"></a>01092 | ||
331 | <a name="l01136"></a>01136 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g2c15b7c1a36c7526b66911beab1b7934" title="Configures a dHeightfieldDataID to use height data in byte format.">dGeomHeightfieldDataBuildByte</a>( dHeightfieldDataID d, | ||
332 | <a name="l01137"></a>01137 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* pHeightData, <span class="keywordtype">int</span> bCopyHeightData, | ||
333 | <a name="l01138"></a>01138 dReal width, dReal depth, <span class="keywordtype">int</span> widthSamples, <span class="keywordtype">int</span> depthSamples, | ||
334 | <a name="l01139"></a>01139 dReal scale, dReal offset, dReal thickness, <span class="keywordtype">int</span> bWrap ); | ||
335 | <a name="l01140"></a>01140 | ||
336 | <a name="l01184"></a>01184 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g2f7582d64cc8219141bc10efeca86d17" title="Configures a dHeightfieldDataID to use height data in short format.">dGeomHeightfieldDataBuildShort</a>( dHeightfieldDataID d, | ||
337 | <a name="l01185"></a>01185 <span class="keyword">const</span> <span class="keywordtype">short</span>* pHeightData, <span class="keywordtype">int</span> bCopyHeightData, | ||
338 | <a name="l01186"></a>01186 dReal width, dReal depth, <span class="keywordtype">int</span> widthSamples, <span class="keywordtype">int</span> depthSamples, | ||
339 | <a name="l01187"></a>01187 dReal scale, dReal offset, dReal thickness, <span class="keywordtype">int</span> bWrap ); | ||
340 | <a name="l01188"></a>01188 | ||
341 | <a name="l01234"></a>01234 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g8da529419317e7bd4e01dabbe94daa09" title="Configures a dHeightfieldDataID to use height data in single precision floating point...">dGeomHeightfieldDataBuildSingle</a>( dHeightfieldDataID d, | ||
342 | <a name="l01235"></a>01235 <span class="keyword">const</span> <span class="keywordtype">float</span>* pHeightData, <span class="keywordtype">int</span> bCopyHeightData, | ||
343 | <a name="l01236"></a>01236 dReal width, dReal depth, <span class="keywordtype">int</span> widthSamples, <span class="keywordtype">int</span> depthSamples, | ||
344 | <a name="l01237"></a>01237 dReal scale, dReal offset, dReal thickness, <span class="keywordtype">int</span> bWrap ); | ||
345 | <a name="l01238"></a>01238 | ||
346 | <a name="l01284"></a>01284 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g98ec0c952b3b4e0fb3cd8cf66e267c86" title="Configures a dHeightfieldDataID to use height data in double precision floating point...">dGeomHeightfieldDataBuildDouble</a>( dHeightfieldDataID d, | ||
347 | <a name="l01285"></a>01285 <span class="keyword">const</span> <span class="keywordtype">double</span>* pHeightData, <span class="keywordtype">int</span> bCopyHeightData, | ||
348 | <a name="l01286"></a>01286 dReal width, dReal depth, <span class="keywordtype">int</span> widthSamples, <span class="keywordtype">int</span> depthSamples, | ||
349 | <a name="l01287"></a>01287 dReal scale, dReal offset, dReal thickness, <span class="keywordtype">int</span> bWrap ); | ||
350 | <a name="l01288"></a>01288 | ||
351 | <a name="l01306"></a>01306 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#gcdef420e65e3751388b315f5de2804b2" title="Manually set the minimum and maximum height bounds.">dGeomHeightfieldDataSetBounds</a>( dHeightfieldDataID d, | ||
352 | <a name="l01307"></a>01307 dReal minHeight, dReal maxHeight ); | ||
353 | <a name="l01308"></a>01308 | ||
354 | <a name="l01309"></a>01309 | ||
355 | <a name="l01320"></a>01320 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g6c1ae1f3ca652d6410e7804cdf8f8491" title="Assigns a dHeightfieldDataID to a heightfield geom.">dGeomHeightfieldSetHeightfieldData</a>( dGeomID g, dHeightfieldDataID d ); | ||
356 | <a name="l01321"></a>01321 | ||
357 | <a name="l01322"></a>01322 | ||
358 | <a name="l01332"></a>01332 ODE_API dHeightfieldDataID <a class="code" href="group__collide.html#g747176d26ce4f9b10ebfa6c865ef1cca" title="Gets the dHeightfieldDataID bound to a heightfield geom.">dGeomHeightfieldGetHeightfieldData</a>( dGeomID g ); | ||
359 | <a name="l01333"></a>01333 | ||
360 | <a name="l01334"></a>01334 | ||
361 | <a name="l01335"></a>01335 | ||
362 | <a name="l01336"></a>01336 <span class="comment">/* ************************************************************************ */</span> | ||
363 | <a name="l01337"></a>01337 <span class="comment">/* utility functions */</span> | ||
364 | <a name="l01338"></a>01338 | ||
365 | <a name="l01339"></a>01339 ODE_API <span class="keywordtype">void</span> dClosestLineSegmentPoints (<span class="keyword">const</span> dVector3 a1, <span class="keyword">const</span> dVector3 a2, | ||
366 | <a name="l01340"></a>01340 <span class="keyword">const</span> dVector3 b1, <span class="keyword">const</span> dVector3 b2, | ||
367 | <a name="l01341"></a>01341 dVector3 cp1, dVector3 cp2); | ||
368 | <a name="l01342"></a>01342 | ||
369 | <a name="l01343"></a>01343 ODE_API <span class="keywordtype">int</span> dBoxTouchesBox (<span class="keyword">const</span> dVector3 _p1, <span class="keyword">const</span> dMatrix3 R1, | ||
370 | <a name="l01344"></a>01344 <span class="keyword">const</span> dVector3 side1, <span class="keyword">const</span> dVector3 _p2, | ||
371 | <a name="l01345"></a>01345 <span class="keyword">const</span> dMatrix3 R2, <span class="keyword">const</span> dVector3 side2); | ||
372 | <a name="l01346"></a>01346 | ||
373 | <a name="l01347"></a>01347 <span class="comment">// The meaning of flags parameter is the same as in dCollide()</span> | ||
374 | <a name="l01348"></a>01348 ODE_API <span class="keywordtype">int</span> dBoxBox (<span class="keyword">const</span> dVector3 p1, <span class="keyword">const</span> dMatrix3 R1, | ||
375 | <a name="l01349"></a>01349 <span class="keyword">const</span> dVector3 side1, <span class="keyword">const</span> dVector3 p2, | ||
376 | <a name="l01350"></a>01350 <span class="keyword">const</span> dMatrix3 R2, <span class="keyword">const</span> dVector3 side2, | ||
377 | <a name="l01351"></a>01351 dVector3 normal, dReal *depth, <span class="keywordtype">int</span> *return_code, | ||
378 | <a name="l01352"></a>01352 <span class="keywordtype">int</span> flags, <a class="code" href="structd_contact_geom.html" title="Describe the contact point between two geoms.">dContactGeom</a> *contact, <span class="keywordtype">int</span> skip); | ||
379 | <a name="l01353"></a>01353 | ||
380 | <a name="l01354"></a>01354 ODE_API <span class="keywordtype">void</span> dInfiniteAABB (dGeomID geom, dReal aabb[6]); | ||
381 | <a name="l01355"></a>01355 ODE_API <span class="keywordtype">void</span> dInitODE(<span class="keywordtype">void</span>); | ||
382 | <a name="l01356"></a>01356 ODE_API <span class="keywordtype">void</span> dCloseODE(<span class="keywordtype">void</span>); | ||
383 | <a name="l01357"></a>01357 | ||
384 | <a name="l01358"></a>01358 <span class="comment">/* ************************************************************************ */</span> | ||
385 | <a name="l01359"></a>01359 <span class="comment">/* custom classes */</span> | ||
386 | <a name="l01360"></a>01360 | ||
387 | <a name="l01361"></a>01361 <span class="keyword">typedef</span> <span class="keywordtype">void</span> dGetAABBFn (dGeomID, dReal aabb[6]); | ||
388 | <a name="l01362"></a>01362 <span class="keyword">typedef</span> <span class="keywordtype">int</span> dColliderFn (dGeomID o1, dGeomID o2, | ||
389 | <a name="l01363"></a>01363 <span class="keywordtype">int</span> flags, <a class="code" href="structd_contact_geom.html" title="Describe the contact point between two geoms.">dContactGeom</a> *contact, <span class="keywordtype">int</span> skip); | ||
390 | <a name="l01364"></a>01364 <span class="keyword">typedef</span> dColliderFn * dGetColliderFnFn (<span class="keywordtype">int</span> num); | ||
391 | <a name="l01365"></a>01365 <span class="keyword">typedef</span> <span class="keywordtype">void</span> dGeomDtorFn (dGeomID o); | ||
392 | <a name="l01366"></a>01366 <span class="keyword">typedef</span> <span class="keywordtype">int</span> dAABBTestFn (dGeomID o1, dGeomID o2, dReal aabb[6]); | ||
393 | <a name="l01367"></a>01367 | ||
394 | <a name="l01368"></a>01368 <span class="keyword">typedef</span> <span class="keyword">struct </span>dGeomClass { | ||
395 | <a name="l01369"></a>01369 <span class="keywordtype">int</span> bytes; | ||
396 | <a name="l01370"></a>01370 dGetColliderFnFn *collider; | ||
397 | <a name="l01371"></a>01371 dGetAABBFn *aabb; | ||
398 | <a name="l01372"></a>01372 dAABBTestFn *aabb_test; | ||
399 | <a name="l01373"></a>01373 dGeomDtorFn *dtor; | ||
400 | <a name="l01374"></a>01374 } dGeomClass; | ||
401 | <a name="l01375"></a>01375 | ||
402 | <a name="l01376"></a>01376 ODE_API <span class="keywordtype">int</span> dCreateGeomClass (<span class="keyword">const</span> dGeomClass *classptr); | ||
403 | <a name="l01377"></a>01377 ODE_API <span class="keywordtype">void</span> * dGeomGetClassData (dGeomID); | ||
404 | <a name="l01378"></a>01378 ODE_API dGeomID dCreateGeom (<span class="keywordtype">int</span> classnum); | ||
405 | <a name="l01379"></a>01379 | ||
406 | <a name="l01380"></a>01380 <span class="comment">/* ************************************************************************ */</span> | ||
407 | <a name="l01381"></a>01381 | ||
408 | <a name="l01382"></a>01382 <span class="preprocessor">#ifdef __cplusplus</span> | ||
409 | <a name="l01383"></a>01383 <span class="preprocessor"></span>} | ||
410 | <a name="l01384"></a>01384 <span class="preprocessor">#endif</span> | ||
411 | <a name="l01385"></a>01385 <span class="preprocessor"></span> | ||
412 | <a name="l01386"></a>01386 <span class="preprocessor">#endif</span> | ||
413 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
414 | <a href="http://www.doxygen.org/index.html"> | ||
415 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
416 | </body> | ||
417 | </html> | ||
diff --git a/libraries/ode-0.9/docs/collision__space_8h-source.html b/libraries/ode-0.9/docs/collision__space_8h-source.html new file mode 100644 index 0000000..dbece3d --- /dev/null +++ b/libraries/ode-0.9/docs/collision__space_8h-source.html | |||
@@ -0,0 +1,81 @@ | |||
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: collision_space.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>collision_space.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001-2003 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00023"></a>00023 <span class="preprocessor">#ifndef _ODE_COLLISION_SPACE_H_</span> | ||
39 | <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define _ODE_COLLISION_SPACE_H_</span> | ||
40 | <a name="l00025"></a>00025 <span class="preprocessor"></span> | ||
41 | <a name="l00026"></a>00026 <span class="preprocessor">#include <ode/common.h></span> | ||
42 | <a name="l00027"></a>00027 | ||
43 | <a name="l00028"></a>00028 <span class="preprocessor">#ifdef __cplusplus</span> | ||
44 | <a name="l00029"></a>00029 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | ||
45 | <a name="l00030"></a>00030 <span class="preprocessor">#endif</span> | ||
46 | <a name="l00031"></a>00031 <span class="preprocessor"></span> | ||
47 | <a name="l00032"></a>00032 <span class="keyword">struct </span><a class="code" href="structd_contact_geom.html" title="Describe the contact point between two geoms.">dContactGeom</a>; | ||
48 | <a name="l00033"></a>00033 | ||
49 | <a name="l00049"></a><a class="code" href="group__collide.html#g9f458413ace07fa9e3e7e52d6652ace0">00049</a> <span class="keyword">typedef</span> <span class="keywordtype">void</span> <a class="code" href="group__collide.html#g9f458413ace07fa9e3e7e52d6652ace0" title="User callback for geom-geom collision testing.">dNearCallback</a> (<span class="keywordtype">void</span> *data, dGeomID o1, dGeomID o2); | ||
50 | <a name="l00050"></a>00050 | ||
51 | <a name="l00051"></a>00051 | ||
52 | <a name="l00052"></a>00052 ODE_API dSpaceID dSimpleSpaceCreate (dSpaceID space); | ||
53 | <a name="l00053"></a>00053 ODE_API dSpaceID dHashSpaceCreate (dSpaceID space); | ||
54 | <a name="l00054"></a>00054 ODE_API dSpaceID dQuadTreeSpaceCreate (dSpaceID space, dVector3 Center, dVector3 Extents, <span class="keywordtype">int</span> Depth); | ||
55 | <a name="l00055"></a>00055 | ||
56 | <a name="l00056"></a>00056 ODE_API <span class="keywordtype">void</span> dSpaceDestroy (dSpaceID); | ||
57 | <a name="l00057"></a>00057 | ||
58 | <a name="l00058"></a>00058 ODE_API <span class="keywordtype">void</span> dHashSpaceSetLevels (dSpaceID space, <span class="keywordtype">int</span> minlevel, <span class="keywordtype">int</span> maxlevel); | ||
59 | <a name="l00059"></a>00059 ODE_API <span class="keywordtype">void</span> dHashSpaceGetLevels (dSpaceID space, <span class="keywordtype">int</span> *minlevel, <span class="keywordtype">int</span> *maxlevel); | ||
60 | <a name="l00060"></a>00060 | ||
61 | <a name="l00061"></a>00061 ODE_API <span class="keywordtype">void</span> dSpaceSetCleanup (dSpaceID space, <span class="keywordtype">int</span> mode); | ||
62 | <a name="l00062"></a>00062 ODE_API <span class="keywordtype">int</span> dSpaceGetCleanup (dSpaceID space); | ||
63 | <a name="l00063"></a>00063 | ||
64 | <a name="l00064"></a>00064 ODE_API <span class="keywordtype">void</span> dSpaceAdd (dSpaceID, dGeomID); | ||
65 | <a name="l00065"></a>00065 ODE_API <span class="keywordtype">void</span> dSpaceRemove (dSpaceID, dGeomID); | ||
66 | <a name="l00066"></a>00066 ODE_API <span class="keywordtype">int</span> dSpaceQuery (dSpaceID, dGeomID); | ||
67 | <a name="l00067"></a>00067 ODE_API <span class="keywordtype">void</span> dSpaceClean (dSpaceID); | ||
68 | <a name="l00068"></a>00068 ODE_API <span class="keywordtype">int</span> dSpaceGetNumGeoms (dSpaceID); | ||
69 | <a name="l00069"></a>00069 ODE_API dGeomID dSpaceGetGeom (dSpaceID, <span class="keywordtype">int</span> i); | ||
70 | <a name="l00070"></a>00070 | ||
71 | <a name="l00071"></a>00071 | ||
72 | <a name="l00072"></a>00072 <span class="preprocessor">#ifdef __cplusplus</span> | ||
73 | <a name="l00073"></a>00073 <span class="preprocessor"></span>} | ||
74 | <a name="l00074"></a>00074 <span class="preprocessor">#endif</span> | ||
75 | <a name="l00075"></a>00075 <span class="preprocessor"></span> | ||
76 | <a name="l00076"></a>00076 <span class="preprocessor">#endif</span> | ||
77 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
78 | <a href="http://www.doxygen.org/index.html"> | ||
79 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
80 | </body> | ||
81 | </html> | ||
diff --git a/libraries/ode-0.9/docs/collision__trimesh_8h-source.html b/libraries/ode-0.9/docs/collision__trimesh_8h-source.html new file mode 100644 index 0000000..488925c --- /dev/null +++ b/libraries/ode-0.9/docs/collision__trimesh_8h-source.html | |||
@@ -0,0 +1,220 @@ | |||
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: collision_trimesh.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>collision_trimesh.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001-2003 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00023"></a>00023 <span class="comment">/*</span> | ||
39 | <a name="l00024"></a>00024 <span class="comment"> * TriMesh code by Erwin de Vries.</span> | ||
40 | <a name="l00025"></a>00025 <span class="comment"> *</span> | ||
41 | <a name="l00026"></a>00026 <span class="comment"> * Trimesh data.</span> | ||
42 | <a name="l00027"></a>00027 <span class="comment"> * This is where the actual vertexdata (pointers), and BV tree is stored.</span> | ||
43 | <a name="l00028"></a>00028 <span class="comment"> * Vertices should be single precision!</span> | ||
44 | <a name="l00029"></a>00029 <span class="comment"> * This should be more sophisticated, so that the user can easyly implement</span> | ||
45 | <a name="l00030"></a>00030 <span class="comment"> * another collision library, but this is a lot of work, and also costs some</span> | ||
46 | <a name="l00031"></a>00031 <span class="comment"> * performance because some data has to be copied.</span> | ||
47 | <a name="l00032"></a>00032 <span class="comment"> */</span> | ||
48 | <a name="l00033"></a>00033 | ||
49 | <a name="l00034"></a>00034 <span class="preprocessor">#ifndef _ODE_COLLISION_TRIMESH_H_</span> | ||
50 | <a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#define _ODE_COLLISION_TRIMESH_H_</span> | ||
51 | <a name="l00036"></a>00036 <span class="preprocessor"></span> | ||
52 | <a name="l00037"></a>00037 <span class="preprocessor">#ifdef __cplusplus</span> | ||
53 | <a name="l00038"></a>00038 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | ||
54 | <a name="l00039"></a>00039 <span class="preprocessor">#endif</span> | ||
55 | <a name="l00040"></a>00040 <span class="preprocessor"></span> | ||
56 | <a name="l00041"></a>00041 <span class="comment">/*</span> | ||
57 | <a name="l00042"></a>00042 <span class="comment"> * Data storage for triangle meshes.</span> | ||
58 | <a name="l00043"></a>00043 <span class="comment"> */</span> | ||
59 | <a name="l00044"></a>00044 <span class="keyword">struct </span>dxTriMeshData; | ||
60 | <a name="l00045"></a>00045 <span class="keyword">typedef</span> <span class="keyword">struct </span>dxTriMeshData* dTriMeshDataID; | ||
61 | <a name="l00046"></a>00046 | ||
62 | <a name="l00047"></a>00047 <span class="comment">/*</span> | ||
63 | <a name="l00048"></a>00048 <span class="comment"> * These dont make much sense now, but they will later when we add more</span> | ||
64 | <a name="l00049"></a>00049 <span class="comment"> * features.</span> | ||
65 | <a name="l00050"></a>00050 <span class="comment"> */</span> | ||
66 | <a name="l00051"></a>00051 ODE_API dTriMeshDataID dGeomTriMeshDataCreate(<span class="keywordtype">void</span>); | ||
67 | <a name="l00052"></a>00052 ODE_API <span class="keywordtype">void</span> dGeomTriMeshDataDestroy(dTriMeshDataID g); | ||
68 | <a name="l00053"></a>00053 | ||
69 | <a name="l00054"></a>00054 | ||
70 | <a name="l00055"></a>00055 | ||
71 | <a name="l00056"></a>00056 <span class="keyword">enum</span> { TRIMESH_FACE_NORMALS }; | ||
72 | <a name="l00057"></a>00057 ODE_API <span class="keywordtype">void</span> dGeomTriMeshDataSet(dTriMeshDataID g, <span class="keywordtype">int</span> data_id, <span class="keywordtype">void</span>* in_data); | ||
73 | <a name="l00058"></a>00058 ODE_API <span class="keywordtype">void</span>* dGeomTriMeshDataGet(dTriMeshDataID g, <span class="keywordtype">int</span> data_id); | ||
74 | <a name="l00059"></a>00059 | ||
75 | <a name="l00060"></a>00060 | ||
76 | <a name="l00061"></a>00061 | ||
77 | <a name="l00067"></a>00067 ODE_API <span class="keywordtype">void</span> dGeomTriMeshSetLastTransform( dGeomID g, dMatrix4 last_trans ); | ||
78 | <a name="l00068"></a>00068 ODE_API dReal* dGeomTriMeshGetLastTransform( dGeomID g ); | ||
79 | <a name="l00069"></a>00069 | ||
80 | <a name="l00070"></a>00070 <span class="comment">/*</span> | ||
81 | <a name="l00071"></a>00071 <span class="comment"> * Build TriMesh data with single precision used in vertex data .</span> | ||
82 | <a name="l00072"></a>00072 <span class="comment"> */</span> | ||
83 | <a name="l00073"></a>00073 ODE_API <span class="keywordtype">void</span> dGeomTriMeshDataBuildSingle(dTriMeshDataID g, | ||
84 | <a name="l00074"></a>00074 <span class="keyword">const</span> <span class="keywordtype">void</span>* Vertices, <span class="keywordtype">int</span> VertexStride, <span class="keywordtype">int</span> VertexCount, | ||
85 | <a name="l00075"></a>00075 <span class="keyword">const</span> <span class="keywordtype">void</span>* Indices, <span class="keywordtype">int</span> IndexCount, <span class="keywordtype">int</span> TriStride); | ||
86 | <a name="l00076"></a>00076 <span class="comment">/* same again with a normals array (used as trimesh-trimesh optimization) */</span> | ||
87 | <a name="l00077"></a>00077 ODE_API <span class="keywordtype">void</span> dGeomTriMeshDataBuildSingle1(dTriMeshDataID g, | ||
88 | <a name="l00078"></a>00078 <span class="keyword">const</span> <span class="keywordtype">void</span>* Vertices, <span class="keywordtype">int</span> VertexStride, <span class="keywordtype">int</span> VertexCount, | ||
89 | <a name="l00079"></a>00079 <span class="keyword">const</span> <span class="keywordtype">void</span>* Indices, <span class="keywordtype">int</span> IndexCount, <span class="keywordtype">int</span> TriStride, | ||
90 | <a name="l00080"></a>00080 <span class="keyword">const</span> <span class="keywordtype">void</span>* Normals); | ||
91 | <a name="l00081"></a>00081 <span class="comment">/*</span> | ||
92 | <a name="l00082"></a>00082 <span class="comment">* Build TriMesh data with double pricision used in vertex data .</span> | ||
93 | <a name="l00083"></a>00083 <span class="comment">*/</span> | ||
94 | <a name="l00084"></a>00084 ODE_API <span class="keywordtype">void</span> dGeomTriMeshDataBuildDouble(dTriMeshDataID g, | ||
95 | <a name="l00085"></a>00085 <span class="keyword">const</span> <span class="keywordtype">void</span>* Vertices, <span class="keywordtype">int</span> VertexStride, <span class="keywordtype">int</span> VertexCount, | ||
96 | <a name="l00086"></a>00086 <span class="keyword">const</span> <span class="keywordtype">void</span>* Indices, <span class="keywordtype">int</span> IndexCount, <span class="keywordtype">int</span> TriStride); | ||
97 | <a name="l00087"></a>00087 <span class="comment">/* same again with a normals array (used as trimesh-trimesh optimization) */</span> | ||
98 | <a name="l00088"></a>00088 ODE_API <span class="keywordtype">void</span> dGeomTriMeshDataBuildDouble1(dTriMeshDataID g, | ||
99 | <a name="l00089"></a>00089 <span class="keyword">const</span> <span class="keywordtype">void</span>* Vertices, <span class="keywordtype">int</span> VertexStride, <span class="keywordtype">int</span> VertexCount, | ||
100 | <a name="l00090"></a>00090 <span class="keyword">const</span> <span class="keywordtype">void</span>* Indices, <span class="keywordtype">int</span> IndexCount, <span class="keywordtype">int</span> TriStride, | ||
101 | <a name="l00091"></a>00091 <span class="keyword">const</span> <span class="keywordtype">void</span>* Normals); | ||
102 | <a name="l00092"></a>00092 | ||
103 | <a name="l00093"></a>00093 <span class="comment">/*</span> | ||
104 | <a name="l00094"></a>00094 <span class="comment"> * Simple build. Single/double precision based on dSINGLE/dDOUBLE!</span> | ||
105 | <a name="l00095"></a>00095 <span class="comment"> */</span> | ||
106 | <a name="l00096"></a>00096 ODE_API <span class="keywordtype">void</span> dGeomTriMeshDataBuildSimple(dTriMeshDataID g, | ||
107 | <a name="l00097"></a>00097 <span class="keyword">const</span> dReal* Vertices, <span class="keywordtype">int</span> VertexCount, | ||
108 | <a name="l00098"></a>00098 <span class="keyword">const</span> <span class="keywordtype">int</span>* Indices, <span class="keywordtype">int</span> IndexCount); | ||
109 | <a name="l00099"></a>00099 <span class="comment">/* same again with a normals array (used as trimesh-trimesh optimization) */</span> | ||
110 | <a name="l00100"></a>00100 ODE_API <span class="keywordtype">void</span> dGeomTriMeshDataBuildSimple1(dTriMeshDataID g, | ||
111 | <a name="l00101"></a>00101 <span class="keyword">const</span> dReal* Vertices, <span class="keywordtype">int</span> VertexCount, | ||
112 | <a name="l00102"></a>00102 <span class="keyword">const</span> <span class="keywordtype">int</span>* Indices, <span class="keywordtype">int</span> IndexCount, | ||
113 | <a name="l00103"></a>00103 <span class="keyword">const</span> <span class="keywordtype">int</span>* Normals); | ||
114 | <a name="l00104"></a>00104 | ||
115 | <a name="l00105"></a>00105 <span class="comment">/* Preprocess the trimesh data to remove mark unnecessary edges and vertices */</span> | ||
116 | <a name="l00106"></a>00106 ODE_API <span class="keywordtype">void</span> dGeomTriMeshDataPreprocess(dTriMeshDataID g); | ||
117 | <a name="l00107"></a>00107 <span class="comment">/* Get and set the internal preprocessed trimesh data buffer, for loading and saving */</span> | ||
118 | <a name="l00108"></a>00108 ODE_API <span class="keywordtype">void</span> dGeomTriMeshDataGetBuffer(dTriMeshDataID g, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>** buf, <span class="keywordtype">int</span>* bufLen); | ||
119 | <a name="l00109"></a>00109 ODE_API <span class="keywordtype">void</span> dGeomTriMeshDataSetBuffer(dTriMeshDataID g, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* buf); | ||
120 | <a name="l00110"></a>00110 | ||
121 | <a name="l00111"></a>00111 | ||
122 | <a name="l00112"></a>00112 <span class="comment">/*</span> | ||
123 | <a name="l00113"></a>00113 <span class="comment"> * Per triangle callback. Allows the user to say if he wants a collision with</span> | ||
124 | <a name="l00114"></a>00114 <span class="comment"> * a particular triangle.</span> | ||
125 | <a name="l00115"></a>00115 <span class="comment"> */</span> | ||
126 | <a name="l00116"></a>00116 <span class="keyword">typedef</span> <span class="keywordtype">int</span> dTriCallback(dGeomID TriMesh, dGeomID RefObject, <span class="keywordtype">int</span> TriangleIndex); | ||
127 | <a name="l00117"></a>00117 ODE_API <span class="keywordtype">void</span> dGeomTriMeshSetCallback(dGeomID g, dTriCallback* Callback); | ||
128 | <a name="l00118"></a>00118 ODE_API dTriCallback* dGeomTriMeshGetCallback(dGeomID g); | ||
129 | <a name="l00119"></a>00119 | ||
130 | <a name="l00120"></a>00120 <span class="comment">/*</span> | ||
131 | <a name="l00121"></a>00121 <span class="comment"> * Per object callback. Allows the user to get the list of triangles in 1</span> | ||
132 | <a name="l00122"></a>00122 <span class="comment"> * shot. Maybe we should remove this one.</span> | ||
133 | <a name="l00123"></a>00123 <span class="comment"> */</span> | ||
134 | <a name="l00124"></a>00124 <span class="keyword">typedef</span> <span class="keywordtype">void</span> dTriArrayCallback(dGeomID TriMesh, dGeomID RefObject, <span class="keyword">const</span> <span class="keywordtype">int</span>* TriIndices, <span class="keywordtype">int</span> TriCount); | ||
135 | <a name="l00125"></a>00125 ODE_API <span class="keywordtype">void</span> dGeomTriMeshSetArrayCallback(dGeomID g, dTriArrayCallback* ArrayCallback); | ||
136 | <a name="l00126"></a>00126 ODE_API dTriArrayCallback* dGeomTriMeshGetArrayCallback(dGeomID g); | ||
137 | <a name="l00127"></a>00127 | ||
138 | <a name="l00128"></a>00128 <span class="comment">/*</span> | ||
139 | <a name="l00129"></a>00129 <span class="comment"> * Ray callback.</span> | ||
140 | <a name="l00130"></a>00130 <span class="comment"> * Allows the user to say if a ray collides with a triangle on barycentric</span> | ||
141 | <a name="l00131"></a>00131 <span class="comment"> * coords. The user can for example sample a texture with alpha transparency</span> | ||
142 | <a name="l00132"></a>00132 <span class="comment"> * to determine if a collision should occur.</span> | ||
143 | <a name="l00133"></a>00133 <span class="comment"> */</span> | ||
144 | <a name="l00134"></a>00134 <span class="keyword">typedef</span> <span class="keywordtype">int</span> dTriRayCallback(dGeomID TriMesh, dGeomID Ray, <span class="keywordtype">int</span> TriangleIndex, dReal u, dReal v); | ||
145 | <a name="l00135"></a>00135 ODE_API <span class="keywordtype">void</span> dGeomTriMeshSetRayCallback(dGeomID g, dTriRayCallback* Callback); | ||
146 | <a name="l00136"></a>00136 ODE_API dTriRayCallback* dGeomTriMeshGetRayCallback(dGeomID g); | ||
147 | <a name="l00137"></a>00137 | ||
148 | <a name="l00138"></a>00138 <span class="comment">/*</span> | ||
149 | <a name="l00139"></a>00139 <span class="comment"> * Trimesh class</span> | ||
150 | <a name="l00140"></a>00140 <span class="comment"> * Construction. Callbacks are optional.</span> | ||
151 | <a name="l00141"></a>00141 <span class="comment"> */</span> | ||
152 | <a name="l00142"></a>00142 ODE_API dGeomID dCreateTriMesh(dSpaceID space, dTriMeshDataID Data, dTriCallback* Callback, dTriArrayCallback* ArrayCallback, dTriRayCallback* RayCallback); | ||
153 | <a name="l00143"></a>00143 | ||
154 | <a name="l00144"></a>00144 ODE_API <span class="keywordtype">void</span> dGeomTriMeshSetData(dGeomID g, dTriMeshDataID Data); | ||
155 | <a name="l00145"></a>00145 ODE_API dTriMeshDataID dGeomTriMeshGetData(dGeomID g); | ||
156 | <a name="l00146"></a>00146 | ||
157 | <a name="l00147"></a>00147 | ||
158 | <a name="l00148"></a>00148 <span class="comment">// enable/disable/check temporal coherence</span> | ||
159 | <a name="l00149"></a>00149 ODE_API <span class="keywordtype">void</span> dGeomTriMeshEnableTC(dGeomID g, <span class="keywordtype">int</span> geomClass, <span class="keywordtype">int</span> enable); | ||
160 | <a name="l00150"></a>00150 ODE_API <span class="keywordtype">int</span> dGeomTriMeshIsTCEnabled(dGeomID g, <span class="keywordtype">int</span> geomClass); | ||
161 | <a name="l00151"></a>00151 | ||
162 | <a name="l00152"></a>00152 <span class="comment">/*</span> | ||
163 | <a name="l00153"></a>00153 <span class="comment"> * Clears the internal temporal coherence caches. When a geom has its</span> | ||
164 | <a name="l00154"></a>00154 <span class="comment"> * collision checked with a trimesh once, data is stored inside the trimesh.</span> | ||
165 | <a name="l00155"></a>00155 <span class="comment"> * With large worlds with lots of seperate objects this list could get huge.</span> | ||
166 | <a name="l00156"></a>00156 <span class="comment"> * We should be able to do this automagically.</span> | ||
167 | <a name="l00157"></a>00157 <span class="comment"> */</span> | ||
168 | <a name="l00158"></a>00158 ODE_API <span class="keywordtype">void</span> dGeomTriMeshClearTCCache(dGeomID g); | ||
169 | <a name="l00159"></a>00159 | ||
170 | <a name="l00160"></a>00160 | ||
171 | <a name="l00161"></a>00161 <span class="comment">/*</span> | ||
172 | <a name="l00162"></a>00162 <span class="comment"> * returns the TriMeshDataID</span> | ||
173 | <a name="l00163"></a>00163 <span class="comment"> */</span> | ||
174 | <a name="l00164"></a>00164 ODE_API dTriMeshDataID dGeomTriMeshGetTriMeshDataID(dGeomID g); | ||
175 | <a name="l00165"></a>00165 | ||
176 | <a name="l00166"></a>00166 <span class="comment">/*</span> | ||
177 | <a name="l00167"></a>00167 <span class="comment"> * Gets a triangle.</span> | ||
178 | <a name="l00168"></a>00168 <span class="comment"> */</span> | ||
179 | <a name="l00169"></a>00169 ODE_API <span class="keywordtype">void</span> dGeomTriMeshGetTriangle(dGeomID g, <span class="keywordtype">int</span> Index, dVector3* v0, dVector3* v1, dVector3* v2); | ||
180 | <a name="l00170"></a>00170 | ||
181 | <a name="l00171"></a>00171 <span class="comment">/*</span> | ||
182 | <a name="l00172"></a>00172 <span class="comment"> * Gets the point on the requested triangle and the given barycentric</span> | ||
183 | <a name="l00173"></a>00173 <span class="comment"> * coordinates.</span> | ||
184 | <a name="l00174"></a>00174 <span class="comment"> */</span> | ||
185 | <a name="l00175"></a>00175 ODE_API <span class="keywordtype">void</span> dGeomTriMeshGetPoint(dGeomID g, <span class="keywordtype">int</span> Index, dReal u, dReal v, dVector3 Out); | ||
186 | <a name="l00176"></a>00176 | ||
187 | <a name="l00177"></a>00177 <span class="comment">/*</span> | ||
188 | <a name="l00178"></a>00178 <span class="comment"></span> | ||
189 | <a name="l00179"></a>00179 <span class="comment">This is how the strided data works:</span> | ||
190 | <a name="l00180"></a>00180 <span class="comment"></span> | ||
191 | <a name="l00181"></a>00181 <span class="comment">struct StridedVertex{</span> | ||
192 | <a name="l00182"></a>00182 <span class="comment"> dVector3 Vertex;</span> | ||
193 | <a name="l00183"></a>00183 <span class="comment"> // Userdata</span> | ||
194 | <a name="l00184"></a>00184 <span class="comment">};</span> | ||
195 | <a name="l00185"></a>00185 <span class="comment">int VertexStride = sizeof(StridedVertex);</span> | ||
196 | <a name="l00186"></a>00186 <span class="comment"></span> | ||
197 | <a name="l00187"></a>00187 <span class="comment">struct StridedTri{</span> | ||
198 | <a name="l00188"></a>00188 <span class="comment"> int Indices[3];</span> | ||
199 | <a name="l00189"></a>00189 <span class="comment"> // Userdata</span> | ||
200 | <a name="l00190"></a>00190 <span class="comment">};</span> | ||
201 | <a name="l00191"></a>00191 <span class="comment">int TriStride = sizeof(StridedTri);</span> | ||
202 | <a name="l00192"></a>00192 <span class="comment"></span> | ||
203 | <a name="l00193"></a>00193 <span class="comment">*/</span> | ||
204 | <a name="l00194"></a>00194 | ||
205 | <a name="l00195"></a>00195 | ||
206 | <a name="l00196"></a>00196 ODE_API <span class="keywordtype">int</span> dGeomTriMeshGetTriangleCount (dGeomID g); | ||
207 | <a name="l00197"></a>00197 | ||
208 | <a name="l00198"></a>00198 ODE_API <span class="keywordtype">void</span> dGeomTriMeshDataUpdate(dTriMeshDataID g); | ||
209 | <a name="l00199"></a>00199 | ||
210 | <a name="l00200"></a>00200 <span class="preprocessor">#ifdef __cplusplus</span> | ||
211 | <a name="l00201"></a>00201 <span class="preprocessor"></span>} | ||
212 | <a name="l00202"></a>00202 <span class="preprocessor">#endif</span> | ||
213 | <a name="l00203"></a>00203 <span class="preprocessor"></span> | ||
214 | <a name="l00204"></a>00204 <span class="preprocessor">#endif </span><span class="comment">/* _ODE_COLLISION_TRIMESH_H_ */</span> | ||
215 | <a name="l00205"></a>00205 | ||
216 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
217 | <a href="http://www.doxygen.org/index.html"> | ||
218 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
219 | </body> | ||
220 | </html> | ||
diff --git a/libraries/ode-0.9/docs/common_8h-source.html b/libraries/ode-0.9/docs/common_8h-source.html new file mode 100644 index 0000000..8b29b64 --- /dev/null +++ b/libraries/ode-0.9/docs/common_8h-source.html | |||
@@ -0,0 +1,408 @@ | |||
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: common.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>common.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00023"></a>00023 <span class="preprocessor">#ifndef _ODE_COMMON_H_</span> | ||
39 | <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define _ODE_COMMON_H_</span> | ||
40 | <a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#include <ode/config.h></span> | ||
41 | <a name="l00026"></a>00026 <span class="preprocessor">#include <ode/error.h></span> | ||
42 | <a name="l00027"></a>00027 <span class="preprocessor">#include <math.h></span> | ||
43 | <a name="l00028"></a>00028 | ||
44 | <a name="l00029"></a>00029 <span class="preprocessor">#ifdef __cplusplus</span> | ||
45 | <a name="l00030"></a>00030 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | ||
46 | <a name="l00031"></a>00031 <span class="preprocessor">#endif</span> | ||
47 | <a name="l00032"></a>00032 <span class="preprocessor"></span> | ||
48 | <a name="l00033"></a>00033 | ||
49 | <a name="l00034"></a>00034 <span class="comment">/* configuration stuff */</span> | ||
50 | <a name="l00035"></a>00035 | ||
51 | <a name="l00036"></a>00036 <span class="comment">/* the efficient alignment. most platforms align data structures to some</span> | ||
52 | <a name="l00037"></a>00037 <span class="comment"> * number of bytes, but this is not always the most efficient alignment.</span> | ||
53 | <a name="l00038"></a>00038 <span class="comment"> * for example, many x86 compilers align to 4 bytes, but on a pentium it</span> | ||
54 | <a name="l00039"></a>00039 <span class="comment"> * is important to align doubles to 8 byte boundaries (for speed), and</span> | ||
55 | <a name="l00040"></a>00040 <span class="comment"> * the 4 floats in a SIMD register to 16 byte boundaries. many other</span> | ||
56 | <a name="l00041"></a>00041 <span class="comment"> * platforms have similar behavior. setting a larger alignment can waste</span> | ||
57 | <a name="l00042"></a>00042 <span class="comment"> * a (very) small amount of memory. NOTE: this number must be a power of</span> | ||
58 | <a name="l00043"></a>00043 <span class="comment"> * two. this is set to 16 by default.</span> | ||
59 | <a name="l00044"></a>00044 <span class="comment"> */</span> | ||
60 | <a name="l00045"></a>00045 <span class="preprocessor">#define EFFICIENT_ALIGNMENT 16</span> | ||
61 | <a name="l00046"></a>00046 <span class="preprocessor"></span> | ||
62 | <a name="l00047"></a>00047 | ||
63 | <a name="l00048"></a>00048 <span class="comment">/* constants */</span> | ||
64 | <a name="l00049"></a>00049 | ||
65 | <a name="l00050"></a>00050 <span class="comment">/* pi and 1/sqrt(2) are defined here if necessary because they don't get</span> | ||
66 | <a name="l00051"></a>00051 <span class="comment"> * defined in <math.h> on some platforms (like MS-Windows)</span> | ||
67 | <a name="l00052"></a>00052 <span class="comment"> */</span> | ||
68 | <a name="l00053"></a>00053 | ||
69 | <a name="l00054"></a>00054 <span class="preprocessor">#ifndef M_PI</span> | ||
70 | <a name="l00055"></a>00055 <span class="preprocessor"></span><span class="preprocessor">#define M_PI REAL(3.1415926535897932384626433832795029)</span> | ||
71 | <a name="l00056"></a>00056 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
72 | <a name="l00057"></a>00057 <span class="preprocessor"></span><span class="preprocessor">#ifndef M_SQRT1_2</span> | ||
73 | <a name="l00058"></a>00058 <span class="preprocessor"></span><span class="preprocessor">#define M_SQRT1_2 REAL(0.7071067811865475244008443621048490)</span> | ||
74 | <a name="l00059"></a>00059 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
75 | <a name="l00060"></a>00060 <span class="preprocessor"></span> | ||
76 | <a name="l00061"></a>00061 | ||
77 | <a name="l00062"></a>00062 <span class="comment">/* debugging:</span> | ||
78 | <a name="l00063"></a>00063 <span class="comment"> * IASSERT is an internal assertion, i.e. a consistency check. if it fails</span> | ||
79 | <a name="l00064"></a>00064 <span class="comment"> * we want to know where.</span> | ||
80 | <a name="l00065"></a>00065 <span class="comment"> * UASSERT is a user assertion, i.e. if it fails a nice error message</span> | ||
81 | <a name="l00066"></a>00066 <span class="comment"> * should be printed for the user.</span> | ||
82 | <a name="l00067"></a>00067 <span class="comment"> * AASSERT is an arguments assertion, i.e. if it fails "bad argument(s)"</span> | ||
83 | <a name="l00068"></a>00068 <span class="comment"> * is printed.</span> | ||
84 | <a name="l00069"></a>00069 <span class="comment"> * DEBUGMSG just prints out a message</span> | ||
85 | <a name="l00070"></a>00070 <span class="comment"> */</span> | ||
86 | <a name="l00071"></a>00071 | ||
87 | <a name="l00072"></a>00072 <span class="preprocessor">#ifndef dNODEBUG</span> | ||
88 | <a name="l00073"></a>00073 <span class="preprocessor"></span><span class="preprocessor">#ifdef __GNUC__</span> | ||
89 | <a name="l00074"></a>00074 <span class="preprocessor"></span><span class="preprocessor">#define dIASSERT(a) if (!(a)) dDebug (d_ERR_IASSERT, \</span> | ||
90 | <a name="l00075"></a>00075 <span class="preprocessor"> "assertion \"" #a "\" failed in %s() [%s]",__FUNCTION__,__FILE__);</span> | ||
91 | <a name="l00076"></a>00076 <span class="preprocessor"></span><span class="preprocessor">#define dUASSERT(a,msg) if (!(a)) dDebug (d_ERR_UASSERT, \</span> | ||
92 | <a name="l00077"></a>00077 <span class="preprocessor"> msg " in %s()", __FUNCTION__);</span> | ||
93 | <a name="l00078"></a>00078 <span class="preprocessor"></span><span class="preprocessor">#define dDEBUGMSG(msg) dMessage (d_ERR_UASSERT, \</span> | ||
94 | <a name="l00079"></a>00079 <span class="preprocessor">msg " in %s() File %s Line %d", __FUNCTION__, __FILE__,__LINE__);</span> | ||
95 | <a name="l00080"></a>00080 <span class="preprocessor"></span><span class="preprocessor">#else</span> | ||
96 | <a name="l00081"></a>00081 <span class="preprocessor"></span><span class="preprocessor">#define dIASSERT(a) if (!(a)) dDebug (d_ERR_IASSERT, \</span> | ||
97 | <a name="l00082"></a>00082 <span class="preprocessor"> "assertion \"" #a "\" failed in %s:%d",__FILE__,__LINE__);</span> | ||
98 | <a name="l00083"></a>00083 <span class="preprocessor"></span><span class="preprocessor">#define dUASSERT(a,msg) if (!(a)) dDebug (d_ERR_UASSERT, \</span> | ||
99 | <a name="l00084"></a>00084 <span class="preprocessor"> msg " (%s:%d)", __FILE__,__LINE__);</span> | ||
100 | <a name="l00085"></a>00085 <span class="preprocessor"></span><span class="preprocessor">#define dDEBUGMSG(msg) dMessage (d_ERR_UASSERT, \</span> | ||
101 | <a name="l00086"></a>00086 <span class="preprocessor"> msg " (%s:%d)", __FILE__,__LINE__);</span> | ||
102 | <a name="l00087"></a>00087 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
103 | <a name="l00088"></a>00088 <span class="preprocessor"></span><span class="preprocessor">#else</span> | ||
104 | <a name="l00089"></a>00089 <span class="preprocessor"></span><span class="preprocessor">#define dIASSERT(a) ;</span> | ||
105 | <a name="l00090"></a>00090 <span class="preprocessor"></span><span class="preprocessor">#define dUASSERT(a,msg) ;</span> | ||
106 | <a name="l00091"></a>00091 <span class="preprocessor"></span><span class="preprocessor">#define dDEBUGMSG(msg) ;</span> | ||
107 | <a name="l00092"></a>00092 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
108 | <a name="l00093"></a>00093 <span class="preprocessor"></span><span class="preprocessor">#define dAASSERT(a) dUASSERT(a,"Bad argument(s)")</span> | ||
109 | <a name="l00094"></a>00094 <span class="preprocessor"></span> | ||
110 | <a name="l00095"></a>00095 <span class="comment">// Macro used to suppress unused variable warning</span> | ||
111 | <a name="l00096"></a>00096 <span class="preprocessor">#define dVARIABLEUSED(a) ((void)a)</span> | ||
112 | <a name="l00097"></a>00097 <span class="preprocessor"></span> | ||
113 | <a name="l00098"></a>00098 <span class="comment">/* floating point data type, vector, matrix and quaternion types */</span> | ||
114 | <a name="l00099"></a>00099 | ||
115 | <a name="l00100"></a>00100 <span class="preprocessor">#if defined(dSINGLE)</span> | ||
116 | <a name="l00101"></a>00101 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">float</span> dReal; | ||
117 | <a name="l00102"></a>00102 <span class="preprocessor">#ifdef dDOUBLE</span> | ||
118 | <a name="l00103"></a>00103 <span class="preprocessor"></span><span class="preprocessor">#error You can only #define dSINGLE or dDOUBLE, not both.</span> | ||
119 | <a name="l00104"></a>00104 <span class="preprocessor"></span><span class="preprocessor">#endif // dDOUBLE</span> | ||
120 | <a name="l00105"></a>00105 <span class="preprocessor"></span><span class="preprocessor">#elif defined(dDOUBLE)</span> | ||
121 | <a name="l00106"></a>00106 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">double</span> dReal; | ||
122 | <a name="l00107"></a>00107 <span class="preprocessor">#else</span> | ||
123 | <a name="l00108"></a>00108 <span class="preprocessor"></span><span class="preprocessor">#error You must #define dSINGLE or dDOUBLE</span> | ||
124 | <a name="l00109"></a>00109 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
125 | <a name="l00110"></a>00110 <span class="preprocessor"></span> | ||
126 | <a name="l00111"></a>00111 <span class="comment">// Detect if we've got both trimesh engines enabled.</span> | ||
127 | <a name="l00112"></a>00112 <span class="preprocessor">#if dTRIMESH_ENABLED</span> | ||
128 | <a name="l00113"></a>00113 <span class="preprocessor"></span><span class="preprocessor">#if dTRIMESH_OPCODE && dTRIMESH_GIMPACT</span> | ||
129 | <a name="l00114"></a>00114 <span class="preprocessor"></span><span class="preprocessor">#error You can only #define dTRIMESH_OPCODE or dTRIMESH_GIMPACT, not both.</span> | ||
130 | <a name="l00115"></a>00115 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
131 | <a name="l00116"></a>00116 <span class="preprocessor"></span><span class="preprocessor">#endif // dTRIMESH_ENABLED</span> | ||
132 | <a name="l00117"></a>00117 <span class="preprocessor"></span> | ||
133 | <a name="l00118"></a>00118 <span class="comment">/* round an integer up to a multiple of 4, except that 0 and 1 are unmodified</span> | ||
134 | <a name="l00119"></a>00119 <span class="comment"> * (used to compute matrix leading dimensions)</span> | ||
135 | <a name="l00120"></a>00120 <span class="comment"> */</span> | ||
136 | <a name="l00121"></a>00121 <span class="preprocessor">#define dPAD(a) (((a) > 1) ? ((((a)-1)|3)+1) : (a))</span> | ||
137 | <a name="l00122"></a>00122 <span class="preprocessor"></span> | ||
138 | <a name="l00123"></a>00123 <span class="comment">/* these types are mainly just used in headers */</span> | ||
139 | <a name="l00124"></a>00124 <span class="keyword">typedef</span> dReal dVector3[4]; | ||
140 | <a name="l00125"></a>00125 <span class="keyword">typedef</span> dReal dVector4[4]; | ||
141 | <a name="l00126"></a>00126 <span class="keyword">typedef</span> dReal dMatrix3[4*3]; | ||
142 | <a name="l00127"></a>00127 <span class="keyword">typedef</span> dReal dMatrix4[4*4]; | ||
143 | <a name="l00128"></a>00128 <span class="keyword">typedef</span> dReal dMatrix6[8*6]; | ||
144 | <a name="l00129"></a>00129 <span class="keyword">typedef</span> dReal dQuaternion[4]; | ||
145 | <a name="l00130"></a>00130 | ||
146 | <a name="l00131"></a>00131 | ||
147 | <a name="l00132"></a>00132 <span class="comment">/* precision dependent scalar math functions */</span> | ||
148 | <a name="l00133"></a>00133 | ||
149 | <a name="l00134"></a>00134 <span class="preprocessor">#if defined(dSINGLE)</span> | ||
150 | <a name="l00135"></a>00135 <span class="preprocessor"></span> | ||
151 | <a name="l00136"></a>00136 <span class="preprocessor">#define REAL(x) (x ## f) </span><span class="comment">/* form a constant */</span> | ||
152 | <a name="l00137"></a>00137 <span class="preprocessor">#define dRecip(x) ((1.0f/(x))) </span><span class="comment">/* reciprocal */</span> | ||
153 | <a name="l00138"></a>00138 <span class="preprocessor">#define dSqrt(x) (sqrtf(x)) </span><span class="comment">/* square root */</span> | ||
154 | <a name="l00139"></a>00139 <span class="preprocessor">#define dRecipSqrt(x) ((1.0f/sqrtf(x))) </span><span class="comment">/* reciprocal square root */</span> | ||
155 | <a name="l00140"></a>00140 <span class="preprocessor">#define dSin(x) (sinf(x)) </span><span class="comment">/* sine */</span> | ||
156 | <a name="l00141"></a>00141 <span class="preprocessor">#define dCos(x) (cosf(x)) </span><span class="comment">/* cosine */</span> | ||
157 | <a name="l00142"></a>00142 <span class="preprocessor">#define dFabs(x) (fabsf(x)) </span><span class="comment">/* absolute value */</span> | ||
158 | <a name="l00143"></a>00143 <span class="preprocessor">#define dAtan2(y,x) (atan2f(y,x)) </span><span class="comment">/* arc tangent with 2 args */</span> | ||
159 | <a name="l00144"></a>00144 <span class="preprocessor">#define dFMod(a,b) (fmodf(a,b)) </span><span class="comment">/* modulo */</span> | ||
160 | <a name="l00145"></a>00145 <span class="preprocessor">#define dFloor(x) floorf(x) </span><span class="comment">/* floor */</span> | ||
161 | <a name="l00146"></a>00146 | ||
162 | <a name="l00147"></a>00147 <span class="preprocessor">#ifdef HAVE___ISNANF</span> | ||
163 | <a name="l00148"></a>00148 <span class="preprocessor"></span><span class="preprocessor">#define dIsNan(x) (__isnanf(x))</span> | ||
164 | <a name="l00149"></a>00149 <span class="preprocessor"></span><span class="preprocessor">#elif defined(HAVE__ISNANF)</span> | ||
165 | <a name="l00150"></a>00150 <span class="preprocessor"></span><span class="preprocessor">#define dIsNan(x) (_isnanf(x))</span> | ||
166 | <a name="l00151"></a>00151 <span class="preprocessor"></span><span class="preprocessor">#elif defined(HAVE_ISNANF)</span> | ||
167 | <a name="l00152"></a>00152 <span class="preprocessor"></span><span class="preprocessor">#define dIsNan(x) (isnanf(x))</span> | ||
168 | <a name="l00153"></a>00153 <span class="preprocessor"></span><span class="preprocessor">#else</span> | ||
169 | <a name="l00154"></a>00154 <span class="preprocessor"></span> <span class="comment">/*</span> | ||
170 | <a name="l00155"></a>00155 <span class="comment"> fall back to _isnan which is the VC way,</span> | ||
171 | <a name="l00156"></a>00156 <span class="comment"> this may seem redundant since we already checked</span> | ||
172 | <a name="l00157"></a>00157 <span class="comment"> for _isnan before, but if isnan is detected by</span> | ||
173 | <a name="l00158"></a>00158 <span class="comment"> configure but is not found during compilation</span> | ||
174 | <a name="l00159"></a>00159 <span class="comment"> we should always make sure we check for __isnanf,</span> | ||
175 | <a name="l00160"></a>00160 <span class="comment"> _isnanf and isnanf in that order before falling</span> | ||
176 | <a name="l00161"></a>00161 <span class="comment"> back to a default</span> | ||
177 | <a name="l00162"></a>00162 <span class="comment"> */</span> | ||
178 | <a name="l00163"></a>00163 <span class="preprocessor">#define dIsNan(x) (_isnan(x))</span> | ||
179 | <a name="l00164"></a>00164 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
180 | <a name="l00165"></a>00165 <span class="preprocessor"></span> | ||
181 | <a name="l00166"></a>00166 <span class="preprocessor">#define dCopySign(a,b) ((dReal)copysignf(a,b))</span> | ||
182 | <a name="l00167"></a>00167 <span class="preprocessor"></span> | ||
183 | <a name="l00168"></a>00168 <span class="preprocessor">#elif defined(dDOUBLE)</span> | ||
184 | <a name="l00169"></a>00169 <span class="preprocessor"></span> | ||
185 | <a name="l00170"></a>00170 <span class="preprocessor">#define REAL(x) (x)</span> | ||
186 | <a name="l00171"></a>00171 <span class="preprocessor"></span><span class="preprocessor">#define dRecip(x) (1.0/(x))</span> | ||
187 | <a name="l00172"></a>00172 <span class="preprocessor"></span><span class="preprocessor">#define dSqrt(x) sqrt(x)</span> | ||
188 | <a name="l00173"></a>00173 <span class="preprocessor"></span><span class="preprocessor">#define dRecipSqrt(x) (1.0/sqrt(x))</span> | ||
189 | <a name="l00174"></a>00174 <span class="preprocessor"></span><span class="preprocessor">#define dSin(x) sin(x)</span> | ||
190 | <a name="l00175"></a>00175 <span class="preprocessor"></span><span class="preprocessor">#define dCos(x) cos(x)</span> | ||
191 | <a name="l00176"></a>00176 <span class="preprocessor"></span><span class="preprocessor">#define dFabs(x) fabs(x)</span> | ||
192 | <a name="l00177"></a>00177 <span class="preprocessor"></span><span class="preprocessor">#define dAtan2(y,x) atan2((y),(x))</span> | ||
193 | <a name="l00178"></a>00178 <span class="preprocessor"></span><span class="preprocessor">#define dFMod(a,b) (fmod((a),(b)))</span> | ||
194 | <a name="l00179"></a>00179 <span class="preprocessor"></span><span class="preprocessor">#define dFloor(x) floor(x)</span> | ||
195 | <a name="l00180"></a>00180 <span class="preprocessor"></span> | ||
196 | <a name="l00181"></a>00181 <span class="preprocessor">#ifdef HAVE___ISNAN</span> | ||
197 | <a name="l00182"></a>00182 <span class="preprocessor"></span><span class="preprocessor">#define dIsNan(x) (__isnan(x))</span> | ||
198 | <a name="l00183"></a>00183 <span class="preprocessor"></span><span class="preprocessor">#elif defined(HAVE__ISNAN)</span> | ||
199 | <a name="l00184"></a>00184 <span class="preprocessor"></span><span class="preprocessor">#define dIsNan(x) (_isnan(x))</span> | ||
200 | <a name="l00185"></a>00185 <span class="preprocessor"></span><span class="preprocessor">#elif defined(HAVE_ISNAN)</span> | ||
201 | <a name="l00186"></a>00186 <span class="preprocessor"></span><span class="preprocessor">#define dIsNan(x) (isnan(x))</span> | ||
202 | <a name="l00187"></a>00187 <span class="preprocessor"></span><span class="preprocessor">#else</span> | ||
203 | <a name="l00188"></a>00188 <span class="preprocessor"></span><span class="preprocessor">#define dIsNan(x) (_isnan(x))</span> | ||
204 | <a name="l00189"></a>00189 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
205 | <a name="l00190"></a>00190 <span class="preprocessor"></span> | ||
206 | <a name="l00191"></a>00191 <span class="preprocessor">#define dCopySign(a,b) (copysign((a),(b)))</span> | ||
207 | <a name="l00192"></a>00192 <span class="preprocessor"></span> | ||
208 | <a name="l00193"></a>00193 <span class="preprocessor">#else</span> | ||
209 | <a name="l00194"></a>00194 <span class="preprocessor"></span><span class="preprocessor">#error You must #define dSINGLE or dDOUBLE</span> | ||
210 | <a name="l00195"></a>00195 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
211 | <a name="l00196"></a>00196 <span class="preprocessor"></span> | ||
212 | <a name="l00197"></a>00197 | ||
213 | <a name="l00198"></a>00198 <span class="comment">/* utility */</span> | ||
214 | <a name="l00199"></a>00199 | ||
215 | <a name="l00200"></a>00200 | ||
216 | <a name="l00201"></a>00201 <span class="comment">/* round something up to be a multiple of the EFFICIENT_ALIGNMENT */</span> | ||
217 | <a name="l00202"></a>00202 | ||
218 | <a name="l00203"></a>00203 <span class="preprocessor">#define dEFFICIENT_SIZE(x) ((((x)-1)|(EFFICIENT_ALIGNMENT-1))+1)</span> | ||
219 | <a name="l00204"></a>00204 <span class="preprocessor"></span> | ||
220 | <a name="l00205"></a>00205 | ||
221 | <a name="l00206"></a>00206 <span class="comment">/* alloca aligned to the EFFICIENT_ALIGNMENT. note that this can waste</span> | ||
222 | <a name="l00207"></a>00207 <span class="comment"> * up to 15 bytes per allocation, depending on what alloca() returns.</span> | ||
223 | <a name="l00208"></a>00208 <span class="comment"> */</span> | ||
224 | <a name="l00209"></a>00209 | ||
225 | <a name="l00210"></a>00210 <span class="preprocessor">#define dALLOCA16(n) \</span> | ||
226 | <a name="l00211"></a>00211 <span class="preprocessor"> ((char*)dEFFICIENT_SIZE(((size_t)(alloca((n)+(EFFICIENT_ALIGNMENT-1))))))</span> | ||
227 | <a name="l00212"></a>00212 <span class="preprocessor"></span> | ||
228 | <a name="l00213"></a>00213 | ||
229 | <a name="l00214"></a>00214 <span class="comment">// Use the error-checking memory allocation system. Because this system uses heap</span> | ||
230 | <a name="l00215"></a>00215 <span class="comment">// (malloc) instead of stack (alloca), it is slower. However, it allows you to</span> | ||
231 | <a name="l00216"></a>00216 <span class="comment">// simulate larger scenes, as well as handle out-of-memory errors in a somewhat</span> | ||
232 | <a name="l00217"></a>00217 <span class="comment">// graceful manner</span> | ||
233 | <a name="l00218"></a>00218 | ||
234 | <a name="l00219"></a>00219 <span class="comment">// #define dUSE_MALLOC_FOR_ALLOCA</span> | ||
235 | <a name="l00220"></a>00220 | ||
236 | <a name="l00221"></a>00221 <span class="preprocessor">#ifdef dUSE_MALLOC_FOR_ALLOCA</span> | ||
237 | <a name="l00222"></a>00222 <span class="preprocessor"></span><span class="keyword">enum</span> { | ||
238 | <a name="l00223"></a>00223 d_MEMORY_OK = 0, <span class="comment">/* no memory errors */</span> | ||
239 | <a name="l00224"></a>00224 d_MEMORY_OUT_OF_MEMORY <span class="comment">/* malloc failed due to out of memory error */</span> | ||
240 | <a name="l00225"></a>00225 }; | ||
241 | <a name="l00226"></a>00226 | ||
242 | <a name="l00227"></a>00227 <span class="preprocessor">#endif</span> | ||
243 | <a name="l00228"></a>00228 <span class="preprocessor"></span> | ||
244 | <a name="l00229"></a>00229 | ||
245 | <a name="l00230"></a>00230 | ||
246 | <a name="l00231"></a>00231 <span class="comment">/* internal object types (all prefixed with `dx') */</span> | ||
247 | <a name="l00232"></a>00232 | ||
248 | <a name="l00233"></a>00233 <span class="keyword">struct </span>dxWorld; <span class="comment">/* dynamics world */</span> | ||
249 | <a name="l00234"></a>00234 <span class="keyword">struct </span>dxSpace; <span class="comment">/* collision space */</span> | ||
250 | <a name="l00235"></a>00235 <span class="keyword">struct </span>dxBody; <span class="comment">/* rigid body (dynamics object) */</span> | ||
251 | <a name="l00236"></a>00236 <span class="keyword">struct </span>dxGeom; <span class="comment">/* geometry (collision object) */</span> | ||
252 | <a name="l00237"></a>00237 <span class="keyword">struct </span>dxJoint; | ||
253 | <a name="l00238"></a>00238 <span class="keyword">struct </span>dxJointNode; | ||
254 | <a name="l00239"></a>00239 <span class="keyword">struct </span>dxJointGroup; | ||
255 | <a name="l00240"></a>00240 | ||
256 | <a name="l00241"></a>00241 <span class="keyword">typedef</span> <span class="keyword">struct </span>dxWorld *dWorldID; | ||
257 | <a name="l00242"></a>00242 <span class="keyword">typedef</span> <span class="keyword">struct </span>dxSpace *dSpaceID; | ||
258 | <a name="l00243"></a>00243 <span class="keyword">typedef</span> <span class="keyword">struct </span>dxBody *dBodyID; | ||
259 | <a name="l00244"></a>00244 <span class="keyword">typedef</span> <span class="keyword">struct </span>dxGeom *dGeomID; | ||
260 | <a name="l00245"></a>00245 <span class="keyword">typedef</span> <span class="keyword">struct </span>dxJoint *dJointID; | ||
261 | <a name="l00246"></a>00246 <span class="keyword">typedef</span> <span class="keyword">struct </span>dxJointGroup *dJointGroupID; | ||
262 | <a name="l00247"></a>00247 | ||
263 | <a name="l00248"></a>00248 | ||
264 | <a name="l00249"></a>00249 <span class="comment">/* error numbers */</span> | ||
265 | <a name="l00250"></a>00250 | ||
266 | <a name="l00251"></a>00251 <span class="keyword">enum</span> { | ||
267 | <a name="l00252"></a>00252 d_ERR_UNKNOWN = 0, <span class="comment">/* unknown error */</span> | ||
268 | <a name="l00253"></a>00253 d_ERR_IASSERT, <span class="comment">/* internal assertion failed */</span> | ||
269 | <a name="l00254"></a>00254 d_ERR_UASSERT, <span class="comment">/* user assertion failed */</span> | ||
270 | <a name="l00255"></a>00255 d_ERR_LCP <span class="comment">/* user assertion failed */</span> | ||
271 | <a name="l00256"></a>00256 }; | ||
272 | <a name="l00257"></a>00257 | ||
273 | <a name="l00258"></a>00258 | ||
274 | <a name="l00259"></a>00259 <span class="comment">/* joint type numbers */</span> | ||
275 | <a name="l00260"></a>00260 | ||
276 | <a name="l00261"></a>00261 <span class="keyword">enum</span> { | ||
277 | <a name="l00262"></a>00262 dJointTypeNone = 0, <span class="comment">/* or "unknown" */</span> | ||
278 | <a name="l00263"></a>00263 dJointTypeBall, | ||
279 | <a name="l00264"></a>00264 dJointTypeHinge, | ||
280 | <a name="l00265"></a>00265 dJointTypeSlider, | ||
281 | <a name="l00266"></a>00266 dJointTypeContact, | ||
282 | <a name="l00267"></a>00267 dJointTypeUniversal, | ||
283 | <a name="l00268"></a>00268 dJointTypeHinge2, | ||
284 | <a name="l00269"></a>00269 dJointTypeFixed, | ||
285 | <a name="l00270"></a>00270 dJointTypeNull, | ||
286 | <a name="l00271"></a>00271 dJointTypeAMotor, | ||
287 | <a name="l00272"></a>00272 dJointTypeLMotor, | ||
288 | <a name="l00273"></a>00273 dJointTypePlane2D, | ||
289 | <a name="l00274"></a>00274 dJointTypePR | ||
290 | <a name="l00275"></a>00275 }; | ||
291 | <a name="l00276"></a>00276 | ||
292 | <a name="l00277"></a>00277 | ||
293 | <a name="l00278"></a>00278 <span class="comment">/* an alternative way of setting joint parameters, using joint parameter</span> | ||
294 | <a name="l00279"></a>00279 <span class="comment"> * structures and member constants. we don't actually do this yet.</span> | ||
295 | <a name="l00280"></a>00280 <span class="comment"> */</span> | ||
296 | <a name="l00281"></a>00281 | ||
297 | <a name="l00282"></a>00282 <span class="comment">/*</span> | ||
298 | <a name="l00283"></a>00283 <span class="comment">typedef struct dLimot {</span> | ||
299 | <a name="l00284"></a>00284 <span class="comment"> int mode;</span> | ||
300 | <a name="l00285"></a>00285 <span class="comment"> dReal lostop, histop;</span> | ||
301 | <a name="l00286"></a>00286 <span class="comment"> dReal vel, fmax;</span> | ||
302 | <a name="l00287"></a>00287 <span class="comment"> dReal fudge_factor;</span> | ||
303 | <a name="l00288"></a>00288 <span class="comment"> dReal bounce, soft;</span> | ||
304 | <a name="l00289"></a>00289 <span class="comment"> dReal suspension_erp, suspension_cfm;</span> | ||
305 | <a name="l00290"></a>00290 <span class="comment">} dLimot;</span> | ||
306 | <a name="l00291"></a>00291 <span class="comment"></span> | ||
307 | <a name="l00292"></a>00292 <span class="comment">enum {</span> | ||
308 | <a name="l00293"></a>00293 <span class="comment"> dLimotLoStop = 0x0001,</span> | ||
309 | <a name="l00294"></a>00294 <span class="comment"> dLimotHiStop = 0x0002,</span> | ||
310 | <a name="l00295"></a>00295 <span class="comment"> dLimotVel = 0x0004,</span> | ||
311 | <a name="l00296"></a>00296 <span class="comment"> dLimotFMax = 0x0008,</span> | ||
312 | <a name="l00297"></a>00297 <span class="comment"> dLimotFudgeFactor = 0x0010,</span> | ||
313 | <a name="l00298"></a>00298 <span class="comment"> dLimotBounce = 0x0020,</span> | ||
314 | <a name="l00299"></a>00299 <span class="comment"> dLimotSoft = 0x0040</span> | ||
315 | <a name="l00300"></a>00300 <span class="comment">};</span> | ||
316 | <a name="l00301"></a>00301 <span class="comment">*/</span> | ||
317 | <a name="l00302"></a>00302 | ||
318 | <a name="l00303"></a>00303 | ||
319 | <a name="l00304"></a>00304 <span class="comment">/* standard joint parameter names. why are these here? - because we don't want</span> | ||
320 | <a name="l00305"></a>00305 <span class="comment"> * to include all the joint function definitions in joint.cpp. hmmmm.</span> | ||
321 | <a name="l00306"></a>00306 <span class="comment"> * MSVC complains if we call D_ALL_PARAM_NAMES_X with a blank second argument,</span> | ||
322 | <a name="l00307"></a>00307 <span class="comment"> * which is why we have the D_ALL_PARAM_NAMES macro as well. please copy and</span> | ||
323 | <a name="l00308"></a>00308 <span class="comment"> * paste between these two.</span> | ||
324 | <a name="l00309"></a>00309 <span class="comment"> */</span> | ||
325 | <a name="l00310"></a>00310 | ||
326 | <a name="l00311"></a>00311 <span class="preprocessor">#define D_ALL_PARAM_NAMES(start) \</span> | ||
327 | <a name="l00312"></a>00312 <span class="preprocessor"> </span><span class="comment">/* parameters for limits and motors */</span> \ | ||
328 | <a name="l00313"></a>00313 dParamLoStop = start, \ | ||
329 | <a name="l00314"></a>00314 dParamHiStop, \ | ||
330 | <a name="l00315"></a>00315 dParamVel, \ | ||
331 | <a name="l00316"></a>00316 dParamFMax, \ | ||
332 | <a name="l00317"></a>00317 dParamFudgeFactor, \ | ||
333 | <a name="l00318"></a>00318 dParamBounce, \ | ||
334 | <a name="l00319"></a>00319 dParamCFM, \ | ||
335 | <a name="l00320"></a>00320 dParamStopERP, \ | ||
336 | <a name="l00321"></a>00321 dParamStopCFM, \ | ||
337 | <a name="l00322"></a>00322 <span class="comment">/* parameters for suspension */</span> \ | ||
338 | <a name="l00323"></a>00323 dParamSuspensionERP, \ | ||
339 | <a name="l00324"></a>00324 dParamSuspensionCFM, \ | ||
340 | <a name="l00325"></a>00325 dParamERP, \ | ||
341 | <a name="l00326"></a>00326 | ||
342 | <a name="l00327"></a>00327 <span class="preprocessor">#define D_ALL_PARAM_NAMES_X(start,x) \</span> | ||
343 | <a name="l00328"></a>00328 <span class="preprocessor"> </span><span class="comment">/* parameters for limits and motors */</span> \ | ||
344 | <a name="l00329"></a>00329 dParamLoStop ## x = start, \ | ||
345 | <a name="l00330"></a>00330 dParamHiStop ## x, \ | ||
346 | <a name="l00331"></a>00331 dParamVel ## x, \ | ||
347 | <a name="l00332"></a>00332 dParamFMax ## x, \ | ||
348 | <a name="l00333"></a>00333 dParamFudgeFactor ## x, \ | ||
349 | <a name="l00334"></a>00334 dParamBounce ## x, \ | ||
350 | <a name="l00335"></a>00335 dParamCFM ## x, \ | ||
351 | <a name="l00336"></a>00336 dParamStopERP ## x, \ | ||
352 | <a name="l00337"></a>00337 dParamStopCFM ## x, \ | ||
353 | <a name="l00338"></a>00338 <span class="comment">/* parameters for suspension */</span> \ | ||
354 | <a name="l00339"></a>00339 dParamSuspensionERP ## x, \ | ||
355 | <a name="l00340"></a>00340 dParamSuspensionCFM ## x, \ | ||
356 | <a name="l00341"></a>00341 dParamERP ## x, | ||
357 | <a name="l00342"></a>00342 | ||
358 | <a name="l00343"></a>00343 <span class="keyword">enum</span> { | ||
359 | <a name="l00344"></a>00344 D_ALL_PARAM_NAMES(0) | ||
360 | <a name="l00345"></a>00345 D_ALL_PARAM_NAMES_X(0x100,2) | ||
361 | <a name="l00346"></a>00346 D_ALL_PARAM_NAMES_X(0x200,3) | ||
362 | <a name="l00347"></a>00347 | ||
363 | <a name="l00348"></a>00348 <span class="comment">/* add a multiple of this constant to the basic parameter numbers to get</span> | ||
364 | <a name="l00349"></a>00349 <span class="comment"> * the parameters for the second, third etc axes.</span> | ||
365 | <a name="l00350"></a>00350 <span class="comment"> */</span> | ||
366 | <a name="l00351"></a>00351 dParamGroup=0x100 | ||
367 | <a name="l00352"></a>00352 }; | ||
368 | <a name="l00353"></a>00353 | ||
369 | <a name="l00354"></a>00354 | ||
370 | <a name="l00355"></a>00355 <span class="comment">/* angular motor mode numbers */</span> | ||
371 | <a name="l00356"></a>00356 | ||
372 | <a name="l00357"></a>00357 enum{ | ||
373 | <a name="l00358"></a>00358 dAMotorUser = 0, | ||
374 | <a name="l00359"></a>00359 dAMotorEuler = 1 | ||
375 | <a name="l00360"></a>00360 }; | ||
376 | <a name="l00361"></a>00361 | ||
377 | <a name="l00362"></a>00362 | ||
378 | <a name="l00363"></a>00363 <span class="comment">/* joint force feedback information */</span> | ||
379 | <a name="l00364"></a>00364 | ||
380 | <a name="l00365"></a>00365 <span class="keyword">typedef</span> <span class="keyword">struct </span>dJointFeedback { | ||
381 | <a name="l00366"></a>00366 dVector3 f1; <span class="comment">/* force applied to body 1 */</span> | ||
382 | <a name="l00367"></a>00367 dVector3 t1; <span class="comment">/* torque applied to body 1 */</span> | ||
383 | <a name="l00368"></a>00368 dVector3 f2; <span class="comment">/* force applied to body 2 */</span> | ||
384 | <a name="l00369"></a>00369 dVector3 t2; <span class="comment">/* torque applied to body 2 */</span> | ||
385 | <a name="l00370"></a>00370 } dJointFeedback; | ||
386 | <a name="l00371"></a>00371 | ||
387 | <a name="l00372"></a>00372 | ||
388 | <a name="l00373"></a>00373 <span class="comment">/* private functions that must be implemented by the collision library:</span> | ||
389 | <a name="l00374"></a>00374 <span class="comment"> * (1) indicate that a geom has moved, (2) get the next geom in a body list.</span> | ||
390 | <a name="l00375"></a>00375 <span class="comment"> * these functions are called whenever the position of geoms connected to a</span> | ||
391 | <a name="l00376"></a>00376 <span class="comment"> * body have changed, e.g. with dBodySetPosition(), dBodySetRotation(), or</span> | ||
392 | <a name="l00377"></a>00377 <span class="comment"> * when the ODE step function updates the body state.</span> | ||
393 | <a name="l00378"></a>00378 <span class="comment"> */</span> | ||
394 | <a name="l00379"></a>00379 | ||
395 | <a name="l00380"></a>00380 <span class="keywordtype">void</span> dGeomMoved (dGeomID); | ||
396 | <a name="l00381"></a>00381 dGeomID dGeomGetBodyNext (dGeomID); | ||
397 | <a name="l00382"></a>00382 | ||
398 | <a name="l00383"></a>00383 | ||
399 | <a name="l00384"></a>00384 <span class="preprocessor">#ifdef __cplusplus</span> | ||
400 | <a name="l00385"></a>00385 <span class="preprocessor"></span>} | ||
401 | <a name="l00386"></a>00386 <span class="preprocessor">#endif</span> | ||
402 | <a name="l00387"></a>00387 <span class="preprocessor"></span> | ||
403 | <a name="l00388"></a>00388 <span class="preprocessor">#endif</span> | ||
404 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
405 | <a href="http://www.doxygen.org/index.html"> | ||
406 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
407 | </body> | ||
408 | </html> | ||
diff --git a/libraries/ode-0.9/docs/compatibility_8h-source.html b/libraries/ode-0.9/docs/compatibility_8h-source.html new file mode 100644 index 0000000..859554b --- /dev/null +++ b/libraries/ode-0.9/docs/compatibility_8h-source.html | |||
@@ -0,0 +1,60 @@ | |||
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: compatibility.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>compatibility.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00023"></a>00023 <span class="preprocessor">#ifndef _ODE_COMPATIBILITY_H_</span> | ||
39 | <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define _ODE_COMPATIBILITY_H_</span> | ||
40 | <a name="l00025"></a>00025 <span class="preprocessor"></span> | ||
41 | <a name="l00026"></a>00026 <span class="comment">/*</span> | ||
42 | <a name="l00027"></a>00027 <span class="comment"> * ODE's backward compatibility system ensures that as ODE's API</span> | ||
43 | <a name="l00028"></a>00028 <span class="comment"> * evolves, user code will not break.</span> | ||
44 | <a name="l00029"></a>00029 <span class="comment"> */</span> | ||
45 | <a name="l00030"></a>00030 | ||
46 | <a name="l00031"></a>00031 <span class="comment">/*</span> | ||
47 | <a name="l00032"></a>00032 <span class="comment"> * These new rotation function names are more consistent with the</span> | ||
48 | <a name="l00033"></a>00033 <span class="comment"> * rest of the API.</span> | ||
49 | <a name="l00034"></a>00034 <span class="comment"> */</span> | ||
50 | <a name="l00035"></a>00035 <span class="preprocessor">#define dQtoR(q,R) dRfromQ((R),(q))</span> | ||
51 | <a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#define dRtoQ(R,q) dQfromR((q),(R))</span> | ||
52 | <a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define dWtoDQ(w,q,dq) dDQfromW((dq),(w),(q))</span> | ||
53 | <a name="l00038"></a>00038 <span class="preprocessor"></span> | ||
54 | <a name="l00039"></a>00039 | ||
55 | <a name="l00040"></a>00040 <span class="preprocessor">#endif</span> | ||
56 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
57 | <a href="http://www.doxygen.org/index.html"> | ||
58 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
59 | </body> | ||
60 | </html> | ||
diff --git a/libraries/ode-0.9/docs/config_8h-source.html b/libraries/ode-0.9/docs/config_8h-source.html new file mode 100644 index 0000000..2844063 --- /dev/null +++ b/libraries/ode-0.9/docs/config_8h-source.html | |||
@@ -0,0 +1,196 @@ | |||
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: config.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>config.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* This file was autogenerated by Premake */</span> | ||
17 | <a name="l00002"></a>00002 <span class="preprocessor">#ifndef _ODE_CONFIG_H_</span> | ||
18 | <a name="l00003"></a>00003 <span class="preprocessor"></span><span class="preprocessor">#define _ODE_CONFIG_H_</span> | ||
19 | <a name="l00004"></a>00004 <span class="preprocessor"></span> | ||
20 | <a name="l00005"></a>00005 | ||
21 | <a name="l00006"></a>00006 <span class="comment">/******************************************************************</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * CONFIGURATON SETTINGS - you can change these, and then rebuild</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * ODE to modify the behavior of the library.</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * dSINGLE/dDOUBLE - force ODE to use single-precision (float)</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * or double-precision (double) for numbers.</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * Only one should be defined.</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * dTRIMESH_ENABLED - enable/disable trimesh support</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * dTRIMESH_OPCODE - use the OPCODE trimesh engine</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * dTRIMESH_GIMPACT - use the GIMPACT trimesh engine</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * Only one trimesh engine should be enabled.</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * dUSE_MALLOC_FOR_ALLOCA (experimental)-</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * Use malloc() instead of alloca(). Slower,</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> * but allows for larger systems and more</span> | ||
37 | <a name="l00022"></a>00022 <span class="comment"> * graceful out-of-memory handling.</span> | ||
38 | <a name="l00023"></a>00023 <span class="comment"> *</span> | ||
39 | <a name="l00024"></a>00024 <span class="comment"> * dTRIMESH_OPCODE_USE_NEW_TRIMESH_TRIMESH_COLLIDER (experimental)-</span> | ||
40 | <a name="l00025"></a>00025 <span class="comment"> * Use an alternative trimesh-trimesh collider</span> | ||
41 | <a name="l00026"></a>00026 <span class="comment"> * which should yield better results.</span> | ||
42 | <a name="l00027"></a>00027 <span class="comment"> *</span> | ||
43 | <a name="l00028"></a>00028 <span class="comment"> ******************************************************************/</span> | ||
44 | <a name="l00029"></a>00029 | ||
45 | <a name="l00030"></a>00030 <span class="preprocessor">#define dSINGLE</span> | ||
46 | <a name="l00031"></a>00031 <span class="preprocessor"></span><span class="comment">/* #define dDOUBLE */</span> | ||
47 | <a name="l00032"></a>00032 | ||
48 | <a name="l00033"></a>00033 <span class="preprocessor">#define dTRIMESH_ENABLED 1</span> | ||
49 | <a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define dTRIMESH_OPCODE 1</span> | ||
50 | <a name="l00035"></a>00035 <span class="preprocessor"></span> | ||
51 | <a name="l00036"></a>00036 <span class="preprocessor">#define dTRIMESH_OPCODE_USE_NEW_TRIMESH_TRIMESH_COLLIDER 0</span> | ||
52 | <a name="l00037"></a>00037 <span class="preprocessor"></span> | ||
53 | <a name="l00038"></a>00038 <span class="comment">/* #define dUSE_MALLOC_FOR_ALLOCA */</span> | ||
54 | <a name="l00039"></a>00039 | ||
55 | <a name="l00040"></a>00040 | ||
56 | <a name="l00041"></a>00041 <span class="comment">/******************************************************************</span> | ||
57 | <a name="l00042"></a>00042 <span class="comment"> * SYSTEM SETTINGS - you shouldn't need to change these. If you</span> | ||
58 | <a name="l00043"></a>00043 <span class="comment"> * run into an issue with these settings, please report it to</span> | ||
59 | <a name="l00044"></a>00044 <span class="comment"> * the ODE bug tracker at:</span> | ||
60 | <a name="l00045"></a>00045 <span class="comment"> * http://sf.net/tracker/?group_id=24884&atid=382799</span> | ||
61 | <a name="l00046"></a>00046 <span class="comment"> ******************************************************************/</span> | ||
62 | <a name="l00047"></a>00047 | ||
63 | <a name="l00048"></a>00048 <span class="comment">/* Try to identify the platform */</span> | ||
64 | <a name="l00049"></a>00049 <span class="preprocessor">#if defined(_XENON)</span> | ||
65 | <a name="l00050"></a>00050 <span class="preprocessor"></span><span class="preprocessor"> #define ODE_PLATFORM_XBOX360</span> | ||
66 | <a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#elif defined(SN_TARGET_PSP_HW)</span> | ||
67 | <a name="l00052"></a>00052 <span class="preprocessor"></span><span class="preprocessor"> #define ODE_PLATFORM_PSP</span> | ||
68 | <a name="l00053"></a>00053 <span class="preprocessor"></span><span class="preprocessor">#elif defined(SN_TARGET_PS3)</span> | ||
69 | <a name="l00054"></a>00054 <span class="preprocessor"></span><span class="preprocessor"> #define ODE_PLATFORM_PS3</span> | ||
70 | <a name="l00055"></a>00055 <span class="preprocessor"></span><span class="preprocessor">#elif defined(_MSC_VER) || defined(__CYGWIN32__) || defined(__MINGW32__)</span> | ||
71 | <a name="l00056"></a>00056 <span class="preprocessor"></span><span class="preprocessor"> #define ODE_PLATFORM_WINDOWS</span> | ||
72 | <a name="l00057"></a>00057 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__linux__)</span> | ||
73 | <a name="l00058"></a>00058 <span class="preprocessor"></span><span class="preprocessor"> #define ODE_PLATFORM_LINUX</span> | ||
74 | <a name="l00059"></a>00059 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__APPLE__) && defined(__MACH__)</span> | ||
75 | <a name="l00060"></a>00060 <span class="preprocessor"></span><span class="preprocessor"> #define ODE_PLATFORM_OSX</span> | ||
76 | <a name="l00061"></a>00061 <span class="preprocessor"></span><span class="preprocessor">#else</span> | ||
77 | <a name="l00062"></a>00062 <span class="preprocessor"></span><span class="preprocessor"> #error "Need some help identifying the platform!"</span> | ||
78 | <a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
79 | <a name="l00064"></a>00064 <span class="preprocessor"></span> | ||
80 | <a name="l00065"></a>00065 <span class="comment">/* Additional platform defines used in the code */</span> | ||
81 | <a name="l00066"></a>00066 <span class="preprocessor">#if defined(ODE_PLATFORM_WINDOWS) && !defined(WIN32)</span> | ||
82 | <a name="l00067"></a>00067 <span class="preprocessor"></span><span class="preprocessor"> #define WIN32</span> | ||
83 | <a name="l00068"></a>00068 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
84 | <a name="l00069"></a>00069 <span class="preprocessor"></span> | ||
85 | <a name="l00070"></a>00070 <span class="preprocessor">#if defined(__CYGWIN32__) || defined(__MINGW32__)</span> | ||
86 | <a name="l00071"></a>00071 <span class="preprocessor"></span><span class="preprocessor"> #define CYGWIN</span> | ||
87 | <a name="l00072"></a>00072 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
88 | <a name="l00073"></a>00073 <span class="preprocessor"></span> | ||
89 | <a name="l00074"></a>00074 <span class="preprocessor">#if defined(ODE_PLATFORM_OSX)</span> | ||
90 | <a name="l00075"></a>00075 <span class="preprocessor"></span><span class="preprocessor"> #define macintosh</span> | ||
91 | <a name="l00076"></a>00076 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
92 | <a name="l00077"></a>00077 <span class="preprocessor"></span> | ||
93 | <a name="l00078"></a>00078 | ||
94 | <a name="l00079"></a>00079 <span class="comment">/* Define a DLL export symbol for those platforms that need it */</span> | ||
95 | <a name="l00080"></a>00080 <span class="preprocessor">#if defined(ODE_PLATFORM_WINDOWS)</span> | ||
96 | <a name="l00081"></a>00081 <span class="preprocessor"></span><span class="preprocessor"> #if defined(ODE_DLL)</span> | ||
97 | <a name="l00082"></a>00082 <span class="preprocessor"></span><span class="preprocessor"> #define ODE_API __declspec(dllexport)</span> | ||
98 | <a name="l00083"></a>00083 <span class="preprocessor"></span><span class="preprocessor"> #elif !defined(ODE_LIB)</span> | ||
99 | <a name="l00084"></a>00084 <span class="preprocessor"></span><span class="preprocessor"> #define ODE_DLL_API __declspec(dllimport)</span> | ||
100 | <a name="l00085"></a>00085 <span class="preprocessor"></span><span class="preprocessor"> #endif</span> | ||
101 | <a name="l00086"></a>00086 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
102 | <a name="l00087"></a>00087 <span class="preprocessor"></span> | ||
103 | <a name="l00088"></a>00088 <span class="preprocessor">#if !defined(ODE_API)</span> | ||
104 | <a name="l00089"></a>00089 <span class="preprocessor"></span><span class="preprocessor"> #define ODE_API</span> | ||
105 | <a name="l00090"></a>00090 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
106 | <a name="l00091"></a>00091 <span class="preprocessor"></span> | ||
107 | <a name="l00092"></a>00092 | ||
108 | <a name="l00093"></a>00093 <span class="comment">/* Pull in the standard headers */</span> | ||
109 | <a name="l00094"></a>00094 <span class="preprocessor">#include <stdio.h></span> | ||
110 | <a name="l00095"></a>00095 <span class="preprocessor">#include <stdlib.h></span> | ||
111 | <a name="l00096"></a>00096 <span class="preprocessor">#include <stdarg.h></span> | ||
112 | <a name="l00097"></a>00097 <span class="preprocessor">#include <math.h></span> | ||
113 | <a name="l00098"></a>00098 <span class="preprocessor">#include <string.h></span> | ||
114 | <a name="l00099"></a>00099 <span class="preprocessor">#include <float.h></span> | ||
115 | <a name="l00100"></a>00100 | ||
116 | <a name="l00101"></a>00101 <span class="preprocessor">#if !defined(ODE_PLATFORM_PS3)</span> | ||
117 | <a name="l00102"></a>00102 <span class="preprocessor"></span><span class="preprocessor"> #include <malloc.h></span> | ||
118 | <a name="l00103"></a>00103 <span class="preprocessor">#endif</span> | ||
119 | <a name="l00104"></a>00104 <span class="preprocessor"></span> | ||
120 | <a name="l00105"></a>00105 <span class="preprocessor">#if !defined(ODE_PLATFORM_WINDOWS)</span> | ||
121 | <a name="l00106"></a>00106 <span class="preprocessor"></span><span class="preprocessor"> #include <alloca.h></span> | ||
122 | <a name="l00107"></a>00107 <span class="preprocessor">#endif</span> | ||
123 | <a name="l00108"></a>00108 <span class="preprocessor"></span> | ||
124 | <a name="l00109"></a>00109 | ||
125 | <a name="l00110"></a>00110 <span class="comment">/* Visual C does not define these functions */</span> | ||
126 | <a name="l00111"></a>00111 <span class="preprocessor">#if defined(_MSC_VER)</span> | ||
127 | <a name="l00112"></a>00112 <span class="preprocessor"></span><span class="preprocessor"> #define copysignf _copysign</span> | ||
128 | <a name="l00113"></a>00113 <span class="preprocessor"></span><span class="preprocessor"> #define copysign _copysign</span> | ||
129 | <a name="l00114"></a>00114 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
130 | <a name="l00115"></a>00115 <span class="preprocessor"></span> | ||
131 | <a name="l00116"></a>00116 | ||
132 | <a name="l00117"></a>00117 <span class="comment">/* Define a value for infinity */</span> | ||
133 | <a name="l00118"></a>00118 <span class="preprocessor">#if defined(HUGE_VALF)</span> | ||
134 | <a name="l00119"></a>00119 <span class="preprocessor"></span><span class="preprocessor"> #define ODE_INFINITY4 HUGE_VALF</span> | ||
135 | <a name="l00120"></a>00120 <span class="preprocessor"></span><span class="preprocessor"> #define ODE_INFINITY8 HUGE_VAL</span> | ||
136 | <a name="l00121"></a>00121 <span class="preprocessor"></span><span class="preprocessor">#elif defined(FLT_MAX)</span> | ||
137 | <a name="l00122"></a>00122 <span class="preprocessor"></span><span class="preprocessor"> #define ODE_INFINITY4 FLT_MAX</span> | ||
138 | <a name="l00123"></a>00123 <span class="preprocessor"></span><span class="preprocessor"> #define ODE_INFINITY8 DBL_MAX</span> | ||
139 | <a name="l00124"></a>00124 <span class="preprocessor"></span><span class="preprocessor">#else</span> | ||
140 | <a name="l00125"></a>00125 <span class="preprocessor"></span> <span class="keyword">static</span> <span class="keyword">union </span>{ <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> __c[4]; <span class="keywordtype">float</span> __f; } __ode_huge_valf = {{0,0,0x80,0x7f}}; | ||
141 | <a name="l00126"></a>00126 <span class="keyword">static</span> <span class="keyword">union </span>{ <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> __c[8]; <span class="keywordtype">double</span> __d; } __ode_huge_val = {{0,0,0,0,0,0,0xf0,0x7f}}; | ||
142 | <a name="l00127"></a>00127 <span class="preprocessor"> #define ODE_INFINITY4 (__ode_huge_valf.__f)</span> | ||
143 | <a name="l00128"></a>00128 <span class="preprocessor"></span><span class="preprocessor"> #define ODE_INFINITY8 (__ode_huge_val.__d)</span> | ||
144 | <a name="l00129"></a>00129 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
145 | <a name="l00130"></a>00130 <span class="preprocessor"></span> | ||
146 | <a name="l00131"></a>00131 <span class="preprocessor">#ifdef dSINGLE</span> | ||
147 | <a name="l00132"></a>00132 <span class="preprocessor"></span><span class="preprocessor"> #define dInfinity ODE_INFINITY4</span> | ||
148 | <a name="l00133"></a>00133 <span class="preprocessor"></span><span class="preprocessor"> #define dEpsilon FLT_EPSILON</span> | ||
149 | <a name="l00134"></a>00134 <span class="preprocessor"></span><span class="preprocessor">#else</span> | ||
150 | <a name="l00135"></a>00135 <span class="preprocessor"></span><span class="preprocessor"> #define dInfinity ODE_INFINITY8</span> | ||
151 | <a name="l00136"></a>00136 <span class="preprocessor"></span><span class="preprocessor"> #define dEpsilon DBL_EPSILON</span> | ||
152 | <a name="l00137"></a>00137 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
153 | <a name="l00138"></a>00138 <span class="preprocessor"></span> | ||
154 | <a name="l00139"></a>00139 | ||
155 | <a name="l00140"></a>00140 <span class="comment">/* Well-defined common data types...need to define for 64 bit systems */</span> | ||
156 | <a name="l00141"></a>00141 <span class="preprocessor">#if defined(_M_IA64) || defined(__ia64__) || defined(_M_AMD64) || defined(__x86_64__)</span> | ||
157 | <a name="l00142"></a>00142 <span class="preprocessor"></span><span class="preprocessor"> #define X86_64_SYSTEM 1</span> | ||
158 | <a name="l00143"></a>00143 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keywordtype">int</span> int32; | ||
159 | <a name="l00144"></a>00144 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uint32; | ||
160 | <a name="l00145"></a>00145 <span class="keyword">typedef</span> <span class="keywordtype">short</span> int16; | ||
161 | <a name="l00146"></a>00146 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> uint16; | ||
162 | <a name="l00147"></a>00147 <span class="keyword">typedef</span> <span class="keywordtype">char</span> int8; | ||
163 | <a name="l00148"></a>00148 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> uint8; | ||
164 | <a name="l00149"></a>00149 <span class="preprocessor">#else</span> | ||
165 | <a name="l00150"></a>00150 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keywordtype">int</span> int32; | ||
166 | <a name="l00151"></a>00151 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uint32; | ||
167 | <a name="l00152"></a>00152 <span class="keyword">typedef</span> <span class="keywordtype">short</span> int16; | ||
168 | <a name="l00153"></a>00153 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> uint16; | ||
169 | <a name="l00154"></a>00154 <span class="keyword">typedef</span> <span class="keywordtype">char</span> int8; | ||
170 | <a name="l00155"></a>00155 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> uint8; | ||
171 | <a name="l00156"></a>00156 <span class="preprocessor">#endif</span> | ||
172 | <a name="l00157"></a>00157 <span class="preprocessor"></span> | ||
173 | <a name="l00158"></a>00158 <span class="comment">/* An integer type that can be safely cast to a pointer. This definition</span> | ||
174 | <a name="l00159"></a>00159 <span class="comment"> * should be safe even on 64-bit systems */</span> | ||
175 | <a name="l00160"></a>00160 <span class="keyword">typedef</span> <span class="keywordtype">size_t</span> intP; | ||
176 | <a name="l00161"></a>00161 | ||
177 | <a name="l00162"></a>00162 | ||
178 | <a name="l00163"></a>00163 <span class="comment">/* The efficient alignment. most platforms align data structures to some</span> | ||
179 | <a name="l00164"></a>00164 <span class="comment"> * number of bytes, but this is not always the most efficient alignment.</span> | ||
180 | <a name="l00165"></a>00165 <span class="comment"> * for example, many x86 compilers align to 4 bytes, but on a pentium it is</span> | ||
181 | <a name="l00166"></a>00166 <span class="comment"> * important to align doubles to 8 byte boundaries (for speed), and the 4</span> | ||
182 | <a name="l00167"></a>00167 <span class="comment"> * floats in a SIMD register to 16 byte boundaries. many other platforms have</span> | ||
183 | <a name="l00168"></a>00168 <span class="comment"> * similar behavior. setting a larger alignment can waste a (very) small</span> | ||
184 | <a name="l00169"></a>00169 <span class="comment"> * amount of memory. NOTE: this number must be a power of two. */</span> | ||
185 | <a name="l00170"></a>00170 <span class="preprocessor">#define EFFICIENT_ALIGNMENT 16</span> | ||
186 | <a name="l00171"></a>00171 <span class="preprocessor"></span> | ||
187 | <a name="l00172"></a>00172 | ||
188 | <a name="l00173"></a>00173 <span class="comment">/* Define this if your system supports anonymous memory maps (linux does) */</span> | ||
189 | <a name="l00174"></a>00174 <span class="preprocessor">#define MMAP_ANONYMOUS</span> | ||
190 | <a name="l00175"></a>00175 <span class="preprocessor"></span> | ||
191 | <a name="l00176"></a>00176 <span class="preprocessor">#endif</span> | ||
192 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
193 | <a href="http://www.doxygen.org/index.html"> | ||
194 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
195 | </body> | ||
196 | </html> | ||
diff --git a/libraries/ode-0.9/docs/contact_8h-source.html b/libraries/ode-0.9/docs/contact_8h-source.html new file mode 100644 index 0000000..0339e51 --- /dev/null +++ b/libraries/ode-0.9/docs/contact_8h-source.html | |||
@@ -0,0 +1,109 @@ | |||
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: contact.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>contact.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00023"></a>00023 <span class="preprocessor">#ifndef _ODE_CONTACT_H_</span> | ||
39 | <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define _ODE_CONTACT_H_</span> | ||
40 | <a name="l00025"></a>00025 <span class="preprocessor"></span> | ||
41 | <a name="l00026"></a>00026 <span class="preprocessor">#include <ode/common.h></span> | ||
42 | <a name="l00027"></a>00027 | ||
43 | <a name="l00028"></a>00028 <span class="preprocessor">#ifdef __cplusplus</span> | ||
44 | <a name="l00029"></a>00029 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | ||
45 | <a name="l00030"></a>00030 <span class="preprocessor">#endif</span> | ||
46 | <a name="l00031"></a>00031 <span class="preprocessor"></span> | ||
47 | <a name="l00032"></a>00032 | ||
48 | <a name="l00033"></a>00033 <span class="keyword">enum</span> { | ||
49 | <a name="l00034"></a>00034 dContactMu2 = 0x001, | ||
50 | <a name="l00035"></a>00035 dContactFDir1 = 0x002, | ||
51 | <a name="l00036"></a>00036 dContactBounce = 0x004, | ||
52 | <a name="l00037"></a>00037 dContactSoftERP = 0x008, | ||
53 | <a name="l00038"></a>00038 dContactSoftCFM = 0x010, | ||
54 | <a name="l00039"></a>00039 dContactMotion1 = 0x020, | ||
55 | <a name="l00040"></a>00040 dContactMotion2 = 0x040, | ||
56 | <a name="l00041"></a>00041 dContactSlip1 = 0x080, | ||
57 | <a name="l00042"></a>00042 dContactSlip2 = 0x100, | ||
58 | <a name="l00043"></a>00043 | ||
59 | <a name="l00044"></a>00044 dContactApprox0 = 0x0000, | ||
60 | <a name="l00045"></a>00045 dContactApprox1_1 = 0x1000, | ||
61 | <a name="l00046"></a>00046 dContactApprox1_2 = 0x2000, | ||
62 | <a name="l00047"></a>00047 dContactApprox1 = 0x3000 | ||
63 | <a name="l00048"></a>00048 }; | ||
64 | <a name="l00049"></a>00049 | ||
65 | <a name="l00050"></a>00050 | ||
66 | <a name="l00051"></a>00051 <span class="keyword">typedef</span> <span class="keyword">struct </span>dSurfaceParameters { | ||
67 | <a name="l00052"></a>00052 <span class="comment">/* must always be defined */</span> | ||
68 | <a name="l00053"></a>00053 <span class="keywordtype">int</span> mode; | ||
69 | <a name="l00054"></a>00054 dReal mu; | ||
70 | <a name="l00055"></a>00055 | ||
71 | <a name="l00056"></a>00056 <span class="comment">/* only defined if the corresponding flag is set in mode */</span> | ||
72 | <a name="l00057"></a>00057 dReal mu2; | ||
73 | <a name="l00058"></a>00058 dReal bounce; | ||
74 | <a name="l00059"></a>00059 dReal bounce_vel; | ||
75 | <a name="l00060"></a>00060 dReal soft_erp; | ||
76 | <a name="l00061"></a>00061 dReal soft_cfm; | ||
77 | <a name="l00062"></a>00062 dReal motion1,motion2; | ||
78 | <a name="l00063"></a>00063 dReal slip1,slip2; | ||
79 | <a name="l00064"></a>00064 } dSurfaceParameters; | ||
80 | <a name="l00065"></a>00065 | ||
81 | <a name="l00066"></a>00066 | ||
82 | <a name="l00081"></a><a class="code" href="structd_contact_geom.html">00081</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structd_contact_geom.html" title="Describe the contact point between two geoms.">dContactGeom</a> { | ||
83 | <a name="l00082"></a><a class="code" href="structd_contact_geom.html#2fa7323ee3826d1f55c8cad6157e38a5">00082</a> dVector3 <a class="code" href="structd_contact_geom.html#2fa7323ee3826d1f55c8cad6157e38a5" title="contact position">pos</a>; | ||
84 | <a name="l00083"></a><a class="code" href="structd_contact_geom.html#7665d3379904821bbdb7b7d1028fcda3">00083</a> dVector3 <a class="code" href="structd_contact_geom.html#7665d3379904821bbdb7b7d1028fcda3" title="normal vector">normal</a>; | ||
85 | <a name="l00084"></a><a class="code" href="structd_contact_geom.html#29c32c1cb4355186d4110b7abeb58bf0">00084</a> dReal <a class="code" href="structd_contact_geom.html#29c32c1cb4355186d4110b7abeb58bf0" title="penetration depth">depth</a>; | ||
86 | <a name="l00085"></a><a class="code" href="structd_contact_geom.html#7dd16e7bbc0c5b5e17116c1e5179281b">00085</a> dGeomID g1,<a class="code" href="structd_contact_geom.html#7dd16e7bbc0c5b5e17116c1e5179281b" title="the colliding geoms">g2</a>; | ||
87 | <a name="l00086"></a><a class="code" href="structd_contact_geom.html#7a8a080b98c12e0d1f52c86d2738552e">00086</a> <span class="keywordtype">int</span> side1,<a class="code" href="structd_contact_geom.html#7a8a080b98c12e0d1f52c86d2738552e" title="(to be documented)">side2</a>; | ||
88 | <a name="l00087"></a>00087 } <a class="code" href="structd_contact_geom.html" title="Describe the contact point between two geoms.">dContactGeom</a>; | ||
89 | <a name="l00088"></a>00088 | ||
90 | <a name="l00089"></a>00089 | ||
91 | <a name="l00090"></a>00090 <span class="comment">/* contact info used by contact joint */</span> | ||
92 | <a name="l00091"></a>00091 | ||
93 | <a name="l00092"></a>00092 <span class="keyword">typedef</span> <span class="keyword">struct </span>dContact { | ||
94 | <a name="l00093"></a>00093 dSurfaceParameters surface; | ||
95 | <a name="l00094"></a>00094 <a class="code" href="structd_contact_geom.html" title="Describe the contact point between two geoms.">dContactGeom</a> geom; | ||
96 | <a name="l00095"></a>00095 dVector3 fdir1; | ||
97 | <a name="l00096"></a>00096 } dContact; | ||
98 | <a name="l00097"></a>00097 | ||
99 | <a name="l00098"></a>00098 | ||
100 | <a name="l00099"></a>00099 <span class="preprocessor">#ifdef __cplusplus</span> | ||
101 | <a name="l00100"></a>00100 <span class="preprocessor"></span>} | ||
102 | <a name="l00101"></a>00101 <span class="preprocessor">#endif</span> | ||
103 | <a name="l00102"></a>00102 <span class="preprocessor"></span> | ||
104 | <a name="l00103"></a>00103 <span class="preprocessor">#endif</span> | ||
105 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
106 | <a href="http://www.doxygen.org/index.html"> | ||
107 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
108 | </body> | ||
109 | </html> | ||
diff --git a/libraries/ode-0.9/docs/doxygen.css b/libraries/ode-0.9/docs/doxygen.css new file mode 100644 index 0000000..c7db1a8 --- /dev/null +++ b/libraries/ode-0.9/docs/doxygen.css | |||
@@ -0,0 +1,358 @@ | |||
1 | BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { | ||
2 | font-family: Geneva, Arial, Helvetica, sans-serif; | ||
3 | } | ||
4 | BODY,TD { | ||
5 | font-size: 90%; | ||
6 | } | ||
7 | H1 { | ||
8 | text-align: center; | ||
9 | font-size: 160%; | ||
10 | } | ||
11 | H2 { | ||
12 | font-size: 120%; | ||
13 | } | ||
14 | H3 { | ||
15 | font-size: 100%; | ||
16 | } | ||
17 | CAPTION { font-weight: bold } | ||
18 | DIV.qindex { | ||
19 | width: 100%; | ||
20 | background-color: #e8eef2; | ||
21 | border: 1px solid #84b0c7; | ||
22 | text-align: center; | ||
23 | margin: 2px; | ||
24 | padding: 2px; | ||
25 | line-height: 140%; | ||
26 | } | ||
27 | DIV.nav { | ||
28 | width: 100%; | ||
29 | background-color: #e8eef2; | ||
30 | border: 1px solid #84b0c7; | ||
31 | text-align: center; | ||
32 | margin: 2px; | ||
33 | padding: 2px; | ||
34 | line-height: 140%; | ||
35 | } | ||
36 | DIV.navtab { | ||
37 | background-color: #e8eef2; | ||
38 | border: 1px solid #84b0c7; | ||
39 | text-align: center; | ||
40 | margin: 2px; | ||
41 | margin-right: 15px; | ||
42 | padding: 2px; | ||
43 | } | ||
44 | TD.navtab { | ||
45 | font-size: 70%; | ||
46 | } | ||
47 | A.qindex { | ||
48 | text-decoration: none; | ||
49 | font-weight: bold; | ||
50 | color: #1A419D; | ||
51 | } | ||
52 | A.qindex:visited { | ||
53 | text-decoration: none; | ||
54 | font-weight: bold; | ||
55 | color: #1A419D | ||
56 | } | ||
57 | A.qindex:hover { | ||
58 | text-decoration: none; | ||
59 | background-color: #ddddff; | ||
60 | } | ||
61 | A.qindexHL { | ||
62 | text-decoration: none; | ||
63 | font-weight: bold; | ||
64 | background-color: #6666cc; | ||
65 | color: #ffffff; | ||
66 | border: 1px double #9295C2; | ||
67 | } | ||
68 | A.qindexHL:hover { | ||
69 | text-decoration: none; | ||
70 | background-color: #6666cc; | ||
71 | color: #ffffff; | ||
72 | } | ||
73 | A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff } | ||
74 | A.el { text-decoration: none; font-weight: bold } | ||
75 | A.elRef { font-weight: bold } | ||
76 | A.code:link { text-decoration: none; font-weight: normal; color: #0000FF} | ||
77 | A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF} | ||
78 | A.codeRef:link { font-weight: normal; color: #0000FF} | ||
79 | A.codeRef:visited { font-weight: normal; color: #0000FF} | ||
80 | A:hover { text-decoration: none; background-color: #f2f2ff } | ||
81 | DL.el { margin-left: -1cm } | ||
82 | .fragment { | ||
83 | font-family: monospace, fixed; | ||
84 | font-size: 95%; | ||
85 | } | ||
86 | PRE.fragment { | ||
87 | border: 1px solid #CCCCCC; | ||
88 | background-color: #f5f5f5; | ||
89 | margin-top: 4px; | ||
90 | margin-bottom: 4px; | ||
91 | margin-left: 2px; | ||
92 | margin-right: 8px; | ||
93 | padding-left: 6px; | ||
94 | padding-right: 6px; | ||
95 | padding-top: 4px; | ||
96 | padding-bottom: 4px; | ||
97 | } | ||
98 | DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } | ||
99 | |||
100 | DIV.groupHeader { | ||
101 | margin-left: 16px; | ||
102 | margin-top: 12px; | ||
103 | margin-bottom: 6px; | ||
104 | font-weight: bold; | ||
105 | } | ||
106 | DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% } | ||
107 | BODY { | ||
108 | background: white; | ||
109 | color: black; | ||
110 | margin-right: 20px; | ||
111 | margin-left: 20px; | ||
112 | } | ||
113 | TD.indexkey { | ||
114 | background-color: #e8eef2; | ||
115 | font-weight: bold; | ||
116 | padding-right : 10px; | ||
117 | padding-top : 2px; | ||
118 | padding-left : 10px; | ||
119 | padding-bottom : 2px; | ||
120 | margin-left : 0px; | ||
121 | margin-right : 0px; | ||
122 | margin-top : 2px; | ||
123 | margin-bottom : 2px; | ||
124 | border: 1px solid #CCCCCC; | ||
125 | } | ||
126 | TD.indexvalue { | ||
127 | background-color: #e8eef2; | ||
128 | font-style: italic; | ||
129 | padding-right : 10px; | ||
130 | padding-top : 2px; | ||
131 | padding-left : 10px; | ||
132 | padding-bottom : 2px; | ||
133 | margin-left : 0px; | ||
134 | margin-right : 0px; | ||
135 | margin-top : 2px; | ||
136 | margin-bottom : 2px; | ||
137 | border: 1px solid #CCCCCC; | ||
138 | } | ||
139 | TR.memlist { | ||
140 | background-color: #f0f0f0; | ||
141 | } | ||
142 | P.formulaDsp { text-align: center; } | ||
143 | IMG.formulaDsp { } | ||
144 | IMG.formulaInl { vertical-align: middle; } | ||
145 | SPAN.keyword { color: #008000 } | ||
146 | SPAN.keywordtype { color: #604020 } | ||
147 | SPAN.keywordflow { color: #e08000 } | ||
148 | SPAN.comment { color: #800000 } | ||
149 | SPAN.preprocessor { color: #806020 } | ||
150 | SPAN.stringliteral { color: #002080 } | ||
151 | SPAN.charliteral { color: #008080 } | ||
152 | .mdescLeft { | ||
153 | padding: 0px 8px 4px 8px; | ||
154 | font-size: 80%; | ||
155 | font-style: italic; | ||
156 | background-color: #FAFAFA; | ||
157 | border-top: 1px none #E0E0E0; | ||
158 | border-right: 1px none #E0E0E0; | ||
159 | border-bottom: 1px none #E0E0E0; | ||
160 | border-left: 1px none #E0E0E0; | ||
161 | margin: 0px; | ||
162 | } | ||
163 | .mdescRight { | ||
164 | padding: 0px 8px 4px 8px; | ||
165 | font-size: 80%; | ||
166 | font-style: italic; | ||
167 | background-color: #FAFAFA; | ||
168 | border-top: 1px none #E0E0E0; | ||
169 | border-right: 1px none #E0E0E0; | ||
170 | border-bottom: 1px none #E0E0E0; | ||
171 | border-left: 1px none #E0E0E0; | ||
172 | margin: 0px; | ||
173 | } | ||
174 | .memItemLeft { | ||
175 | padding: 1px 0px 0px 8px; | ||
176 | margin: 4px; | ||
177 | border-top-width: 1px; | ||
178 | border-right-width: 1px; | ||
179 | border-bottom-width: 1px; | ||
180 | border-left-width: 1px; | ||
181 | border-top-color: #E0E0E0; | ||
182 | border-right-color: #E0E0E0; | ||
183 | border-bottom-color: #E0E0E0; | ||
184 | border-left-color: #E0E0E0; | ||
185 | border-top-style: solid; | ||
186 | border-right-style: none; | ||
187 | border-bottom-style: none; | ||
188 | border-left-style: none; | ||
189 | background-color: #FAFAFA; | ||
190 | font-size: 80%; | ||
191 | } | ||
192 | .memItemRight { | ||
193 | padding: 1px 8px 0px 8px; | ||
194 | margin: 4px; | ||
195 | border-top-width: 1px; | ||
196 | border-right-width: 1px; | ||
197 | border-bottom-width: 1px; | ||
198 | border-left-width: 1px; | ||
199 | border-top-color: #E0E0E0; | ||
200 | border-right-color: #E0E0E0; | ||
201 | border-bottom-color: #E0E0E0; | ||
202 | border-left-color: #E0E0E0; | ||
203 | border-top-style: solid; | ||
204 | border-right-style: none; | ||
205 | border-bottom-style: none; | ||
206 | border-left-style: none; | ||
207 | background-color: #FAFAFA; | ||
208 | font-size: 80%; | ||
209 | } | ||
210 | .memTemplItemLeft { | ||
211 | padding: 1px 0px 0px 8px; | ||
212 | margin: 4px; | ||
213 | border-top-width: 1px; | ||
214 | border-right-width: 1px; | ||
215 | border-bottom-width: 1px; | ||
216 | border-left-width: 1px; | ||
217 | border-top-color: #E0E0E0; | ||
218 | border-right-color: #E0E0E0; | ||
219 | border-bottom-color: #E0E0E0; | ||
220 | border-left-color: #E0E0E0; | ||
221 | border-top-style: none; | ||
222 | border-right-style: none; | ||
223 | border-bottom-style: none; | ||
224 | border-left-style: none; | ||
225 | background-color: #FAFAFA; | ||
226 | font-size: 80%; | ||
227 | } | ||
228 | .memTemplItemRight { | ||
229 | padding: 1px 8px 0px 8px; | ||
230 | margin: 4px; | ||
231 | border-top-width: 1px; | ||
232 | border-right-width: 1px; | ||
233 | border-bottom-width: 1px; | ||
234 | border-left-width: 1px; | ||
235 | border-top-color: #E0E0E0; | ||
236 | border-right-color: #E0E0E0; | ||
237 | border-bottom-color: #E0E0E0; | ||
238 | border-left-color: #E0E0E0; | ||
239 | border-top-style: none; | ||
240 | border-right-style: none; | ||
241 | border-bottom-style: none; | ||
242 | border-left-style: none; | ||
243 | background-color: #FAFAFA; | ||
244 | font-size: 80%; | ||
245 | } | ||
246 | .memTemplParams { | ||
247 | padding: 1px 0px 0px 8px; | ||
248 | margin: 4px; | ||
249 | border-top-width: 1px; | ||
250 | border-right-width: 1px; | ||
251 | border-bottom-width: 1px; | ||
252 | border-left-width: 1px; | ||
253 | border-top-color: #E0E0E0; | ||
254 | border-right-color: #E0E0E0; | ||
255 | border-bottom-color: #E0E0E0; | ||
256 | border-left-color: #E0E0E0; | ||
257 | border-top-style: solid; | ||
258 | border-right-style: none; | ||
259 | border-bottom-style: none; | ||
260 | border-left-style: none; | ||
261 | color: #606060; | ||
262 | background-color: #FAFAFA; | ||
263 | font-size: 80%; | ||
264 | } | ||
265 | .search { color: #003399; | ||
266 | font-weight: bold; | ||
267 | } | ||
268 | FORM.search { | ||
269 | margin-bottom: 0px; | ||
270 | margin-top: 0px; | ||
271 | } | ||
272 | INPUT.search { font-size: 75%; | ||
273 | color: #000080; | ||
274 | font-weight: normal; | ||
275 | background-color: #e8eef2; | ||
276 | } | ||
277 | TD.tiny { font-size: 75%; | ||
278 | } | ||
279 | a { | ||
280 | color: #1A41A8; | ||
281 | } | ||
282 | a:visited { | ||
283 | color: #2A3798; | ||
284 | } | ||
285 | .dirtab { padding: 4px; | ||
286 | border-collapse: collapse; | ||
287 | border: 1px solid #84b0c7; | ||
288 | } | ||
289 | TH.dirtab { background: #e8eef2; | ||
290 | font-weight: bold; | ||
291 | } | ||
292 | HR { height: 1px; | ||
293 | border: none; | ||
294 | border-top: 1px solid black; | ||
295 | } | ||
296 | |||
297 | /* Style for detailed member documentation */ | ||
298 | .memtemplate { | ||
299 | font-size: 80%; | ||
300 | color: #606060; | ||
301 | font-weight: normal; | ||
302 | } | ||
303 | .memnav { | ||
304 | background-color: #e8eef2; | ||
305 | border: 1px solid #84b0c7; | ||
306 | text-align: center; | ||
307 | margin: 2px; | ||
308 | margin-right: 15px; | ||
309 | padding: 2px; | ||
310 | } | ||
311 | .memitem { | ||
312 | padding: 4px; | ||
313 | background-color: #eef3f5; | ||
314 | border-width: 1px; | ||
315 | border-style: solid; | ||
316 | border-color: #dedeee; | ||
317 | -moz-border-radius: 8px 8px 8px 8px; | ||
318 | } | ||
319 | .memname { | ||
320 | white-space: nowrap; | ||
321 | font-weight: bold; | ||
322 | } | ||
323 | .memdoc{ | ||
324 | padding-left: 10px; | ||
325 | } | ||
326 | .memproto { | ||
327 | background-color: #d5e1e8; | ||
328 | width: 100%; | ||
329 | border-width: 1px; | ||
330 | border-style: solid; | ||
331 | border-color: #84b0c7; | ||
332 | font-weight: bold; | ||
333 | -moz-border-radius: 8px 8px 8px 8px; | ||
334 | } | ||
335 | .paramkey { | ||
336 | text-align: right; | ||
337 | } | ||
338 | .paramtype { | ||
339 | white-space: nowrap; | ||
340 | } | ||
341 | .paramname { | ||
342 | color: #602020; | ||
343 | font-style: italic; | ||
344 | white-space: nowrap; | ||
345 | } | ||
346 | /* End Styling for detailed member documentation */ | ||
347 | |||
348 | /* for the tree view */ | ||
349 | .ftvtree { | ||
350 | font-family: sans-serif; | ||
351 | margin:0.5em; | ||
352 | } | ||
353 | .directory { font-size: 9pt; font-weight: bold; } | ||
354 | .directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; } | ||
355 | .directory > h3 { margin-top: 0; } | ||
356 | .directory p { margin: 0px; white-space: nowrap; } | ||
357 | .directory div { display: none; margin: 0px; } | ||
358 | .directory img { vertical-align: -30%; } | ||
diff --git a/libraries/ode-0.9/docs/doxygen.png b/libraries/ode-0.9/docs/doxygen.png new file mode 100644 index 0000000..f0a274b --- /dev/null +++ b/libraries/ode-0.9/docs/doxygen.png | |||
Binary files differ | |||
diff --git a/libraries/ode-0.9/docs/drawstuff_8h-source.html b/libraries/ode-0.9/docs/drawstuff_8h-source.html new file mode 100644 index 0000000..e08e6c2 --- /dev/null +++ b/libraries/ode-0.9/docs/drawstuff_8h-source.html | |||
@@ -0,0 +1,166 @@ | |||
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: drawstuff.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>drawstuff.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001-2003 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00041"></a>00041 <span class="preprocessor">#ifndef __DRAWSTUFF_H__</span> | ||
39 | <a name="l00042"></a>00042 <span class="preprocessor"></span><span class="preprocessor">#define __DRAWSTUFF_H__</span> | ||
40 | <a name="l00043"></a>00043 <span class="preprocessor"></span> | ||
41 | <a name="l00044"></a>00044 <span class="comment">/* Define a DLL export symbol for those platforms that need it */</span> | ||
42 | <a name="l00045"></a>00045 <span class="preprocessor">#if defined(ODE_PLATFORM_WINDOWS)</span> | ||
43 | <a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor"> #if defined(DS_DLL)</span> | ||
44 | <a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor"> #define DS_API __declspec(dllexport)</span> | ||
45 | <a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor"> #elif !defined(DS_LIB)</span> | ||
46 | <a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor"> #define DS_DLL_API __declspec(dllimport)</span> | ||
47 | <a name="l00050"></a>00050 <span class="preprocessor"></span><span class="preprocessor"> #endif</span> | ||
48 | <a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
49 | <a name="l00052"></a>00052 <span class="preprocessor"></span> | ||
50 | <a name="l00053"></a>00053 <span class="preprocessor">#if !defined(DS_API)</span> | ||
51 | <a name="l00054"></a>00054 <span class="preprocessor"></span><span class="preprocessor"> #define DS_API</span> | ||
52 | <a name="l00055"></a>00055 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
53 | <a name="l00056"></a>00056 <span class="preprocessor"></span> | ||
54 | <a name="l00057"></a>00057 <span class="preprocessor">#ifdef __cplusplus</span> | ||
55 | <a name="l00058"></a>00058 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | ||
56 | <a name="l00059"></a>00059 <span class="preprocessor">#endif</span> | ||
57 | <a name="l00060"></a>00060 <span class="preprocessor"></span> | ||
58 | <a name="l00061"></a>00061 | ||
59 | <a name="l00062"></a>00062 <span class="preprocessor">#include <drawstuff/version.h></span> | ||
60 | <a name="l00063"></a>00063 | ||
61 | <a name="l00064"></a>00064 | ||
62 | <a name="l00065"></a>00065 <span class="comment">/* texture numbers */</span> | ||
63 | <a name="l00066"></a>00066 <span class="preprocessor">#define DS_NONE 0 </span><span class="comment">/* uses the current color instead of a texture */</span> | ||
64 | <a name="l00067"></a>00067 <span class="preprocessor">#define DS_WOOD 1</span> | ||
65 | <a name="l00068"></a>00068 <span class="preprocessor"></span> | ||
66 | <a name="l00069"></a>00069 | ||
67 | <a name="l00075"></a><a class="code" href="structds_functions.html">00075</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structds_functions.html" title="Set of functions to be used as callbacks by the simulation loop.">dsFunctions</a> { | ||
68 | <a name="l00076"></a>00076 <span class="keywordtype">int</span> version; <span class="comment">/* put DS_VERSION here */</span> | ||
69 | <a name="l00077"></a>00077 <span class="comment">/* version 1 data */</span> | ||
70 | <a name="l00078"></a>00078 void (*start)(); <span class="comment">/* called before sim loop starts */</span> | ||
71 | <a name="l00079"></a>00079 void (*step) (<span class="keywordtype">int</span> pause); <span class="comment">/* called before every frame */</span> | ||
72 | <a name="l00080"></a>00080 void (*command) (<span class="keywordtype">int</span> cmd); <span class="comment">/* called if a command key is pressed */</span> | ||
73 | <a name="l00081"></a>00081 void (*stop)(); <span class="comment">/* called after sim loop exits */</span> | ||
74 | <a name="l00082"></a>00082 <span class="comment">/* version 2 data */</span> | ||
75 | <a name="l00083"></a>00083 <span class="keywordtype">char</span> *path_to_textures; <span class="comment">/* if nonzero, path to texture files */</span> | ||
76 | <a name="l00084"></a>00084 } <a class="code" href="structds_functions.html" title="Set of functions to be used as callbacks by the simulation loop.">dsFunctions</a>; | ||
77 | <a name="l00085"></a>00085 | ||
78 | <a name="l00086"></a>00086 | ||
79 | <a name="l00095"></a>00095 DS_API <span class="keywordtype">void</span> <a class="code" href="group__drawstuff.html#g28560ea1b64c1d83095bcdfce9caf9dc" title="Does the complete simulation.">dsSimulationLoop</a> (<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv, | ||
80 | <a name="l00096"></a>00096 <span class="keywordtype">int</span> window_width, <span class="keywordtype">int</span> window_height, | ||
81 | <a name="l00097"></a>00097 <span class="keyword">struct</span> <a class="code" href="structds_functions.html" title="Set of functions to be used as callbacks by the simulation loop.">dsFunctions</a> *fn); | ||
82 | <a name="l00098"></a>00098 | ||
83 | <a name="l00105"></a>00105 DS_API <span class="keywordtype">void</span> <a class="code" href="group__drawstuff.html#g7a2a69ac611d5dc6ffc8e43b0a743472" title="exit with error message.">dsError</a> (<span class="keywordtype">char</span> *msg, ...); | ||
84 | <a name="l00106"></a>00106 | ||
85 | <a name="l00113"></a>00113 DS_API <span class="keywordtype">void</span> <a class="code" href="group__drawstuff.html#ga84175b14c3c31daae08a9c88acc2b02" title="exit with error message and core dump.">dsDebug</a> (<span class="keywordtype">char</span> *msg, ...); | ||
86 | <a name="l00114"></a>00114 | ||
87 | <a name="l00120"></a>00120 DS_API <span class="keywordtype">void</span> <a class="code" href="group__drawstuff.html#gbca5fa4076aa9e45caa049f33e8cf168" title="print log message">dsPrint</a> (<span class="keywordtype">char</span> *msg, ...); | ||
88 | <a name="l00121"></a>00121 | ||
89 | <a name="l00130"></a>00130 DS_API <span class="keywordtype">void</span> <a class="code" href="group__drawstuff.html#g8e4ea933c31d207ec57949fbb3a75815" title="Sets the viewpoint.">dsSetViewpoint</a> (<span class="keywordtype">float</span> xyz[3], <span class="keywordtype">float</span> hpr[3]); | ||
90 | <a name="l00131"></a>00131 | ||
91 | <a name="l00132"></a>00132 | ||
92 | <a name="l00139"></a>00139 DS_API <span class="keywordtype">void</span> <a class="code" href="group__drawstuff.html#gaa22f45ad00e0010a1440985ac51b18b" title="Gets the viewpoint.">dsGetViewpoint</a> (<span class="keywordtype">float</span> xyz[3], <span class="keywordtype">float</span> hpr[3]); | ||
93 | <a name="l00140"></a>00140 | ||
94 | <a name="l00149"></a>00149 DS_API <span class="keywordtype">void</span> <a class="code" href="group__drawstuff.html#g6c13a5a310b9e00c45150058e669ebad" title="Stop the simulation loop.">dsStop</a>(); | ||
95 | <a name="l00150"></a>00150 | ||
96 | <a name="l00156"></a>00156 DS_API <span class="keywordtype">double</span> <a class="code" href="group__drawstuff.html#g02f3f096703d49f5a9e497aec0b85f75" title="Get the elapsed time (on wall-clock).">dsElapsedTime</a>(); | ||
97 | <a name="l00157"></a>00157 | ||
98 | <a name="l00168"></a>00168 DS_API <span class="keywordtype">void</span> <a class="code" href="group__drawstuff.html#g8a3d6f8fecc8c7d5a206bed35f17ba7a" title="Toggle the rendering of textures.">dsSetTexture</a> (<span class="keywordtype">int</span> texture_number); | ||
99 | <a name="l00169"></a>00169 | ||
100 | <a name="l00177"></a>00177 DS_API <span class="keywordtype">void</span> <a class="code" href="group__drawstuff.html#g3221a0d1360621eaad7c54597671c092" title="Set the color with which geometry is drawn.">dsSetColor</a> (<span class="keywordtype">float</span> red, <span class="keywordtype">float</span> green, <span class="keywordtype">float</span> blue); | ||
101 | <a name="l00178"></a>00178 | ||
102 | <a name="l00185"></a>00185 DS_API <span class="keywordtype">void</span> <a class="code" href="group__drawstuff.html#g440940cfaef61775e37c33b055b832af" title="Set the color and transparency with which geometry is drawn.">dsSetColorAlpha</a> (<span class="keywordtype">float</span> red, <span class="keywordtype">float</span> green, <span class="keywordtype">float</span> blue, <span class="keywordtype">float</span> alpha); | ||
103 | <a name="l00186"></a>00186 | ||
104 | <a name="l00197"></a>00197 DS_API <span class="keywordtype">void</span> <a class="code" href="group__drawstuff.html#gfba4fde6b0b74f6cd422036dedd08836" title="Draw a box.">dsDrawBox</a> (<span class="keyword">const</span> <span class="keywordtype">float</span> pos[3], <span class="keyword">const</span> <span class="keywordtype">float</span> R[12], <span class="keyword">const</span> <span class="keywordtype">float</span> sides[3]); | ||
105 | <a name="l00198"></a>00198 | ||
106 | <a name="l00206"></a>00206 DS_API <span class="keywordtype">void</span> <a class="code" href="group__drawstuff.html#g0802e7641f8028182b69fabc729a6704" title="Draw a sphere.">dsDrawSphere</a> (<span class="keyword">const</span> <span class="keywordtype">float</span> pos[3], <span class="keyword">const</span> <span class="keywordtype">float</span> R[12], <span class="keywordtype">float</span> radius); | ||
107 | <a name="l00207"></a>00207 | ||
108 | <a name="l00218"></a>00218 DS_API <span class="keywordtype">void</span> <a class="code" href="group__drawstuff.html#gcfcbae15cee67eceb45cd96bf01484d4" title="Draw a triangle.">dsDrawTriangle</a> (<span class="keyword">const</span> <span class="keywordtype">float</span> pos[3], <span class="keyword">const</span> <span class="keywordtype">float</span> R[12], | ||
109 | <a name="l00219"></a>00219 <span class="keyword">const</span> <span class="keywordtype">float</span> *v0, <span class="keyword">const</span> <span class="keywordtype">float</span> *v1, <span class="keyword">const</span> <span class="keywordtype">float</span> *v2, <span class="keywordtype">int</span> solid); | ||
110 | <a name="l00220"></a>00220 | ||
111 | <a name="l00225"></a>00225 DS_API <span class="keywordtype">void</span> <a class="code" href="group__drawstuff.html#g0b09b41f1f6500b293678aa1691f1537" title="Draw a z-aligned cylinder.">dsDrawCylinder</a> (<span class="keyword">const</span> <span class="keywordtype">float</span> pos[3], <span class="keyword">const</span> <span class="keywordtype">float</span> R[12], | ||
112 | <a name="l00226"></a>00226 <span class="keywordtype">float</span> length, <span class="keywordtype">float</span> radius); | ||
113 | <a name="l00227"></a>00227 | ||
114 | <a name="l00232"></a>00232 DS_API <span class="keywordtype">void</span> <a class="code" href="group__drawstuff.html#gce8f6c8a9f2871dac2f5e7f159b96feb" title="Draw a z-aligned capsule.">dsDrawCapsule</a> (<span class="keyword">const</span> <span class="keywordtype">float</span> pos[3], <span class="keyword">const</span> <span class="keywordtype">float</span> R[12], | ||
115 | <a name="l00233"></a>00233 <span class="keywordtype">float</span> length, <span class="keywordtype">float</span> radius); | ||
116 | <a name="l00234"></a>00234 | ||
117 | <a name="l00239"></a>00239 DS_API <span class="keywordtype">void</span> <a class="code" href="group__drawstuff.html#g61b166a9b7c04063a27be982051f4af5" title="Draw a line.">dsDrawLine</a> (<span class="keyword">const</span> <span class="keywordtype">float</span> pos1[3], <span class="keyword">const</span> <span class="keywordtype">float</span> pos2[3]); | ||
118 | <a name="l00240"></a>00240 | ||
119 | <a name="l00245"></a>00245 DS_API <span class="keywordtype">void</span> <a class="code" href="group__drawstuff.html#g4b8754994a4cca9d51fce16445f0d612" title="Draw a convex shape.">dsDrawConvex</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> pos[3], <span class="keyword">const</span> <span class="keywordtype">float</span> R[12], | ||
120 | <a name="l00246"></a>00246 <span class="keywordtype">float</span> *_planes, | ||
121 | <a name="l00247"></a>00247 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> _planecount, | ||
122 | <a name="l00248"></a>00248 <span class="keywordtype">float</span> *_points, | ||
123 | <a name="l00249"></a>00249 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> _pointcount, | ||
124 | <a name="l00250"></a>00250 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *_polygons); | ||
125 | <a name="l00251"></a>00251 | ||
126 | <a name="l00252"></a>00252 <span class="comment">/* these drawing functions are identical to the ones above, except they take</span> | ||
127 | <a name="l00253"></a>00253 <span class="comment"> * double arrays for `pos' and `R'.</span> | ||
128 | <a name="l00254"></a>00254 <span class="comment"> */</span> | ||
129 | <a name="l00255"></a>00255 DS_API <span class="keywordtype">void</span> dsDrawBoxD (<span class="keyword">const</span> <span class="keywordtype">double</span> pos[3], <span class="keyword">const</span> <span class="keywordtype">double</span> R[12], | ||
130 | <a name="l00256"></a>00256 <span class="keyword">const</span> <span class="keywordtype">double</span> sides[3]); | ||
131 | <a name="l00257"></a>00257 DS_API <span class="keywordtype">void</span> dsDrawSphereD (<span class="keyword">const</span> <span class="keywordtype">double</span> pos[3], <span class="keyword">const</span> <span class="keywordtype">double</span> R[12], | ||
132 | <a name="l00258"></a>00258 <span class="keyword">const</span> <span class="keywordtype">float</span> radius); | ||
133 | <a name="l00259"></a>00259 DS_API <span class="keywordtype">void</span> dsDrawTriangleD (<span class="keyword">const</span> <span class="keywordtype">double</span> pos[3], <span class="keyword">const</span> <span class="keywordtype">double</span> R[12], | ||
134 | <a name="l00260"></a>00260 <span class="keyword">const</span> <span class="keywordtype">double</span> *v0, <span class="keyword">const</span> <span class="keywordtype">double</span> *v1, <span class="keyword">const</span> <span class="keywordtype">double</span> *v2, <span class="keywordtype">int</span> solid); | ||
135 | <a name="l00261"></a>00261 DS_API <span class="keywordtype">void</span> dsDrawCylinderD (<span class="keyword">const</span> <span class="keywordtype">double</span> pos[3], <span class="keyword">const</span> <span class="keywordtype">double</span> R[12], | ||
136 | <a name="l00262"></a>00262 <span class="keywordtype">float</span> length, <span class="keywordtype">float</span> radius); | ||
137 | <a name="l00263"></a>00263 DS_API <span class="keywordtype">void</span> dsDrawCapsuleD (<span class="keyword">const</span> <span class="keywordtype">double</span> pos[3], <span class="keyword">const</span> <span class="keywordtype">double</span> R[12], | ||
138 | <a name="l00264"></a>00264 <span class="keywordtype">float</span> length, <span class="keywordtype">float</span> radius); | ||
139 | <a name="l00265"></a>00265 DS_API <span class="keywordtype">void</span> dsDrawLineD (<span class="keyword">const</span> <span class="keywordtype">double</span> pos1[3], <span class="keyword">const</span> <span class="keywordtype">double</span> pos2[3]); | ||
140 | <a name="l00266"></a>00266 DS_API <span class="keywordtype">void</span> dsDrawConvexD(<span class="keyword">const</span> <span class="keywordtype">double</span> pos[3], <span class="keyword">const</span> <span class="keywordtype">double</span> R[12], | ||
141 | <a name="l00267"></a>00267 <span class="keywordtype">double</span> *_planes, | ||
142 | <a name="l00268"></a>00268 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> _planecount, | ||
143 | <a name="l00269"></a>00269 <span class="keywordtype">double</span> *_points, | ||
144 | <a name="l00270"></a>00270 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> _pointcount, | ||
145 | <a name="l00271"></a>00271 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *_polygons); | ||
146 | <a name="l00272"></a>00272 | ||
147 | <a name="l00280"></a>00280 DS_API <span class="keywordtype">void</span> <a class="code" href="group__drawstuff.html#g211aa83d5c5d102cdda303cc7aeb2fd5" title="Set the quality with which curved objects are rendered.">dsSetSphereQuality</a> (<span class="keywordtype">int</span> n); <span class="comment">/* default = 1 */</span> | ||
148 | <a name="l00281"></a>00281 DS_API <span class="keywordtype">void</span> dsSetCapsuleQuality (<span class="keywordtype">int</span> n); <span class="comment">/* default = 3 */</span> | ||
149 | <a name="l00282"></a>00282 | ||
150 | <a name="l00283"></a>00283 <span class="comment">// Backwards compatible API</span> | ||
151 | <a name="l00284"></a>00284 <span class="preprocessor">#define dsDrawCappedCylinder dsDrawCapsule</span> | ||
152 | <a name="l00285"></a>00285 <span class="preprocessor"></span><span class="preprocessor">#define dsDrawCappedCylinderD dsDrawCapsuleD</span> | ||
153 | <a name="l00286"></a>00286 <span class="preprocessor"></span><span class="preprocessor">#define dsSetCappedCylinderQuality dsSetCapsuleQuality</span> | ||
154 | <a name="l00287"></a>00287 <span class="preprocessor"></span> | ||
155 | <a name="l00288"></a>00288 <span class="comment">/* closing bracket for extern "C" */</span> | ||
156 | <a name="l00289"></a>00289 <span class="preprocessor">#ifdef __cplusplus</span> | ||
157 | <a name="l00290"></a>00290 <span class="preprocessor"></span>} | ||
158 | <a name="l00291"></a>00291 <span class="preprocessor">#endif</span> | ||
159 | <a name="l00292"></a>00292 <span class="preprocessor"></span> | ||
160 | <a name="l00293"></a>00293 <span class="preprocessor">#endif</span> | ||
161 | <a name="l00294"></a>00294 <span class="preprocessor"></span> | ||
162 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
163 | <a href="http://www.doxygen.org/index.html"> | ||
164 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
165 | </body> | ||
166 | </html> | ||
diff --git a/libraries/ode-0.9/docs/error_8h-source.html b/libraries/ode-0.9/docs/error_8h-source.html new file mode 100644 index 0000000..bb8e44a --- /dev/null +++ b/libraries/ode-0.9/docs/error_8h-source.html | |||
@@ -0,0 +1,83 @@ | |||
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: error.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>error.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00023"></a>00023 <span class="comment">/* this comes from the `reuse' library. copy any changes back to the source */</span> | ||
39 | <a name="l00024"></a>00024 | ||
40 | <a name="l00025"></a>00025 <span class="preprocessor">#ifndef _ODE_ERROR_H_</span> | ||
41 | <a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define _ODE_ERROR_H_</span> | ||
42 | <a name="l00027"></a>00027 <span class="preprocessor"></span> | ||
43 | <a name="l00028"></a>00028 <span class="preprocessor">#include <ode/config.h></span> | ||
44 | <a name="l00029"></a>00029 | ||
45 | <a name="l00030"></a>00030 <span class="preprocessor">#ifdef __cplusplus</span> | ||
46 | <a name="l00031"></a>00031 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | ||
47 | <a name="l00032"></a>00032 <span class="preprocessor">#endif</span> | ||
48 | <a name="l00033"></a>00033 <span class="preprocessor"></span> | ||
49 | <a name="l00034"></a>00034 <span class="comment">/* all user defined error functions have this type. error and debug functions</span> | ||
50 | <a name="l00035"></a>00035 <span class="comment"> * should not return.</span> | ||
51 | <a name="l00036"></a>00036 <span class="comment"> */</span> | ||
52 | <a name="l00037"></a>00037 <span class="keyword">typedef</span> <span class="keywordtype">void</span> dMessageFunction (<span class="keywordtype">int</span> errnum, <span class="keyword">const</span> <span class="keywordtype">char</span> *msg, va_list ap); | ||
53 | <a name="l00038"></a>00038 | ||
54 | <a name="l00039"></a>00039 <span class="comment">/* set a new error, debug or warning handler. if fn is 0, the default handlers</span> | ||
55 | <a name="l00040"></a>00040 <span class="comment"> * are used.</span> | ||
56 | <a name="l00041"></a>00041 <span class="comment"> */</span> | ||
57 | <a name="l00042"></a>00042 ODE_API <span class="keywordtype">void</span> dSetErrorHandler (dMessageFunction *fn); | ||
58 | <a name="l00043"></a>00043 ODE_API <span class="keywordtype">void</span> dSetDebugHandler (dMessageFunction *fn); | ||
59 | <a name="l00044"></a>00044 ODE_API <span class="keywordtype">void</span> dSetMessageHandler (dMessageFunction *fn); | ||
60 | <a name="l00045"></a>00045 | ||
61 | <a name="l00046"></a>00046 <span class="comment">/* return the current error, debug or warning handler. if the return value is</span> | ||
62 | <a name="l00047"></a>00047 <span class="comment"> * 0, the default handlers are in place.</span> | ||
63 | <a name="l00048"></a>00048 <span class="comment"> */</span> | ||
64 | <a name="l00049"></a>00049 ODE_API dMessageFunction *dGetErrorHandler(<span class="keywordtype">void</span>); | ||
65 | <a name="l00050"></a>00050 ODE_API dMessageFunction *dGetDebugHandler(<span class="keywordtype">void</span>); | ||
66 | <a name="l00051"></a>00051 ODE_API dMessageFunction *dGetMessageHandler(<span class="keywordtype">void</span>); | ||
67 | <a name="l00052"></a>00052 | ||
68 | <a name="l00053"></a>00053 <span class="comment">/* generate a fatal error, debug trap or a message. */</span> | ||
69 | <a name="l00054"></a>00054 ODE_API <span class="keywordtype">void</span> dError (<span class="keywordtype">int</span> num, <span class="keyword">const</span> <span class="keywordtype">char</span> *msg, ...); | ||
70 | <a name="l00055"></a>00055 ODE_API <span class="keywordtype">void</span> dDebug (<span class="keywordtype">int</span> num, <span class="keyword">const</span> <span class="keywordtype">char</span> *msg, ...); | ||
71 | <a name="l00056"></a>00056 ODE_API <span class="keywordtype">void</span> dMessage (<span class="keywordtype">int</span> num, <span class="keyword">const</span> <span class="keywordtype">char</span> *msg, ...); | ||
72 | <a name="l00057"></a>00057 | ||
73 | <a name="l00058"></a>00058 | ||
74 | <a name="l00059"></a>00059 <span class="preprocessor">#ifdef __cplusplus</span> | ||
75 | <a name="l00060"></a>00060 <span class="preprocessor"></span>} | ||
76 | <a name="l00061"></a>00061 <span class="preprocessor">#endif</span> | ||
77 | <a name="l00062"></a>00062 <span class="preprocessor"></span> | ||
78 | <a name="l00063"></a>00063 <span class="preprocessor">#endif</span> | ||
79 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
80 | <a href="http://www.doxygen.org/index.html"> | ||
81 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
82 | </body> | ||
83 | </html> | ||
diff --git a/libraries/ode-0.9/docs/export-dif_8h-source.html b/libraries/ode-0.9/docs/export-dif_8h-source.html new file mode 100644 index 0000000..9a5084e --- /dev/null +++ b/libraries/ode-0.9/docs/export-dif_8h-source.html | |||
@@ -0,0 +1,52 @@ | |||
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: export-dif.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>export-dif.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00023"></a>00023 <span class="preprocessor">#ifndef _ODE_EXPORT_DIF_</span> | ||
39 | <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define _ODE_EXPORT_DIF_</span> | ||
40 | <a name="l00025"></a>00025 <span class="preprocessor"></span> | ||
41 | <a name="l00026"></a>00026 <span class="preprocessor">#include <ode/common.h></span> | ||
42 | <a name="l00027"></a>00027 | ||
43 | <a name="l00028"></a>00028 | ||
44 | <a name="l00029"></a>00029 ODE_API <span class="keywordtype">void</span> dWorldExportDIF (dWorldID w, FILE *file, <span class="keyword">const</span> <span class="keywordtype">char</span> *world_name); | ||
45 | <a name="l00030"></a>00030 | ||
46 | <a name="l00031"></a>00031 | ||
47 | <a name="l00032"></a>00032 <span class="preprocessor">#endif</span> | ||
48 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
49 | <a href="http://www.doxygen.org/index.html"> | ||
50 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
51 | </body> | ||
52 | </html> | ||
diff --git a/libraries/ode-0.9/docs/files.html b/libraries/ode-0.9/docs/files.html new file mode 100644 index 0000000..29d3e77 --- /dev/null +++ b/libraries/ode-0.9/docs/files.html | |||
@@ -0,0 +1,44 @@ | |||
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: File Index</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>Open Dynamics Engine File List</h1>Here is a list of all documented files with brief descriptions:<table> | ||
17 | <tr><td class="indexkey"><b>collision.h</b> <a href="collision_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
18 | <tr><td class="indexkey"><b>collision_space.h</b> <a href="collision__space_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
19 | <tr><td class="indexkey"><b>collision_trimesh.h</b> <a href="collision__trimesh_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
20 | <tr><td class="indexkey"><b>common.h</b> <a href="common_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
21 | <tr><td class="indexkey"><b>compatibility.h</b> <a href="compatibility_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
22 | <tr><td class="indexkey"><b>config.h</b> <a href="config_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
23 | <tr><td class="indexkey"><b>contact.h</b> <a href="contact_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
24 | <tr><td class="indexkey"><b>drawstuff.h</b> <a href="drawstuff_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
25 | <tr><td class="indexkey"><b>error.h</b> <a href="error_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
26 | <tr><td class="indexkey"><b>export-dif.h</b> <a href="export-dif_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
27 | <tr><td class="indexkey"><b>mass.h</b> <a href="mass_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
28 | <tr><td class="indexkey"><b>matrix.h</b> <a href="matrix_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
29 | <tr><td class="indexkey"><b>memory.h</b> <a href="memory_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
30 | <tr><td class="indexkey"><b>misc.h</b> <a href="misc_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
31 | <tr><td class="indexkey"><b>objects.h</b> <a href="objects_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
32 | <tr><td class="indexkey"><b>ode.h</b> <a href="ode_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
33 | <tr><td class="indexkey"><b>odecpp.h</b> <a href="odecpp_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
34 | <tr><td class="indexkey"><b>odecpp_collision.h</b> <a href="odecpp__collision_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
35 | <tr><td class="indexkey"><b>odemath.h</b> <a href="odemath_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
36 | <tr><td class="indexkey"><b>rotation.h</b> <a href="rotation_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
37 | <tr><td class="indexkey"><b>timer.h</b> <a href="timer_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
38 | <tr><td class="indexkey"><b>version.h</b> <a href="version_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> | ||
39 | </table> | ||
40 | <hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:52 2007 for Open Dynamics Engine by | ||
41 | <a href="http://www.doxygen.org/index.html"> | ||
42 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
43 | </body> | ||
44 | </html> | ||
diff --git a/libraries/ode-0.9/docs/functions.html b/libraries/ode-0.9/docs/functions.html new file mode 100644 index 0000000..0d321d4 --- /dev/null +++ b/libraries/ode-0.9/docs/functions.html | |||
@@ -0,0 +1,46 @@ | |||
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: Data Fields</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <div class="tabs"> | ||
17 | <ul> | ||
18 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
19 | <li class="current"><a href="functions.html"><span>Data Fields</span></a></li> | ||
20 | </ul> | ||
21 | </div> | ||
22 | <div class="tabs"> | ||
23 | <ul> | ||
24 | <li class="current"><a href="functions.html"><span>All</span></a></li> | ||
25 | <li><a href="functions_vars.html"><span>Variables</span></a></li> | ||
26 | </ul> | ||
27 | </div> | ||
28 | Here is a list of all documented struct and union fields with links to the struct/union documentation for each field: | ||
29 | <p> | ||
30 | <ul> | ||
31 | <li>depth | ||
32 | : <a class="el" href="structd_contact_geom.html#29c32c1cb4355186d4110b7abeb58bf0">dContactGeom</a> | ||
33 | <li>g2 | ||
34 | : <a class="el" href="structd_contact_geom.html#7dd16e7bbc0c5b5e17116c1e5179281b">dContactGeom</a> | ||
35 | <li>normal | ||
36 | : <a class="el" href="structd_contact_geom.html#7665d3379904821bbdb7b7d1028fcda3">dContactGeom</a> | ||
37 | <li>pos | ||
38 | : <a class="el" href="structd_contact_geom.html#2fa7323ee3826d1f55c8cad6157e38a5">dContactGeom</a> | ||
39 | <li>side2 | ||
40 | : <a class="el" href="structd_contact_geom.html#7a8a080b98c12e0d1f52c86d2738552e">dContactGeom</a> | ||
41 | </ul> | ||
42 | <hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:52 2007 for Open Dynamics Engine by | ||
43 | <a href="http://www.doxygen.org/index.html"> | ||
44 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
45 | </body> | ||
46 | </html> | ||
diff --git a/libraries/ode-0.9/docs/functions_vars.html b/libraries/ode-0.9/docs/functions_vars.html new file mode 100644 index 0000000..2b5702b --- /dev/null +++ b/libraries/ode-0.9/docs/functions_vars.html | |||
@@ -0,0 +1,46 @@ | |||
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: Data Fields - Variables</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <div class="tabs"> | ||
17 | <ul> | ||
18 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
19 | <li class="current"><a href="functions.html"><span>Data Fields</span></a></li> | ||
20 | </ul> | ||
21 | </div> | ||
22 | <div class="tabs"> | ||
23 | <ul> | ||
24 | <li><a href="functions.html"><span>All</span></a></li> | ||
25 | <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li> | ||
26 | </ul> | ||
27 | </div> | ||
28 | | ||
29 | <p> | ||
30 | <ul> | ||
31 | <li>depth | ||
32 | : <a class="el" href="structd_contact_geom.html#29c32c1cb4355186d4110b7abeb58bf0">dContactGeom</a> | ||
33 | <li>g2 | ||
34 | : <a class="el" href="structd_contact_geom.html#7dd16e7bbc0c5b5e17116c1e5179281b">dContactGeom</a> | ||
35 | <li>normal | ||
36 | : <a class="el" href="structd_contact_geom.html#7665d3379904821bbdb7b7d1028fcda3">dContactGeom</a> | ||
37 | <li>pos | ||
38 | : <a class="el" href="structd_contact_geom.html#2fa7323ee3826d1f55c8cad6157e38a5">dContactGeom</a> | ||
39 | <li>side2 | ||
40 | : <a class="el" href="structd_contact_geom.html#7a8a080b98c12e0d1f52c86d2738552e">dContactGeom</a> | ||
41 | </ul> | ||
42 | <hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:52 2007 for Open Dynamics Engine by | ||
43 | <a href="http://www.doxygen.org/index.html"> | ||
44 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
45 | </body> | ||
46 | </html> | ||
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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data 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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 * </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"> </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 </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"> </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 </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"> </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 </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"> </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)" --> | ||
83 | ODE_API void </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"> </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)" --> | ||
87 | ODE_API void </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"> </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 * </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"> </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 </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"> </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 * </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"> </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 </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"> </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 * </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"> </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 </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"> </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)" --> | ||
109 | ODE_API const dReal * </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"> </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)" --> | ||
113 | ODE_API const dReal * </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"> </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)" --> | ||
117 | ODE_API void </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"> </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)" --> | ||
121 | ODE_API void </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"> </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)" --> | ||
125 | ODE_API void </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"> </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)" --> | ||
129 | ODE_API void </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"> </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)" --> | ||
133 | ODE_API void </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"> </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)" --> | ||
137 | ODE_API void </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"> </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)" --> | ||
141 | ODE_API void </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"> </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)" --> | ||
145 | ODE_API void </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"> </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)" --> | ||
149 | ODE_API void </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"> </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)" --> | ||
153 | ODE_API void </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"> </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 * </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"> </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 * </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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> | ||
221 | A 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> | ||
228 | Other 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> | ||
234 | 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> | ||
235 | 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> | ||
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 </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 </td> | ||
250 | <td class="paramname"> <em>pos</em></td><td> </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> | ||
262 | Copy 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> </td><td>the body to query </td></tr> | ||
267 | <tr><td valign="top"></td><td valign="top"><em>pos</em> </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 </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 </td> | ||
288 | <td class="paramname"> <em>quat</em></td><td> </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> | ||
300 | Copy 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> </td><td>the body to query </td></tr> | ||
305 | <tr><td valign="top"></td><td valign="top"><em>quat</em> </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 </td> | ||
320 | <td class="paramname">, </td> | ||
321 | </tr> | ||
322 | <tr> | ||
323 | <td class="paramkey"></td> | ||
324 | <td></td> | ||
325 | <td class="paramtype">dMatrix3 </td> | ||
326 | <td class="paramname"> <em>R</em></td><td> </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> | ||
338 | Copy 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> </td><td>the body to query </td></tr> | ||
343 | <tr><td valign="top"></td><td valign="top"><em>R</em> </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 </td> | ||
358 | <td class="paramname"> </td> | ||
359 | <td> ) </td> | ||
360 | <td width="100%"></td> | ||
361 | </tr> | ||
362 | </table> | ||
363 | </div> | ||
364 | <div class="memdoc"> | ||
365 | |||
366 | <p> | ||
367 | Create 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 </td> | ||
381 | <td class="paramname"> </td> | ||
382 | <td> ) </td> | ||
383 | <td width="100%"></td> | ||
384 | </tr> | ||
385 | </table> | ||
386 | </div> | ||
387 | <div class="memdoc"> | ||
388 | |||
389 | <p> | ||
390 | Destroy 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 </td> | ||
404 | <td class="paramname"> </td> | ||
405 | <td> ) </td> | ||
406 | <td width="100%"></td> | ||
407 | </tr> | ||
408 | </table> | ||
409 | </div> | ||
410 | <div class="memdoc"> | ||
411 | |||
412 | <p> | ||
413 | Manually 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 </td> | ||
427 | <td class="paramname"> </td> | ||
428 | <td> ) </td> | ||
429 | <td width="100%"></td> | ||
430 | </tr> | ||
431 | </table> | ||
432 | </div> | ||
433 | <div class="memdoc"> | ||
434 | |||
435 | <p> | ||
436 | Manually 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> </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 </td> | ||
454 | <td class="paramname"> </td> | ||
455 | <td> ) </td> | ||
456 | <td width="100%"></td> | ||
457 | </tr> | ||
458 | </table> | ||
459 | </div> | ||
460 | <div class="memdoc"> | ||
461 | |||
462 | <p> | ||
463 | Get 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 </td> | ||
477 | <td class="paramname"> </td> | ||
478 | <td> ) </td> | ||
479 | <td width="100%"></td> | ||
480 | </tr> | ||
481 | </table> | ||
482 | </div> | ||
483 | <div class="memdoc"> | ||
484 | |||
485 | <p> | ||
486 | Get 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 </td> | ||
500 | <td class="paramname"> </td> | ||
501 | <td> ) </td> | ||
502 | <td width="100%"></td> | ||
503 | </tr> | ||
504 | </table> | ||
505 | </div> | ||
506 | <div class="memdoc"> | ||
507 | |||
508 | <p> | ||
509 | Get 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 </td> | ||
523 | <td class="paramname"> </td> | ||
524 | <td> ) </td> | ||
525 | <td width="100%"></td> | ||
526 | </tr> | ||
527 | </table> | ||
528 | </div> | ||
529 | <div class="memdoc"> | ||
530 | |||
531 | <p> | ||
532 | Get 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 </td> | ||
546 | <td class="paramname"> </td> | ||
547 | <td> ) </td> | ||
548 | <td width="100%"></td> | ||
549 | </tr> | ||
550 | </table> | ||
551 | </div> | ||
552 | <div class="memdoc"> | ||
553 | |||
554 | <p> | ||
555 | Get 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 </td> | ||
569 | <td class="paramname"> </td> | ||
570 | <td> ) </td> | ||
571 | <td width="100%"></td> | ||
572 | </tr> | ||
573 | </table> | ||
574 | </div> | ||
575 | <div class="memdoc"> | ||
576 | |||
577 | <p> | ||
578 | Get 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 </td> | ||
592 | <td class="paramname"> </td> | ||
593 | <td> ) </td> | ||
594 | <td width="100%"></td> | ||
595 | </tr> | ||
596 | </table> | ||
597 | </div> | ||
598 | <div class="memdoc"> | ||
599 | |||
600 | <p> | ||
601 | Get 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 </td> | ||
615 | <td class="paramname">, </td> | ||
616 | </tr> | ||
617 | <tr> | ||
618 | <td class="paramkey"></td> | ||
619 | <td></td> | ||
620 | <td class="paramtype">dVector3 </td> | ||
621 | <td class="paramname"> <em>result</em></td><td> </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> | ||
633 | Get 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> </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 </td> | ||
651 | <td class="paramname"> </td> | ||
652 | <td> ) </td> | ||
653 | <td width="100%"></td> | ||
654 | </tr> | ||
655 | </table> | ||
656 | </div> | ||
657 | <div class="memdoc"> | ||
658 | |||
659 | <p> | ||
660 | Get 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 </td> | ||
674 | <td class="paramname"> </td> | ||
675 | <td> ) </td> | ||
676 | <td width="100%"></td> | ||
677 | </tr> | ||
678 | </table> | ||
679 | </div> | ||
680 | <div class="memdoc"> | ||
681 | |||
682 | <p> | ||
683 | Return 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 </td> | ||
698 | <td class="paramname"> <em>b</em> </td> | ||
699 | <td> ) </td> | ||
700 | <td width="100%"></td> | ||
701 | </tr> | ||
702 | </table> | ||
703 | </div> | ||
704 | <div class="memdoc"> | ||
705 | |||
706 | <p> | ||
707 | Get 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 </td> | ||
721 | <td class="paramname">, </td> | ||
722 | </tr> | ||
723 | <tr> | ||
724 | <td class="paramkey"></td> | ||
725 | <td></td> | ||
726 | <td class="paramtype">int </td> | ||
727 | <td class="paramname"> <em>index</em></td><td> </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> | ||
739 | Return 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> </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 </td> | ||
757 | <td class="paramname"> <em>b</em> </td> | ||
758 | <td> ) </td> | ||
759 | <td width="100%"></td> | ||
760 | </tr> | ||
761 | </table> | ||
762 | </div> | ||
763 | <div class="memdoc"> | ||
764 | |||
765 | <p> | ||
766 | Get 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 </td> | ||
780 | <td class="paramname">, </td> | ||
781 | </tr> | ||
782 | <tr> | ||
783 | <td class="paramkey"></td> | ||
784 | <td></td> | ||
785 | <td class="paramtype">dReal </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 </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 </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 </td> | ||
804 | <td class="paramname"> <em>result</em></td><td> </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> | ||
816 | Get 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> </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 </td> | ||
834 | <td class="paramname"> </td> | ||
835 | <td> ) </td> | ||
836 | <td width="100%"></td> | ||
837 | </tr> | ||
838 | </table> | ||
839 | </div> | ||
840 | <div class="memdoc"> | ||
841 | |||
842 | <p> | ||
843 | Get 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 </td> | ||
858 | <td class="paramname">, </td> | ||
859 | </tr> | ||
860 | <tr> | ||
861 | <td class="paramkey"></td> | ||
862 | <td></td> | ||
863 | <td class="paramtype">dReal </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 </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 </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 </td> | ||
882 | <td class="paramname"> <em>result</em></td><td> </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> | ||
894 | takes 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> </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 </td> | ||
913 | <td class="paramname"> </td> | ||
914 | <td> ) </td> | ||
915 | <td width="100%"></td> | ||
916 | </tr> | ||
917 | </table> | ||
918 | </div> | ||
919 | <div class="memdoc"> | ||
920 | |||
921 | <p> | ||
922 | Get 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 </td> | ||
936 | <td class="paramname">, </td> | ||
937 | </tr> | ||
938 | <tr> | ||
939 | <td class="paramkey"></td> | ||
940 | <td></td> | ||
941 | <td class="paramtype">dReal </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 </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 </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 </td> | ||
960 | <td class="paramname"> <em>result</em></td><td> </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> | ||
972 | Get 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> </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 </td> | ||
990 | <td class="paramname">, </td> | ||
991 | </tr> | ||
992 | <tr> | ||
993 | <td class="paramkey"></td> | ||
994 | <td></td> | ||
995 | <td class="paramtype">dReal </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 </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 </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 </td> | ||
1014 | <td class="paramname"> <em>result</em></td><td> </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> | ||
1026 | Get 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> </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 </td> | ||
1044 | <td class="paramname"> </td> | ||
1045 | <td> ) </td> | ||
1046 | <td width="100%"></td> | ||
1047 | </tr> | ||
1048 | </table> | ||
1049 | </div> | ||
1050 | <div class="memdoc"> | ||
1051 | |||
1052 | <p> | ||
1053 | Get 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 </td> | ||
1067 | <td class="paramname"> </td> | ||
1068 | <td> ) </td> | ||
1069 | <td width="100%"></td> | ||
1070 | </tr> | ||
1071 | </table> | ||
1072 | </div> | ||
1073 | <div class="memdoc"> | ||
1074 | |||
1075 | <p> | ||
1076 | Return 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 </td> | ||
1091 | <td class="paramname"> </td> | ||
1092 | <td> ) </td> | ||
1093 | <td width="100%"></td> | ||
1094 | </tr> | ||
1095 | </table> | ||
1096 | </div> | ||
1097 | <div class="memdoc"> | ||
1098 | |||
1099 | <p> | ||
1100 | Retrives 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 </td> | ||
1114 | <td class="paramname"> </td> | ||
1115 | <td> ) </td> | ||
1116 | <td width="100%"></td> | ||
1117 | </tr> | ||
1118 | </table> | ||
1119 | </div> | ||
1120 | <div class="memdoc"> | ||
1121 | |||
1122 | <p> | ||
1123 | Check 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 </td> | ||
1137 | <td class="paramname">, </td> | ||
1138 | </tr> | ||
1139 | <tr> | ||
1140 | <td class="paramkey"></td> | ||
1141 | <td></td> | ||
1142 | <td class="paramtype">dReal </td> | ||
1143 | <td class="paramname"> <em>angular_average_threshold</em></td><td> </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> | ||
1155 | Set 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 </td> | ||
1169 | <td class="paramname">, </td> | ||
1170 | </tr> | ||
1171 | <tr> | ||
1172 | <td class="paramkey"></td> | ||
1173 | <td></td> | ||
1174 | <td class="paramtype">unsigned int </td> | ||
1175 | <td class="paramname"> <em>average_samples_count</em></td><td> </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> | ||
1187 | Set 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> </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 </td> | ||
1205 | <td class="paramname"> </td> | ||
1206 | <td> ) </td> | ||
1207 | <td width="100%"></td> | ||
1208 | </tr> | ||
1209 | </table> | ||
1210 | </div> | ||
1211 | <div class="memdoc"> | ||
1212 | |||
1213 | <p> | ||
1214 | Set 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 </td> | ||
1228 | <td class="paramname">, </td> | ||
1229 | </tr> | ||
1230 | <tr> | ||
1231 | <td class="paramkey"></td> | ||
1232 | <td></td> | ||
1233 | <td class="paramtype">int </td> | ||
1234 | <td class="paramname"> <em>do_auto_disable</em></td><td> </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> | ||
1246 | Set 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> </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 </td> | ||
1264 | <td class="paramname">, </td> | ||
1265 | </tr> | ||
1266 | <tr> | ||
1267 | <td class="paramkey"></td> | ||
1268 | <td></td> | ||
1269 | <td class="paramtype">dReal </td> | ||
1270 | <td class="paramname"> <em>linear_average_threshold</em></td><td> </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> | ||
1282 | Set 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 </td> | ||
1296 | <td class="paramname">, </td> | ||
1297 | </tr> | ||
1298 | <tr> | ||
1299 | <td class="paramkey"></td> | ||
1300 | <td></td> | ||
1301 | <td class="paramtype">int </td> | ||
1302 | <td class="paramname"> <em>steps</em></td><td> </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> | ||
1314 | Set 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> </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 </td> | ||
1332 | <td class="paramname">, </td> | ||
1333 | </tr> | ||
1334 | <tr> | ||
1335 | <td class="paramkey"></td> | ||
1336 | <td></td> | ||
1337 | <td class="paramtype">dReal </td> | ||
1338 | <td class="paramname"> <em>time</em></td><td> </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> | ||
1350 | Set 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> </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 </td> | ||
1368 | <td class="paramname">, </td> | ||
1369 | </tr> | ||
1370 | <tr> | ||
1371 | <td class="paramkey"></td> | ||
1372 | <td></td> | ||
1373 | <td class="paramtype">void * </td> | ||
1374 | <td class="paramname"> <em>data</em></td><td> </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> | ||
1386 | Set 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> </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 </td> | ||
1404 | <td class="paramname">, </td> | ||
1405 | </tr> | ||
1406 | <tr> | ||
1407 | <td class="paramkey"></td> | ||
1408 | <td></td> | ||
1409 | <td class="paramtype">dReal </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 </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 </td> | ||
1422 | <td class="paramname"> <em>z</em></td><td> </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> | ||
1434 | sets 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> | ||
1437 | 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> | ||
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 </td> | ||
1449 | <td class="paramname">, </td> | ||
1450 | </tr> | ||
1451 | <tr> | ||
1452 | <td class="paramkey"></td> | ||
1453 | <td></td> | ||
1454 | <td class="paramtype">int </td> | ||
1455 | <td class="paramname"> <em>mode</em></td><td> </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> | ||
1467 | controls 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> </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 </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 </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 </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 </td> | ||
1508 | <td class="paramname"> <em>z</em></td><td> </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> | ||
1520 | Set 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 </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 </td> | ||
1540 | <td class="paramname"> <em>mode</em></td><td> </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> | ||
1552 | Set 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> </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 </td> | ||
1571 | <td class="paramname">, </td> | ||
1572 | </tr> | ||
1573 | <tr> | ||
1574 | <td class="paramkey"></td> | ||
1575 | <td></td> | ||
1576 | <td class="paramtype">dReal </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 </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 </td> | ||
1589 | <td class="paramname"> <em>z</em></td><td> </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> | ||
1601 | Set 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 </td> | ||
1615 | <td class="paramname">, </td> | ||
1616 | </tr> | ||
1617 | <tr> | ||
1618 | <td class="paramkey"></td> | ||
1619 | <td></td> | ||
1620 | <td class="paramtype">const dQuaternion </td> | ||
1621 | <td class="paramname"> <em>q</em></td><td> </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> | ||
1633 | Set 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 </td> | ||
1647 | <td class="paramname">, </td> | ||
1648 | </tr> | ||
1649 | <tr> | ||
1650 | <td class="paramkey"></td> | ||
1651 | <td></td> | ||
1652 | <td class="paramtype">const dMatrix3 </td> | ||
1653 | <td class="paramname"> <em>R</em></td><td> </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> | ||
1665 | Set 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 </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 </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 </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 </td> | ||
1697 | <td class="paramname"> <em>z</em></td><td> </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> | ||
1709 | Set 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 </td> | ||
1723 | <td class="paramname">, </td> | ||
1724 | </tr> | ||
1725 | <tr> | ||
1726 | <td class="paramkey"></td> | ||
1727 | <td></td> | ||
1728 | <td class="paramtype">dReal </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 </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 </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 </td> | ||
1747 | <td class="paramname"> <em>result</em></td><td> </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> | ||
1759 | Convert 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> </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 </td> | ||
1777 | <td class="paramname">, </td> | ||
1778 | </tr> | ||
1779 | <tr> | ||
1780 | <td class="paramkey"></td> | ||
1781 | <td></td> | ||
1782 | <td class="paramtype">dReal </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 </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 </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 </td> | ||
1801 | <td class="paramname"> <em>result</em></td><td> </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> | ||
1813 | Convert 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> </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 | ||
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> | ||
diff --git a/libraries/ode-0.9/docs/group__collide.html b/libraries/ode-0.9/docs/group__collide.html new file mode 100644 index 0000000..c56e759 --- /dev/null +++ b/libraries/ode-0.9/docs/group__collide.html | |||
@@ -0,0 +1,2452 @@ | |||
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: Collision Detection</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>Collision Detection</h1><table border="0" cellpadding="0" cellspacing="0"> | ||
17 | <tr><td></td></tr> | ||
18 | <tr><td colspan="2"><br><h2>Modules</h2></td></tr> | ||
19 | <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide__sphere.html">Sphere Class</a></td></tr> | ||
20 | |||
21 | <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide__box.html">Box Class</a></td></tr> | ||
22 | |||
23 | <tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> | ||
24 | <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structd_contact_geom.html">dContactGeom</a></td></tr> | ||
25 | |||
26 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Describe the contact point between two geoms. <a href="structd_contact_geom.html#_details">More...</a><br></td></tr> | ||
27 | <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr> | ||
28 | <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g32d2c58e3b2b589bd7672f3453102eb9">dHeightfieldGetHeight</a> (void *p_user_data, int x, int z)</td></tr> | ||
29 | |||
30 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Callback prototype. <a href="#g32d2c58e3b2b589bd7672f3453102eb9"></a><br></td></tr> | ||
31 | <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g9f458413ace07fa9e3e7e52d6652ace0">dNearCallback</a> (void *data, dGeomID o1, dGeomID o2)</td></tr> | ||
32 | |||
33 | <tr><td class="mdescLeft"> </td><td class="mdescRight">User callback for geom-geom collision testing. <a href="#g9f458413ace07fa9e3e7e52d6652ace0"></a><br></td></tr> | ||
34 | <tr><td colspan="2"><br><h2>Functions</h2></td></tr> | ||
35 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g96b9e7d3a7ca769b0c8f37eecfaf98c6">dGeomDestroy</a> (dGeomID geom)</td></tr> | ||
36 | |||
37 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy a geom, removing it from any space. <a href="#g96b9e7d3a7ca769b0c8f37eecfaf98c6"></a><br></td></tr> | ||
38 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#gf68eb443d5c66ab1aaa8a7d38d1dbc4f">dGeomSetData</a> (dGeomID geom, void *data)</td></tr> | ||
39 | |||
40 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the user-defined data pointer stored in the geom. <a href="#gf68eb443d5c66ab1aaa8a7d38d1dbc4f"></a><br></td></tr> | ||
41 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#gc1a185e22b136814fd3afc8469d98996">dGeomGetData</a> (dGeomID geom)</td></tr> | ||
42 | |||
43 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the user-defined data pointer stored in the geom. <a href="#gc1a185e22b136814fd3afc8469d98996"></a><br></td></tr> | ||
44 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g97cad1194789477eac19fe364d986505">dGeomSetBody</a> (dGeomID geom, dBodyID body)</td></tr> | ||
45 | |||
46 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the body associated with a placeable geom. <a href="#g97cad1194789477eac19fe364d986505"></a><br></td></tr> | ||
47 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dBodyID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#gd6cedf77fde0dddf751c5d42fcc8eebf">dGeomGetBody</a> (dGeomID geom)</td></tr> | ||
48 | |||
49 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the body associated with a placeable geom. <a href="#gd6cedf77fde0dddf751c5d42fcc8eebf"></a><br></td></tr> | ||
50 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g71043b70a735e8f5451c3e13cef345fe">dGeomSetPosition</a> (dGeomID geom, dReal x, dReal y, dReal z)</td></tr> | ||
51 | |||
52 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the position vector of a placeable geom. <a href="#g71043b70a735e8f5451c3e13cef345fe"></a><br></td></tr> | ||
53 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g76c510f4b7d5a036d8a36f2d60d670e5">dGeomSetRotation</a> (dGeomID geom, const dMatrix3 R)</td></tr> | ||
54 | |||
55 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the rotation matrix of a placeable geom. <a href="#g76c510f4b7d5a036d8a36f2d60d670e5"></a><br></td></tr> | ||
56 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g989149d93162264d699444a57b045150">dGeomSetQuaternion</a> (dGeomID geom, const dQuaternion Q)</td></tr> | ||
57 | |||
58 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the rotation of a placeable geom. <a href="#g989149d93162264d699444a57b045150"></a><br></td></tr> | ||
59 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API const dReal * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g95b93f803880cac2619fe2635aa93ad8">dGeomGetPosition</a> (dGeomID geom)</td></tr> | ||
60 | |||
61 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the position vector of a placeable geom. <a href="#g95b93f803880cac2619fe2635aa93ad8"></a><br></td></tr> | ||
62 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#gd2cccf2b4c62bec58720d4f5fab8108d">dGeomCopyPosition</a> (dGeomID geom, dVector3 pos)</td></tr> | ||
63 | |||
64 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy the position of a geom into a vector. <a href="#gd2cccf2b4c62bec58720d4f5fab8108d"></a><br></td></tr> | ||
65 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API const dReal * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g293b2264cefb12f9a6659cacc6a722f7">dGeomGetRotation</a> (dGeomID geom)</td></tr> | ||
66 | |||
67 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the rotation matrix of a placeable geom. <a href="#g293b2264cefb12f9a6659cacc6a722f7"></a><br></td></tr> | ||
68 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g800b702e148a8c279596f591b910cfbd">dGeomCopyRotation</a> (dGeomID geom, dMatrix3 R)</td></tr> | ||
69 | |||
70 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the rotation matrix of a placeable geom. <a href="#g800b702e148a8c279596f591b910cfbd"></a><br></td></tr> | ||
71 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g11ad7f0098639b06f4bcd2d681122842">dGeomGetQuaternion</a> (dGeomID geom, dQuaternion result)</td></tr> | ||
72 | |||
73 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the rotation quaternion of a placeable geom. <a href="#g11ad7f0098639b06f4bcd2d681122842"></a><br></td></tr> | ||
74 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g904e360ac6e9e85a05e67929990e5b72">dGeomGetAABB</a> (dGeomID geom, dReal aabb[6])</td></tr> | ||
75 | |||
76 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the axis-aligned bounding box. <a href="#g904e360ac6e9e85a05e67929990e5b72"></a><br></td></tr> | ||
77 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#ge5a58bdc78fb4f163a0e9c3ecabf64c9">dGeomIsSpace</a> (dGeomID geom)</td></tr> | ||
78 | |||
79 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Determing if a geom is a space. <a href="#ge5a58bdc78fb4f163a0e9c3ecabf64c9"></a><br></td></tr> | ||
80 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dSpaceID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#gfdc35eade2cbd0b6886ce957325d7c03">dGeomGetSpace</a> (dGeomID)</td></tr> | ||
81 | |||
82 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Query for the space containing a particular geom. <a href="#gfdc35eade2cbd0b6886ce957325d7c03"></a><br></td></tr> | ||
83 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g07b5ed5b915f756f419a4a7ce69dc67e">dGeomGetClass</a> (dGeomID geom)</td></tr> | ||
84 | |||
85 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Given a geom, this returns its class. <a href="#g07b5ed5b915f756f419a4a7ce69dc67e"></a><br></td></tr> | ||
86 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g80fd5741701eb48472521780d5e2f9b9">dGeomSetCategoryBits</a> (dGeomID geom, unsigned long bits)</td></tr> | ||
87 | |||
88 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the "category" bitfield for the given geom. <a href="#g80fd5741701eb48472521780d5e2f9b9"></a><br></td></tr> | ||
89 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#ga55b4de01a61be41668685857b78455d">dGeomSetCollideBits</a> (dGeomID geom, unsigned long bits)</td></tr> | ||
90 | |||
91 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the "collide" bitfield for the given geom. <a href="#ga55b4de01a61be41668685857b78455d"></a><br></td></tr> | ||
92 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#gfb62d3493b6789382f65776ab931e78d">dGeomGetCategoryBits</a> (dGeomID)</td></tr> | ||
93 | |||
94 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the "category" bitfield for the given geom. <a href="#gfb62d3493b6789382f65776ab931e78d"></a><br></td></tr> | ||
95 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g5591e5c496a5a6f8b66dc57e03d0cd8d">dGeomGetCollideBits</a> (dGeomID)</td></tr> | ||
96 | |||
97 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the "collide" bitfield for the given geom. <a href="#g5591e5c496a5a6f8b66dc57e03d0cd8d"></a><br></td></tr> | ||
98 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#ga7c64b8fcae37ee9541208a0351f3d05">dGeomEnable</a> (dGeomID geom)</td></tr> | ||
99 | |||
100 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Enable a geom. <a href="#ga7c64b8fcae37ee9541208a0351f3d05"></a><br></td></tr> | ||
101 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g6cb32b4161435fe491859680b463fc12">dGeomDisable</a> (dGeomID geom)</td></tr> | ||
102 | |||
103 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Disable a geom. <a href="#g6cb32b4161435fe491859680b463fc12"></a><br></td></tr> | ||
104 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g6533d33f870cf0fb6684ec05e5c0562e">dGeomIsEnabled</a> (dGeomID geom)</td></tr> | ||
105 | |||
106 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Check to see if a geom is enabled. <a href="#g6533d33f870cf0fb6684ec05e5c0562e"></a><br></td></tr> | ||
107 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#gdc292bc01d5bed32f145ee42760d73b4">dGeomSetOffsetPosition</a> (dGeomID geom, dReal x, dReal y, dReal z)</td></tr> | ||
108 | |||
109 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the local offset position of a geom from its body. <a href="#gdc292bc01d5bed32f145ee42760d73b4"></a><br></td></tr> | ||
110 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g805d896b4bc79ceb40e70aadb9629cab">dGeomSetOffsetRotation</a> (dGeomID geom, const dMatrix3 R)</td></tr> | ||
111 | |||
112 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the local offset rotation matrix of a geom from its body. <a href="#g805d896b4bc79ceb40e70aadb9629cab"></a><br></td></tr> | ||
113 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g9eba87b7598eb6b3a9b6bde1abbeaa1a">dGeomSetOffsetQuaternion</a> (dGeomID geom, const dQuaternion Q)</td></tr> | ||
114 | |||
115 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the local offset rotation of a geom from its body. <a href="#g9eba87b7598eb6b3a9b6bde1abbeaa1a"></a><br></td></tr> | ||
116 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g934fe31c543d588991d28cd8571e52ed">dGeomSetOffsetWorldPosition</a> (dGeomID geom, dReal x, dReal y, dReal z)</td></tr> | ||
117 | |||
118 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the offset position of a geom from its body. <a href="#g934fe31c543d588991d28cd8571e52ed"></a><br></td></tr> | ||
119 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g2c1ef27e7e8ced6eb8488221a1a7c200">dGeomSetOffsetWorldRotation</a> (dGeomID geom, const dMatrix3 R)</td></tr> | ||
120 | |||
121 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the offset rotation of a geom from its body. <a href="#g2c1ef27e7e8ced6eb8488221a1a7c200"></a><br></td></tr> | ||
122 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#ga04f2117ab18a1d3e27270defdad83a8">dGeomSetOffsetWorldQuaternion</a> (dGeomID geom, const dQuaternion)</td></tr> | ||
123 | |||
124 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the offset rotation of a geom from its body. <a href="#ga04f2117ab18a1d3e27270defdad83a8"></a><br></td></tr> | ||
125 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#gc81929d988b21c4e5338017f2e92a6f2">dGeomClearOffset</a> (dGeomID geom)</td></tr> | ||
126 | |||
127 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Clear any offset from the geom. <a href="#gc81929d988b21c4e5338017f2e92a6f2"></a><br></td></tr> | ||
128 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g46260e0668373aa600b1cf8f83276e10">dGeomIsOffset</a> (dGeomID geom)</td></tr> | ||
129 | |||
130 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Check to see whether the geom has an offset. <a href="#g46260e0668373aa600b1cf8f83276e10"></a><br></td></tr> | ||
131 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API const dReal * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#gb200f73800d253ab3a87f9856d4e18d2">dGeomGetOffsetPosition</a> (dGeomID geom)</td></tr> | ||
132 | |||
133 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the offset position vector of a geom. <a href="#gb200f73800d253ab3a87f9856d4e18d2"></a><br></td></tr> | ||
134 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#gd4a1e59ecc3c570e3c37c5b8fad71220">dGeomCopyOffsetPosition</a> (dGeomID geom, dVector3 pos)</td></tr> | ||
135 | |||
136 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy the offset position vector of a geom. <a href="#gd4a1e59ecc3c570e3c37c5b8fad71220"></a><br></td></tr> | ||
137 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API const dReal * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#gba28cf4ca8f552c782fc30ce3073dc73">dGeomGetOffsetRotation</a> (dGeomID geom)</td></tr> | ||
138 | |||
139 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the offset rotation matrix of a geom. <a href="#gba28cf4ca8f552c782fc30ce3073dc73"></a><br></td></tr> | ||
140 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#gcf96cd4f9913dc258e6f29da9979388c">dGeomCopyOffsetRotation</a> (dGeomID geom, dMatrix3 R)</td></tr> | ||
141 | |||
142 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy the offset rotation matrix of a geom. <a href="#gcf96cd4f9913dc258e6f29da9979388c"></a><br></td></tr> | ||
143 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g8fc20f761daf36976e50d057cf2650ca">dGeomGetOffsetQuaternion</a> (dGeomID geom, dQuaternion result)</td></tr> | ||
144 | |||
145 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the offset rotation quaternion of a geom. <a href="#g8fc20f761daf36976e50d057cf2650ca"></a><br></td></tr> | ||
146 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g08508345384abb95e25d674b39157bf8">dCollide</a> (dGeomID o1, dGeomID o2, int flags, <a class="el" href="structd_contact_geom.html">dContactGeom</a> *contact, int skip)</td></tr> | ||
147 | |||
148 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Given two geoms o1 and o2 that potentially intersect, generate contact information for them. <a href="#g08508345384abb95e25d674b39157bf8"></a><br></td></tr> | ||
149 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#gfd185829b6940e2b3238517e1acd2fbb">dSpaceCollide</a> (dSpaceID space, void *data, <a class="el" href="group__collide.html#g9f458413ace07fa9e3e7e52d6652ace0">dNearCallback</a> *callback)</td></tr> | ||
150 | |||
151 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Determines which pairs of geoms in a space may potentially intersect, and calls the callback function for each candidate pair. <a href="#gfd185829b6940e2b3238517e1acd2fbb"></a><br></td></tr> | ||
152 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g72a6bb0b550d3e181f8b7a9be7179db5">dSpaceCollide2</a> (dGeomID space1, dGeomID space2, void *data, <a class="el" href="group__collide.html#g9f458413ace07fa9e3e7e52d6652ace0">dNearCallback</a> *callback)</td></tr> | ||
153 | |||
154 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Determines which geoms from one space may potentially intersect with geoms from another space, and calls the callback function for each candidate pair. <a href="#g72a6bb0b550d3e181f8b7a9be7179db5"></a><br></td></tr> | ||
155 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dGeomID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#gd50d5cd5fea5bfc12584e60d4a936cfb">dCreateHeightfield</a> (dSpaceID space, dHeightfieldDataID data, int bPlaceable)</td></tr> | ||
156 | |||
157 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a heightfield geom. <a href="#gd50d5cd5fea5bfc12584e60d4a936cfb"></a><br></td></tr> | ||
158 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API <br> | ||
159 | dHeightfieldDataID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g7de82d5cf9aa10bb3144d51f4360eea1">dGeomHeightfieldDataCreate</a> ()</td></tr> | ||
160 | |||
161 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a new empty dHeightfieldDataID. <a href="#g7de82d5cf9aa10bb3144d51f4360eea1"></a><br></td></tr> | ||
162 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#gf98fc1f3d1784df5a5dff114b483d408">dGeomHeightfieldDataDestroy</a> (dHeightfieldDataID d)</td></tr> | ||
163 | |||
164 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Destroys a dHeightfieldDataID. <a href="#gf98fc1f3d1784df5a5dff114b483d408"></a><br></td></tr> | ||
165 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g34566000a5a2673cc013294f0ed85926">dGeomHeightfieldDataBuildCallback</a> (dHeightfieldDataID d, void *pUserData, <a class="el" href="group__collide.html#g32d2c58e3b2b589bd7672f3453102eb9">dHeightfieldGetHeight</a> *pCallback, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap)</td></tr> | ||
166 | |||
167 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Configures a dHeightfieldDataID to use a callback to retrieve height data. <a href="#g34566000a5a2673cc013294f0ed85926"></a><br></td></tr> | ||
168 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g2c15b7c1a36c7526b66911beab1b7934">dGeomHeightfieldDataBuildByte</a> (dHeightfieldDataID d, const unsigned char *pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap)</td></tr> | ||
169 | |||
170 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Configures a dHeightfieldDataID to use height data in byte format. <a href="#g2c15b7c1a36c7526b66911beab1b7934"></a><br></td></tr> | ||
171 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g2f7582d64cc8219141bc10efeca86d17">dGeomHeightfieldDataBuildShort</a> (dHeightfieldDataID d, const short *pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap)</td></tr> | ||
172 | |||
173 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Configures a dHeightfieldDataID to use height data in short format. <a href="#g2f7582d64cc8219141bc10efeca86d17"></a><br></td></tr> | ||
174 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g8da529419317e7bd4e01dabbe94daa09">dGeomHeightfieldDataBuildSingle</a> (dHeightfieldDataID d, const float *pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap)</td></tr> | ||
175 | |||
176 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Configures a dHeightfieldDataID to use height data in single precision floating point format. <a href="#g8da529419317e7bd4e01dabbe94daa09"></a><br></td></tr> | ||
177 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g98ec0c952b3b4e0fb3cd8cf66e267c86">dGeomHeightfieldDataBuildDouble</a> (dHeightfieldDataID d, const double *pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap)</td></tr> | ||
178 | |||
179 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Configures a dHeightfieldDataID to use height data in double precision floating point format. <a href="#g98ec0c952b3b4e0fb3cd8cf66e267c86"></a><br></td></tr> | ||
180 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#gcdef420e65e3751388b315f5de2804b2">dGeomHeightfieldDataSetBounds</a> (dHeightfieldDataID d, dReal minHeight, dReal maxHeight)</td></tr> | ||
181 | |||
182 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Manually set the minimum and maximum height bounds. <a href="#gcdef420e65e3751388b315f5de2804b2"></a><br></td></tr> | ||
183 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g6c1ae1f3ca652d6410e7804cdf8f8491">dGeomHeightfieldSetHeightfieldData</a> (dGeomID g, dHeightfieldDataID d)</td></tr> | ||
184 | |||
185 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Assigns a dHeightfieldDataID to a heightfield geom. <a href="#g6c1ae1f3ca652d6410e7804cdf8f8491"></a><br></td></tr> | ||
186 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API <br> | ||
187 | dHeightfieldDataID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide.html#g747176d26ce4f9b10ebfa6c865ef1cca">dGeomHeightfieldGetHeightfieldData</a> (dGeomID g)</td></tr> | ||
188 | |||
189 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the dHeightfieldDataID bound to a heightfield geom. <a href="#g747176d26ce4f9b10ebfa6c865ef1cca"></a><br></td></tr> | ||
190 | </table> | ||
191 | <hr><a name="_details"></a><h2>Detailed Description</h2> | ||
192 | ODE has two main components: a dynamics simulation engine and a collision detection engine. The collision engine is given information about the shape of each body. At each time step it figures out which bodies touch each other and passes the resulting contact point information to the user. The user in turn creates contact joints between bodies.<p> | ||
193 | Using ODE's collision detection is optional - an alternative collision detection system can be used as long as it can supply the right kinds of contact information. <hr><h2>Typedef Documentation</h2> | ||
194 | <a class="anchor" name="g32d2c58e3b2b589bd7672f3453102eb9"></a><!-- doxytag: member="collision.h::dHeightfieldGetHeight" ref="g32d2c58e3b2b589bd7672f3453102eb9" args="(void *p_user_data, int x, int z)" --> | ||
195 | <div class="memitem"> | ||
196 | <div class="memproto"> | ||
197 | <table class="memname"> | ||
198 | <tr> | ||
199 | <td class="memname">typedef dReal <a class="el" href="group__collide.html#g32d2c58e3b2b589bd7672f3453102eb9">dHeightfieldGetHeight</a>(void *p_user_data, int x, int z) </td> | ||
200 | </tr> | ||
201 | </table> | ||
202 | </div> | ||
203 | <div class="memdoc"> | ||
204 | |||
205 | <p> | ||
206 | Callback prototype. | ||
207 | <p> | ||
208 | Used by the callback heightfield data type to sample a height for a given cell position.<p> | ||
209 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
210 | <table border="0" cellspacing="2" cellpadding="0"> | ||
211 | <tr><td valign="top"></td><td valign="top"><em>p_user_data</em> </td><td>User data specified when creating the dHeightfieldDataID </td></tr> | ||
212 | <tr><td valign="top"></td><td valign="top"><em>x</em> </td><td>The index of a sample in the local x axis. It is a value in the range zero to ( nWidthSamples - 1 ). </td></tr> | ||
213 | <tr><td valign="top"></td><td valign="top"><em>x</em> </td><td>The index of a sample in the local z axis. It is a value in the range zero to ( nDepthSamples - 1 ).</td></tr> | ||
214 | </table> | ||
215 | </dl> | ||
216 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>The sample height which is then scaled and offset using the values specified when the heightfield data was created. </dd></dl> | ||
217 | |||
218 | </div> | ||
219 | </div><p> | ||
220 | <a class="anchor" name="g9f458413ace07fa9e3e7e52d6652ace0"></a><!-- doxytag: member="collision_space.h::dNearCallback" ref="g9f458413ace07fa9e3e7e52d6652ace0" args="(void *data, dGeomID o1, dGeomID o2)" --> | ||
221 | <div class="memitem"> | ||
222 | <div class="memproto"> | ||
223 | <table class="memname"> | ||
224 | <tr> | ||
225 | <td class="memname">typedef void <a class="el" href="group__collide.html#g9f458413ace07fa9e3e7e52d6652ace0">dNearCallback</a>(void *data, dGeomID o1, dGeomID o2) </td> | ||
226 | </tr> | ||
227 | </table> | ||
228 | </div> | ||
229 | <div class="memdoc"> | ||
230 | |||
231 | <p> | ||
232 | User callback for geom-geom collision testing. | ||
233 | <p> | ||
234 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
235 | <table border="0" cellspacing="2" cellpadding="0"> | ||
236 | <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>The user data object, as passed to dSpaceCollide. </td></tr> | ||
237 | <tr><td valign="top"></td><td valign="top"><em>o1</em> </td><td>The first geom being tested. </td></tr> | ||
238 | <tr><td valign="top"></td><td valign="top"><em>o2</em> </td><td>The second geom being test.</td></tr> | ||
239 | </table> | ||
240 | </dl> | ||
241 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The callback function can call dCollide on o1 and o2 to generate contact points between each pair. Then these contact points may be added to the simulation as contact joints. The user's callback function can of course chose not to call dCollide for any pair, e.g. if the user decides that those pairs should not interact. </dd></dl> | ||
242 | |||
243 | </div> | ||
244 | </div><p> | ||
245 | <hr><h2>Function Documentation</h2> | ||
246 | <a class="anchor" name="g08508345384abb95e25d674b39157bf8"></a><!-- doxytag: member="collision.h::dCollide" ref="g08508345384abb95e25d674b39157bf8" args="(dGeomID o1, dGeomID o2, int flags, dContactGeom *contact, int skip)" --> | ||
247 | <div class="memitem"> | ||
248 | <div class="memproto"> | ||
249 | <table class="memname"> | ||
250 | <tr> | ||
251 | <td class="memname">ODE_API int dCollide </td> | ||
252 | <td>(</td> | ||
253 | <td class="paramtype">dGeomID </td> | ||
254 | <td class="paramname"> <em>o1</em>, </td> | ||
255 | </tr> | ||
256 | <tr> | ||
257 | <td class="paramkey"></td> | ||
258 | <td></td> | ||
259 | <td class="paramtype">dGeomID </td> | ||
260 | <td class="paramname"> <em>o2</em>, </td> | ||
261 | </tr> | ||
262 | <tr> | ||
263 | <td class="paramkey"></td> | ||
264 | <td></td> | ||
265 | <td class="paramtype">int </td> | ||
266 | <td class="paramname"> <em>flags</em>, </td> | ||
267 | </tr> | ||
268 | <tr> | ||
269 | <td class="paramkey"></td> | ||
270 | <td></td> | ||
271 | <td class="paramtype"><a class="el" href="structd_contact_geom.html">dContactGeom</a> * </td> | ||
272 | <td class="paramname"> <em>contact</em>, </td> | ||
273 | </tr> | ||
274 | <tr> | ||
275 | <td class="paramkey"></td> | ||
276 | <td></td> | ||
277 | <td class="paramtype">int </td> | ||
278 | <td class="paramname"> <em>skip</em></td><td> </td> | ||
279 | </tr> | ||
280 | <tr> | ||
281 | <td></td> | ||
282 | <td>)</td> | ||
283 | <td></td><td></td><td width="100%"></td> | ||
284 | </tr> | ||
285 | </table> | ||
286 | </div> | ||
287 | <div class="memdoc"> | ||
288 | |||
289 | <p> | ||
290 | Given two geoms o1 and o2 that potentially intersect, generate contact information for them. | ||
291 | <p> | ||
292 | Internally, this just calls the correct class-specific collision functions for o1 and o2.<p> | ||
293 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
294 | <table border="0" cellspacing="2" cellpadding="0"> | ||
295 | <tr><td valign="top"></td><td valign="top"><em>o1</em> </td><td>The first geom to test. </td></tr> | ||
296 | <tr><td valign="top"></td><td valign="top"><em>o2</em> </td><td>The second geom to test.</td></tr> | ||
297 | <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>The flags specify how contacts should be generated if the geoms touch. The lower 16 bits of flags is an integer that specifies the maximum number of contact points to generate. You must ask for at least one contact. Additionally, following bits may be set: CONTACTS_UNIMPORTANT -- just generate any contacts (skip contact refining). All other bits in flags must be set to zero. In the future the other bits may be used to select from different contact generation strategies.</td></tr> | ||
298 | <tr><td valign="top"></td><td valign="top"><em>contact</em> </td><td>Points to an array of <a class="el" href="structd_contact_geom.html" title="Describe the contact point between two geoms.">dContactGeom</a> structures. The array must be able to hold at least the maximum number of contacts. These <a class="el" href="structd_contact_geom.html" title="Describe the contact point between two geoms.">dContactGeom</a> structures may be embedded within larger structures in the array -- the skip parameter is the byte offset from one <a class="el" href="structd_contact_geom.html" title="Describe the contact point between two geoms.">dContactGeom</a> to the next in the array. If skip is sizeof(dContactGeom) then contact points to a normal (C-style) array. It is an error for skip to be smaller than sizeof(dContactGeom).</td></tr> | ||
299 | </table> | ||
300 | </dl> | ||
301 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>If the geoms intersect, this function returns the number of contact points generated (and updates the contact array), otherwise it returns 0 (and the contact array is not touched).</dd></dl> | ||
302 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>If a space is passed as o1 or o2 then this function will collide all objects contained in o1 with all objects contained in o2, and return the resulting contact points. This method for colliding spaces with geoms (or spaces with spaces) provides no user control over the individual collisions. To get that control, use dSpaceCollide or dSpaceCollide2 instead.<p> | ||
303 | If o1 and o2 are the same geom then this function will do nothing and return 0. Technically speaking an object intersects with itself, but it is not useful to find contact points in this case.<p> | ||
304 | This function does not care if o1 and o2 are in the same space or not (or indeed if they are in any space at all). </dd></dl> | ||
305 | |||
306 | </div> | ||
307 | </div><p> | ||
308 | <a class="anchor" name="gd50d5cd5fea5bfc12584e60d4a936cfb"></a><!-- doxytag: member="collision.h::dCreateHeightfield" ref="gd50d5cd5fea5bfc12584e60d4a936cfb" args="(dSpaceID space, dHeightfieldDataID data, int bPlaceable)" --> | ||
309 | <div class="memitem"> | ||
310 | <div class="memproto"> | ||
311 | <table class="memname"> | ||
312 | <tr> | ||
313 | <td class="memname">ODE_API dGeomID dCreateHeightfield </td> | ||
314 | <td>(</td> | ||
315 | <td class="paramtype">dSpaceID </td> | ||
316 | <td class="paramname"> <em>space</em>, </td> | ||
317 | </tr> | ||
318 | <tr> | ||
319 | <td class="paramkey"></td> | ||
320 | <td></td> | ||
321 | <td class="paramtype">dHeightfieldDataID </td> | ||
322 | <td class="paramname"> <em>data</em>, </td> | ||
323 | </tr> | ||
324 | <tr> | ||
325 | <td class="paramkey"></td> | ||
326 | <td></td> | ||
327 | <td class="paramtype">int </td> | ||
328 | <td class="paramname"> <em>bPlaceable</em></td><td> </td> | ||
329 | </tr> | ||
330 | <tr> | ||
331 | <td></td> | ||
332 | <td>)</td> | ||
333 | <td></td><td></td><td width="100%"></td> | ||
334 | </tr> | ||
335 | </table> | ||
336 | </div> | ||
337 | <div class="memdoc"> | ||
338 | |||
339 | <p> | ||
340 | Creates a heightfield geom. | ||
341 | <p> | ||
342 | Uses the information in the given dHeightfieldDataID to construct a geom representing a heightfield in a collision space.<p> | ||
343 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
344 | <table border="0" cellspacing="2" cellpadding="0"> | ||
345 | <tr><td valign="top"></td><td valign="top"><em>space</em> </td><td>The space to add the geom to. </td></tr> | ||
346 | <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>The dHeightfieldDataID created by dGeomHeightfieldDataCreate and setup by dGeomHeightfieldDataBuildCallback, dGeomHeightfieldDataBuildByte, dGeomHeightfieldDataBuildShort or dGeomHeightfieldDataBuildFloat. </td></tr> | ||
347 | <tr><td valign="top"></td><td valign="top"><em>bPlaceable</em> </td><td>If non-zero this geom can be transformed in the world using the usual functions such as dGeomSetPosition and dGeomSetRotation. If the geom is not set as placeable, then it uses a fixed orientation where the global y axis represents the dynamic 'height' of the heightfield.</td></tr> | ||
348 | </table> | ||
349 | </dl> | ||
350 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>A geom id to reference this geom in other calls. </dd></dl> | ||
351 | |||
352 | </div> | ||
353 | </div><p> | ||
354 | <a class="anchor" name="gc81929d988b21c4e5338017f2e92a6f2"></a><!-- doxytag: member="collision.h::dGeomClearOffset" ref="gc81929d988b21c4e5338017f2e92a6f2" args="(dGeomID geom)" --> | ||
355 | <div class="memitem"> | ||
356 | <div class="memproto"> | ||
357 | <table class="memname"> | ||
358 | <tr> | ||
359 | <td class="memname">ODE_API void dGeomClearOffset </td> | ||
360 | <td>(</td> | ||
361 | <td class="paramtype">dGeomID </td> | ||
362 | <td class="paramname"> <em>geom</em> </td> | ||
363 | <td> ) </td> | ||
364 | <td width="100%"></td> | ||
365 | </tr> | ||
366 | </table> | ||
367 | </div> | ||
368 | <div class="memdoc"> | ||
369 | |||
370 | <p> | ||
371 | Clear any offset from the geom. | ||
372 | <p> | ||
373 | If the geom has an offset, it is eliminated and the geom is repositioned at the body's position. If the geom has no offset, this function does nothing. This is more efficient than calling dGeomSetOffsetPosition(zero) and dGeomSetOffsetRotation(identiy), because this function actually eliminates the offset, rather than leaving it as the identity transform.<p> | ||
374 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
375 | <table border="0" cellspacing="2" cellpadding="0"> | ||
376 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to have its offset destroyed. </td></tr> | ||
377 | </table> | ||
378 | </dl> | ||
379 | |||
380 | </div> | ||
381 | </div><p> | ||
382 | <a class="anchor" name="gd4a1e59ecc3c570e3c37c5b8fad71220"></a><!-- doxytag: member="collision.h::dGeomCopyOffsetPosition" ref="gd4a1e59ecc3c570e3c37c5b8fad71220" args="(dGeomID geom, dVector3 pos)" --> | ||
383 | <div class="memitem"> | ||
384 | <div class="memproto"> | ||
385 | <table class="memname"> | ||
386 | <tr> | ||
387 | <td class="memname">ODE_API void dGeomCopyOffsetPosition </td> | ||
388 | <td>(</td> | ||
389 | <td class="paramtype">dGeomID </td> | ||
390 | <td class="paramname"> <em>geom</em>, </td> | ||
391 | </tr> | ||
392 | <tr> | ||
393 | <td class="paramkey"></td> | ||
394 | <td></td> | ||
395 | <td class="paramtype">dVector3 </td> | ||
396 | <td class="paramname"> <em>pos</em></td><td> </td> | ||
397 | </tr> | ||
398 | <tr> | ||
399 | <td></td> | ||
400 | <td>)</td> | ||
401 | <td></td><td></td><td width="100%"></td> | ||
402 | </tr> | ||
403 | </table> | ||
404 | </div> | ||
405 | <div class="memdoc"> | ||
406 | |||
407 | <p> | ||
408 | Copy the offset position vector of a geom. | ||
409 | <p> | ||
410 | Returns the positional offset of the geom in local coordinates. If the geom has no offset, this function returns the zero vector.<p> | ||
411 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
412 | <table border="0" cellspacing="2" cellpadding="0"> | ||
413 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to query. </td></tr> | ||
414 | <tr><td valign="top"></td><td valign="top"><em>pos</em> </td><td>returns the offset position </td></tr> | ||
415 | </table> | ||
416 | </dl> | ||
417 | |||
418 | </div> | ||
419 | </div><p> | ||
420 | <a class="anchor" name="gcf96cd4f9913dc258e6f29da9979388c"></a><!-- doxytag: member="collision.h::dGeomCopyOffsetRotation" ref="gcf96cd4f9913dc258e6f29da9979388c" args="(dGeomID geom, dMatrix3 R)" --> | ||
421 | <div class="memitem"> | ||
422 | <div class="memproto"> | ||
423 | <table class="memname"> | ||
424 | <tr> | ||
425 | <td class="memname">ODE_API void dGeomCopyOffsetRotation </td> | ||
426 | <td>(</td> | ||
427 | <td class="paramtype">dGeomID </td> | ||
428 | <td class="paramname"> <em>geom</em>, </td> | ||
429 | </tr> | ||
430 | <tr> | ||
431 | <td class="paramkey"></td> | ||
432 | <td></td> | ||
433 | <td class="paramtype">dMatrix3 </td> | ||
434 | <td class="paramname"> <em>R</em></td><td> </td> | ||
435 | </tr> | ||
436 | <tr> | ||
437 | <td></td> | ||
438 | <td>)</td> | ||
439 | <td></td><td></td><td width="100%"></td> | ||
440 | </tr> | ||
441 | </table> | ||
442 | </div> | ||
443 | <div class="memdoc"> | ||
444 | |||
445 | <p> | ||
446 | Copy the offset rotation matrix of a geom. | ||
447 | <p> | ||
448 | Returns the rotational offset of the geom in local coordinates. If the geom has no offset, this function returns the identity matrix.<p> | ||
449 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
450 | <table border="0" cellspacing="2" cellpadding="0"> | ||
451 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to query. </td></tr> | ||
452 | <tr><td valign="top"></td><td valign="top"><em>R</em> </td><td>returns the rotation matrix. </td></tr> | ||
453 | </table> | ||
454 | </dl> | ||
455 | |||
456 | </div> | ||
457 | </div><p> | ||
458 | <a class="anchor" name="gd2cccf2b4c62bec58720d4f5fab8108d"></a><!-- doxytag: member="collision.h::dGeomCopyPosition" ref="gd2cccf2b4c62bec58720d4f5fab8108d" args="(dGeomID geom, dVector3 pos)" --> | ||
459 | <div class="memitem"> | ||
460 | <div class="memproto"> | ||
461 | <table class="memname"> | ||
462 | <tr> | ||
463 | <td class="memname">ODE_API void dGeomCopyPosition </td> | ||
464 | <td>(</td> | ||
465 | <td class="paramtype">dGeomID </td> | ||
466 | <td class="paramname"> <em>geom</em>, </td> | ||
467 | </tr> | ||
468 | <tr> | ||
469 | <td class="paramkey"></td> | ||
470 | <td></td> | ||
471 | <td class="paramtype">dVector3 </td> | ||
472 | <td class="paramname"> <em>pos</em></td><td> </td> | ||
473 | </tr> | ||
474 | <tr> | ||
475 | <td></td> | ||
476 | <td>)</td> | ||
477 | <td></td><td></td><td width="100%"></td> | ||
478 | </tr> | ||
479 | </table> | ||
480 | </div> | ||
481 | <div class="memdoc"> | ||
482 | |||
483 | <p> | ||
484 | Copy the position of a geom into a vector. | ||
485 | <p> | ||
486 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
487 | <table border="0" cellspacing="2" cellpadding="0"> | ||
488 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to query </td></tr> | ||
489 | <tr><td valign="top"></td><td valign="top"><em>pos</em> </td><td>a copy of the geom position </td></tr> | ||
490 | </table> | ||
491 | </dl> | ||
492 | <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__collide.html#g95b93f803880cac2619fe2635aa93ad8" title="Get the position vector of a placeable geom.">dGeomGetPosition</a> </dd></dl> | ||
493 | |||
494 | </div> | ||
495 | </div><p> | ||
496 | <a class="anchor" name="g800b702e148a8c279596f591b910cfbd"></a><!-- doxytag: member="collision.h::dGeomCopyRotation" ref="g800b702e148a8c279596f591b910cfbd" args="(dGeomID geom, dMatrix3 R)" --> | ||
497 | <div class="memitem"> | ||
498 | <div class="memproto"> | ||
499 | <table class="memname"> | ||
500 | <tr> | ||
501 | <td class="memname">ODE_API void dGeomCopyRotation </td> | ||
502 | <td>(</td> | ||
503 | <td class="paramtype">dGeomID </td> | ||
504 | <td class="paramname"> <em>geom</em>, </td> | ||
505 | </tr> | ||
506 | <tr> | ||
507 | <td class="paramkey"></td> | ||
508 | <td></td> | ||
509 | <td class="paramtype">dMatrix3 </td> | ||
510 | <td class="paramname"> <em>R</em></td><td> </td> | ||
511 | </tr> | ||
512 | <tr> | ||
513 | <td></td> | ||
514 | <td>)</td> | ||
515 | <td></td><td></td><td width="100%"></td> | ||
516 | </tr> | ||
517 | </table> | ||
518 | </div> | ||
519 | <div class="memdoc"> | ||
520 | |||
521 | <p> | ||
522 | Get the rotation matrix of a placeable geom. | ||
523 | <p> | ||
524 | If the geom is attached to a body, the body's rotation will be returned.<p> | ||
525 | Calling this function on a non-placeable geom results in a runtime error in the debug build of ODE.<p> | ||
526 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
527 | <table border="0" cellspacing="2" cellpadding="0"> | ||
528 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to query. </td></tr> | ||
529 | <tr><td valign="top"></td><td valign="top"><em>R</em> </td><td>a copy of the geom rotation </td></tr> | ||
530 | </table> | ||
531 | </dl> | ||
532 | <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__collide.html#g293b2264cefb12f9a6659cacc6a722f7" title="Get the rotation matrix of a placeable geom.">dGeomGetRotation</a> </dd></dl> | ||
533 | |||
534 | </div> | ||
535 | </div><p> | ||
536 | <a class="anchor" name="g96b9e7d3a7ca769b0c8f37eecfaf98c6"></a><!-- doxytag: member="collision.h::dGeomDestroy" ref="g96b9e7d3a7ca769b0c8f37eecfaf98c6" args="(dGeomID geom)" --> | ||
537 | <div class="memitem"> | ||
538 | <div class="memproto"> | ||
539 | <table class="memname"> | ||
540 | <tr> | ||
541 | <td class="memname">ODE_API void dGeomDestroy </td> | ||
542 | <td>(</td> | ||
543 | <td class="paramtype">dGeomID </td> | ||
544 | <td class="paramname"> <em>geom</em> </td> | ||
545 | <td> ) </td> | ||
546 | <td width="100%"></td> | ||
547 | </tr> | ||
548 | </table> | ||
549 | </div> | ||
550 | <div class="memdoc"> | ||
551 | |||
552 | <p> | ||
553 | Destroy a geom, removing it from any space. | ||
554 | <p> | ||
555 | Destroy a geom, removing it from any space it is in first. This one function destroys a geom of any type, but to create a geom you must call a creation function for that type.<p> | ||
556 | When a space is destroyed, if its cleanup mode is 1 (the default) then all the geoms in that space are automatically destroyed as well.<p> | ||
557 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
558 | <table border="0" cellspacing="2" cellpadding="0"> | ||
559 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to be destroyed. </td></tr> | ||
560 | </table> | ||
561 | </dl> | ||
562 | |||
563 | </div> | ||
564 | </div><p> | ||
565 | <a class="anchor" name="g6cb32b4161435fe491859680b463fc12"></a><!-- doxytag: member="collision.h::dGeomDisable" ref="g6cb32b4161435fe491859680b463fc12" args="(dGeomID geom)" --> | ||
566 | <div class="memitem"> | ||
567 | <div class="memproto"> | ||
568 | <table class="memname"> | ||
569 | <tr> | ||
570 | <td class="memname">ODE_API void dGeomDisable </td> | ||
571 | <td>(</td> | ||
572 | <td class="paramtype">dGeomID </td> | ||
573 | <td class="paramname"> <em>geom</em> </td> | ||
574 | <td> ) </td> | ||
575 | <td width="100%"></td> | ||
576 | </tr> | ||
577 | </table> | ||
578 | </div> | ||
579 | <div class="memdoc"> | ||
580 | |||
581 | <p> | ||
582 | Disable a geom. | ||
583 | <p> | ||
584 | Disabled geoms are completely ignored by dSpaceCollide and dSpaceCollide2, although they can still be members of a space. New geoms are created in the enabled state.<p> | ||
585 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
586 | <table border="0" cellspacing="2" cellpadding="0"> | ||
587 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to disable </td></tr> | ||
588 | </table> | ||
589 | </dl> | ||
590 | <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__collide.html#g6cb32b4161435fe491859680b463fc12" title="Disable a geom.">dGeomDisable</a> <p> | ||
591 | <a class="el" href="group__collide.html#g6533d33f870cf0fb6684ec05e5c0562e" title="Check to see if a geom is enabled.">dGeomIsEnabled</a> </dd></dl> | ||
592 | |||
593 | </div> | ||
594 | </div><p> | ||
595 | <a class="anchor" name="ga7c64b8fcae37ee9541208a0351f3d05"></a><!-- doxytag: member="collision.h::dGeomEnable" ref="ga7c64b8fcae37ee9541208a0351f3d05" args="(dGeomID geom)" --> | ||
596 | <div class="memitem"> | ||
597 | <div class="memproto"> | ||
598 | <table class="memname"> | ||
599 | <tr> | ||
600 | <td class="memname">ODE_API void dGeomEnable </td> | ||
601 | <td>(</td> | ||
602 | <td class="paramtype">dGeomID </td> | ||
603 | <td class="paramname"> <em>geom</em> </td> | ||
604 | <td> ) </td> | ||
605 | <td width="100%"></td> | ||
606 | </tr> | ||
607 | </table> | ||
608 | </div> | ||
609 | <div class="memdoc"> | ||
610 | |||
611 | <p> | ||
612 | Enable a geom. | ||
613 | <p> | ||
614 | Disabled geoms are completely ignored by dSpaceCollide and dSpaceCollide2, although they can still be members of a space. New geoms are created in the enabled state.<p> | ||
615 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
616 | <table border="0" cellspacing="2" cellpadding="0"> | ||
617 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to enable </td></tr> | ||
618 | </table> | ||
619 | </dl> | ||
620 | <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__collide.html#g6cb32b4161435fe491859680b463fc12" title="Disable a geom.">dGeomDisable</a> <p> | ||
621 | <a class="el" href="group__collide.html#g6533d33f870cf0fb6684ec05e5c0562e" title="Check to see if a geom is enabled.">dGeomIsEnabled</a> </dd></dl> | ||
622 | |||
623 | </div> | ||
624 | </div><p> | ||
625 | <a class="anchor" name="g904e360ac6e9e85a05e67929990e5b72"></a><!-- doxytag: member="collision.h::dGeomGetAABB" ref="g904e360ac6e9e85a05e67929990e5b72" args="(dGeomID geom, dReal aabb[6])" --> | ||
626 | <div class="memitem"> | ||
627 | <div class="memproto"> | ||
628 | <table class="memname"> | ||
629 | <tr> | ||
630 | <td class="memname">ODE_API void dGeomGetAABB </td> | ||
631 | <td>(</td> | ||
632 | <td class="paramtype">dGeomID </td> | ||
633 | <td class="paramname"> <em>geom</em>, </td> | ||
634 | </tr> | ||
635 | <tr> | ||
636 | <td class="paramkey"></td> | ||
637 | <td></td> | ||
638 | <td class="paramtype">dReal </td> | ||
639 | <td class="paramname"> <em>aabb</em>[6]</td><td> </td> | ||
640 | </tr> | ||
641 | <tr> | ||
642 | <td></td> | ||
643 | <td>)</td> | ||
644 | <td></td><td></td><td width="100%"></td> | ||
645 | </tr> | ||
646 | </table> | ||
647 | </div> | ||
648 | <div class="memdoc"> | ||
649 | |||
650 | <p> | ||
651 | Return the axis-aligned bounding box. | ||
652 | <p> | ||
653 | Return in aabb an axis aligned bounding box that surrounds the given geom. The aabb array has elements (minx, maxx, miny, maxy, minz, maxz). If the geom is a space, a bounding box that surrounds all contained geoms is returned.<p> | ||
654 | This function may return a pre-computed cached bounding box, if it can determine that the geom has not moved since the last time the bounding box was computed.<p> | ||
655 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
656 | <table border="0" cellspacing="2" cellpadding="0"> | ||
657 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to query </td></tr> | ||
658 | <tr><td valign="top"></td><td valign="top"><em>aabb</em> </td><td>the returned bounding box </td></tr> | ||
659 | </table> | ||
660 | </dl> | ||
661 | |||
662 | </div> | ||
663 | </div><p> | ||
664 | <a class="anchor" name="gd6cedf77fde0dddf751c5d42fcc8eebf"></a><!-- doxytag: member="collision.h::dGeomGetBody" ref="gd6cedf77fde0dddf751c5d42fcc8eebf" args="(dGeomID geom)" --> | ||
665 | <div class="memitem"> | ||
666 | <div class="memproto"> | ||
667 | <table class="memname"> | ||
668 | <tr> | ||
669 | <td class="memname">ODE_API dBodyID dGeomGetBody </td> | ||
670 | <td>(</td> | ||
671 | <td class="paramtype">dGeomID </td> | ||
672 | <td class="paramname"> <em>geom</em> </td> | ||
673 | <td> ) </td> | ||
674 | <td width="100%"></td> | ||
675 | </tr> | ||
676 | </table> | ||
677 | </div> | ||
678 | <div class="memdoc"> | ||
679 | |||
680 | <p> | ||
681 | Get the body associated with a placeable geom. | ||
682 | <p> | ||
683 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
684 | <table border="0" cellspacing="2" cellpadding="0"> | ||
685 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to query. </td></tr> | ||
686 | </table> | ||
687 | </dl> | ||
688 | <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__collide.html#g97cad1194789477eac19fe364d986505" title="Set the body associated with a placeable geom.">dGeomSetBody</a> </dd></dl> | ||
689 | |||
690 | </div> | ||
691 | </div><p> | ||
692 | <a class="anchor" name="gfb62d3493b6789382f65776ab931e78d"></a><!-- doxytag: member="collision.h::dGeomGetCategoryBits" ref="gfb62d3493b6789382f65776ab931e78d" args="(dGeomID)" --> | ||
693 | <div class="memitem"> | ||
694 | <div class="memproto"> | ||
695 | <table class="memname"> | ||
696 | <tr> | ||
697 | <td class="memname">ODE_API unsigned long dGeomGetCategoryBits </td> | ||
698 | <td>(</td> | ||
699 | <td class="paramtype">dGeomID </td> | ||
700 | <td class="paramname"> </td> | ||
701 | <td> ) </td> | ||
702 | <td width="100%"></td> | ||
703 | </tr> | ||
704 | </table> | ||
705 | </div> | ||
706 | <div class="memdoc"> | ||
707 | |||
708 | <p> | ||
709 | Get the "category" bitfield for the given geom. | ||
710 | <p> | ||
711 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
712 | <table border="0" cellspacing="2" cellpadding="0"> | ||
713 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to set </td></tr> | ||
714 | <tr><td valign="top"></td><td valign="top"><em>bits</em> </td><td>the new bitfield value </td></tr> | ||
715 | </table> | ||
716 | </dl> | ||
717 | <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__collide.html#g80fd5741701eb48472521780d5e2f9b9" title="Set the "category" bitfield for the given geom.">dGeomSetCategoryBits</a> </dd></dl> | ||
718 | |||
719 | </div> | ||
720 | </div><p> | ||
721 | <a class="anchor" name="g07b5ed5b915f756f419a4a7ce69dc67e"></a><!-- doxytag: member="collision.h::dGeomGetClass" ref="g07b5ed5b915f756f419a4a7ce69dc67e" args="(dGeomID geom)" --> | ||
722 | <div class="memitem"> | ||
723 | <div class="memproto"> | ||
724 | <table class="memname"> | ||
725 | <tr> | ||
726 | <td class="memname">ODE_API int dGeomGetClass </td> | ||
727 | <td>(</td> | ||
728 | <td class="paramtype">dGeomID </td> | ||
729 | <td class="paramname"> <em>geom</em> </td> | ||
730 | <td> ) </td> | ||
731 | <td width="100%"></td> | ||
732 | </tr> | ||
733 | </table> | ||
734 | </div> | ||
735 | <div class="memdoc"> | ||
736 | |||
737 | <p> | ||
738 | Given a geom, this returns its class. | ||
739 | <p> | ||
740 | The ODE classes are: <ul> | ||
741 | <li>dSphereClass </li> | ||
742 | <li>dBoxClass </li> | ||
743 | <li>dCylinderClass </li> | ||
744 | <li>dPlaneClass </li> | ||
745 | <li>dRayClass </li> | ||
746 | <li>dConvexClass </li> | ||
747 | <li>dGeomTransformClass </li> | ||
748 | <li>dTriMeshClass </li> | ||
749 | <li>dSimpleSpaceClass </li> | ||
750 | <li>dHashSpaceClass </li> | ||
751 | <li>dQuadTreeSpaceClass </li> | ||
752 | <li>dFirstUserClass </li> | ||
753 | <li>dLastUserClass</li> | ||
754 | </ul> | ||
755 | User-defined class will return their own number.<p> | ||
756 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
757 | <table border="0" cellspacing="2" cellpadding="0"> | ||
758 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to query </td></tr> | ||
759 | </table> | ||
760 | </dl> | ||
761 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>The geom class ID. </dd></dl> | ||
762 | |||
763 | </div> | ||
764 | </div><p> | ||
765 | <a class="anchor" name="g5591e5c496a5a6f8b66dc57e03d0cd8d"></a><!-- doxytag: member="collision.h::dGeomGetCollideBits" ref="g5591e5c496a5a6f8b66dc57e03d0cd8d" args="(dGeomID)" --> | ||
766 | <div class="memitem"> | ||
767 | <div class="memproto"> | ||
768 | <table class="memname"> | ||
769 | <tr> | ||
770 | <td class="memname">ODE_API unsigned long dGeomGetCollideBits </td> | ||
771 | <td>(</td> | ||
772 | <td class="paramtype">dGeomID </td> | ||
773 | <td class="paramname"> </td> | ||
774 | <td> ) </td> | ||
775 | <td width="100%"></td> | ||
776 | </tr> | ||
777 | </table> | ||
778 | </div> | ||
779 | <div class="memdoc"> | ||
780 | |||
781 | <p> | ||
782 | Get the "collide" bitfield for the given geom. | ||
783 | <p> | ||
784 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
785 | <table border="0" cellspacing="2" cellpadding="0"> | ||
786 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to set </td></tr> | ||
787 | <tr><td valign="top"></td><td valign="top"><em>bits</em> </td><td>the new bitfield value </td></tr> | ||
788 | </table> | ||
789 | </dl> | ||
790 | <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__collide.html#ga55b4de01a61be41668685857b78455d" title="Set the "collide" bitfield for the given geom.">dGeomSetCollideBits</a> </dd></dl> | ||
791 | |||
792 | </div> | ||
793 | </div><p> | ||
794 | <a class="anchor" name="gc1a185e22b136814fd3afc8469d98996"></a><!-- doxytag: member="collision.h::dGeomGetData" ref="gc1a185e22b136814fd3afc8469d98996" args="(dGeomID geom)" --> | ||
795 | <div class="memitem"> | ||
796 | <div class="memproto"> | ||
797 | <table class="memname"> | ||
798 | <tr> | ||
799 | <td class="memname">ODE_API void* dGeomGetData </td> | ||
800 | <td>(</td> | ||
801 | <td class="paramtype">dGeomID </td> | ||
802 | <td class="paramname"> <em>geom</em> </td> | ||
803 | <td> ) </td> | ||
804 | <td width="100%"></td> | ||
805 | </tr> | ||
806 | </table> | ||
807 | </div> | ||
808 | <div class="memdoc"> | ||
809 | |||
810 | <p> | ||
811 | Get the user-defined data pointer stored in the geom. | ||
812 | <p> | ||
813 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
814 | <table border="0" cellspacing="2" cellpadding="0"> | ||
815 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom containing the data </td></tr> | ||
816 | </table> | ||
817 | </dl> | ||
818 | |||
819 | </div> | ||
820 | </div><p> | ||
821 | <a class="anchor" name="gb200f73800d253ab3a87f9856d4e18d2"></a><!-- doxytag: member="collision.h::dGeomGetOffsetPosition" ref="gb200f73800d253ab3a87f9856d4e18d2" args="(dGeomID geom)" --> | ||
822 | <div class="memitem"> | ||
823 | <div class="memproto"> | ||
824 | <table class="memname"> | ||
825 | <tr> | ||
826 | <td class="memname">ODE_API const dReal* dGeomGetOffsetPosition </td> | ||
827 | <td>(</td> | ||
828 | <td class="paramtype">dGeomID </td> | ||
829 | <td class="paramname"> <em>geom</em> </td> | ||
830 | <td> ) </td> | ||
831 | <td width="100%"></td> | ||
832 | </tr> | ||
833 | </table> | ||
834 | </div> | ||
835 | <div class="memdoc"> | ||
836 | |||
837 | <p> | ||
838 | Get the offset position vector of a geom. | ||
839 | <p> | ||
840 | Returns the positional offset of the geom in local coordinates. If the geom has no offset, this function returns the zero vector.<p> | ||
841 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
842 | <table border="0" cellspacing="2" cellpadding="0"> | ||
843 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to query. </td></tr> | ||
844 | </table> | ||
845 | </dl> | ||
846 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the geom's offset vector. </dd></dl> | ||
847 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The returned value is a pointer to the geom's internal data structure. It is valid until any changes are made to the geom. </dd></dl> | ||
848 | |||
849 | </div> | ||
850 | </div><p> | ||
851 | <a class="anchor" name="g8fc20f761daf36976e50d057cf2650ca"></a><!-- doxytag: member="collision.h::dGeomGetOffsetQuaternion" ref="g8fc20f761daf36976e50d057cf2650ca" args="(dGeomID geom, dQuaternion result)" --> | ||
852 | <div class="memitem"> | ||
853 | <div class="memproto"> | ||
854 | <table class="memname"> | ||
855 | <tr> | ||
856 | <td class="memname">ODE_API void dGeomGetOffsetQuaternion </td> | ||
857 | <td>(</td> | ||
858 | <td class="paramtype">dGeomID </td> | ||
859 | <td class="paramname"> <em>geom</em>, </td> | ||
860 | </tr> | ||
861 | <tr> | ||
862 | <td class="paramkey"></td> | ||
863 | <td></td> | ||
864 | <td class="paramtype">dQuaternion </td> | ||
865 | <td class="paramname"> <em>result</em></td><td> </td> | ||
866 | </tr> | ||
867 | <tr> | ||
868 | <td></td> | ||
869 | <td>)</td> | ||
870 | <td></td><td></td><td width="100%"></td> | ||
871 | </tr> | ||
872 | </table> | ||
873 | </div> | ||
874 | <div class="memdoc"> | ||
875 | |||
876 | <p> | ||
877 | Get the offset rotation quaternion of a geom. | ||
878 | <p> | ||
879 | Returns the rotation offset of the geom as a quaternion. If the geom has no offset, the identity quaternion is returned.<p> | ||
880 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
881 | <table border="0" cellspacing="2" cellpadding="0"> | ||
882 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to query. </td></tr> | ||
883 | <tr><td valign="top"></td><td valign="top"><em>result</em> </td><td>a copy of the rotation quaternion. </td></tr> | ||
884 | </table> | ||
885 | </dl> | ||
886 | |||
887 | </div> | ||
888 | </div><p> | ||
889 | <a class="anchor" name="gba28cf4ca8f552c782fc30ce3073dc73"></a><!-- doxytag: member="collision.h::dGeomGetOffsetRotation" ref="gba28cf4ca8f552c782fc30ce3073dc73" args="(dGeomID geom)" --> | ||
890 | <div class="memitem"> | ||
891 | <div class="memproto"> | ||
892 | <table class="memname"> | ||
893 | <tr> | ||
894 | <td class="memname">ODE_API const dReal* dGeomGetOffsetRotation </td> | ||
895 | <td>(</td> | ||
896 | <td class="paramtype">dGeomID </td> | ||
897 | <td class="paramname"> <em>geom</em> </td> | ||
898 | <td> ) </td> | ||
899 | <td width="100%"></td> | ||
900 | </tr> | ||
901 | </table> | ||
902 | </div> | ||
903 | <div class="memdoc"> | ||
904 | |||
905 | <p> | ||
906 | Get the offset rotation matrix of a geom. | ||
907 | <p> | ||
908 | Returns the rotational offset of the geom in local coordinates. If the geom has no offset, this function returns the identity matrix.<p> | ||
909 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
910 | <table border="0" cellspacing="2" cellpadding="0"> | ||
911 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to query. </td></tr> | ||
912 | </table> | ||
913 | </dl> | ||
914 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the geom's offset rotation matrix. </dd></dl> | ||
915 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The returned value is a pointer to the geom's internal data structure. It is valid until any changes are made to the geom. </dd></dl> | ||
916 | |||
917 | </div> | ||
918 | </div><p> | ||
919 | <a class="anchor" name="g95b93f803880cac2619fe2635aa93ad8"></a><!-- doxytag: member="collision.h::dGeomGetPosition" ref="g95b93f803880cac2619fe2635aa93ad8" args="(dGeomID geom)" --> | ||
920 | <div class="memitem"> | ||
921 | <div class="memproto"> | ||
922 | <table class="memname"> | ||
923 | <tr> | ||
924 | <td class="memname">ODE_API const dReal* dGeomGetPosition </td> | ||
925 | <td>(</td> | ||
926 | <td class="paramtype">dGeomID </td> | ||
927 | <td class="paramname"> <em>geom</em> </td> | ||
928 | <td> ) </td> | ||
929 | <td width="100%"></td> | ||
930 | </tr> | ||
931 | </table> | ||
932 | </div> | ||
933 | <div class="memdoc"> | ||
934 | |||
935 | <p> | ||
936 | Get the position vector of a placeable geom. | ||
937 | <p> | ||
938 | If the geom is attached to a body, the body's position will be returned.<p> | ||
939 | Calling this function on a non-placeable geom results in a runtime error in the debug build of ODE.<p> | ||
940 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
941 | <table border="0" cellspacing="2" cellpadding="0"> | ||
942 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to query. </td></tr> | ||
943 | </table> | ||
944 | </dl> | ||
945 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the geom's position vector. </dd></dl> | ||
946 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The returned value is a pointer to the geom's internal data structure. It is valid until any changes are made to the geom. </dd></dl> | ||
947 | <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> | ||
948 | |||
949 | </div> | ||
950 | </div><p> | ||
951 | <a class="anchor" name="g11ad7f0098639b06f4bcd2d681122842"></a><!-- doxytag: member="collision.h::dGeomGetQuaternion" ref="g11ad7f0098639b06f4bcd2d681122842" args="(dGeomID geom, dQuaternion result)" --> | ||
952 | <div class="memitem"> | ||
953 | <div class="memproto"> | ||
954 | <table class="memname"> | ||
955 | <tr> | ||
956 | <td class="memname">ODE_API void dGeomGetQuaternion </td> | ||
957 | <td>(</td> | ||
958 | <td class="paramtype">dGeomID </td> | ||
959 | <td class="paramname"> <em>geom</em>, </td> | ||
960 | </tr> | ||
961 | <tr> | ||
962 | <td class="paramkey"></td> | ||
963 | <td></td> | ||
964 | <td class="paramtype">dQuaternion </td> | ||
965 | <td class="paramname"> <em>result</em></td><td> </td> | ||
966 | </tr> | ||
967 | <tr> | ||
968 | <td></td> | ||
969 | <td>)</td> | ||
970 | <td></td><td></td><td width="100%"></td> | ||
971 | </tr> | ||
972 | </table> | ||
973 | </div> | ||
974 | <div class="memdoc"> | ||
975 | |||
976 | <p> | ||
977 | Get the rotation quaternion of a placeable geom. | ||
978 | <p> | ||
979 | If the geom is attached to a body, the body's quaternion will be returned.<p> | ||
980 | Calling this function on a non-placeable geom results in a runtime error in the debug build of ODE.<p> | ||
981 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
982 | <table border="0" cellspacing="2" cellpadding="0"> | ||
983 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to query. </td></tr> | ||
984 | <tr><td valign="top"></td><td valign="top"><em>result</em> </td><td>a copy of the rotation quaternion. </td></tr> | ||
985 | </table> | ||
986 | </dl> | ||
987 | <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> | ||
988 | |||
989 | </div> | ||
990 | </div><p> | ||
991 | <a class="anchor" name="g293b2264cefb12f9a6659cacc6a722f7"></a><!-- doxytag: member="collision.h::dGeomGetRotation" ref="g293b2264cefb12f9a6659cacc6a722f7" args="(dGeomID geom)" --> | ||
992 | <div class="memitem"> | ||
993 | <div class="memproto"> | ||
994 | <table class="memname"> | ||
995 | <tr> | ||
996 | <td class="memname">ODE_API const dReal* dGeomGetRotation </td> | ||
997 | <td>(</td> | ||
998 | <td class="paramtype">dGeomID </td> | ||
999 | <td class="paramname"> <em>geom</em> </td> | ||
1000 | <td> ) </td> | ||
1001 | <td width="100%"></td> | ||
1002 | </tr> | ||
1003 | </table> | ||
1004 | </div> | ||
1005 | <div class="memdoc"> | ||
1006 | |||
1007 | <p> | ||
1008 | Get the rotation matrix of a placeable geom. | ||
1009 | <p> | ||
1010 | If the geom is attached to a body, the body's rotation will be returned.<p> | ||
1011 | Calling this function on a non-placeable geom results in a runtime error in the debug build of ODE.<p> | ||
1012 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1013 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1014 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to query. </td></tr> | ||
1015 | </table> | ||
1016 | </dl> | ||
1017 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the geom's rotation matrix. </dd></dl> | ||
1018 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The returned value is a pointer to the geom's internal data structure. It is valid until any changes are made to the geom. </dd></dl> | ||
1019 | <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> | ||
1020 | |||
1021 | </div> | ||
1022 | </div><p> | ||
1023 | <a class="anchor" name="gfdc35eade2cbd0b6886ce957325d7c03"></a><!-- doxytag: member="collision.h::dGeomGetSpace" ref="gfdc35eade2cbd0b6886ce957325d7c03" args="(dGeomID)" --> | ||
1024 | <div class="memitem"> | ||
1025 | <div class="memproto"> | ||
1026 | <table class="memname"> | ||
1027 | <tr> | ||
1028 | <td class="memname">ODE_API dSpaceID dGeomGetSpace </td> | ||
1029 | <td>(</td> | ||
1030 | <td class="paramtype">dGeomID </td> | ||
1031 | <td class="paramname"> </td> | ||
1032 | <td> ) </td> | ||
1033 | <td width="100%"></td> | ||
1034 | </tr> | ||
1035 | </table> | ||
1036 | </div> | ||
1037 | <div class="memdoc"> | ||
1038 | |||
1039 | <p> | ||
1040 | Query for the space containing a particular geom. | ||
1041 | <p> | ||
1042 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1043 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1044 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to query </td></tr> | ||
1045 | </table> | ||
1046 | </dl> | ||
1047 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>The space that contains the geom, or NULL if the geom is not contained by a space. </dd></dl> | ||
1048 | |||
1049 | </div> | ||
1050 | </div><p> | ||
1051 | <a class="anchor" name="g2c15b7c1a36c7526b66911beab1b7934"></a><!-- doxytag: member="collision.h::dGeomHeightfieldDataBuildByte" ref="g2c15b7c1a36c7526b66911beab1b7934" args="(dHeightfieldDataID d, const unsigned char *pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap)" --> | ||
1052 | <div class="memitem"> | ||
1053 | <div class="memproto"> | ||
1054 | <table class="memname"> | ||
1055 | <tr> | ||
1056 | <td class="memname">ODE_API void dGeomHeightfieldDataBuildByte </td> | ||
1057 | <td>(</td> | ||
1058 | <td class="paramtype">dHeightfieldDataID </td> | ||
1059 | <td class="paramname"> <em>d</em>, </td> | ||
1060 | </tr> | ||
1061 | <tr> | ||
1062 | <td class="paramkey"></td> | ||
1063 | <td></td> | ||
1064 | <td class="paramtype">const unsigned char * </td> | ||
1065 | <td class="paramname"> <em>pHeightData</em>, </td> | ||
1066 | </tr> | ||
1067 | <tr> | ||
1068 | <td class="paramkey"></td> | ||
1069 | <td></td> | ||
1070 | <td class="paramtype">int </td> | ||
1071 | <td class="paramname"> <em>bCopyHeightData</em>, </td> | ||
1072 | </tr> | ||
1073 | <tr> | ||
1074 | <td class="paramkey"></td> | ||
1075 | <td></td> | ||
1076 | <td class="paramtype">dReal </td> | ||
1077 | <td class="paramname"> <em>width</em>, </td> | ||
1078 | </tr> | ||
1079 | <tr> | ||
1080 | <td class="paramkey"></td> | ||
1081 | <td></td> | ||
1082 | <td class="paramtype">dReal </td> | ||
1083 | <td class="paramname"> <em>depth</em>, </td> | ||
1084 | </tr> | ||
1085 | <tr> | ||
1086 | <td class="paramkey"></td> | ||
1087 | <td></td> | ||
1088 | <td class="paramtype">int </td> | ||
1089 | <td class="paramname"> <em>widthSamples</em>, </td> | ||
1090 | </tr> | ||
1091 | <tr> | ||
1092 | <td class="paramkey"></td> | ||
1093 | <td></td> | ||
1094 | <td class="paramtype">int </td> | ||
1095 | <td class="paramname"> <em>depthSamples</em>, </td> | ||
1096 | </tr> | ||
1097 | <tr> | ||
1098 | <td class="paramkey"></td> | ||
1099 | <td></td> | ||
1100 | <td class="paramtype">dReal </td> | ||
1101 | <td class="paramname"> <em>scale</em>, </td> | ||
1102 | </tr> | ||
1103 | <tr> | ||
1104 | <td class="paramkey"></td> | ||
1105 | <td></td> | ||
1106 | <td class="paramtype">dReal </td> | ||
1107 | <td class="paramname"> <em>offset</em>, </td> | ||
1108 | </tr> | ||
1109 | <tr> | ||
1110 | <td class="paramkey"></td> | ||
1111 | <td></td> | ||
1112 | <td class="paramtype">dReal </td> | ||
1113 | <td class="paramname"> <em>thickness</em>, </td> | ||
1114 | </tr> | ||
1115 | <tr> | ||
1116 | <td class="paramkey"></td> | ||
1117 | <td></td> | ||
1118 | <td class="paramtype">int </td> | ||
1119 | <td class="paramname"> <em>bWrap</em></td><td> </td> | ||
1120 | </tr> | ||
1121 | <tr> | ||
1122 | <td></td> | ||
1123 | <td>)</td> | ||
1124 | <td></td><td></td><td width="100%"></td> | ||
1125 | </tr> | ||
1126 | </table> | ||
1127 | </div> | ||
1128 | <div class="memdoc"> | ||
1129 | |||
1130 | <p> | ||
1131 | Configures a dHeightfieldDataID to use height data in byte format. | ||
1132 | <p> | ||
1133 | Before a dHeightfieldDataID can be used by a geom it must be configured to specify the format of the height data. This call specifies that the heightfield data is stored as a rectangular array of bytes (8 bit unsigned) representing the height at each sample point.<p> | ||
1134 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1135 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1136 | <tr><td valign="top"></td><td valign="top"><em>d</em> </td><td>A new dHeightfieldDataID created by dGeomHeightfieldDataCreate</td></tr> | ||
1137 | <tr><td valign="top"></td><td valign="top"><em>pHeightData</em> </td><td>A pointer to the height data. </td></tr> | ||
1138 | <tr><td valign="top"></td><td valign="top"><em>bCopyHeightData</em> </td><td>When non-zero the height data is copied to an internal store. When zero the height data is accessed by reference and so must persist throughout the lifetime of the heightfield.</td></tr> | ||
1139 | <tr><td valign="top"></td><td valign="top"><em>width</em> </td><td>Specifies the total 'width' of the heightfield along the geom's local x axis. </td></tr> | ||
1140 | <tr><td valign="top"></td><td valign="top"><em>depth</em> </td><td>Specifies the total 'depth' of the heightfield along the geom's local z axis.</td></tr> | ||
1141 | <tr><td valign="top"></td><td valign="top"><em>widthSamples</em> </td><td>Specifies the number of vertices to sample along the width of the heightfield. Each vertex has a corresponding height value which forms the overall shape. Naturally this value must be at least two or more. </td></tr> | ||
1142 | <tr><td valign="top"></td><td valign="top"><em>depthSamples</em> </td><td>Specifies the number of vertices to sample along the depth of the heightfield.</td></tr> | ||
1143 | <tr><td valign="top"></td><td valign="top"><em>scale</em> </td><td>A uniform scale applied to all raw height data. </td></tr> | ||
1144 | <tr><td valign="top"></td><td valign="top"><em>offset</em> </td><td>An offset applied to the scaled height data.</td></tr> | ||
1145 | <tr><td valign="top"></td><td valign="top"><em>thickness</em> </td><td>A value subtracted from the lowest height value which in effect adds an additional cuboid to the base of the heightfield. This is used to prevent geoms from looping under the desired terrain and not registering as a collision. Note that the thickness is not affected by the scale or offset parameters.</td></tr> | ||
1146 | <tr><td valign="top"></td><td valign="top"><em>bWrap</em> </td><td>If non-zero the heightfield will infinitely tile in both directions along the local x and z axes. If zero the heightfield is bounded from zero to width in the local x axis, and zero to depth in the local z axis. </td></tr> | ||
1147 | </table> | ||
1148 | </dl> | ||
1149 | |||
1150 | </div> | ||
1151 | </div><p> | ||
1152 | <a class="anchor" name="g34566000a5a2673cc013294f0ed85926"></a><!-- doxytag: member="collision.h::dGeomHeightfieldDataBuildCallback" ref="g34566000a5a2673cc013294f0ed85926" args="(dHeightfieldDataID d, void *pUserData, dHeightfieldGetHeight *pCallback, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap)" --> | ||
1153 | <div class="memitem"> | ||
1154 | <div class="memproto"> | ||
1155 | <table class="memname"> | ||
1156 | <tr> | ||
1157 | <td class="memname">ODE_API void dGeomHeightfieldDataBuildCallback </td> | ||
1158 | <td>(</td> | ||
1159 | <td class="paramtype">dHeightfieldDataID </td> | ||
1160 | <td class="paramname"> <em>d</em>, </td> | ||
1161 | </tr> | ||
1162 | <tr> | ||
1163 | <td class="paramkey"></td> | ||
1164 | <td></td> | ||
1165 | <td class="paramtype">void * </td> | ||
1166 | <td class="paramname"> <em>pUserData</em>, </td> | ||
1167 | </tr> | ||
1168 | <tr> | ||
1169 | <td class="paramkey"></td> | ||
1170 | <td></td> | ||
1171 | <td class="paramtype"><a class="el" href="group__collide.html#g32d2c58e3b2b589bd7672f3453102eb9">dHeightfieldGetHeight</a> * </td> | ||
1172 | <td class="paramname"> <em>pCallback</em>, </td> | ||
1173 | </tr> | ||
1174 | <tr> | ||
1175 | <td class="paramkey"></td> | ||
1176 | <td></td> | ||
1177 | <td class="paramtype">dReal </td> | ||
1178 | <td class="paramname"> <em>width</em>, </td> | ||
1179 | </tr> | ||
1180 | <tr> | ||
1181 | <td class="paramkey"></td> | ||
1182 | <td></td> | ||
1183 | <td class="paramtype">dReal </td> | ||
1184 | <td class="paramname"> <em>depth</em>, </td> | ||
1185 | </tr> | ||
1186 | <tr> | ||
1187 | <td class="paramkey"></td> | ||
1188 | <td></td> | ||
1189 | <td class="paramtype">int </td> | ||
1190 | <td class="paramname"> <em>widthSamples</em>, </td> | ||
1191 | </tr> | ||
1192 | <tr> | ||
1193 | <td class="paramkey"></td> | ||
1194 | <td></td> | ||
1195 | <td class="paramtype">int </td> | ||
1196 | <td class="paramname"> <em>depthSamples</em>, </td> | ||
1197 | </tr> | ||
1198 | <tr> | ||
1199 | <td class="paramkey"></td> | ||
1200 | <td></td> | ||
1201 | <td class="paramtype">dReal </td> | ||
1202 | <td class="paramname"> <em>scale</em>, </td> | ||
1203 | </tr> | ||
1204 | <tr> | ||
1205 | <td class="paramkey"></td> | ||
1206 | <td></td> | ||
1207 | <td class="paramtype">dReal </td> | ||
1208 | <td class="paramname"> <em>offset</em>, </td> | ||
1209 | </tr> | ||
1210 | <tr> | ||
1211 | <td class="paramkey"></td> | ||
1212 | <td></td> | ||
1213 | <td class="paramtype">dReal </td> | ||
1214 | <td class="paramname"> <em>thickness</em>, </td> | ||
1215 | </tr> | ||
1216 | <tr> | ||
1217 | <td class="paramkey"></td> | ||
1218 | <td></td> | ||
1219 | <td class="paramtype">int </td> | ||
1220 | <td class="paramname"> <em>bWrap</em></td><td> </td> | ||
1221 | </tr> | ||
1222 | <tr> | ||
1223 | <td></td> | ||
1224 | <td>)</td> | ||
1225 | <td></td><td></td><td width="100%"></td> | ||
1226 | </tr> | ||
1227 | </table> | ||
1228 | </div> | ||
1229 | <div class="memdoc"> | ||
1230 | |||
1231 | <p> | ||
1232 | Configures a dHeightfieldDataID to use a callback to retrieve height data. | ||
1233 | <p> | ||
1234 | Before a dHeightfieldDataID can be used by a geom it must be configured to specify the format of the height data. This call specifies that the heightfield data is computed by the user and it should use the given callback when determining the height of a given element of it's shape.<p> | ||
1235 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1236 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1237 | <tr><td valign="top"></td><td valign="top"><em>d</em> </td><td>A new dHeightfieldDataID created by dGeomHeightfieldDataCreate</td></tr> | ||
1238 | <tr><td valign="top"></td><td valign="top"><em>width</em> </td><td>Specifies the total 'width' of the heightfield along the geom's local x axis. </td></tr> | ||
1239 | <tr><td valign="top"></td><td valign="top"><em>depth</em> </td><td>Specifies the total 'depth' of the heightfield along the geom's local z axis.</td></tr> | ||
1240 | <tr><td valign="top"></td><td valign="top"><em>widthSamples</em> </td><td>Specifies the number of vertices to sample along the width of the heightfield. Each vertex has a corresponding height value which forms the overall shape. Naturally this value must be at least two or more. </td></tr> | ||
1241 | <tr><td valign="top"></td><td valign="top"><em>depthSamples</em> </td><td>Specifies the number of vertices to sample along the depth of the heightfield.</td></tr> | ||
1242 | <tr><td valign="top"></td><td valign="top"><em>scale</em> </td><td>A uniform scale applied to all raw height data. </td></tr> | ||
1243 | <tr><td valign="top"></td><td valign="top"><em>offset</em> </td><td>An offset applied to the scaled height data.</td></tr> | ||
1244 | <tr><td valign="top"></td><td valign="top"><em>thickness</em> </td><td>A value subtracted from the lowest height value which in effect adds an additional cuboid to the base of the heightfield. This is used to prevent geoms from looping under the desired terrain and not registering as a collision. Note that the thickness is not affected by the scale or offset parameters.</td></tr> | ||
1245 | <tr><td valign="top"></td><td valign="top"><em>bWrap</em> </td><td>If non-zero the heightfield will infinitely tile in both directions along the local x and z axes. If zero the heightfield is bounded from zero to width in the local x axis, and zero to depth in the local z axis. </td></tr> | ||
1246 | </table> | ||
1247 | </dl> | ||
1248 | |||
1249 | </div> | ||
1250 | </div><p> | ||
1251 | <a class="anchor" name="g98ec0c952b3b4e0fb3cd8cf66e267c86"></a><!-- doxytag: member="collision.h::dGeomHeightfieldDataBuildDouble" ref="g98ec0c952b3b4e0fb3cd8cf66e267c86" args="(dHeightfieldDataID d, const double *pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap)" --> | ||
1252 | <div class="memitem"> | ||
1253 | <div class="memproto"> | ||
1254 | <table class="memname"> | ||
1255 | <tr> | ||
1256 | <td class="memname">ODE_API void dGeomHeightfieldDataBuildDouble </td> | ||
1257 | <td>(</td> | ||
1258 | <td class="paramtype">dHeightfieldDataID </td> | ||
1259 | <td class="paramname"> <em>d</em>, </td> | ||
1260 | </tr> | ||
1261 | <tr> | ||
1262 | <td class="paramkey"></td> | ||
1263 | <td></td> | ||
1264 | <td class="paramtype">const double * </td> | ||
1265 | <td class="paramname"> <em>pHeightData</em>, </td> | ||
1266 | </tr> | ||
1267 | <tr> | ||
1268 | <td class="paramkey"></td> | ||
1269 | <td></td> | ||
1270 | <td class="paramtype">int </td> | ||
1271 | <td class="paramname"> <em>bCopyHeightData</em>, </td> | ||
1272 | </tr> | ||
1273 | <tr> | ||
1274 | <td class="paramkey"></td> | ||
1275 | <td></td> | ||
1276 | <td class="paramtype">dReal </td> | ||
1277 | <td class="paramname"> <em>width</em>, </td> | ||
1278 | </tr> | ||
1279 | <tr> | ||
1280 | <td class="paramkey"></td> | ||
1281 | <td></td> | ||
1282 | <td class="paramtype">dReal </td> | ||
1283 | <td class="paramname"> <em>depth</em>, </td> | ||
1284 | </tr> | ||
1285 | <tr> | ||
1286 | <td class="paramkey"></td> | ||
1287 | <td></td> | ||
1288 | <td class="paramtype">int </td> | ||
1289 | <td class="paramname"> <em>widthSamples</em>, </td> | ||
1290 | </tr> | ||
1291 | <tr> | ||
1292 | <td class="paramkey"></td> | ||
1293 | <td></td> | ||
1294 | <td class="paramtype">int </td> | ||
1295 | <td class="paramname"> <em>depthSamples</em>, </td> | ||
1296 | </tr> | ||
1297 | <tr> | ||
1298 | <td class="paramkey"></td> | ||
1299 | <td></td> | ||
1300 | <td class="paramtype">dReal </td> | ||
1301 | <td class="paramname"> <em>scale</em>, </td> | ||
1302 | </tr> | ||
1303 | <tr> | ||
1304 | <td class="paramkey"></td> | ||
1305 | <td></td> | ||
1306 | <td class="paramtype">dReal </td> | ||
1307 | <td class="paramname"> <em>offset</em>, </td> | ||
1308 | </tr> | ||
1309 | <tr> | ||
1310 | <td class="paramkey"></td> | ||
1311 | <td></td> | ||
1312 | <td class="paramtype">dReal </td> | ||
1313 | <td class="paramname"> <em>thickness</em>, </td> | ||
1314 | </tr> | ||
1315 | <tr> | ||
1316 | <td class="paramkey"></td> | ||
1317 | <td></td> | ||
1318 | <td class="paramtype">int </td> | ||
1319 | <td class="paramname"> <em>bWrap</em></td><td> </td> | ||
1320 | </tr> | ||
1321 | <tr> | ||
1322 | <td></td> | ||
1323 | <td>)</td> | ||
1324 | <td></td><td></td><td width="100%"></td> | ||
1325 | </tr> | ||
1326 | </table> | ||
1327 | </div> | ||
1328 | <div class="memdoc"> | ||
1329 | |||
1330 | <p> | ||
1331 | Configures a dHeightfieldDataID to use height data in double precision floating point format. | ||
1332 | <p> | ||
1333 | Before a dHeightfieldDataID can be used by a geom it must be configured to specify the format of the height data. This call specifies that the heightfield data is stored as a rectangular array of double precision floats representing the height at each sample point.<p> | ||
1334 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1335 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1336 | <tr><td valign="top"></td><td valign="top"><em>d</em> </td><td>A new dHeightfieldDataID created by dGeomHeightfieldDataCreate</td></tr> | ||
1337 | <tr><td valign="top"></td><td valign="top"><em>pHeightData</em> </td><td>A pointer to the height data. </td></tr> | ||
1338 | <tr><td valign="top"></td><td valign="top"><em>bCopyHeightData</em> </td><td>When non-zero the height data is copied to an internal store. When zero the height data is accessed by reference and so must persist throughout the lifetime of the heightfield.</td></tr> | ||
1339 | <tr><td valign="top"></td><td valign="top"><em>width</em> </td><td>Specifies the total 'width' of the heightfield along the geom's local x axis. </td></tr> | ||
1340 | <tr><td valign="top"></td><td valign="top"><em>depth</em> </td><td>Specifies the total 'depth' of the heightfield along the geom's local z axis.</td></tr> | ||
1341 | <tr><td valign="top"></td><td valign="top"><em>widthSamples</em> </td><td>Specifies the number of vertices to sample along the width of the heightfield. Each vertex has a corresponding height value which forms the overall shape. Naturally this value must be at least two or more. </td></tr> | ||
1342 | <tr><td valign="top"></td><td valign="top"><em>depthSamples</em> </td><td>Specifies the number of vertices to sample along the depth of the heightfield.</td></tr> | ||
1343 | <tr><td valign="top"></td><td valign="top"><em>scale</em> </td><td>A uniform scale applied to all raw height data. </td></tr> | ||
1344 | <tr><td valign="top"></td><td valign="top"><em>offset</em> </td><td>An offset applied to the scaled height data.</td></tr> | ||
1345 | <tr><td valign="top"></td><td valign="top"><em>thickness</em> </td><td>A value subtracted from the lowest height value which in effect adds an additional cuboid to the base of the heightfield. This is used to prevent geoms from looping under the desired terrain and not registering as a collision. Note that the thickness is not affected by the scale or offset parameters.</td></tr> | ||
1346 | <tr><td valign="top"></td><td valign="top"><em>bWrap</em> </td><td>If non-zero the heightfield will infinitely tile in both directions along the local x and z axes. If zero the heightfield is bounded from zero to width in the local x axis, and zero to depth in the local z axis. </td></tr> | ||
1347 | </table> | ||
1348 | </dl> | ||
1349 | |||
1350 | </div> | ||
1351 | </div><p> | ||
1352 | <a class="anchor" name="g2f7582d64cc8219141bc10efeca86d17"></a><!-- doxytag: member="collision.h::dGeomHeightfieldDataBuildShort" ref="g2f7582d64cc8219141bc10efeca86d17" args="(dHeightfieldDataID d, const short *pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap)" --> | ||
1353 | <div class="memitem"> | ||
1354 | <div class="memproto"> | ||
1355 | <table class="memname"> | ||
1356 | <tr> | ||
1357 | <td class="memname">ODE_API void dGeomHeightfieldDataBuildShort </td> | ||
1358 | <td>(</td> | ||
1359 | <td class="paramtype">dHeightfieldDataID </td> | ||
1360 | <td class="paramname"> <em>d</em>, </td> | ||
1361 | </tr> | ||
1362 | <tr> | ||
1363 | <td class="paramkey"></td> | ||
1364 | <td></td> | ||
1365 | <td class="paramtype">const short * </td> | ||
1366 | <td class="paramname"> <em>pHeightData</em>, </td> | ||
1367 | </tr> | ||
1368 | <tr> | ||
1369 | <td class="paramkey"></td> | ||
1370 | <td></td> | ||
1371 | <td class="paramtype">int </td> | ||
1372 | <td class="paramname"> <em>bCopyHeightData</em>, </td> | ||
1373 | </tr> | ||
1374 | <tr> | ||
1375 | <td class="paramkey"></td> | ||
1376 | <td></td> | ||
1377 | <td class="paramtype">dReal </td> | ||
1378 | <td class="paramname"> <em>width</em>, </td> | ||
1379 | </tr> | ||
1380 | <tr> | ||
1381 | <td class="paramkey"></td> | ||
1382 | <td></td> | ||
1383 | <td class="paramtype">dReal </td> | ||
1384 | <td class="paramname"> <em>depth</em>, </td> | ||
1385 | </tr> | ||
1386 | <tr> | ||
1387 | <td class="paramkey"></td> | ||
1388 | <td></td> | ||
1389 | <td class="paramtype">int </td> | ||
1390 | <td class="paramname"> <em>widthSamples</em>, </td> | ||
1391 | </tr> | ||
1392 | <tr> | ||
1393 | <td class="paramkey"></td> | ||
1394 | <td></td> | ||
1395 | <td class="paramtype">int </td> | ||
1396 | <td class="paramname"> <em>depthSamples</em>, </td> | ||
1397 | </tr> | ||
1398 | <tr> | ||
1399 | <td class="paramkey"></td> | ||
1400 | <td></td> | ||
1401 | <td class="paramtype">dReal </td> | ||
1402 | <td class="paramname"> <em>scale</em>, </td> | ||
1403 | </tr> | ||
1404 | <tr> | ||
1405 | <td class="paramkey"></td> | ||
1406 | <td></td> | ||
1407 | <td class="paramtype">dReal </td> | ||
1408 | <td class="paramname"> <em>offset</em>, </td> | ||
1409 | </tr> | ||
1410 | <tr> | ||
1411 | <td class="paramkey"></td> | ||
1412 | <td></td> | ||
1413 | <td class="paramtype">dReal </td> | ||
1414 | <td class="paramname"> <em>thickness</em>, </td> | ||
1415 | </tr> | ||
1416 | <tr> | ||
1417 | <td class="paramkey"></td> | ||
1418 | <td></td> | ||
1419 | <td class="paramtype">int </td> | ||
1420 | <td class="paramname"> <em>bWrap</em></td><td> </td> | ||
1421 | </tr> | ||
1422 | <tr> | ||
1423 | <td></td> | ||
1424 | <td>)</td> | ||
1425 | <td></td><td></td><td width="100%"></td> | ||
1426 | </tr> | ||
1427 | </table> | ||
1428 | </div> | ||
1429 | <div class="memdoc"> | ||
1430 | |||
1431 | <p> | ||
1432 | Configures a dHeightfieldDataID to use height data in short format. | ||
1433 | <p> | ||
1434 | Before a dHeightfieldDataID can be used by a geom it must be configured to specify the format of the height data. This call specifies that the heightfield data is stored as a rectangular array of shorts (16 bit signed) representing the height at each sample point.<p> | ||
1435 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1436 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1437 | <tr><td valign="top"></td><td valign="top"><em>d</em> </td><td>A new dHeightfieldDataID created by dGeomHeightfieldDataCreate</td></tr> | ||
1438 | <tr><td valign="top"></td><td valign="top"><em>pHeightData</em> </td><td>A pointer to the height data. </td></tr> | ||
1439 | <tr><td valign="top"></td><td valign="top"><em>bCopyHeightData</em> </td><td>When non-zero the height data is copied to an internal store. When zero the height data is accessed by reference and so must persist throughout the lifetime of the heightfield.</td></tr> | ||
1440 | <tr><td valign="top"></td><td valign="top"><em>width</em> </td><td>Specifies the total 'width' of the heightfield along the geom's local x axis. </td></tr> | ||
1441 | <tr><td valign="top"></td><td valign="top"><em>depth</em> </td><td>Specifies the total 'depth' of the heightfield along the geom's local z axis.</td></tr> | ||
1442 | <tr><td valign="top"></td><td valign="top"><em>widthSamples</em> </td><td>Specifies the number of vertices to sample along the width of the heightfield. Each vertex has a corresponding height value which forms the overall shape. Naturally this value must be at least two or more. </td></tr> | ||
1443 | <tr><td valign="top"></td><td valign="top"><em>depthSamples</em> </td><td>Specifies the number of vertices to sample along the depth of the heightfield.</td></tr> | ||
1444 | <tr><td valign="top"></td><td valign="top"><em>scale</em> </td><td>A uniform scale applied to all raw height data. </td></tr> | ||
1445 | <tr><td valign="top"></td><td valign="top"><em>offset</em> </td><td>An offset applied to the scaled height data.</td></tr> | ||
1446 | <tr><td valign="top"></td><td valign="top"><em>thickness</em> </td><td>A value subtracted from the lowest height value which in effect adds an additional cuboid to the base of the heightfield. This is used to prevent geoms from looping under the desired terrain and not registering as a collision. Note that the thickness is not affected by the scale or offset parameters.</td></tr> | ||
1447 | <tr><td valign="top"></td><td valign="top"><em>bWrap</em> </td><td>If non-zero the heightfield will infinitely tile in both directions along the local x and z axes. If zero the heightfield is bounded from zero to width in the local x axis, and zero to depth in the local z axis. </td></tr> | ||
1448 | </table> | ||
1449 | </dl> | ||
1450 | |||
1451 | </div> | ||
1452 | </div><p> | ||
1453 | <a class="anchor" name="g8da529419317e7bd4e01dabbe94daa09"></a><!-- doxytag: member="collision.h::dGeomHeightfieldDataBuildSingle" ref="g8da529419317e7bd4e01dabbe94daa09" args="(dHeightfieldDataID d, const float *pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap)" --> | ||
1454 | <div class="memitem"> | ||
1455 | <div class="memproto"> | ||
1456 | <table class="memname"> | ||
1457 | <tr> | ||
1458 | <td class="memname">ODE_API void dGeomHeightfieldDataBuildSingle </td> | ||
1459 | <td>(</td> | ||
1460 | <td class="paramtype">dHeightfieldDataID </td> | ||
1461 | <td class="paramname"> <em>d</em>, </td> | ||
1462 | </tr> | ||
1463 | <tr> | ||
1464 | <td class="paramkey"></td> | ||
1465 | <td></td> | ||
1466 | <td class="paramtype">const float * </td> | ||
1467 | <td class="paramname"> <em>pHeightData</em>, </td> | ||
1468 | </tr> | ||
1469 | <tr> | ||
1470 | <td class="paramkey"></td> | ||
1471 | <td></td> | ||
1472 | <td class="paramtype">int </td> | ||
1473 | <td class="paramname"> <em>bCopyHeightData</em>, </td> | ||
1474 | </tr> | ||
1475 | <tr> | ||
1476 | <td class="paramkey"></td> | ||
1477 | <td></td> | ||
1478 | <td class="paramtype">dReal </td> | ||
1479 | <td class="paramname"> <em>width</em>, </td> | ||
1480 | </tr> | ||
1481 | <tr> | ||
1482 | <td class="paramkey"></td> | ||
1483 | <td></td> | ||
1484 | <td class="paramtype">dReal </td> | ||
1485 | <td class="paramname"> <em>depth</em>, </td> | ||
1486 | </tr> | ||
1487 | <tr> | ||
1488 | <td class="paramkey"></td> | ||
1489 | <td></td> | ||
1490 | <td class="paramtype">int </td> | ||
1491 | <td class="paramname"> <em>widthSamples</em>, </td> | ||
1492 | </tr> | ||
1493 | <tr> | ||
1494 | <td class="paramkey"></td> | ||
1495 | <td></td> | ||
1496 | <td class="paramtype">int </td> | ||
1497 | <td class="paramname"> <em>depthSamples</em>, </td> | ||
1498 | </tr> | ||
1499 | <tr> | ||
1500 | <td class="paramkey"></td> | ||
1501 | <td></td> | ||
1502 | <td class="paramtype">dReal </td> | ||
1503 | <td class="paramname"> <em>scale</em>, </td> | ||
1504 | </tr> | ||
1505 | <tr> | ||
1506 | <td class="paramkey"></td> | ||
1507 | <td></td> | ||
1508 | <td class="paramtype">dReal </td> | ||
1509 | <td class="paramname"> <em>offset</em>, </td> | ||
1510 | </tr> | ||
1511 | <tr> | ||
1512 | <td class="paramkey"></td> | ||
1513 | <td></td> | ||
1514 | <td class="paramtype">dReal </td> | ||
1515 | <td class="paramname"> <em>thickness</em>, </td> | ||
1516 | </tr> | ||
1517 | <tr> | ||
1518 | <td class="paramkey"></td> | ||
1519 | <td></td> | ||
1520 | <td class="paramtype">int </td> | ||
1521 | <td class="paramname"> <em>bWrap</em></td><td> </td> | ||
1522 | </tr> | ||
1523 | <tr> | ||
1524 | <td></td> | ||
1525 | <td>)</td> | ||
1526 | <td></td><td></td><td width="100%"></td> | ||
1527 | </tr> | ||
1528 | </table> | ||
1529 | </div> | ||
1530 | <div class="memdoc"> | ||
1531 | |||
1532 | <p> | ||
1533 | Configures a dHeightfieldDataID to use height data in single precision floating point format. | ||
1534 | <p> | ||
1535 | Before a dHeightfieldDataID can be used by a geom it must be configured to specify the format of the height data. This call specifies that the heightfield data is stored as a rectangular array of single precision floats representing the height at each sample point.<p> | ||
1536 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1537 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1538 | <tr><td valign="top"></td><td valign="top"><em>d</em> </td><td>A new dHeightfieldDataID created by dGeomHeightfieldDataCreate</td></tr> | ||
1539 | <tr><td valign="top"></td><td valign="top"><em>pHeightData</em> </td><td>A pointer to the height data. </td></tr> | ||
1540 | <tr><td valign="top"></td><td valign="top"><em>bCopyHeightData</em> </td><td>When non-zero the height data is copied to an internal store. When zero the height data is accessed by reference and so must persist throughout the lifetime of the heightfield.</td></tr> | ||
1541 | <tr><td valign="top"></td><td valign="top"><em>width</em> </td><td>Specifies the total 'width' of the heightfield along the geom's local x axis. </td></tr> | ||
1542 | <tr><td valign="top"></td><td valign="top"><em>depth</em> </td><td>Specifies the total 'depth' of the heightfield along the geom's local z axis.</td></tr> | ||
1543 | <tr><td valign="top"></td><td valign="top"><em>widthSamples</em> </td><td>Specifies the number of vertices to sample along the width of the heightfield. Each vertex has a corresponding height value which forms the overall shape. Naturally this value must be at least two or more. </td></tr> | ||
1544 | <tr><td valign="top"></td><td valign="top"><em>depthSamples</em> </td><td>Specifies the number of vertices to sample along the depth of the heightfield.</td></tr> | ||
1545 | <tr><td valign="top"></td><td valign="top"><em>scale</em> </td><td>A uniform scale applied to all raw height data. </td></tr> | ||
1546 | <tr><td valign="top"></td><td valign="top"><em>offset</em> </td><td>An offset applied to the scaled height data.</td></tr> | ||
1547 | <tr><td valign="top"></td><td valign="top"><em>thickness</em> </td><td>A value subtracted from the lowest height value which in effect adds an additional cuboid to the base of the heightfield. This is used to prevent geoms from looping under the desired terrain and not registering as a collision. Note that the thickness is not affected by the scale or offset parameters.</td></tr> | ||
1548 | <tr><td valign="top"></td><td valign="top"><em>bWrap</em> </td><td>If non-zero the heightfield will infinitely tile in both directions along the local x and z axes. If zero the heightfield is bounded from zero to width in the local x axis, and zero to depth in the local z axis. </td></tr> | ||
1549 | </table> | ||
1550 | </dl> | ||
1551 | |||
1552 | </div> | ||
1553 | </div><p> | ||
1554 | <a class="anchor" name="g7de82d5cf9aa10bb3144d51f4360eea1"></a><!-- doxytag: member="collision.h::dGeomHeightfieldDataCreate" ref="g7de82d5cf9aa10bb3144d51f4360eea1" args="()" --> | ||
1555 | <div class="memitem"> | ||
1556 | <div class="memproto"> | ||
1557 | <table class="memname"> | ||
1558 | <tr> | ||
1559 | <td class="memname">ODE_API dHeightfieldDataID dGeomHeightfieldDataCreate </td> | ||
1560 | <td>(</td> | ||
1561 | <td class="paramname"> </td> | ||
1562 | <td> ) </td> | ||
1563 | <td width="100%"></td> | ||
1564 | </tr> | ||
1565 | </table> | ||
1566 | </div> | ||
1567 | <div class="memdoc"> | ||
1568 | |||
1569 | <p> | ||
1570 | Creates a new empty dHeightfieldDataID. | ||
1571 | <p> | ||
1572 | Allocates a new dHeightfieldDataID and returns it. You must call dGeomHeightfieldDataDestroy to destroy it after the geom has been removed. The dHeightfieldDataID value is used when specifying a data format type.<p> | ||
1573 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>A dHeightfieldDataID for use with dGeomHeightfieldDataBuildCallback, dGeomHeightfieldDataBuildByte, dGeomHeightfieldDataBuildShort or dGeomHeightfieldDataBuildFloat. </dd></dl> | ||
1574 | |||
1575 | </div> | ||
1576 | </div><p> | ||
1577 | <a class="anchor" name="gf98fc1f3d1784df5a5dff114b483d408"></a><!-- doxytag: member="collision.h::dGeomHeightfieldDataDestroy" ref="gf98fc1f3d1784df5a5dff114b483d408" args="(dHeightfieldDataID d)" --> | ||
1578 | <div class="memitem"> | ||
1579 | <div class="memproto"> | ||
1580 | <table class="memname"> | ||
1581 | <tr> | ||
1582 | <td class="memname">ODE_API void dGeomHeightfieldDataDestroy </td> | ||
1583 | <td>(</td> | ||
1584 | <td class="paramtype">dHeightfieldDataID </td> | ||
1585 | <td class="paramname"> <em>d</em> </td> | ||
1586 | <td> ) </td> | ||
1587 | <td width="100%"></td> | ||
1588 | </tr> | ||
1589 | </table> | ||
1590 | </div> | ||
1591 | <div class="memdoc"> | ||
1592 | |||
1593 | <p> | ||
1594 | Destroys a dHeightfieldDataID. | ||
1595 | <p> | ||
1596 | Deallocates a given dHeightfieldDataID and all managed resources.<p> | ||
1597 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1598 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1599 | <tr><td valign="top"></td><td valign="top"><em>d</em> </td><td>A dHeightfieldDataID created by dGeomHeightfieldDataCreate </td></tr> | ||
1600 | </table> | ||
1601 | </dl> | ||
1602 | |||
1603 | </div> | ||
1604 | </div><p> | ||
1605 | <a class="anchor" name="gcdef420e65e3751388b315f5de2804b2"></a><!-- doxytag: member="collision.h::dGeomHeightfieldDataSetBounds" ref="gcdef420e65e3751388b315f5de2804b2" args="(dHeightfieldDataID d, dReal minHeight, dReal maxHeight)" --> | ||
1606 | <div class="memitem"> | ||
1607 | <div class="memproto"> | ||
1608 | <table class="memname"> | ||
1609 | <tr> | ||
1610 | <td class="memname">ODE_API void dGeomHeightfieldDataSetBounds </td> | ||
1611 | <td>(</td> | ||
1612 | <td class="paramtype">dHeightfieldDataID </td> | ||
1613 | <td class="paramname"> <em>d</em>, </td> | ||
1614 | </tr> | ||
1615 | <tr> | ||
1616 | <td class="paramkey"></td> | ||
1617 | <td></td> | ||
1618 | <td class="paramtype">dReal </td> | ||
1619 | <td class="paramname"> <em>minHeight</em>, </td> | ||
1620 | </tr> | ||
1621 | <tr> | ||
1622 | <td class="paramkey"></td> | ||
1623 | <td></td> | ||
1624 | <td class="paramtype">dReal </td> | ||
1625 | <td class="paramname"> <em>maxHeight</em></td><td> </td> | ||
1626 | </tr> | ||
1627 | <tr> | ||
1628 | <td></td> | ||
1629 | <td>)</td> | ||
1630 | <td></td><td></td><td width="100%"></td> | ||
1631 | </tr> | ||
1632 | </table> | ||
1633 | </div> | ||
1634 | <div class="memdoc"> | ||
1635 | |||
1636 | <p> | ||
1637 | Manually set the minimum and maximum height bounds. | ||
1638 | <p> | ||
1639 | This call allows you to set explicit min / max values after initial creation typically for callback heightfields which default to +/- infinity, or those whose data has changed. This must be set prior to binding with a geom, as the the AABB is not recomputed after it's first generation.<p> | ||
1640 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The minimum and maximum values are used to compute the AABB for the heightfield which is used for early rejection of collisions. A close fit will yield a more efficient collision check.</dd></dl> | ||
1641 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1642 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1643 | <tr><td valign="top"></td><td valign="top"><em>d</em> </td><td>A dHeightfieldDataID created by dGeomHeightfieldDataCreate </td></tr> | ||
1644 | <tr><td valign="top"></td><td valign="top"><em>min_height</em> </td><td>The new minimum height value. Scale, offset and thickness is then applied. </td></tr> | ||
1645 | <tr><td valign="top"></td><td valign="top"><em>max_height</em> </td><td>The new maximum height value. Scale and offset is then applied. </td></tr> | ||
1646 | </table> | ||
1647 | </dl> | ||
1648 | |||
1649 | </div> | ||
1650 | </div><p> | ||
1651 | <a class="anchor" name="g747176d26ce4f9b10ebfa6c865ef1cca"></a><!-- doxytag: member="collision.h::dGeomHeightfieldGetHeightfieldData" ref="g747176d26ce4f9b10ebfa6c865ef1cca" args="(dGeomID g)" --> | ||
1652 | <div class="memitem"> | ||
1653 | <div class="memproto"> | ||
1654 | <table class="memname"> | ||
1655 | <tr> | ||
1656 | <td class="memname">ODE_API dHeightfieldDataID dGeomHeightfieldGetHeightfieldData </td> | ||
1657 | <td>(</td> | ||
1658 | <td class="paramtype">dGeomID </td> | ||
1659 | <td class="paramname"> <em>g</em> </td> | ||
1660 | <td> ) </td> | ||
1661 | <td width="100%"></td> | ||
1662 | </tr> | ||
1663 | </table> | ||
1664 | </div> | ||
1665 | <div class="memdoc"> | ||
1666 | |||
1667 | <p> | ||
1668 | Gets the dHeightfieldDataID bound to a heightfield geom. | ||
1669 | <p> | ||
1670 | Returns the dHeightfieldDataID associated with a heightfield geom.<p> | ||
1671 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1672 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1673 | <tr><td valign="top"></td><td valign="top"><em>g</em> </td><td>A geom created by dCreateHeightfield </td></tr> | ||
1674 | </table> | ||
1675 | </dl> | ||
1676 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>The dHeightfieldDataID which may be NULL if none was assigned. </dd></dl> | ||
1677 | |||
1678 | </div> | ||
1679 | </div><p> | ||
1680 | <a class="anchor" name="g6c1ae1f3ca652d6410e7804cdf8f8491"></a><!-- doxytag: member="collision.h::dGeomHeightfieldSetHeightfieldData" ref="g6c1ae1f3ca652d6410e7804cdf8f8491" args="(dGeomID g, dHeightfieldDataID d)" --> | ||
1681 | <div class="memitem"> | ||
1682 | <div class="memproto"> | ||
1683 | <table class="memname"> | ||
1684 | <tr> | ||
1685 | <td class="memname">ODE_API void dGeomHeightfieldSetHeightfieldData </td> | ||
1686 | <td>(</td> | ||
1687 | <td class="paramtype">dGeomID </td> | ||
1688 | <td class="paramname"> <em>g</em>, </td> | ||
1689 | </tr> | ||
1690 | <tr> | ||
1691 | <td class="paramkey"></td> | ||
1692 | <td></td> | ||
1693 | <td class="paramtype">dHeightfieldDataID </td> | ||
1694 | <td class="paramname"> <em>d</em></td><td> </td> | ||
1695 | </tr> | ||
1696 | <tr> | ||
1697 | <td></td> | ||
1698 | <td>)</td> | ||
1699 | <td></td><td></td><td width="100%"></td> | ||
1700 | </tr> | ||
1701 | </table> | ||
1702 | </div> | ||
1703 | <div class="memdoc"> | ||
1704 | |||
1705 | <p> | ||
1706 | Assigns a dHeightfieldDataID to a heightfield geom. | ||
1707 | <p> | ||
1708 | Associates the given dHeightfieldDataID with a heightfield geom. This is done without affecting the GEOM_PLACEABLE flag.<p> | ||
1709 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1710 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1711 | <tr><td valign="top"></td><td valign="top"><em>g</em> </td><td>A geom created by dCreateHeightfield </td></tr> | ||
1712 | <tr><td valign="top"></td><td valign="top"><em>d</em> </td><td>A dHeightfieldDataID created by dGeomHeightfieldDataCreate </td></tr> | ||
1713 | </table> | ||
1714 | </dl> | ||
1715 | |||
1716 | </div> | ||
1717 | </div><p> | ||
1718 | <a class="anchor" name="g6533d33f870cf0fb6684ec05e5c0562e"></a><!-- doxytag: member="collision.h::dGeomIsEnabled" ref="g6533d33f870cf0fb6684ec05e5c0562e" args="(dGeomID geom)" --> | ||
1719 | <div class="memitem"> | ||
1720 | <div class="memproto"> | ||
1721 | <table class="memname"> | ||
1722 | <tr> | ||
1723 | <td class="memname">ODE_API int dGeomIsEnabled </td> | ||
1724 | <td>(</td> | ||
1725 | <td class="paramtype">dGeomID </td> | ||
1726 | <td class="paramname"> <em>geom</em> </td> | ||
1727 | <td> ) </td> | ||
1728 | <td width="100%"></td> | ||
1729 | </tr> | ||
1730 | </table> | ||
1731 | </div> | ||
1732 | <div class="memdoc"> | ||
1733 | |||
1734 | <p> | ||
1735 | Check to see if a geom is enabled. | ||
1736 | <p> | ||
1737 | Disabled geoms are completely ignored by dSpaceCollide and dSpaceCollide2, although they can still be members of a space. New geoms are created in the enabled state.<p> | ||
1738 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1739 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1740 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to query </td></tr> | ||
1741 | </table> | ||
1742 | </dl> | ||
1743 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>Non-zero if the geom is enabled, zero otherwise. </dd></dl> | ||
1744 | <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__collide.html#g6cb32b4161435fe491859680b463fc12" title="Disable a geom.">dGeomDisable</a> <p> | ||
1745 | <a class="el" href="group__collide.html#g6533d33f870cf0fb6684ec05e5c0562e" title="Check to see if a geom is enabled.">dGeomIsEnabled</a> </dd></dl> | ||
1746 | |||
1747 | </div> | ||
1748 | </div><p> | ||
1749 | <a class="anchor" name="g46260e0668373aa600b1cf8f83276e10"></a><!-- doxytag: member="collision.h::dGeomIsOffset" ref="g46260e0668373aa600b1cf8f83276e10" args="(dGeomID geom)" --> | ||
1750 | <div class="memitem"> | ||
1751 | <div class="memproto"> | ||
1752 | <table class="memname"> | ||
1753 | <tr> | ||
1754 | <td class="memname">ODE_API int dGeomIsOffset </td> | ||
1755 | <td>(</td> | ||
1756 | <td class="paramtype">dGeomID </td> | ||
1757 | <td class="paramname"> <em>geom</em> </td> | ||
1758 | <td> ) </td> | ||
1759 | <td width="100%"></td> | ||
1760 | </tr> | ||
1761 | </table> | ||
1762 | </div> | ||
1763 | <div class="memdoc"> | ||
1764 | |||
1765 | <p> | ||
1766 | Check to see whether the geom has an offset. | ||
1767 | <p> | ||
1768 | This function will return non-zero if the offset has been created. Note that there is a difference between a geom with no offset, and a geom with an offset that is the identity transform. In the latter case, although the observed behaviour is identical, there is a unnecessary computation involved because the geom will be applying the transform whenever it needs to recalculate its world position.<p> | ||
1769 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1770 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1771 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to query. </td></tr> | ||
1772 | </table> | ||
1773 | </dl> | ||
1774 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>Non-zero if the geom has an offset, zero otherwise. </dd></dl> | ||
1775 | |||
1776 | </div> | ||
1777 | </div><p> | ||
1778 | <a class="anchor" name="ge5a58bdc78fb4f163a0e9c3ecabf64c9"></a><!-- doxytag: member="collision.h::dGeomIsSpace" ref="ge5a58bdc78fb4f163a0e9c3ecabf64c9" args="(dGeomID geom)" --> | ||
1779 | <div class="memitem"> | ||
1780 | <div class="memproto"> | ||
1781 | <table class="memname"> | ||
1782 | <tr> | ||
1783 | <td class="memname">ODE_API int dGeomIsSpace </td> | ||
1784 | <td>(</td> | ||
1785 | <td class="paramtype">dGeomID </td> | ||
1786 | <td class="paramname"> <em>geom</em> </td> | ||
1787 | <td> ) </td> | ||
1788 | <td width="100%"></td> | ||
1789 | </tr> | ||
1790 | </table> | ||
1791 | </div> | ||
1792 | <div class="memdoc"> | ||
1793 | |||
1794 | <p> | ||
1795 | Determing if a geom is a space. | ||
1796 | <p> | ||
1797 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1798 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1799 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to query </td></tr> | ||
1800 | </table> | ||
1801 | </dl> | ||
1802 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>Non-zero if the geom is a space, zero otherwise. </dd></dl> | ||
1803 | |||
1804 | </div> | ||
1805 | </div><p> | ||
1806 | <a class="anchor" name="g97cad1194789477eac19fe364d986505"></a><!-- doxytag: member="collision.h::dGeomSetBody" ref="g97cad1194789477eac19fe364d986505" args="(dGeomID geom, dBodyID body)" --> | ||
1807 | <div class="memitem"> | ||
1808 | <div class="memproto"> | ||
1809 | <table class="memname"> | ||
1810 | <tr> | ||
1811 | <td class="memname">ODE_API void dGeomSetBody </td> | ||
1812 | <td>(</td> | ||
1813 | <td class="paramtype">dGeomID </td> | ||
1814 | <td class="paramname"> <em>geom</em>, </td> | ||
1815 | </tr> | ||
1816 | <tr> | ||
1817 | <td class="paramkey"></td> | ||
1818 | <td></td> | ||
1819 | <td class="paramtype">dBodyID </td> | ||
1820 | <td class="paramname"> <em>body</em></td><td> </td> | ||
1821 | </tr> | ||
1822 | <tr> | ||
1823 | <td></td> | ||
1824 | <td>)</td> | ||
1825 | <td></td><td></td><td width="100%"></td> | ||
1826 | </tr> | ||
1827 | </table> | ||
1828 | </div> | ||
1829 | <div class="memdoc"> | ||
1830 | |||
1831 | <p> | ||
1832 | Set the body associated with a placeable geom. | ||
1833 | <p> | ||
1834 | Setting a body on a geom automatically combines the position vector and rotation matrix of the body and geom, so that setting the position or orientation of one will set the value for both objects. Setting a body ID of zero gives the geom its own position and rotation, independent from any body. If the geom was previously connected to a body then its new independent position/rotation is set to the current position/rotation of the body.<p> | ||
1835 | Calling these functions on a non-placeable geom results in a runtime error in the debug build of ODE.<p> | ||
1836 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1837 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1838 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to connect </td></tr> | ||
1839 | <tr><td valign="top"></td><td valign="top"><em>body</em> </td><td>the body to attach to the geom </td></tr> | ||
1840 | </table> | ||
1841 | </dl> | ||
1842 | |||
1843 | </div> | ||
1844 | </div><p> | ||
1845 | <a class="anchor" name="g80fd5741701eb48472521780d5e2f9b9"></a><!-- doxytag: member="collision.h::dGeomSetCategoryBits" ref="g80fd5741701eb48472521780d5e2f9b9" args="(dGeomID geom, unsigned long bits)" --> | ||
1846 | <div class="memitem"> | ||
1847 | <div class="memproto"> | ||
1848 | <table class="memname"> | ||
1849 | <tr> | ||
1850 | <td class="memname">ODE_API void dGeomSetCategoryBits </td> | ||
1851 | <td>(</td> | ||
1852 | <td class="paramtype">dGeomID </td> | ||
1853 | <td class="paramname"> <em>geom</em>, </td> | ||
1854 | </tr> | ||
1855 | <tr> | ||
1856 | <td class="paramkey"></td> | ||
1857 | <td></td> | ||
1858 | <td class="paramtype">unsigned long </td> | ||
1859 | <td class="paramname"> <em>bits</em></td><td> </td> | ||
1860 | </tr> | ||
1861 | <tr> | ||
1862 | <td></td> | ||
1863 | <td>)</td> | ||
1864 | <td></td><td></td><td width="100%"></td> | ||
1865 | </tr> | ||
1866 | </table> | ||
1867 | </div> | ||
1868 | <div class="memdoc"> | ||
1869 | |||
1870 | <p> | ||
1871 | Set the "category" bitfield for the given geom. | ||
1872 | <p> | ||
1873 | The category bitfield is used by spaces to govern which geoms will interact with each other. The bitfield is guaranteed to be at least 32 bits wide. The default category values for newly created geoms have all bits set.<p> | ||
1874 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1875 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1876 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to set </td></tr> | ||
1877 | <tr><td valign="top"></td><td valign="top"><em>bits</em> </td><td>the new bitfield value </td></tr> | ||
1878 | </table> | ||
1879 | </dl> | ||
1880 | |||
1881 | </div> | ||
1882 | </div><p> | ||
1883 | <a class="anchor" name="ga55b4de01a61be41668685857b78455d"></a><!-- doxytag: member="collision.h::dGeomSetCollideBits" ref="ga55b4de01a61be41668685857b78455d" args="(dGeomID geom, unsigned long bits)" --> | ||
1884 | <div class="memitem"> | ||
1885 | <div class="memproto"> | ||
1886 | <table class="memname"> | ||
1887 | <tr> | ||
1888 | <td class="memname">ODE_API void dGeomSetCollideBits </td> | ||
1889 | <td>(</td> | ||
1890 | <td class="paramtype">dGeomID </td> | ||
1891 | <td class="paramname"> <em>geom</em>, </td> | ||
1892 | </tr> | ||
1893 | <tr> | ||
1894 | <td class="paramkey"></td> | ||
1895 | <td></td> | ||
1896 | <td class="paramtype">unsigned long </td> | ||
1897 | <td class="paramname"> <em>bits</em></td><td> </td> | ||
1898 | </tr> | ||
1899 | <tr> | ||
1900 | <td></td> | ||
1901 | <td>)</td> | ||
1902 | <td></td><td></td><td width="100%"></td> | ||
1903 | </tr> | ||
1904 | </table> | ||
1905 | </div> | ||
1906 | <div class="memdoc"> | ||
1907 | |||
1908 | <p> | ||
1909 | Set the "collide" bitfield for the given geom. | ||
1910 | <p> | ||
1911 | The collide bitfield is used by spaces to govern which geoms will interact with each other. The bitfield is guaranteed to be at least 32 bits wide. The default category values for newly created geoms have all bits set.<p> | ||
1912 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1913 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1914 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to set </td></tr> | ||
1915 | <tr><td valign="top"></td><td valign="top"><em>bits</em> </td><td>the new bitfield value </td></tr> | ||
1916 | </table> | ||
1917 | </dl> | ||
1918 | |||
1919 | </div> | ||
1920 | </div><p> | ||
1921 | <a class="anchor" name="gf68eb443d5c66ab1aaa8a7d38d1dbc4f"></a><!-- doxytag: member="collision.h::dGeomSetData" ref="gf68eb443d5c66ab1aaa8a7d38d1dbc4f" args="(dGeomID geom, void *data)" --> | ||
1922 | <div class="memitem"> | ||
1923 | <div class="memproto"> | ||
1924 | <table class="memname"> | ||
1925 | <tr> | ||
1926 | <td class="memname">ODE_API void dGeomSetData </td> | ||
1927 | <td>(</td> | ||
1928 | <td class="paramtype">dGeomID </td> | ||
1929 | <td class="paramname"> <em>geom</em>, </td> | ||
1930 | </tr> | ||
1931 | <tr> | ||
1932 | <td class="paramkey"></td> | ||
1933 | <td></td> | ||
1934 | <td class="paramtype">void * </td> | ||
1935 | <td class="paramname"> <em>data</em></td><td> </td> | ||
1936 | </tr> | ||
1937 | <tr> | ||
1938 | <td></td> | ||
1939 | <td>)</td> | ||
1940 | <td></td><td></td><td width="100%"></td> | ||
1941 | </tr> | ||
1942 | </table> | ||
1943 | </div> | ||
1944 | <div class="memdoc"> | ||
1945 | |||
1946 | <p> | ||
1947 | Set the user-defined data pointer stored in the geom. | ||
1948 | <p> | ||
1949 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1950 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1951 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to hold the data </td></tr> | ||
1952 | <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>the data pointer to be stored </td></tr> | ||
1953 | </table> | ||
1954 | </dl> | ||
1955 | |||
1956 | </div> | ||
1957 | </div><p> | ||
1958 | <a class="anchor" name="gdc292bc01d5bed32f145ee42760d73b4"></a><!-- doxytag: member="collision.h::dGeomSetOffsetPosition" ref="gdc292bc01d5bed32f145ee42760d73b4" args="(dGeomID geom, dReal x, dReal y, dReal z)" --> | ||
1959 | <div class="memitem"> | ||
1960 | <div class="memproto"> | ||
1961 | <table class="memname"> | ||
1962 | <tr> | ||
1963 | <td class="memname">ODE_API void dGeomSetOffsetPosition </td> | ||
1964 | <td>(</td> | ||
1965 | <td class="paramtype">dGeomID </td> | ||
1966 | <td class="paramname"> <em>geom</em>, </td> | ||
1967 | </tr> | ||
1968 | <tr> | ||
1969 | <td class="paramkey"></td> | ||
1970 | <td></td> | ||
1971 | <td class="paramtype">dReal </td> | ||
1972 | <td class="paramname"> <em>x</em>, </td> | ||
1973 | </tr> | ||
1974 | <tr> | ||
1975 | <td class="paramkey"></td> | ||
1976 | <td></td> | ||
1977 | <td class="paramtype">dReal </td> | ||
1978 | <td class="paramname"> <em>y</em>, </td> | ||
1979 | </tr> | ||
1980 | <tr> | ||
1981 | <td class="paramkey"></td> | ||
1982 | <td></td> | ||
1983 | <td class="paramtype">dReal </td> | ||
1984 | <td class="paramname"> <em>z</em></td><td> </td> | ||
1985 | </tr> | ||
1986 | <tr> | ||
1987 | <td></td> | ||
1988 | <td>)</td> | ||
1989 | <td></td><td></td><td width="100%"></td> | ||
1990 | </tr> | ||
1991 | </table> | ||
1992 | </div> | ||
1993 | <div class="memdoc"> | ||
1994 | |||
1995 | <p> | ||
1996 | Set the local offset position of a geom from its body. | ||
1997 | <p> | ||
1998 | Sets the geom's positional offset in local coordinates. After this call, the geom will be at a new position determined from the body's position and the offset. The geom must be attached to a body. If the geom did not have an offset, it is automatically created.<p> | ||
1999 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
2000 | <table border="0" cellspacing="2" cellpadding="0"> | ||
2001 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to set. </td></tr> | ||
2002 | <tr><td valign="top"></td><td valign="top"><em>x</em> </td><td>the new X coordinate. </td></tr> | ||
2003 | <tr><td valign="top"></td><td valign="top"><em>y</em> </td><td>the new Y coordinate. </td></tr> | ||
2004 | <tr><td valign="top"></td><td valign="top"><em>z</em> </td><td>the new Z coordinate. </td></tr> | ||
2005 | </table> | ||
2006 | </dl> | ||
2007 | |||
2008 | </div> | ||
2009 | </div><p> | ||
2010 | <a class="anchor" name="g9eba87b7598eb6b3a9b6bde1abbeaa1a"></a><!-- doxytag: member="collision.h::dGeomSetOffsetQuaternion" ref="g9eba87b7598eb6b3a9b6bde1abbeaa1a" args="(dGeomID geom, const dQuaternion Q)" --> | ||
2011 | <div class="memitem"> | ||
2012 | <div class="memproto"> | ||
2013 | <table class="memname"> | ||
2014 | <tr> | ||
2015 | <td class="memname">ODE_API void dGeomSetOffsetQuaternion </td> | ||
2016 | <td>(</td> | ||
2017 | <td class="paramtype">dGeomID </td> | ||
2018 | <td class="paramname"> <em>geom</em>, </td> | ||
2019 | </tr> | ||
2020 | <tr> | ||
2021 | <td class="paramkey"></td> | ||
2022 | <td></td> | ||
2023 | <td class="paramtype">const dQuaternion </td> | ||
2024 | <td class="paramname"> <em>Q</em></td><td> </td> | ||
2025 | </tr> | ||
2026 | <tr> | ||
2027 | <td></td> | ||
2028 | <td>)</td> | ||
2029 | <td></td><td></td><td width="100%"></td> | ||
2030 | </tr> | ||
2031 | </table> | ||
2032 | </div> | ||
2033 | <div class="memdoc"> | ||
2034 | |||
2035 | <p> | ||
2036 | Set the local offset rotation of a geom from its body. | ||
2037 | <p> | ||
2038 | Sets the geom's rotational offset in local coordinates. After this call, the geom will be at a new position determined from the body's position and the offset. The geom must be attached to a body. If the geom did not have an offset, it is automatically created.<p> | ||
2039 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
2040 | <table border="0" cellspacing="2" cellpadding="0"> | ||
2041 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to set. </td></tr> | ||
2042 | <tr><td valign="top"></td><td valign="top"><em>Q</em> </td><td>the new rotation. </td></tr> | ||
2043 | </table> | ||
2044 | </dl> | ||
2045 | |||
2046 | </div> | ||
2047 | </div><p> | ||
2048 | <a class="anchor" name="g805d896b4bc79ceb40e70aadb9629cab"></a><!-- doxytag: member="collision.h::dGeomSetOffsetRotation" ref="g805d896b4bc79ceb40e70aadb9629cab" args="(dGeomID geom, const dMatrix3 R)" --> | ||
2049 | <div class="memitem"> | ||
2050 | <div class="memproto"> | ||
2051 | <table class="memname"> | ||
2052 | <tr> | ||
2053 | <td class="memname">ODE_API void dGeomSetOffsetRotation </td> | ||
2054 | <td>(</td> | ||
2055 | <td class="paramtype">dGeomID </td> | ||
2056 | <td class="paramname"> <em>geom</em>, </td> | ||
2057 | </tr> | ||
2058 | <tr> | ||
2059 | <td class="paramkey"></td> | ||
2060 | <td></td> | ||
2061 | <td class="paramtype">const dMatrix3 </td> | ||
2062 | <td class="paramname"> <em>R</em></td><td> </td> | ||
2063 | </tr> | ||
2064 | <tr> | ||
2065 | <td></td> | ||
2066 | <td>)</td> | ||
2067 | <td></td><td></td><td width="100%"></td> | ||
2068 | </tr> | ||
2069 | </table> | ||
2070 | </div> | ||
2071 | <div class="memdoc"> | ||
2072 | |||
2073 | <p> | ||
2074 | Set the local offset rotation matrix of a geom from its body. | ||
2075 | <p> | ||
2076 | Sets the geom's rotational offset in local coordinates. After this call, the geom will be at a new position determined from the body's position and the offset. The geom must be attached to a body. If the geom did not have an offset, it is automatically created.<p> | ||
2077 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
2078 | <table border="0" cellspacing="2" cellpadding="0"> | ||
2079 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to set. </td></tr> | ||
2080 | <tr><td valign="top"></td><td valign="top"><em>R</em> </td><td>the new rotation matrix. </td></tr> | ||
2081 | </table> | ||
2082 | </dl> | ||
2083 | |||
2084 | </div> | ||
2085 | </div><p> | ||
2086 | <a class="anchor" name="g934fe31c543d588991d28cd8571e52ed"></a><!-- doxytag: member="collision.h::dGeomSetOffsetWorldPosition" ref="g934fe31c543d588991d28cd8571e52ed" args="(dGeomID geom, dReal x, dReal y, dReal z)" --> | ||
2087 | <div class="memitem"> | ||
2088 | <div class="memproto"> | ||
2089 | <table class="memname"> | ||
2090 | <tr> | ||
2091 | <td class="memname">ODE_API void dGeomSetOffsetWorldPosition </td> | ||
2092 | <td>(</td> | ||
2093 | <td class="paramtype">dGeomID </td> | ||
2094 | <td class="paramname"> <em>geom</em>, </td> | ||
2095 | </tr> | ||
2096 | <tr> | ||
2097 | <td class="paramkey"></td> | ||
2098 | <td></td> | ||
2099 | <td class="paramtype">dReal </td> | ||
2100 | <td class="paramname"> <em>x</em>, </td> | ||
2101 | </tr> | ||
2102 | <tr> | ||
2103 | <td class="paramkey"></td> | ||
2104 | <td></td> | ||
2105 | <td class="paramtype">dReal </td> | ||
2106 | <td class="paramname"> <em>y</em>, </td> | ||
2107 | </tr> | ||
2108 | <tr> | ||
2109 | <td class="paramkey"></td> | ||
2110 | <td></td> | ||
2111 | <td class="paramtype">dReal </td> | ||
2112 | <td class="paramname"> <em>z</em></td><td> </td> | ||
2113 | </tr> | ||
2114 | <tr> | ||
2115 | <td></td> | ||
2116 | <td>)</td> | ||
2117 | <td></td><td></td><td width="100%"></td> | ||
2118 | </tr> | ||
2119 | </table> | ||
2120 | </div> | ||
2121 | <div class="memdoc"> | ||
2122 | |||
2123 | <p> | ||
2124 | Set the offset position of a geom from its body. | ||
2125 | <p> | ||
2126 | Sets the geom's positional offset to move it to the new world coordinates. After this call, the geom will be at the world position passed in, and the offset will be the difference from the current body position. The geom must be attached to a body. If the geom did not have an offset, it is automatically created.<p> | ||
2127 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
2128 | <table border="0" cellspacing="2" cellpadding="0"> | ||
2129 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to set. </td></tr> | ||
2130 | <tr><td valign="top"></td><td valign="top"><em>x</em> </td><td>the new X coordinate. </td></tr> | ||
2131 | <tr><td valign="top"></td><td valign="top"><em>y</em> </td><td>the new Y coordinate. </td></tr> | ||
2132 | <tr><td valign="top"></td><td valign="top"><em>z</em> </td><td>the new Z coordinate. </td></tr> | ||
2133 | </table> | ||
2134 | </dl> | ||
2135 | |||
2136 | </div> | ||
2137 | </div><p> | ||
2138 | <a class="anchor" name="ga04f2117ab18a1d3e27270defdad83a8"></a><!-- doxytag: member="collision.h::dGeomSetOffsetWorldQuaternion" ref="ga04f2117ab18a1d3e27270defdad83a8" args="(dGeomID geom, const dQuaternion)" --> | ||
2139 | <div class="memitem"> | ||
2140 | <div class="memproto"> | ||
2141 | <table class="memname"> | ||
2142 | <tr> | ||
2143 | <td class="memname">ODE_API void dGeomSetOffsetWorldQuaternion </td> | ||
2144 | <td>(</td> | ||
2145 | <td class="paramtype">dGeomID </td> | ||
2146 | <td class="paramname"> <em>geom</em>, </td> | ||
2147 | </tr> | ||
2148 | <tr> | ||
2149 | <td class="paramkey"></td> | ||
2150 | <td></td> | ||
2151 | <td class="paramtype">const </td> | ||
2152 | <td class="paramname"> <em>dQuaternion</em></td><td> </td> | ||
2153 | </tr> | ||
2154 | <tr> | ||
2155 | <td></td> | ||
2156 | <td>)</td> | ||
2157 | <td></td><td></td><td width="100%"></td> | ||
2158 | </tr> | ||
2159 | </table> | ||
2160 | </div> | ||
2161 | <div class="memdoc"> | ||
2162 | |||
2163 | <p> | ||
2164 | Set the offset rotation of a geom from its body. | ||
2165 | <p> | ||
2166 | Sets the geom's rotational offset to orient it to the new world rotation matrix. After this call, the geom will be at the world orientation passed in, and the offset will be the difference from the current body orientation. The geom must be attached to a body. If the geom did not have an offset, it is automatically created.<p> | ||
2167 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
2168 | <table border="0" cellspacing="2" cellpadding="0"> | ||
2169 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to set. </td></tr> | ||
2170 | <tr><td valign="top"></td><td valign="top"><em>Q</em> </td><td>the new rotation. </td></tr> | ||
2171 | </table> | ||
2172 | </dl> | ||
2173 | |||
2174 | </div> | ||
2175 | </div><p> | ||
2176 | <a class="anchor" name="g2c1ef27e7e8ced6eb8488221a1a7c200"></a><!-- doxytag: member="collision.h::dGeomSetOffsetWorldRotation" ref="g2c1ef27e7e8ced6eb8488221a1a7c200" args="(dGeomID geom, const dMatrix3 R)" --> | ||
2177 | <div class="memitem"> | ||
2178 | <div class="memproto"> | ||
2179 | <table class="memname"> | ||
2180 | <tr> | ||
2181 | <td class="memname">ODE_API void dGeomSetOffsetWorldRotation </td> | ||
2182 | <td>(</td> | ||
2183 | <td class="paramtype">dGeomID </td> | ||
2184 | <td class="paramname"> <em>geom</em>, </td> | ||
2185 | </tr> | ||
2186 | <tr> | ||
2187 | <td class="paramkey"></td> | ||
2188 | <td></td> | ||
2189 | <td class="paramtype">const dMatrix3 </td> | ||
2190 | <td class="paramname"> <em>R</em></td><td> </td> | ||
2191 | </tr> | ||
2192 | <tr> | ||
2193 | <td></td> | ||
2194 | <td>)</td> | ||
2195 | <td></td><td></td><td width="100%"></td> | ||
2196 | </tr> | ||
2197 | </table> | ||
2198 | </div> | ||
2199 | <div class="memdoc"> | ||
2200 | |||
2201 | <p> | ||
2202 | Set the offset rotation of a geom from its body. | ||
2203 | <p> | ||
2204 | Sets the geom's rotational offset to orient it to the new world rotation matrix. After this call, the geom will be at the world orientation passed in, and the offset will be the difference from the current body orientation. The geom must be attached to a body. If the geom did not have an offset, it is automatically created.<p> | ||
2205 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
2206 | <table border="0" cellspacing="2" cellpadding="0"> | ||
2207 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to set. </td></tr> | ||
2208 | <tr><td valign="top"></td><td valign="top"><em>R</em> </td><td>the new rotation matrix. </td></tr> | ||
2209 | </table> | ||
2210 | </dl> | ||
2211 | |||
2212 | </div> | ||
2213 | </div><p> | ||
2214 | <a class="anchor" name="g71043b70a735e8f5451c3e13cef345fe"></a><!-- doxytag: member="collision.h::dGeomSetPosition" ref="g71043b70a735e8f5451c3e13cef345fe" args="(dGeomID geom, dReal x, dReal y, dReal z)" --> | ||
2215 | <div class="memitem"> | ||
2216 | <div class="memproto"> | ||
2217 | <table class="memname"> | ||
2218 | <tr> | ||
2219 | <td class="memname">ODE_API void dGeomSetPosition </td> | ||
2220 | <td>(</td> | ||
2221 | <td class="paramtype">dGeomID </td> | ||
2222 | <td class="paramname"> <em>geom</em>, </td> | ||
2223 | </tr> | ||
2224 | <tr> | ||
2225 | <td class="paramkey"></td> | ||
2226 | <td></td> | ||
2227 | <td class="paramtype">dReal </td> | ||
2228 | <td class="paramname"> <em>x</em>, </td> | ||
2229 | </tr> | ||
2230 | <tr> | ||
2231 | <td class="paramkey"></td> | ||
2232 | <td></td> | ||
2233 | <td class="paramtype">dReal </td> | ||
2234 | <td class="paramname"> <em>y</em>, </td> | ||
2235 | </tr> | ||
2236 | <tr> | ||
2237 | <td class="paramkey"></td> | ||
2238 | <td></td> | ||
2239 | <td class="paramtype">dReal </td> | ||
2240 | <td class="paramname"> <em>z</em></td><td> </td> | ||
2241 | </tr> | ||
2242 | <tr> | ||
2243 | <td></td> | ||
2244 | <td>)</td> | ||
2245 | <td></td><td></td><td width="100%"></td> | ||
2246 | </tr> | ||
2247 | </table> | ||
2248 | </div> | ||
2249 | <div class="memdoc"> | ||
2250 | |||
2251 | <p> | ||
2252 | Set the position vector of a placeable geom. | ||
2253 | <p> | ||
2254 | If the geom is attached to a body, the body's position will also be changed. Calling this function on a non-placeable geom results in a runtime error in the debug build of ODE.<p> | ||
2255 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
2256 | <table border="0" cellspacing="2" cellpadding="0"> | ||
2257 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to set. </td></tr> | ||
2258 | <tr><td valign="top"></td><td valign="top"><em>x</em> </td><td>the new X coordinate. </td></tr> | ||
2259 | <tr><td valign="top"></td><td valign="top"><em>y</em> </td><td>the new Y coordinate. </td></tr> | ||
2260 | <tr><td valign="top"></td><td valign="top"><em>z</em> </td><td>the new Z coordinate. </td></tr> | ||
2261 | </table> | ||
2262 | </dl> | ||
2263 | <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__bodies.html#gb84612b793366f18ff5b5cbdbed092da" title="Set position of a body.">dBodySetPosition</a> </dd></dl> | ||
2264 | |||
2265 | </div> | ||
2266 | </div><p> | ||
2267 | <a class="anchor" name="g989149d93162264d699444a57b045150"></a><!-- doxytag: member="collision.h::dGeomSetQuaternion" ref="g989149d93162264d699444a57b045150" args="(dGeomID geom, const dQuaternion Q)" --> | ||
2268 | <div class="memitem"> | ||
2269 | <div class="memproto"> | ||
2270 | <table class="memname"> | ||
2271 | <tr> | ||
2272 | <td class="memname">ODE_API void dGeomSetQuaternion </td> | ||
2273 | <td>(</td> | ||
2274 | <td class="paramtype">dGeomID </td> | ||
2275 | <td class="paramname"> <em>geom</em>, </td> | ||
2276 | </tr> | ||
2277 | <tr> | ||
2278 | <td class="paramkey"></td> | ||
2279 | <td></td> | ||
2280 | <td class="paramtype">const dQuaternion </td> | ||
2281 | <td class="paramname"> <em>Q</em></td><td> </td> | ||
2282 | </tr> | ||
2283 | <tr> | ||
2284 | <td></td> | ||
2285 | <td>)</td> | ||
2286 | <td></td><td></td><td width="100%"></td> | ||
2287 | </tr> | ||
2288 | </table> | ||
2289 | </div> | ||
2290 | <div class="memdoc"> | ||
2291 | |||
2292 | <p> | ||
2293 | Set the rotation of a placeable geom. | ||
2294 | <p> | ||
2295 | If the geom is attached to a body, the body's rotation will also be changed.<p> | ||
2296 | Calling this function on a non-placeable geom results in a runtime error in the debug build of ODE.<p> | ||
2297 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
2298 | <table border="0" cellspacing="2" cellpadding="0"> | ||
2299 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to set. </td></tr> | ||
2300 | <tr><td valign="top"></td><td valign="top"><em>Q</em> </td><td>the new rotation. </td></tr> | ||
2301 | </table> | ||
2302 | </dl> | ||
2303 | <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__bodies.html#ga5f51dd3605c402320e9eae4231d7ad4" title="Set the orientation of a body.">dBodySetQuaternion</a> </dd></dl> | ||
2304 | |||
2305 | </div> | ||
2306 | </div><p> | ||
2307 | <a class="anchor" name="g76c510f4b7d5a036d8a36f2d60d670e5"></a><!-- doxytag: member="collision.h::dGeomSetRotation" ref="g76c510f4b7d5a036d8a36f2d60d670e5" args="(dGeomID geom, const dMatrix3 R)" --> | ||
2308 | <div class="memitem"> | ||
2309 | <div class="memproto"> | ||
2310 | <table class="memname"> | ||
2311 | <tr> | ||
2312 | <td class="memname">ODE_API void dGeomSetRotation </td> | ||
2313 | <td>(</td> | ||
2314 | <td class="paramtype">dGeomID </td> | ||
2315 | <td class="paramname"> <em>geom</em>, </td> | ||
2316 | </tr> | ||
2317 | <tr> | ||
2318 | <td class="paramkey"></td> | ||
2319 | <td></td> | ||
2320 | <td class="paramtype">const dMatrix3 </td> | ||
2321 | <td class="paramname"> <em>R</em></td><td> </td> | ||
2322 | </tr> | ||
2323 | <tr> | ||
2324 | <td></td> | ||
2325 | <td>)</td> | ||
2326 | <td></td><td></td><td width="100%"></td> | ||
2327 | </tr> | ||
2328 | </table> | ||
2329 | </div> | ||
2330 | <div class="memdoc"> | ||
2331 | |||
2332 | <p> | ||
2333 | Set the rotation matrix of a placeable geom. | ||
2334 | <p> | ||
2335 | If the geom is attached to a body, the body's rotation will also be changed. Calling this function on a non-placeable geom results in a runtime error in the debug build of ODE.<p> | ||
2336 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
2337 | <table border="0" cellspacing="2" cellpadding="0"> | ||
2338 | <tr><td valign="top"></td><td valign="top"><em>geom</em> </td><td>the geom to set. </td></tr> | ||
2339 | <tr><td valign="top"></td><td valign="top"><em>R</em> </td><td>the new rotation matrix. </td></tr> | ||
2340 | </table> | ||
2341 | </dl> | ||
2342 | <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__bodies.html#gb5f04968ec37ef46d2aaffad6c344468" title="Set the orientation of a body.">dBodySetRotation</a> </dd></dl> | ||
2343 | |||
2344 | </div> | ||
2345 | </div><p> | ||
2346 | <a class="anchor" name="gfd185829b6940e2b3238517e1acd2fbb"></a><!-- doxytag: member="collision.h::dSpaceCollide" ref="gfd185829b6940e2b3238517e1acd2fbb" args="(dSpaceID space, void *data, dNearCallback *callback)" --> | ||
2347 | <div class="memitem"> | ||
2348 | <div class="memproto"> | ||
2349 | <table class="memname"> | ||
2350 | <tr> | ||
2351 | <td class="memname">ODE_API void dSpaceCollide </td> | ||
2352 | <td>(</td> | ||
2353 | <td class="paramtype">dSpaceID </td> | ||
2354 | <td class="paramname"> <em>space</em>, </td> | ||
2355 | </tr> | ||
2356 | <tr> | ||
2357 | <td class="paramkey"></td> | ||
2358 | <td></td> | ||
2359 | <td class="paramtype">void * </td> | ||
2360 | <td class="paramname"> <em>data</em>, </td> | ||
2361 | </tr> | ||
2362 | <tr> | ||
2363 | <td class="paramkey"></td> | ||
2364 | <td></td> | ||
2365 | <td class="paramtype"><a class="el" href="group__collide.html#g9f458413ace07fa9e3e7e52d6652ace0">dNearCallback</a> * </td> | ||
2366 | <td class="paramname"> <em>callback</em></td><td> </td> | ||
2367 | </tr> | ||
2368 | <tr> | ||
2369 | <td></td> | ||
2370 | <td>)</td> | ||
2371 | <td></td><td></td><td width="100%"></td> | ||
2372 | </tr> | ||
2373 | </table> | ||
2374 | </div> | ||
2375 | <div class="memdoc"> | ||
2376 | |||
2377 | <p> | ||
2378 | Determines which pairs of geoms in a space may potentially intersect, and calls the callback function for each candidate pair. | ||
2379 | <p> | ||
2380 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
2381 | <table border="0" cellspacing="2" cellpadding="0"> | ||
2382 | <tr><td valign="top"></td><td valign="top"><em>space</em> </td><td>The space to test.</td></tr> | ||
2383 | <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>Passed from dSpaceCollide directly to the callback function. Its meaning is user defined. The o1 and o2 arguments are the geoms that may be near each other.</td></tr> | ||
2384 | <tr><td valign="top"></td><td valign="top"><em>callback</em> </td><td>A callback function is of type <a class="el" href="group__collide.html#g9f458413ace07fa9e3e7e52d6652ace0">dNearCallback</a>.</td></tr> | ||
2385 | </table> | ||
2386 | </dl> | ||
2387 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Other spaces that are contained within the colliding space are not treated specially, i.e. they are not recursed into. The callback function may be passed these contained spaces as one or both geom arguments.<p> | ||
2388 | <a class="el" href="group__collide.html#gfd185829b6940e2b3238517e1acd2fbb" title="Determines which pairs of geoms in a space may potentially intersect, and calls the...">dSpaceCollide()</a> is guaranteed to pass all intersecting geom pairs to the callback function, but may also pass close but non-intersecting pairs. The number of these calls depends on the internal algorithms used by the space. Thus you should not expect that dCollide will return contacts for every pair passed to the callback.</dd></dl> | ||
2389 | <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__collide.html#g72a6bb0b550d3e181f8b7a9be7179db5" title="Determines which geoms from one space may potentially intersect with geoms from another...">dSpaceCollide2</a> </dd></dl> | ||
2390 | |||
2391 | </div> | ||
2392 | </div><p> | ||
2393 | <a class="anchor" name="g72a6bb0b550d3e181f8b7a9be7179db5"></a><!-- doxytag: member="collision.h::dSpaceCollide2" ref="g72a6bb0b550d3e181f8b7a9be7179db5" args="(dGeomID space1, dGeomID space2, void *data, dNearCallback *callback)" --> | ||
2394 | <div class="memitem"> | ||
2395 | <div class="memproto"> | ||
2396 | <table class="memname"> | ||
2397 | <tr> | ||
2398 | <td class="memname">ODE_API void dSpaceCollide2 </td> | ||
2399 | <td>(</td> | ||
2400 | <td class="paramtype">dGeomID </td> | ||
2401 | <td class="paramname"> <em>space1</em>, </td> | ||
2402 | </tr> | ||
2403 | <tr> | ||
2404 | <td class="paramkey"></td> | ||
2405 | <td></td> | ||
2406 | <td class="paramtype">dGeomID </td> | ||
2407 | <td class="paramname"> <em>space2</em>, </td> | ||
2408 | </tr> | ||
2409 | <tr> | ||
2410 | <td class="paramkey"></td> | ||
2411 | <td></td> | ||
2412 | <td class="paramtype">void * </td> | ||
2413 | <td class="paramname"> <em>data</em>, </td> | ||
2414 | </tr> | ||
2415 | <tr> | ||
2416 | <td class="paramkey"></td> | ||
2417 | <td></td> | ||
2418 | <td class="paramtype"><a class="el" href="group__collide.html#g9f458413ace07fa9e3e7e52d6652ace0">dNearCallback</a> * </td> | ||
2419 | <td class="paramname"> <em>callback</em></td><td> </td> | ||
2420 | </tr> | ||
2421 | <tr> | ||
2422 | <td></td> | ||
2423 | <td>)</td> | ||
2424 | <td></td><td></td><td width="100%"></td> | ||
2425 | </tr> | ||
2426 | </table> | ||
2427 | </div> | ||
2428 | <div class="memdoc"> | ||
2429 | |||
2430 | <p> | ||
2431 | Determines which geoms from one space may potentially intersect with geoms from another space, and calls the callback function for each candidate pair. | ||
2432 | <p> | ||
2433 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
2434 | <table border="0" cellspacing="2" cellpadding="0"> | ||
2435 | <tr><td valign="top"></td><td valign="top"><em>space1</em> </td><td>The first space to test.</td></tr> | ||
2436 | <tr><td valign="top"></td><td valign="top"><em>space2</em> </td><td>The second space to test.</td></tr> | ||
2437 | <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>Passed from dSpaceCollide directly to the callback function. Its meaning is user defined. The o1 and o2 arguments are the geoms that may be near each other.</td></tr> | ||
2438 | <tr><td valign="top"></td><td valign="top"><em>callback</em> </td><td>A callback function is of type <a class="el" href="group__collide.html#g9f458413ace07fa9e3e7e52d6652ace0">dNearCallback</a>.</td></tr> | ||
2439 | </table> | ||
2440 | </dl> | ||
2441 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This function can also test a single non-space geom against a space. This function is useful when there is a collision hierarchy, i.e. when there are spaces that contain other spaces.<p> | ||
2442 | Other spaces that are contained within the colliding space are not treated specially, i.e. they are not recursed into. The callback function may be passed these contained spaces as one or both geom arguments.<p> | ||
2443 | <a class="el" href="group__collide.html#g72a6bb0b550d3e181f8b7a9be7179db5" title="Determines which geoms from one space may potentially intersect with geoms from another...">dSpaceCollide2()</a> is guaranteed to pass all intersecting geom pairs to the callback function, but may also pass close but non-intersecting pairs. The number of these calls depends on the internal algorithms used by the space. Thus you should not expect that dCollide will return contacts for every pair passed to the callback.</dd></dl> | ||
2444 | <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__collide.html#gfd185829b6940e2b3238517e1acd2fbb" title="Determines which pairs of geoms in a space may potentially intersect, and calls the...">dSpaceCollide</a> </dd></dl> | ||
2445 | |||
2446 | </div> | ||
2447 | </div><p> | ||
2448 | <hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
2449 | <a href="http://www.doxygen.org/index.html"> | ||
2450 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
2451 | </body> | ||
2452 | </html> | ||
diff --git a/libraries/ode-0.9/docs/group__collide__box.html b/libraries/ode-0.9/docs/group__collide__box.html new file mode 100644 index 0000000..341c2c1 --- /dev/null +++ b/libraries/ode-0.9/docs/group__collide__box.html | |||
@@ -0,0 +1,182 @@ | |||
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: Box Class</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>Box Class<br> | ||
17 | <small> | ||
18 | [<a class="el" href="group__collide.html">Collision Detection</a>]</small> | ||
19 | </h1><table border="0" cellpadding="0" cellspacing="0"> | ||
20 | <tr><td></td></tr> | ||
21 | <tr><td colspan="2"><br><h2>Functions</h2></td></tr> | ||
22 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dGeomID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide__box.html#g3e3b0b249a8ccd40a9969e3a26548397">dCreateBox</a> (dSpaceID space, dReal lx, dReal ly, dReal lz)</td></tr> | ||
23 | |||
24 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a box geom with the provided side lengths. <a href="#g3e3b0b249a8ccd40a9969e3a26548397"></a><br></td></tr> | ||
25 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide__box.html#g4c7060780be9eaf74228565910168273">dGeomBoxSetLengths</a> (dGeomID box, dReal lx, dReal ly, dReal lz)</td></tr> | ||
26 | |||
27 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the side lengths of the given box. <a href="#g4c7060780be9eaf74228565910168273"></a><br></td></tr> | ||
28 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide__box.html#ge24d9264235d2487b2e2d52b2c62c879">dGeomBoxGetLengths</a> (dGeomID box, dVector3 result)</td></tr> | ||
29 | |||
30 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the side lengths of a box. <a href="#ge24d9264235d2487b2e2d52b2c62c879"></a><br></td></tr> | ||
31 | </table> | ||
32 | <hr><h2>Function Documentation</h2> | ||
33 | <a class="anchor" name="g3e3b0b249a8ccd40a9969e3a26548397"></a><!-- doxytag: member="collision.h::dCreateBox" ref="g3e3b0b249a8ccd40a9969e3a26548397" args="(dSpaceID space, dReal lx, dReal ly, dReal lz)" --> | ||
34 | <div class="memitem"> | ||
35 | <div class="memproto"> | ||
36 | <table class="memname"> | ||
37 | <tr> | ||
38 | <td class="memname">ODE_API dGeomID dCreateBox </td> | ||
39 | <td>(</td> | ||
40 | <td class="paramtype">dSpaceID </td> | ||
41 | <td class="paramname"> <em>space</em>, </td> | ||
42 | </tr> | ||
43 | <tr> | ||
44 | <td class="paramkey"></td> | ||
45 | <td></td> | ||
46 | <td class="paramtype">dReal </td> | ||
47 | <td class="paramname"> <em>lx</em>, </td> | ||
48 | </tr> | ||
49 | <tr> | ||
50 | <td class="paramkey"></td> | ||
51 | <td></td> | ||
52 | <td class="paramtype">dReal </td> | ||
53 | <td class="paramname"> <em>ly</em>, </td> | ||
54 | </tr> | ||
55 | <tr> | ||
56 | <td class="paramkey"></td> | ||
57 | <td></td> | ||
58 | <td class="paramtype">dReal </td> | ||
59 | <td class="paramname"> <em>lz</em></td><td> </td> | ||
60 | </tr> | ||
61 | <tr> | ||
62 | <td></td> | ||
63 | <td>)</td> | ||
64 | <td></td><td></td><td width="100%"></td> | ||
65 | </tr> | ||
66 | </table> | ||
67 | </div> | ||
68 | <div class="memdoc"> | ||
69 | |||
70 | <p> | ||
71 | Create a box geom with the provided side lengths. | ||
72 | <p> | ||
73 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
74 | <table border="0" cellspacing="2" cellpadding="0"> | ||
75 | <tr><td valign="top"></td><td valign="top"><em>space</em> </td><td>a space to contain the new geom. May be null. </td></tr> | ||
76 | <tr><td valign="top"></td><td valign="top"><em>lx</em> </td><td>the length of the box along the X axis </td></tr> | ||
77 | <tr><td valign="top"></td><td valign="top"><em>ly</em> </td><td>the length of the box along the Y axis </td></tr> | ||
78 | <tr><td valign="top"></td><td valign="top"><em>lz</em> </td><td>the length of the box along the Z axis</td></tr> | ||
79 | </table> | ||
80 | </dl> | ||
81 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>A new box geom.</dd></dl> | ||
82 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The point of reference for a box is its center.</dd></dl> | ||
83 | <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__collide.html#g96b9e7d3a7ca769b0c8f37eecfaf98c6" title="Destroy a geom, removing it from any space.">dGeomDestroy</a> <p> | ||
84 | <a class="el" href="group__collide__box.html#g4c7060780be9eaf74228565910168273" title="Set the side lengths of the given box.">dGeomBoxSetLengths</a> </dd></dl> | ||
85 | |||
86 | </div> | ||
87 | </div><p> | ||
88 | <a class="anchor" name="ge24d9264235d2487b2e2d52b2c62c879"></a><!-- doxytag: member="collision.h::dGeomBoxGetLengths" ref="ge24d9264235d2487b2e2d52b2c62c879" args="(dGeomID box, dVector3 result)" --> | ||
89 | <div class="memitem"> | ||
90 | <div class="memproto"> | ||
91 | <table class="memname"> | ||
92 | <tr> | ||
93 | <td class="memname">ODE_API void dGeomBoxGetLengths </td> | ||
94 | <td>(</td> | ||
95 | <td class="paramtype">dGeomID </td> | ||
96 | <td class="paramname"> <em>box</em>, </td> | ||
97 | </tr> | ||
98 | <tr> | ||
99 | <td class="paramkey"></td> | ||
100 | <td></td> | ||
101 | <td class="paramtype">dVector3 </td> | ||
102 | <td class="paramname"> <em>result</em></td><td> </td> | ||
103 | </tr> | ||
104 | <tr> | ||
105 | <td></td> | ||
106 | <td>)</td> | ||
107 | <td></td><td></td><td width="100%"></td> | ||
108 | </tr> | ||
109 | </table> | ||
110 | </div> | ||
111 | <div class="memdoc"> | ||
112 | |||
113 | <p> | ||
114 | Get the side lengths of a box. | ||
115 | <p> | ||
116 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
117 | <table border="0" cellspacing="2" cellpadding="0"> | ||
118 | <tr><td valign="top"></td><td valign="top"><em>box</em> </td><td>the box to query </td></tr> | ||
119 | <tr><td valign="top"></td><td valign="top"><em>result</em> </td><td>the returned side lengths</td></tr> | ||
120 | </table> | ||
121 | </dl> | ||
122 | <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__collide__box.html#g4c7060780be9eaf74228565910168273" title="Set the side lengths of the given box.">dGeomBoxSetLengths</a> </dd></dl> | ||
123 | |||
124 | </div> | ||
125 | </div><p> | ||
126 | <a class="anchor" name="g4c7060780be9eaf74228565910168273"></a><!-- doxytag: member="collision.h::dGeomBoxSetLengths" ref="g4c7060780be9eaf74228565910168273" args="(dGeomID box, dReal lx, dReal ly, dReal lz)" --> | ||
127 | <div class="memitem"> | ||
128 | <div class="memproto"> | ||
129 | <table class="memname"> | ||
130 | <tr> | ||
131 | <td class="memname">ODE_API void dGeomBoxSetLengths </td> | ||
132 | <td>(</td> | ||
133 | <td class="paramtype">dGeomID </td> | ||
134 | <td class="paramname"> <em>box</em>, </td> | ||
135 | </tr> | ||
136 | <tr> | ||
137 | <td class="paramkey"></td> | ||
138 | <td></td> | ||
139 | <td class="paramtype">dReal </td> | ||
140 | <td class="paramname"> <em>lx</em>, </td> | ||
141 | </tr> | ||
142 | <tr> | ||
143 | <td class="paramkey"></td> | ||
144 | <td></td> | ||
145 | <td class="paramtype">dReal </td> | ||
146 | <td class="paramname"> <em>ly</em>, </td> | ||
147 | </tr> | ||
148 | <tr> | ||
149 | <td class="paramkey"></td> | ||
150 | <td></td> | ||
151 | <td class="paramtype">dReal </td> | ||
152 | <td class="paramname"> <em>lz</em></td><td> </td> | ||
153 | </tr> | ||
154 | <tr> | ||
155 | <td></td> | ||
156 | <td>)</td> | ||
157 | <td></td><td></td><td width="100%"></td> | ||
158 | </tr> | ||
159 | </table> | ||
160 | </div> | ||
161 | <div class="memdoc"> | ||
162 | |||
163 | <p> | ||
164 | Set the side lengths of the given box. | ||
165 | <p> | ||
166 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
167 | <table border="0" cellspacing="2" cellpadding="0"> | ||
168 | <tr><td valign="top"></td><td valign="top"><em>box</em> </td><td>the box to set </td></tr> | ||
169 | <tr><td valign="top"></td><td valign="top"><em>lx</em> </td><td>the length of the box along the X axis </td></tr> | ||
170 | <tr><td valign="top"></td><td valign="top"><em>ly</em> </td><td>the length of the box along the Y axis </td></tr> | ||
171 | <tr><td valign="top"></td><td valign="top"><em>lz</em> </td><td>the length of the box along the Z axis</td></tr> | ||
172 | </table> | ||
173 | </dl> | ||
174 | <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__collide__box.html#ge24d9264235d2487b2e2d52b2c62c879" title="Get the side lengths of a box.">dGeomBoxGetLengths</a> </dd></dl> | ||
175 | |||
176 | </div> | ||
177 | </div><p> | ||
178 | <hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
179 | <a href="http://www.doxygen.org/index.html"> | ||
180 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
181 | </body> | ||
182 | </html> | ||
diff --git a/libraries/ode-0.9/docs/group__collide__sphere.html b/libraries/ode-0.9/docs/group__collide__sphere.html new file mode 100644 index 0000000..c0174cc --- /dev/null +++ b/libraries/ode-0.9/docs/group__collide__sphere.html | |||
@@ -0,0 +1,199 @@ | |||
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: Sphere Class</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>Sphere Class<br> | ||
17 | <small> | ||
18 | [<a class="el" href="group__collide.html">Collision Detection</a>]</small> | ||
19 | </h1><table border="0" cellpadding="0" cellspacing="0"> | ||
20 | <tr><td></td></tr> | ||
21 | <tr><td colspan="2"><br><h2>Functions</h2></td></tr> | ||
22 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dGeomID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide__sphere.html#g53c79c860638ca3600744a193da68474">dCreateSphere</a> (dSpaceID space, dReal radius)</td></tr> | ||
23 | |||
24 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a sphere geom of the given radius, and return its ID. <a href="#g53c79c860638ca3600744a193da68474"></a><br></td></tr> | ||
25 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide__sphere.html#g2341ae9b3b733571eff7a1857109f394">dGeomSphereSetRadius</a> (dGeomID sphere, dReal radius)</td></tr> | ||
26 | |||
27 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the radius of a sphere geom. <a href="#g2341ae9b3b733571eff7a1857109f394"></a><br></td></tr> | ||
28 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide__sphere.html#g0e7f664deb9f557a6a24f93705b29fa9">dGeomSphereGetRadius</a> (dGeomID sphere)</td></tr> | ||
29 | |||
30 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Retrieves the radius of a sphere geom. <a href="#g0e7f664deb9f557a6a24f93705b29fa9"></a><br></td></tr> | ||
31 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__collide__sphere.html#gee86d3744471e447ffc85f85ee6578b1">dGeomSpherePointDepth</a> (dGeomID sphere, dReal x, dReal y, dReal z)</td></tr> | ||
32 | |||
33 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate the depth of the a given point within a sphere. <a href="#gee86d3744471e447ffc85f85ee6578b1"></a><br></td></tr> | ||
34 | </table> | ||
35 | <hr><h2>Function Documentation</h2> | ||
36 | <a class="anchor" name="g53c79c860638ca3600744a193da68474"></a><!-- doxytag: member="collision.h::dCreateSphere" ref="g53c79c860638ca3600744a193da68474" args="(dSpaceID space, dReal radius)" --> | ||
37 | <div class="memitem"> | ||
38 | <div class="memproto"> | ||
39 | <table class="memname"> | ||
40 | <tr> | ||
41 | <td class="memname">ODE_API dGeomID dCreateSphere </td> | ||
42 | <td>(</td> | ||
43 | <td class="paramtype">dSpaceID </td> | ||
44 | <td class="paramname"> <em>space</em>, </td> | ||
45 | </tr> | ||
46 | <tr> | ||
47 | <td class="paramkey"></td> | ||
48 | <td></td> | ||
49 | <td class="paramtype">dReal </td> | ||
50 | <td class="paramname"> <em>radius</em></td><td> </td> | ||
51 | </tr> | ||
52 | <tr> | ||
53 | <td></td> | ||
54 | <td>)</td> | ||
55 | <td></td><td></td><td width="100%"></td> | ||
56 | </tr> | ||
57 | </table> | ||
58 | </div> | ||
59 | <div class="memdoc"> | ||
60 | |||
61 | <p> | ||
62 | Create a sphere geom of the given radius, and return its ID. | ||
63 | <p> | ||
64 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
65 | <table border="0" cellspacing="2" cellpadding="0"> | ||
66 | <tr><td valign="top"></td><td valign="top"><em>space</em> </td><td>a space to contain the new geom. May be null. </td></tr> | ||
67 | <tr><td valign="top"></td><td valign="top"><em>radius</em> </td><td>the radius of the sphere.</td></tr> | ||
68 | </table> | ||
69 | </dl> | ||
70 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>A new sphere geom.</dd></dl> | ||
71 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The point of reference for a sphere is its center.</dd></dl> | ||
72 | <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__collide.html#g96b9e7d3a7ca769b0c8f37eecfaf98c6" title="Destroy a geom, removing it from any space.">dGeomDestroy</a> <p> | ||
73 | <a class="el" href="group__collide__sphere.html#g2341ae9b3b733571eff7a1857109f394" title="Set the radius of a sphere geom.">dGeomSphereSetRadius</a> </dd></dl> | ||
74 | |||
75 | </div> | ||
76 | </div><p> | ||
77 | <a class="anchor" name="g0e7f664deb9f557a6a24f93705b29fa9"></a><!-- doxytag: member="collision.h::dGeomSphereGetRadius" ref="g0e7f664deb9f557a6a24f93705b29fa9" args="(dGeomID sphere)" --> | ||
78 | <div class="memitem"> | ||
79 | <div class="memproto"> | ||
80 | <table class="memname"> | ||
81 | <tr> | ||
82 | <td class="memname">ODE_API dReal dGeomSphereGetRadius </td> | ||
83 | <td>(</td> | ||
84 | <td class="paramtype">dGeomID </td> | ||
85 | <td class="paramname"> <em>sphere</em> </td> | ||
86 | <td> ) </td> | ||
87 | <td width="100%"></td> | ||
88 | </tr> | ||
89 | </table> | ||
90 | </div> | ||
91 | <div class="memdoc"> | ||
92 | |||
93 | <p> | ||
94 | Retrieves the radius of a sphere geom. | ||
95 | <p> | ||
96 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
97 | <table border="0" cellspacing="2" cellpadding="0"> | ||
98 | <tr><td valign="top"></td><td valign="top"><em>sphere</em> </td><td>the sphere to query.</td></tr> | ||
99 | </table> | ||
100 | </dl> | ||
101 | <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__collide__sphere.html#g2341ae9b3b733571eff7a1857109f394" title="Set the radius of a sphere geom.">dGeomSphereSetRadius</a> </dd></dl> | ||
102 | |||
103 | </div> | ||
104 | </div><p> | ||
105 | <a class="anchor" name="gee86d3744471e447ffc85f85ee6578b1"></a><!-- doxytag: member="collision.h::dGeomSpherePointDepth" ref="gee86d3744471e447ffc85f85ee6578b1" args="(dGeomID sphere, dReal x, dReal y, dReal z)" --> | ||
106 | <div class="memitem"> | ||
107 | <div class="memproto"> | ||
108 | <table class="memname"> | ||
109 | <tr> | ||
110 | <td class="memname">ODE_API dReal dGeomSpherePointDepth </td> | ||
111 | <td>(</td> | ||
112 | <td class="paramtype">dGeomID </td> | ||
113 | <td class="paramname"> <em>sphere</em>, </td> | ||
114 | </tr> | ||
115 | <tr> | ||
116 | <td class="paramkey"></td> | ||
117 | <td></td> | ||
118 | <td class="paramtype">dReal </td> | ||
119 | <td class="paramname"> <em>x</em>, </td> | ||
120 | </tr> | ||
121 | <tr> | ||
122 | <td class="paramkey"></td> | ||
123 | <td></td> | ||
124 | <td class="paramtype">dReal </td> | ||
125 | <td class="paramname"> <em>y</em>, </td> | ||
126 | </tr> | ||
127 | <tr> | ||
128 | <td class="paramkey"></td> | ||
129 | <td></td> | ||
130 | <td class="paramtype">dReal </td> | ||
131 | <td class="paramname"> <em>z</em></td><td> </td> | ||
132 | </tr> | ||
133 | <tr> | ||
134 | <td></td> | ||
135 | <td>)</td> | ||
136 | <td></td><td></td><td width="100%"></td> | ||
137 | </tr> | ||
138 | </table> | ||
139 | </div> | ||
140 | <div class="memdoc"> | ||
141 | |||
142 | <p> | ||
143 | Calculate the depth of the a given point within a sphere. | ||
144 | <p> | ||
145 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
146 | <table border="0" cellspacing="2" cellpadding="0"> | ||
147 | <tr><td valign="top"></td><td valign="top"><em>sphere</em> </td><td>the sphere to query. </td></tr> | ||
148 | <tr><td valign="top"></td><td valign="top"><em>x</em> </td><td>the X coordinate of the point. </td></tr> | ||
149 | <tr><td valign="top"></td><td valign="top"><em>y</em> </td><td>the Y coordinate of the point. </td></tr> | ||
150 | <tr><td valign="top"></td><td valign="top"><em>z</em> </td><td>the Z coordinate of the point.</td></tr> | ||
151 | </table> | ||
152 | </dl> | ||
153 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>The depth of the point. Points inside the sphere will have a positive depth, points outside it will have a negative depth, and points on the surface will have a depth of zero. </dd></dl> | ||
154 | |||
155 | </div> | ||
156 | </div><p> | ||
157 | <a class="anchor" name="g2341ae9b3b733571eff7a1857109f394"></a><!-- doxytag: member="collision.h::dGeomSphereSetRadius" ref="g2341ae9b3b733571eff7a1857109f394" args="(dGeomID sphere, dReal radius)" --> | ||
158 | <div class="memitem"> | ||
159 | <div class="memproto"> | ||
160 | <table class="memname"> | ||
161 | <tr> | ||
162 | <td class="memname">ODE_API void dGeomSphereSetRadius </td> | ||
163 | <td>(</td> | ||
164 | <td class="paramtype">dGeomID </td> | ||
165 | <td class="paramname"> <em>sphere</em>, </td> | ||
166 | </tr> | ||
167 | <tr> | ||
168 | <td class="paramkey"></td> | ||
169 | <td></td> | ||
170 | <td class="paramtype">dReal </td> | ||
171 | <td class="paramname"> <em>radius</em></td><td> </td> | ||
172 | </tr> | ||
173 | <tr> | ||
174 | <td></td> | ||
175 | <td>)</td> | ||
176 | <td></td><td></td><td width="100%"></td> | ||
177 | </tr> | ||
178 | </table> | ||
179 | </div> | ||
180 | <div class="memdoc"> | ||
181 | |||
182 | <p> | ||
183 | Set the radius of a sphere geom. | ||
184 | <p> | ||
185 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
186 | <table border="0" cellspacing="2" cellpadding="0"> | ||
187 | <tr><td valign="top"></td><td valign="top"><em>sphere</em> </td><td>the sphere to set. </td></tr> | ||
188 | <tr><td valign="top"></td><td valign="top"><em>radius</em> </td><td>the new radius.</td></tr> | ||
189 | </table> | ||
190 | </dl> | ||
191 | <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__collide__sphere.html#g0e7f664deb9f557a6a24f93705b29fa9" title="Retrieves the radius of a sphere geom.">dGeomSphereGetRadius</a> </dd></dl> | ||
192 | |||
193 | </div> | ||
194 | </div><p> | ||
195 | <hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
196 | <a href="http://www.doxygen.org/index.html"> | ||
197 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
198 | </body> | ||
199 | </html> | ||
diff --git a/libraries/ode-0.9/docs/group__disable.html b/libraries/ode-0.9/docs/group__disable.html new file mode 100644 index 0000000..ad8bb2c --- /dev/null +++ b/libraries/ode-0.9/docs/group__disable.html | |||
@@ -0,0 +1,563 @@ | |||
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: Automatic Enabling and Disabling</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>Automatic Enabling and Disabling</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"><a class="anchor" name="g280c6deffe6b4b8ba39d60bf25355347"></a><!-- doxytag: member="disable::dWorldSetAutoEnableDepthSF1" ref="g280c6deffe6b4b8ba39d60bf25355347" args="(dWorldID, int autoEnableDepth)" --> | ||
20 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__disable.html#g280c6deffe6b4b8ba39d60bf25355347">dWorldSetAutoEnableDepthSF1</a> (dWorldID, int autoEnableDepth)</td></tr> | ||
21 | |||
22 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the AutoEnableDepth parameter used by the StepFast1 algorithm. <br></td></tr> | ||
23 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5438f43d9c71d8090a44171f685de196"></a><!-- doxytag: member="disable::dWorldGetAutoEnableDepthSF1" ref="g5438f43d9c71d8090a44171f685de196" args="(dWorldID)" --> | ||
24 | ODE_API int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__disable.html#g5438f43d9c71d8090a44171f685de196">dWorldGetAutoEnableDepthSF1</a> (dWorldID)</td></tr> | ||
25 | |||
26 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the AutoEnableDepth parameter used by the StepFast1 algorithm. <br></td></tr> | ||
27 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__disable.html#g48802a9736cc8cc9c1a14cbc3125d9b2">dWorldGetAutoDisableLinearThreshold</a> (dWorldID)</td></tr> | ||
28 | |||
29 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get auto disable linear threshold for newly created bodies. <a href="#g48802a9736cc8cc9c1a14cbc3125d9b2"></a><br></td></tr> | ||
30 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__disable.html#ga1070c6f127352fb0a87ab1d42677b8e">dWorldSetAutoDisableLinearThreshold</a> (dWorldID, dReal linear_threshold)</td></tr> | ||
31 | |||
32 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set auto disable linear threshold for newly created bodies. <a href="#ga1070c6f127352fb0a87ab1d42677b8e"></a><br></td></tr> | ||
33 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__disable.html#g9d32b31b5d343c324897434a97387abc">dWorldGetAutoDisableAngularThreshold</a> (dWorldID)</td></tr> | ||
34 | |||
35 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get auto disable angular threshold for newly created bodies. <a href="#g9d32b31b5d343c324897434a97387abc"></a><br></td></tr> | ||
36 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__disable.html#g61cae2bd156129a918c3a1e69ac1b6dd">dWorldSetAutoDisableAngularThreshold</a> (dWorldID, dReal angular_threshold)</td></tr> | ||
37 | |||
38 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set auto disable angular threshold for newly created bodies. <a href="#g61cae2bd156129a918c3a1e69ac1b6dd"></a><br></td></tr> | ||
39 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__disable.html#g947e2d43df920a26fb52b5273ea9856b">dWorldGetAutoDisableLinearAverageThreshold</a> (dWorldID)</td></tr> | ||
40 | |||
41 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get auto disable linear average threshold for newly created bodies. <a href="#g947e2d43df920a26fb52b5273ea9856b"></a><br></td></tr> | ||
42 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__disable.html#g3e5ef82227b955c545efc40d60ef1b21">dWorldSetAutoDisableLinearAverageThreshold</a> (dWorldID, dReal linear_average_threshold)</td></tr> | ||
43 | |||
44 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set auto disable linear average threshold for newly created bodies. <a href="#g3e5ef82227b955c545efc40d60ef1b21"></a><br></td></tr> | ||
45 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__disable.html#gb9bd57f1bef49a8d9d6985462c078b02">dWorldGetAutoDisableAngularAverageThreshold</a> (dWorldID)</td></tr> | ||
46 | |||
47 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get auto disable angular average threshold for newly created bodies. <a href="#gb9bd57f1bef49a8d9d6985462c078b02"></a><br></td></tr> | ||
48 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__disable.html#gca94337cc27914fe4bc00ebce83f231a">dWorldSetAutoDisableAngularAverageThreshold</a> (dWorldID, dReal angular_average_threshold)</td></tr> | ||
49 | |||
50 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set auto disable angular average threshold for newly created bodies. <a href="#gca94337cc27914fe4bc00ebce83f231a"></a><br></td></tr> | ||
51 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__disable.html#g4343cfd23eb87f3ee629a9d13833c2ac">dWorldGetAutoDisableAverageSamplesCount</a> (dWorldID)</td></tr> | ||
52 | |||
53 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get auto disable sample count for newly created bodies. <a href="#g4343cfd23eb87f3ee629a9d13833c2ac"></a><br></td></tr> | ||
54 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__disable.html#g2babd1af3df87518e5bac9dfcb392593">dWorldSetAutoDisableAverageSamplesCount</a> (dWorldID, unsigned int average_samples_count)</td></tr> | ||
55 | |||
56 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set auto disable average sample count for newly created bodies. <a href="#g2babd1af3df87518e5bac9dfcb392593"></a><br></td></tr> | ||
57 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__disable.html#gb0a26f648b9e40d8d4639bf187d5ac94">dWorldGetAutoDisableSteps</a> (dWorldID)</td></tr> | ||
58 | |||
59 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get auto disable steps for newly created bodies. <a href="#gb0a26f648b9e40d8d4639bf187d5ac94"></a><br></td></tr> | ||
60 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__disable.html#gdb9f69119d1aa259a0e32a8ff94e2535">dWorldSetAutoDisableSteps</a> (dWorldID, int steps)</td></tr> | ||
61 | |||
62 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set auto disable steps for newly created bodies. <a href="#gdb9f69119d1aa259a0e32a8ff94e2535"></a><br></td></tr> | ||
63 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__disable.html#gbc004c37efff5f962fa2ac271b3be8e1">dWorldGetAutoDisableTime</a> (dWorldID)</td></tr> | ||
64 | |||
65 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get auto disable time for newly created bodies. <a href="#gbc004c37efff5f962fa2ac271b3be8e1"></a><br></td></tr> | ||
66 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__disable.html#g06828866a19cab7aeb129ca9ec76863b">dWorldSetAutoDisableTime</a> (dWorldID, dReal time)</td></tr> | ||
67 | |||
68 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set auto disable time for newly created bodies. <a href="#g06828866a19cab7aeb129ca9ec76863b"></a><br></td></tr> | ||
69 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__disable.html#g7617d19f08c7b1d22cf17ccf22bbdc00">dWorldGetAutoDisableFlag</a> (dWorldID)</td></tr> | ||
70 | |||
71 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get auto disable flag for newly created bodies. <a href="#g7617d19f08c7b1d22cf17ccf22bbdc00"></a><br></td></tr> | ||
72 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__disable.html#g58959b92ae4706e612bca673e85bfc50">dWorldSetAutoDisableFlag</a> (dWorldID, int do_auto_disable)</td></tr> | ||
73 | |||
74 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set auto disable flag for newly created bodies. <a href="#g58959b92ae4706e612bca673e85bfc50"></a><br></td></tr> | ||
75 | </table> | ||
76 | <hr><a name="_details"></a><h2>Detailed Description</h2> | ||
77 | Every body can be enabled or disabled. Enabled bodies participate in the simulation, while disabled bodies are turned off and do not get updated during a simulation step. New bodies are always created in the enabled state.<p> | ||
78 | A disabled body that is connected through a joint to an enabled body will be automatically re-enabled at the next simulation step.<p> | ||
79 | Disabled bodies do not consume CPU time, therefore to speed up the simulation bodies should be disabled when they come to rest. This can be done automatically with the auto-disable feature.<p> | ||
80 | If a body has its auto-disable flag turned on, it will automatically disable itself when <ul> | ||
81 | <li>It has been idle for a given number of simulation steps. </li> | ||
82 | <li>It has also been idle for a given amount of simulation time.</li> | ||
83 | </ul> | ||
84 | A body is considered to be idle when the magnitudes of both its linear average velocity and angular average velocity are below given thresholds. The sample size for the average defaults to one and can be disabled by setting to zero with<p> | ||
85 | Thus, every body has six auto-disable parameters: an enabled flag, a idle step count, an idle time, linear/angular average velocity thresholds, and the average samples count.<p> | ||
86 | Newly created bodies get these parameters from world. <hr><h2>Function Documentation</h2> | ||
87 | <a class="anchor" name="gb9bd57f1bef49a8d9d6985462c078b02"></a><!-- doxytag: member="objects.h::dWorldGetAutoDisableAngularAverageThreshold" ref="gb9bd57f1bef49a8d9d6985462c078b02" args="(dWorldID)" --> | ||
88 | <div class="memitem"> | ||
89 | <div class="memproto"> | ||
90 | <table class="memname"> | ||
91 | <tr> | ||
92 | <td class="memname">ODE_API dReal dWorldGetAutoDisableAngularAverageThreshold </td> | ||
93 | <td>(</td> | ||
94 | <td class="paramtype">dWorldID </td> | ||
95 | <td class="paramname"> </td> | ||
96 | <td> ) </td> | ||
97 | <td width="100%"></td> | ||
98 | </tr> | ||
99 | </table> | ||
100 | </div> | ||
101 | <div class="memdoc"> | ||
102 | |||
103 | <p> | ||
104 | Get auto disable angular average threshold for newly created bodies. | ||
105 | <p> | ||
106 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>the threshold </dd></dl> | ||
107 | |||
108 | </div> | ||
109 | </div><p> | ||
110 | <a class="anchor" name="g9d32b31b5d343c324897434a97387abc"></a><!-- doxytag: member="objects.h::dWorldGetAutoDisableAngularThreshold" ref="g9d32b31b5d343c324897434a97387abc" args="(dWorldID)" --> | ||
111 | <div class="memitem"> | ||
112 | <div class="memproto"> | ||
113 | <table class="memname"> | ||
114 | <tr> | ||
115 | <td class="memname">ODE_API dReal dWorldGetAutoDisableAngularThreshold </td> | ||
116 | <td>(</td> | ||
117 | <td class="paramtype">dWorldID </td> | ||
118 | <td class="paramname"> </td> | ||
119 | <td> ) </td> | ||
120 | <td width="100%"></td> | ||
121 | </tr> | ||
122 | </table> | ||
123 | </div> | ||
124 | <div class="memdoc"> | ||
125 | |||
126 | <p> | ||
127 | Get auto disable angular threshold for newly created bodies. | ||
128 | <p> | ||
129 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>the threshold </dd></dl> | ||
130 | |||
131 | </div> | ||
132 | </div><p> | ||
133 | <a class="anchor" name="g4343cfd23eb87f3ee629a9d13833c2ac"></a><!-- doxytag: member="objects.h::dWorldGetAutoDisableAverageSamplesCount" ref="g4343cfd23eb87f3ee629a9d13833c2ac" args="(dWorldID)" --> | ||
134 | <div class="memitem"> | ||
135 | <div class="memproto"> | ||
136 | <table class="memname"> | ||
137 | <tr> | ||
138 | <td class="memname">ODE_API int dWorldGetAutoDisableAverageSamplesCount </td> | ||
139 | <td>(</td> | ||
140 | <td class="paramtype">dWorldID </td> | ||
141 | <td class="paramname"> </td> | ||
142 | <td> ) </td> | ||
143 | <td width="100%"></td> | ||
144 | </tr> | ||
145 | </table> | ||
146 | </div> | ||
147 | <div class="memdoc"> | ||
148 | |||
149 | <p> | ||
150 | Get auto disable sample count for newly created bodies. | ||
151 | <p> | ||
152 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>number of samples used </dd></dl> | ||
153 | |||
154 | </div> | ||
155 | </div><p> | ||
156 | <a class="anchor" name="g7617d19f08c7b1d22cf17ccf22bbdc00"></a><!-- doxytag: member="objects.h::dWorldGetAutoDisableFlag" ref="g7617d19f08c7b1d22cf17ccf22bbdc00" args="(dWorldID)" --> | ||
157 | <div class="memitem"> | ||
158 | <div class="memproto"> | ||
159 | <table class="memname"> | ||
160 | <tr> | ||
161 | <td class="memname">ODE_API int dWorldGetAutoDisableFlag </td> | ||
162 | <td>(</td> | ||
163 | <td class="paramtype">dWorldID </td> | ||
164 | <td class="paramname"> </td> | ||
165 | <td> ) </td> | ||
166 | <td width="100%"></td> | ||
167 | </tr> | ||
168 | </table> | ||
169 | </div> | ||
170 | <div class="memdoc"> | ||
171 | |||
172 | <p> | ||
173 | Get auto disable flag for newly created bodies. | ||
174 | <p> | ||
175 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>0 or 1 </dd></dl> | ||
176 | |||
177 | </div> | ||
178 | </div><p> | ||
179 | <a class="anchor" name="g947e2d43df920a26fb52b5273ea9856b"></a><!-- doxytag: member="objects.h::dWorldGetAutoDisableLinearAverageThreshold" ref="g947e2d43df920a26fb52b5273ea9856b" args="(dWorldID)" --> | ||
180 | <div class="memitem"> | ||
181 | <div class="memproto"> | ||
182 | <table class="memname"> | ||
183 | <tr> | ||
184 | <td class="memname">ODE_API dReal dWorldGetAutoDisableLinearAverageThreshold </td> | ||
185 | <td>(</td> | ||
186 | <td class="paramtype">dWorldID </td> | ||
187 | <td class="paramname"> </td> | ||
188 | <td> ) </td> | ||
189 | <td width="100%"></td> | ||
190 | </tr> | ||
191 | </table> | ||
192 | </div> | ||
193 | <div class="memdoc"> | ||
194 | |||
195 | <p> | ||
196 | Get auto disable linear average threshold for newly created bodies. | ||
197 | <p> | ||
198 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>the threshold </dd></dl> | ||
199 | |||
200 | </div> | ||
201 | </div><p> | ||
202 | <a class="anchor" name="g48802a9736cc8cc9c1a14cbc3125d9b2"></a><!-- doxytag: member="objects.h::dWorldGetAutoDisableLinearThreshold" ref="g48802a9736cc8cc9c1a14cbc3125d9b2" args="(dWorldID)" --> | ||
203 | <div class="memitem"> | ||
204 | <div class="memproto"> | ||
205 | <table class="memname"> | ||
206 | <tr> | ||
207 | <td class="memname">ODE_API dReal dWorldGetAutoDisableLinearThreshold </td> | ||
208 | <td>(</td> | ||
209 | <td class="paramtype">dWorldID </td> | ||
210 | <td class="paramname"> </td> | ||
211 | <td> ) </td> | ||
212 | <td width="100%"></td> | ||
213 | </tr> | ||
214 | </table> | ||
215 | </div> | ||
216 | <div class="memdoc"> | ||
217 | |||
218 | <p> | ||
219 | Get auto disable linear threshold for newly created bodies. | ||
220 | <p> | ||
221 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>the threshold </dd></dl> | ||
222 | |||
223 | </div> | ||
224 | </div><p> | ||
225 | <a class="anchor" name="gb0a26f648b9e40d8d4639bf187d5ac94"></a><!-- doxytag: member="objects.h::dWorldGetAutoDisableSteps" ref="gb0a26f648b9e40d8d4639bf187d5ac94" args="(dWorldID)" --> | ||
226 | <div class="memitem"> | ||
227 | <div class="memproto"> | ||
228 | <table class="memname"> | ||
229 | <tr> | ||
230 | <td class="memname">ODE_API int dWorldGetAutoDisableSteps </td> | ||
231 | <td>(</td> | ||
232 | <td class="paramtype">dWorldID </td> | ||
233 | <td class="paramname"> </td> | ||
234 | <td> ) </td> | ||
235 | <td width="100%"></td> | ||
236 | </tr> | ||
237 | </table> | ||
238 | </div> | ||
239 | <div class="memdoc"> | ||
240 | |||
241 | <p> | ||
242 | Get auto disable steps for newly created bodies. | ||
243 | <p> | ||
244 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>nr of steps </dd></dl> | ||
245 | |||
246 | </div> | ||
247 | </div><p> | ||
248 | <a class="anchor" name="gbc004c37efff5f962fa2ac271b3be8e1"></a><!-- doxytag: member="objects.h::dWorldGetAutoDisableTime" ref="gbc004c37efff5f962fa2ac271b3be8e1" args="(dWorldID)" --> | ||
249 | <div class="memitem"> | ||
250 | <div class="memproto"> | ||
251 | <table class="memname"> | ||
252 | <tr> | ||
253 | <td class="memname">ODE_API dReal dWorldGetAutoDisableTime </td> | ||
254 | <td>(</td> | ||
255 | <td class="paramtype">dWorldID </td> | ||
256 | <td class="paramname"> </td> | ||
257 | <td> ) </td> | ||
258 | <td width="100%"></td> | ||
259 | </tr> | ||
260 | </table> | ||
261 | </div> | ||
262 | <div class="memdoc"> | ||
263 | |||
264 | <p> | ||
265 | Get auto disable time for newly created bodies. | ||
266 | <p> | ||
267 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>nr of seconds </dd></dl> | ||
268 | |||
269 | </div> | ||
270 | </div><p> | ||
271 | <a class="anchor" name="gca94337cc27914fe4bc00ebce83f231a"></a><!-- doxytag: member="objects.h::dWorldSetAutoDisableAngularAverageThreshold" ref="gca94337cc27914fe4bc00ebce83f231a" args="(dWorldID, dReal angular_average_threshold)" --> | ||
272 | <div class="memitem"> | ||
273 | <div class="memproto"> | ||
274 | <table class="memname"> | ||
275 | <tr> | ||
276 | <td class="memname">ODE_API void dWorldSetAutoDisableAngularAverageThreshold </td> | ||
277 | <td>(</td> | ||
278 | <td class="paramtype">dWorldID </td> | ||
279 | <td class="paramname">, </td> | ||
280 | </tr> | ||
281 | <tr> | ||
282 | <td class="paramkey"></td> | ||
283 | <td></td> | ||
284 | <td class="paramtype">dReal </td> | ||
285 | <td class="paramname"> <em>angular_average_threshold</em></td><td> </td> | ||
286 | </tr> | ||
287 | <tr> | ||
288 | <td></td> | ||
289 | <td>)</td> | ||
290 | <td></td><td></td><td width="100%"></td> | ||
291 | </tr> | ||
292 | </table> | ||
293 | </div> | ||
294 | <div class="memdoc"> | ||
295 | |||
296 | <p> | ||
297 | Set auto disable angular average threshold for newly created bodies. | ||
298 | <p> | ||
299 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
300 | <table border="0" cellspacing="2" cellpadding="0"> | ||
301 | <tr><td valign="top"></td><td valign="top"><em>linear_average_threshold</em> </td><td>default is 0.01 </td></tr> | ||
302 | </table> | ||
303 | </dl> | ||
304 | |||
305 | </div> | ||
306 | </div><p> | ||
307 | <a class="anchor" name="g61cae2bd156129a918c3a1e69ac1b6dd"></a><!-- doxytag: member="objects.h::dWorldSetAutoDisableAngularThreshold" ref="g61cae2bd156129a918c3a1e69ac1b6dd" args="(dWorldID, dReal angular_threshold)" --> | ||
308 | <div class="memitem"> | ||
309 | <div class="memproto"> | ||
310 | <table class="memname"> | ||
311 | <tr> | ||
312 | <td class="memname">ODE_API void dWorldSetAutoDisableAngularThreshold </td> | ||
313 | <td>(</td> | ||
314 | <td class="paramtype">dWorldID </td> | ||
315 | <td class="paramname">, </td> | ||
316 | </tr> | ||
317 | <tr> | ||
318 | <td class="paramkey"></td> | ||
319 | <td></td> | ||
320 | <td class="paramtype">dReal </td> | ||
321 | <td class="paramname"> <em>angular_threshold</em></td><td> </td> | ||
322 | </tr> | ||
323 | <tr> | ||
324 | <td></td> | ||
325 | <td>)</td> | ||
326 | <td></td><td></td><td width="100%"></td> | ||
327 | </tr> | ||
328 | </table> | ||
329 | </div> | ||
330 | <div class="memdoc"> | ||
331 | |||
332 | <p> | ||
333 | Set auto disable angular threshold for newly created bodies. | ||
334 | <p> | ||
335 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
336 | <table border="0" cellspacing="2" cellpadding="0"> | ||
337 | <tr><td valign="top"></td><td valign="top"><em>linear_threshold</em> </td><td>default is 0.01 </td></tr> | ||
338 | </table> | ||
339 | </dl> | ||
340 | |||
341 | </div> | ||
342 | </div><p> | ||
343 | <a class="anchor" name="g2babd1af3df87518e5bac9dfcb392593"></a><!-- doxytag: member="objects.h::dWorldSetAutoDisableAverageSamplesCount" ref="g2babd1af3df87518e5bac9dfcb392593" args="(dWorldID, unsigned int average_samples_count)" --> | ||
344 | <div class="memitem"> | ||
345 | <div class="memproto"> | ||
346 | <table class="memname"> | ||
347 | <tr> | ||
348 | <td class="memname">ODE_API void dWorldSetAutoDisableAverageSamplesCount </td> | ||
349 | <td>(</td> | ||
350 | <td class="paramtype">dWorldID </td> | ||
351 | <td class="paramname">, </td> | ||
352 | </tr> | ||
353 | <tr> | ||
354 | <td class="paramkey"></td> | ||
355 | <td></td> | ||
356 | <td class="paramtype">unsigned int </td> | ||
357 | <td class="paramname"> <em>average_samples_count</em></td><td> </td> | ||
358 | </tr> | ||
359 | <tr> | ||
360 | <td></td> | ||
361 | <td>)</td> | ||
362 | <td></td><td></td><td width="100%"></td> | ||
363 | </tr> | ||
364 | </table> | ||
365 | </div> | ||
366 | <div class="memdoc"> | ||
367 | |||
368 | <p> | ||
369 | Set auto disable average sample count for newly created bodies. | ||
370 | <p> | ||
371 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
372 | <table border="0" cellspacing="2" cellpadding="0"> | ||
373 | <tr><td valign="top"></td><td valign="top"><em>average_samples_count</em> </td><td>Default is 1, meaning only instantaneous velocity is used. Set to zero to disable sampling and thus prevent any body from auto-disabling. </td></tr> | ||
374 | </table> | ||
375 | </dl> | ||
376 | |||
377 | </div> | ||
378 | </div><p> | ||
379 | <a class="anchor" name="g58959b92ae4706e612bca673e85bfc50"></a><!-- doxytag: member="objects.h::dWorldSetAutoDisableFlag" ref="g58959b92ae4706e612bca673e85bfc50" args="(dWorldID, int do_auto_disable)" --> | ||
380 | <div class="memitem"> | ||
381 | <div class="memproto"> | ||
382 | <table class="memname"> | ||
383 | <tr> | ||
384 | <td class="memname">ODE_API void dWorldSetAutoDisableFlag </td> | ||
385 | <td>(</td> | ||
386 | <td class="paramtype">dWorldID </td> | ||
387 | <td class="paramname">, </td> | ||
388 | </tr> | ||
389 | <tr> | ||
390 | <td class="paramkey"></td> | ||
391 | <td></td> | ||
392 | <td class="paramtype">int </td> | ||
393 | <td class="paramname"> <em>do_auto_disable</em></td><td> </td> | ||
394 | </tr> | ||
395 | <tr> | ||
396 | <td></td> | ||
397 | <td>)</td> | ||
398 | <td></td><td></td><td width="100%"></td> | ||
399 | </tr> | ||
400 | </table> | ||
401 | </div> | ||
402 | <div class="memdoc"> | ||
403 | |||
404 | <p> | ||
405 | Set auto disable flag for newly created bodies. | ||
406 | <p> | ||
407 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
408 | <table border="0" cellspacing="2" cellpadding="0"> | ||
409 | <tr><td valign="top"></td><td valign="top"><em>do_auto_disable</em> </td><td>default is false. </td></tr> | ||
410 | </table> | ||
411 | </dl> | ||
412 | |||
413 | </div> | ||
414 | </div><p> | ||
415 | <a class="anchor" name="g3e5ef82227b955c545efc40d60ef1b21"></a><!-- doxytag: member="objects.h::dWorldSetAutoDisableLinearAverageThreshold" ref="g3e5ef82227b955c545efc40d60ef1b21" args="(dWorldID, dReal linear_average_threshold)" --> | ||
416 | <div class="memitem"> | ||
417 | <div class="memproto"> | ||
418 | <table class="memname"> | ||
419 | <tr> | ||
420 | <td class="memname">ODE_API void dWorldSetAutoDisableLinearAverageThreshold </td> | ||
421 | <td>(</td> | ||
422 | <td class="paramtype">dWorldID </td> | ||
423 | <td class="paramname">, </td> | ||
424 | </tr> | ||
425 | <tr> | ||
426 | <td class="paramkey"></td> | ||
427 | <td></td> | ||
428 | <td class="paramtype">dReal </td> | ||
429 | <td class="paramname"> <em>linear_average_threshold</em></td><td> </td> | ||
430 | </tr> | ||
431 | <tr> | ||
432 | <td></td> | ||
433 | <td>)</td> | ||
434 | <td></td><td></td><td width="100%"></td> | ||
435 | </tr> | ||
436 | </table> | ||
437 | </div> | ||
438 | <div class="memdoc"> | ||
439 | |||
440 | <p> | ||
441 | Set auto disable linear average threshold for newly created bodies. | ||
442 | <p> | ||
443 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
444 | <table border="0" cellspacing="2" cellpadding="0"> | ||
445 | <tr><td valign="top"></td><td valign="top"><em>linear_average_threshold</em> </td><td>default is 0.01 </td></tr> | ||
446 | </table> | ||
447 | </dl> | ||
448 | |||
449 | </div> | ||
450 | </div><p> | ||
451 | <a class="anchor" name="ga1070c6f127352fb0a87ab1d42677b8e"></a><!-- doxytag: member="objects.h::dWorldSetAutoDisableLinearThreshold" ref="ga1070c6f127352fb0a87ab1d42677b8e" args="(dWorldID, dReal linear_threshold)" --> | ||
452 | <div class="memitem"> | ||
453 | <div class="memproto"> | ||
454 | <table class="memname"> | ||
455 | <tr> | ||
456 | <td class="memname">ODE_API void dWorldSetAutoDisableLinearThreshold </td> | ||
457 | <td>(</td> | ||
458 | <td class="paramtype">dWorldID </td> | ||
459 | <td class="paramname">, </td> | ||
460 | </tr> | ||
461 | <tr> | ||
462 | <td class="paramkey"></td> | ||
463 | <td></td> | ||
464 | <td class="paramtype">dReal </td> | ||
465 | <td class="paramname"> <em>linear_threshold</em></td><td> </td> | ||
466 | </tr> | ||
467 | <tr> | ||
468 | <td></td> | ||
469 | <td>)</td> | ||
470 | <td></td><td></td><td width="100%"></td> | ||
471 | </tr> | ||
472 | </table> | ||
473 | </div> | ||
474 | <div class="memdoc"> | ||
475 | |||
476 | <p> | ||
477 | Set auto disable linear threshold for newly created bodies. | ||
478 | <p> | ||
479 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
480 | <table border="0" cellspacing="2" cellpadding="0"> | ||
481 | <tr><td valign="top"></td><td valign="top"><em>linear_threshold</em> </td><td>default is 0.01 </td></tr> | ||
482 | </table> | ||
483 | </dl> | ||
484 | |||
485 | </div> | ||
486 | </div><p> | ||
487 | <a class="anchor" name="gdb9f69119d1aa259a0e32a8ff94e2535"></a><!-- doxytag: member="objects.h::dWorldSetAutoDisableSteps" ref="gdb9f69119d1aa259a0e32a8ff94e2535" args="(dWorldID, int steps)" --> | ||
488 | <div class="memitem"> | ||
489 | <div class="memproto"> | ||
490 | <table class="memname"> | ||
491 | <tr> | ||
492 | <td class="memname">ODE_API void dWorldSetAutoDisableSteps </td> | ||
493 | <td>(</td> | ||
494 | <td class="paramtype">dWorldID </td> | ||
495 | <td class="paramname">, </td> | ||
496 | </tr> | ||
497 | <tr> | ||
498 | <td class="paramkey"></td> | ||
499 | <td></td> | ||
500 | <td class="paramtype">int </td> | ||
501 | <td class="paramname"> <em>steps</em></td><td> </td> | ||
502 | </tr> | ||
503 | <tr> | ||
504 | <td></td> | ||
505 | <td>)</td> | ||
506 | <td></td><td></td><td width="100%"></td> | ||
507 | </tr> | ||
508 | </table> | ||
509 | </div> | ||
510 | <div class="memdoc"> | ||
511 | |||
512 | <p> | ||
513 | Set auto disable steps for newly created bodies. | ||
514 | <p> | ||
515 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
516 | <table border="0" cellspacing="2" cellpadding="0"> | ||
517 | <tr><td valign="top"></td><td valign="top"><em>steps</em> </td><td>default is 10 </td></tr> | ||
518 | </table> | ||
519 | </dl> | ||
520 | |||
521 | </div> | ||
522 | </div><p> | ||
523 | <a class="anchor" name="g06828866a19cab7aeb129ca9ec76863b"></a><!-- doxytag: member="objects.h::dWorldSetAutoDisableTime" ref="g06828866a19cab7aeb129ca9ec76863b" args="(dWorldID, dReal time)" --> | ||
524 | <div class="memitem"> | ||
525 | <div class="memproto"> | ||
526 | <table class="memname"> | ||
527 | <tr> | ||
528 | <td class="memname">ODE_API void dWorldSetAutoDisableTime </td> | ||
529 | <td>(</td> | ||
530 | <td class="paramtype">dWorldID </td> | ||
531 | <td class="paramname">, </td> | ||
532 | </tr> | ||
533 | <tr> | ||
534 | <td class="paramkey"></td> | ||
535 | <td></td> | ||
536 | <td class="paramtype">dReal </td> | ||
537 | <td class="paramname"> <em>time</em></td><td> </td> | ||
538 | </tr> | ||
539 | <tr> | ||
540 | <td></td> | ||
541 | <td>)</td> | ||
542 | <td></td><td></td><td width="100%"></td> | ||
543 | </tr> | ||
544 | </table> | ||
545 | </div> | ||
546 | <div class="memdoc"> | ||
547 | |||
548 | <p> | ||
549 | Set auto disable time for newly created bodies. | ||
550 | <p> | ||
551 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
552 | <table border="0" cellspacing="2" cellpadding="0"> | ||
553 | <tr><td valign="top"></td><td valign="top"><em>time</em> </td><td>default is 0 seconds </td></tr> | ||
554 | </table> | ||
555 | </dl> | ||
556 | |||
557 | </div> | ||
558 | </div><p> | ||
559 | <hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
560 | <a href="http://www.doxygen.org/index.html"> | ||
561 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
562 | </body> | ||
563 | </html> | ||
diff --git a/libraries/ode-0.9/docs/group__drawstuff.html b/libraries/ode-0.9/docs/group__drawstuff.html new file mode 100644 index 0000000..6cf8650 --- /dev/null +++ b/libraries/ode-0.9/docs/group__drawstuff.html | |||
@@ -0,0 +1,668 @@ | |||
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: DrawStuff</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>DrawStuff</h1><table border="0" cellpadding="0" cellspacing="0"> | ||
17 | <tr><td></td></tr> | ||
18 | <tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> | ||
19 | <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structds_functions.html">dsFunctions</a></td></tr> | ||
20 | |||
21 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set of functions to be used as callbacks by the simulation loop. <a href="structds_functions.html#_details">More...</a><br></td></tr> | ||
22 | <tr><td colspan="2"><br><h2>Functions</h2></td></tr> | ||
23 | <tr><td class="memItemLeft" nowrap align="right" valign="top">DS_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__drawstuff.html#g28560ea1b64c1d83095bcdfce9caf9dc">dsSimulationLoop</a> (int argc, char **argv, int window_width, int window_height, struct <a class="el" href="structds_functions.html">dsFunctions</a> *fn)</td></tr> | ||
24 | |||
25 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Does the complete simulation. <a href="#g28560ea1b64c1d83095bcdfce9caf9dc"></a><br></td></tr> | ||
26 | <tr><td class="memItemLeft" nowrap align="right" valign="top">DS_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__drawstuff.html#g7a2a69ac611d5dc6ffc8e43b0a743472">dsError</a> (char *msg,...)</td></tr> | ||
27 | |||
28 | <tr><td class="mdescLeft"> </td><td class="mdescRight">exit with error message. <a href="#g7a2a69ac611d5dc6ffc8e43b0a743472"></a><br></td></tr> | ||
29 | <tr><td class="memItemLeft" nowrap align="right" valign="top">DS_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__drawstuff.html#ga84175b14c3c31daae08a9c88acc2b02">dsDebug</a> (char *msg,...)</td></tr> | ||
30 | |||
31 | <tr><td class="mdescLeft"> </td><td class="mdescRight">exit with error message and core dump. <a href="#ga84175b14c3c31daae08a9c88acc2b02"></a><br></td></tr> | ||
32 | <tr><td class="memItemLeft" nowrap align="right" valign="top">DS_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__drawstuff.html#gbca5fa4076aa9e45caa049f33e8cf168">dsPrint</a> (char *msg,...)</td></tr> | ||
33 | |||
34 | <tr><td class="mdescLeft"> </td><td class="mdescRight">print log message <a href="#gbca5fa4076aa9e45caa049f33e8cf168"></a><br></td></tr> | ||
35 | <tr><td class="memItemLeft" nowrap align="right" valign="top">DS_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__drawstuff.html#g8e4ea933c31d207ec57949fbb3a75815">dsSetViewpoint</a> (float xyz[3], float hpr[3])</td></tr> | ||
36 | |||
37 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the viewpoint. <a href="#g8e4ea933c31d207ec57949fbb3a75815"></a><br></td></tr> | ||
38 | <tr><td class="memItemLeft" nowrap align="right" valign="top">DS_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__drawstuff.html#gaa22f45ad00e0010a1440985ac51b18b">dsGetViewpoint</a> (float xyz[3], float hpr[3])</td></tr> | ||
39 | |||
40 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the viewpoint. <a href="#gaa22f45ad00e0010a1440985ac51b18b"></a><br></td></tr> | ||
41 | <tr><td class="memItemLeft" nowrap align="right" valign="top">DS_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__drawstuff.html#g6c13a5a310b9e00c45150058e669ebad">dsStop</a> ()</td></tr> | ||
42 | |||
43 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Stop the simulation loop. <a href="#g6c13a5a310b9e00c45150058e669ebad"></a><br></td></tr> | ||
44 | <tr><td class="memItemLeft" nowrap align="right" valign="top">DS_API double </td><td class="memItemRight" valign="bottom"><a class="el" href="group__drawstuff.html#g02f3f096703d49f5a9e497aec0b85f75">dsElapsedTime</a> ()</td></tr> | ||
45 | |||
46 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the elapsed time (on wall-clock). <a href="#g02f3f096703d49f5a9e497aec0b85f75"></a><br></td></tr> | ||
47 | <tr><td class="memItemLeft" nowrap align="right" valign="top">DS_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__drawstuff.html#g8a3d6f8fecc8c7d5a206bed35f17ba7a">dsSetTexture</a> (int texture_number)</td></tr> | ||
48 | |||
49 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Toggle the rendering of textures. <a href="#g8a3d6f8fecc8c7d5a206bed35f17ba7a"></a><br></td></tr> | ||
50 | <tr><td class="memItemLeft" nowrap align="right" valign="top">DS_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__drawstuff.html#g3221a0d1360621eaad7c54597671c092">dsSetColor</a> (float red, float green, float blue)</td></tr> | ||
51 | |||
52 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the color with which geometry is drawn. <a href="#g3221a0d1360621eaad7c54597671c092"></a><br></td></tr> | ||
53 | <tr><td class="memItemLeft" nowrap align="right" valign="top">DS_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__drawstuff.html#g440940cfaef61775e37c33b055b832af">dsSetColorAlpha</a> (float red, float green, float blue, float alpha)</td></tr> | ||
54 | |||
55 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the color and transparency with which geometry is drawn. <a href="#g440940cfaef61775e37c33b055b832af"></a><br></td></tr> | ||
56 | <tr><td class="memItemLeft" nowrap align="right" valign="top">DS_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__drawstuff.html#gfba4fde6b0b74f6cd422036dedd08836">dsDrawBox</a> (const float pos[3], const float R[12], const float sides[3])</td></tr> | ||
57 | |||
58 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Draw a box. <a href="#gfba4fde6b0b74f6cd422036dedd08836"></a><br></td></tr> | ||
59 | <tr><td class="memItemLeft" nowrap align="right" valign="top">DS_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__drawstuff.html#g0802e7641f8028182b69fabc729a6704">dsDrawSphere</a> (const float pos[3], const float R[12], float radius)</td></tr> | ||
60 | |||
61 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Draw a sphere. <a href="#g0802e7641f8028182b69fabc729a6704"></a><br></td></tr> | ||
62 | <tr><td class="memItemLeft" nowrap align="right" valign="top">DS_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__drawstuff.html#gcfcbae15cee67eceb45cd96bf01484d4">dsDrawTriangle</a> (const float pos[3], const float R[12], const float *v0, const float *v1, const float *v2, int solid)</td></tr> | ||
63 | |||
64 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Draw a triangle. <a href="#gcfcbae15cee67eceb45cd96bf01484d4"></a><br></td></tr> | ||
65 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g0b09b41f1f6500b293678aa1691f1537"></a><!-- doxytag: member="drawstuff::dsDrawCylinder" ref="g0b09b41f1f6500b293678aa1691f1537" args="(const float pos[3], const float R[12], float length, float radius)" --> | ||
66 | DS_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__drawstuff.html#g0b09b41f1f6500b293678aa1691f1537">dsDrawCylinder</a> (const float pos[3], const float R[12], float length, float radius)</td></tr> | ||
67 | |||
68 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Draw a z-aligned cylinder. <br></td></tr> | ||
69 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gce8f6c8a9f2871dac2f5e7f159b96feb"></a><!-- doxytag: member="drawstuff::dsDrawCapsule" ref="gce8f6c8a9f2871dac2f5e7f159b96feb" args="(const float pos[3], const float R[12], float length, float radius)" --> | ||
70 | DS_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__drawstuff.html#gce8f6c8a9f2871dac2f5e7f159b96feb">dsDrawCapsule</a> (const float pos[3], const float R[12], float length, float radius)</td></tr> | ||
71 | |||
72 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Draw a z-aligned capsule. <br></td></tr> | ||
73 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g61b166a9b7c04063a27be982051f4af5"></a><!-- doxytag: member="drawstuff::dsDrawLine" ref="g61b166a9b7c04063a27be982051f4af5" args="(const float pos1[3], const float pos2[3])" --> | ||
74 | DS_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__drawstuff.html#g61b166a9b7c04063a27be982051f4af5">dsDrawLine</a> (const float pos1[3], const float pos2[3])</td></tr> | ||
75 | |||
76 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Draw a line. <br></td></tr> | ||
77 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g4b8754994a4cca9d51fce16445f0d612"></a><!-- doxytag: member="drawstuff::dsDrawConvex" ref="g4b8754994a4cca9d51fce16445f0d612" args="(const float pos[3], const float R[12], float *_planes, unsigned int _planecount, float *_points, unsigned int _pointcount, unsigned int *_polygons)" --> | ||
78 | DS_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__drawstuff.html#g4b8754994a4cca9d51fce16445f0d612">dsDrawConvex</a> (const float pos[3], const float R[12], float *_planes, unsigned int _planecount, float *_points, unsigned int _pointcount, unsigned int *_polygons)</td></tr> | ||
79 | |||
80 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Draw a convex shape. <br></td></tr> | ||
81 | <tr><td class="memItemLeft" nowrap align="right" valign="top">DS_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__drawstuff.html#g211aa83d5c5d102cdda303cc7aeb2fd5">dsSetSphereQuality</a> (int n)</td></tr> | ||
82 | |||
83 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the quality with which curved objects are rendered. <a href="#g211aa83d5c5d102cdda303cc7aeb2fd5"></a><br></td></tr> | ||
84 | </table> | ||
85 | <hr><a name="_details"></a><h2>Detailed Description</h2> | ||
86 | DrawStuff is a library for rendering simple 3D objects in a virtual environment, for the purposes of demonstrating the features of ODE. It is provided for demonstration purposes and is not intended for production use.<h2><a class="anchor" name="Notes"> | ||
87 | Notes</a></h2> | ||
88 | In the virtual world, the z axis is "up" and z=0 is the floor.<p> | ||
89 | The user is able to click+drag in the main window to move the camera: left button - pan and tilt. right button - forward and sideways. left + right button (or middle button) - sideways and up. <hr><h2>Function Documentation</h2> | ||
90 | <a class="anchor" name="ga84175b14c3c31daae08a9c88acc2b02"></a><!-- doxytag: member="drawstuff.h::dsDebug" ref="ga84175b14c3c31daae08a9c88acc2b02" args="(char *msg,...)" --> | ||
91 | <div class="memitem"> | ||
92 | <div class="memproto"> | ||
93 | <table class="memname"> | ||
94 | <tr> | ||
95 | <td class="memname">DS_API void dsDebug </td> | ||
96 | <td>(</td> | ||
97 | <td class="paramtype">char * </td> | ||
98 | <td class="paramname"> <em>msg</em>, </td> | ||
99 | </tr> | ||
100 | <tr> | ||
101 | <td class="paramkey"></td> | ||
102 | <td></td> | ||
103 | <td class="paramtype"> </td> | ||
104 | <td class="paramname"> <em>...</em></td><td> </td> | ||
105 | </tr> | ||
106 | <tr> | ||
107 | <td></td> | ||
108 | <td>)</td> | ||
109 | <td></td><td></td><td width="100%"></td> | ||
110 | </tr> | ||
111 | </table> | ||
112 | </div> | ||
113 | <div class="memdoc"> | ||
114 | |||
115 | <p> | ||
116 | exit with error message and core dump. | ||
117 | <p> | ||
118 | this functions tries to dump core or start the debugger. <dl compact><dt><b>Parameters:</b></dt><dd> | ||
119 | <table border="0" cellspacing="2" cellpadding="0"> | ||
120 | <tr><td valign="top"></td><td valign="top"><em>msg</em> </td><td>format strin, like printf, without the newline character. </td></tr> | ||
121 | </table> | ||
122 | </dl> | ||
123 | |||
124 | </div> | ||
125 | </div><p> | ||
126 | <a class="anchor" name="gfba4fde6b0b74f6cd422036dedd08836"></a><!-- doxytag: member="drawstuff.h::dsDrawBox" ref="gfba4fde6b0b74f6cd422036dedd08836" args="(const float pos[3], const float R[12], const float sides[3])" --> | ||
127 | <div class="memitem"> | ||
128 | <div class="memproto"> | ||
129 | <table class="memname"> | ||
130 | <tr> | ||
131 | <td class="memname">DS_API void dsDrawBox </td> | ||
132 | <td>(</td> | ||
133 | <td class="paramtype">const float </td> | ||
134 | <td class="paramname"> <em>pos</em>[3], </td> | ||
135 | </tr> | ||
136 | <tr> | ||
137 | <td class="paramkey"></td> | ||
138 | <td></td> | ||
139 | <td class="paramtype">const float </td> | ||
140 | <td class="paramname"> <em>R</em>[12], </td> | ||
141 | </tr> | ||
142 | <tr> | ||
143 | <td class="paramkey"></td> | ||
144 | <td></td> | ||
145 | <td class="paramtype">const float </td> | ||
146 | <td class="paramname"> <em>sides</em>[3]</td><td> </td> | ||
147 | </tr> | ||
148 | <tr> | ||
149 | <td></td> | ||
150 | <td>)</td> | ||
151 | <td></td><td></td><td width="100%"></td> | ||
152 | </tr> | ||
153 | </table> | ||
154 | </div> | ||
155 | <div class="memdoc"> | ||
156 | |||
157 | <p> | ||
158 | Draw a box. | ||
159 | <p> | ||
160 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
161 | <table border="0" cellspacing="2" cellpadding="0"> | ||
162 | <tr><td valign="top"></td><td valign="top"><em>pos</em> </td><td>is the x,y,z of the center of the object. </td></tr> | ||
163 | <tr><td valign="top"></td><td valign="top"><em>R</em> </td><td>is a 3x3 rotation matrix for the object, stored by row like this: [ R11 R12 R13 0 ] [ R21 R22 R23 0 ] [ R31 R32 R33 0 ] </td></tr> | ||
164 | <tr><td valign="top"></td><td valign="top"><em>sides[]</em> </td><td>is an array of x,y,z side lengths. </td></tr> | ||
165 | </table> | ||
166 | </dl> | ||
167 | |||
168 | </div> | ||
169 | </div><p> | ||
170 | <a class="anchor" name="g0802e7641f8028182b69fabc729a6704"></a><!-- doxytag: member="drawstuff.h::dsDrawSphere" ref="g0802e7641f8028182b69fabc729a6704" args="(const float pos[3], const float R[12], float radius)" --> | ||
171 | <div class="memitem"> | ||
172 | <div class="memproto"> | ||
173 | <table class="memname"> | ||
174 | <tr> | ||
175 | <td class="memname">DS_API void dsDrawSphere </td> | ||
176 | <td>(</td> | ||
177 | <td class="paramtype">const float </td> | ||
178 | <td class="paramname"> <em>pos</em>[3], </td> | ||
179 | </tr> | ||
180 | <tr> | ||
181 | <td class="paramkey"></td> | ||
182 | <td></td> | ||
183 | <td class="paramtype">const float </td> | ||
184 | <td class="paramname"> <em>R</em>[12], </td> | ||
185 | </tr> | ||
186 | <tr> | ||
187 | <td class="paramkey"></td> | ||
188 | <td></td> | ||
189 | <td class="paramtype">float </td> | ||
190 | <td class="paramname"> <em>radius</em></td><td> </td> | ||
191 | </tr> | ||
192 | <tr> | ||
193 | <td></td> | ||
194 | <td>)</td> | ||
195 | <td></td><td></td><td width="100%"></td> | ||
196 | </tr> | ||
197 | </table> | ||
198 | </div> | ||
199 | <div class="memdoc"> | ||
200 | |||
201 | <p> | ||
202 | Draw a sphere. | ||
203 | <p> | ||
204 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
205 | <table border="0" cellspacing="2" cellpadding="0"> | ||
206 | <tr><td valign="top"></td><td valign="top"><em>pos</em> </td><td>Position of center. </td></tr> | ||
207 | <tr><td valign="top"></td><td valign="top"><em>R</em> </td><td>orientation. </td></tr> | ||
208 | <tr><td valign="top"></td><td valign="top"><em>radius</em> </td><td></td></tr> | ||
209 | </table> | ||
210 | </dl> | ||
211 | |||
212 | </div> | ||
213 | </div><p> | ||
214 | <a class="anchor" name="gcfcbae15cee67eceb45cd96bf01484d4"></a><!-- doxytag: member="drawstuff.h::dsDrawTriangle" ref="gcfcbae15cee67eceb45cd96bf01484d4" args="(const float pos[3], const float R[12], const float *v0, const float *v1, const float *v2, int solid)" --> | ||
215 | <div class="memitem"> | ||
216 | <div class="memproto"> | ||
217 | <table class="memname"> | ||
218 | <tr> | ||
219 | <td class="memname">DS_API void dsDrawTriangle </td> | ||
220 | <td>(</td> | ||
221 | <td class="paramtype">const float </td> | ||
222 | <td class="paramname"> <em>pos</em>[3], </td> | ||
223 | </tr> | ||
224 | <tr> | ||
225 | <td class="paramkey"></td> | ||
226 | <td></td> | ||
227 | <td class="paramtype">const float </td> | ||
228 | <td class="paramname"> <em>R</em>[12], </td> | ||
229 | </tr> | ||
230 | <tr> | ||
231 | <td class="paramkey"></td> | ||
232 | <td></td> | ||
233 | <td class="paramtype">const float * </td> | ||
234 | <td class="paramname"> <em>v0</em>, </td> | ||
235 | </tr> | ||
236 | <tr> | ||
237 | <td class="paramkey"></td> | ||
238 | <td></td> | ||
239 | <td class="paramtype">const float * </td> | ||
240 | <td class="paramname"> <em>v1</em>, </td> | ||
241 | </tr> | ||
242 | <tr> | ||
243 | <td class="paramkey"></td> | ||
244 | <td></td> | ||
245 | <td class="paramtype">const float * </td> | ||
246 | <td class="paramname"> <em>v2</em>, </td> | ||
247 | </tr> | ||
248 | <tr> | ||
249 | <td class="paramkey"></td> | ||
250 | <td></td> | ||
251 | <td class="paramtype">int </td> | ||
252 | <td class="paramname"> <em>solid</em></td><td> </td> | ||
253 | </tr> | ||
254 | <tr> | ||
255 | <td></td> | ||
256 | <td>)</td> | ||
257 | <td></td><td></td><td width="100%"></td> | ||
258 | </tr> | ||
259 | </table> | ||
260 | </div> | ||
261 | <div class="memdoc"> | ||
262 | |||
263 | <p> | ||
264 | Draw a triangle. | ||
265 | <p> | ||
266 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
267 | <table border="0" cellspacing="2" cellpadding="0"> | ||
268 | <tr><td valign="top"></td><td valign="top"><em>pos</em> </td><td>Position of center </td></tr> | ||
269 | <tr><td valign="top"></td><td valign="top"><em>R</em> </td><td>orientation </td></tr> | ||
270 | <tr><td valign="top"></td><td valign="top"><em>v0</em> </td><td>first vertex </td></tr> | ||
271 | <tr><td valign="top"></td><td valign="top"><em>v1</em> </td><td>second </td></tr> | ||
272 | <tr><td valign="top"></td><td valign="top"><em>v2</em> </td><td>third vertex </td></tr> | ||
273 | <tr><td valign="top"></td><td valign="top"><em>solid</em> </td><td>set to 0 for wireframe </td></tr> | ||
274 | </table> | ||
275 | </dl> | ||
276 | |||
277 | </div> | ||
278 | </div><p> | ||
279 | <a class="anchor" name="g02f3f096703d49f5a9e497aec0b85f75"></a><!-- doxytag: member="drawstuff.h::dsElapsedTime" ref="g02f3f096703d49f5a9e497aec0b85f75" args="()" --> | ||
280 | <div class="memitem"> | ||
281 | <div class="memproto"> | ||
282 | <table class="memname"> | ||
283 | <tr> | ||
284 | <td class="memname">DS_API double dsElapsedTime </td> | ||
285 | <td>(</td> | ||
286 | <td class="paramname"> </td> | ||
287 | <td> ) </td> | ||
288 | <td width="100%"></td> | ||
289 | </tr> | ||
290 | </table> | ||
291 | </div> | ||
292 | <div class="memdoc"> | ||
293 | |||
294 | <p> | ||
295 | Get the elapsed time (on wall-clock). | ||
296 | <p> | ||
297 | It returns the nr of seconds since the last call to this function. | ||
298 | </div> | ||
299 | </div><p> | ||
300 | <a class="anchor" name="g7a2a69ac611d5dc6ffc8e43b0a743472"></a><!-- doxytag: member="drawstuff.h::dsError" ref="g7a2a69ac611d5dc6ffc8e43b0a743472" args="(char *msg,...)" --> | ||
301 | <div class="memitem"> | ||
302 | <div class="memproto"> | ||
303 | <table class="memname"> | ||
304 | <tr> | ||
305 | <td class="memname">DS_API void dsError </td> | ||
306 | <td>(</td> | ||
307 | <td class="paramtype">char * </td> | ||
308 | <td class="paramname"> <em>msg</em>, </td> | ||
309 | </tr> | ||
310 | <tr> | ||
311 | <td class="paramkey"></td> | ||
312 | <td></td> | ||
313 | <td class="paramtype"> </td> | ||
314 | <td class="paramname"> <em>...</em></td><td> </td> | ||
315 | </tr> | ||
316 | <tr> | ||
317 | <td></td> | ||
318 | <td>)</td> | ||
319 | <td></td><td></td><td width="100%"></td> | ||
320 | </tr> | ||
321 | </table> | ||
322 | </div> | ||
323 | <div class="memdoc"> | ||
324 | |||
325 | <p> | ||
326 | exit with error message. | ||
327 | <p> | ||
328 | This function displays an error message then exit. <dl compact><dt><b>Parameters:</b></dt><dd> | ||
329 | <table border="0" cellspacing="2" cellpadding="0"> | ||
330 | <tr><td valign="top"></td><td valign="top"><em>msg</em> </td><td>format strin, like printf, without the newline character. </td></tr> | ||
331 | </table> | ||
332 | </dl> | ||
333 | |||
334 | </div> | ||
335 | </div><p> | ||
336 | <a class="anchor" name="gaa22f45ad00e0010a1440985ac51b18b"></a><!-- doxytag: member="drawstuff.h::dsGetViewpoint" ref="gaa22f45ad00e0010a1440985ac51b18b" args="(float xyz[3], float hpr[3])" --> | ||
337 | <div class="memitem"> | ||
338 | <div class="memproto"> | ||
339 | <table class="memname"> | ||
340 | <tr> | ||
341 | <td class="memname">DS_API void dsGetViewpoint </td> | ||
342 | <td>(</td> | ||
343 | <td class="paramtype">float </td> | ||
344 | <td class="paramname"> <em>xyz</em>[3], </td> | ||
345 | </tr> | ||
346 | <tr> | ||
347 | <td class="paramkey"></td> | ||
348 | <td></td> | ||
349 | <td class="paramtype">float </td> | ||
350 | <td class="paramname"> <em>hpr</em>[3]</td><td> </td> | ||
351 | </tr> | ||
352 | <tr> | ||
353 | <td></td> | ||
354 | <td>)</td> | ||
355 | <td></td><td></td><td width="100%"></td> | ||
356 | </tr> | ||
357 | </table> | ||
358 | </div> | ||
359 | <div class="memdoc"> | ||
360 | |||
361 | <p> | ||
362 | Gets the viewpoint. | ||
363 | <p> | ||
364 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
365 | <table border="0" cellspacing="2" cellpadding="0"> | ||
366 | <tr><td valign="top"></td><td valign="top"><em>xyz</em> </td><td>position </td></tr> | ||
367 | <tr><td valign="top"></td><td valign="top"><em>hpr</em> </td><td>heading,pitch,roll. </td></tr> | ||
368 | </table> | ||
369 | </dl> | ||
370 | |||
371 | </div> | ||
372 | </div><p> | ||
373 | <a class="anchor" name="gbca5fa4076aa9e45caa049f33e8cf168"></a><!-- doxytag: member="drawstuff.h::dsPrint" ref="gbca5fa4076aa9e45caa049f33e8cf168" args="(char *msg,...)" --> | ||
374 | <div class="memitem"> | ||
375 | <div class="memproto"> | ||
376 | <table class="memname"> | ||
377 | <tr> | ||
378 | <td class="memname">DS_API void dsPrint </td> | ||
379 | <td>(</td> | ||
380 | <td class="paramtype">char * </td> | ||
381 | <td class="paramname"> <em>msg</em>, </td> | ||
382 | </tr> | ||
383 | <tr> | ||
384 | <td class="paramkey"></td> | ||
385 | <td></td> | ||
386 | <td class="paramtype"> </td> | ||
387 | <td class="paramname"> <em>...</em></td><td> </td> | ||
388 | </tr> | ||
389 | <tr> | ||
390 | <td></td> | ||
391 | <td>)</td> | ||
392 | <td></td><td></td><td width="100%"></td> | ||
393 | </tr> | ||
394 | </table> | ||
395 | </div> | ||
396 | <div class="memdoc"> | ||
397 | |||
398 | <p> | ||
399 | print log message | ||
400 | <p> | ||
401 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
402 | <table border="0" cellspacing="2" cellpadding="0"> | ||
403 | <tr><td valign="top"></td><td valign="top"><em>msg</em> </td><td>format string, like printf, without the <br> | ||
404 | . </td></tr> | ||
405 | </table> | ||
406 | </dl> | ||
407 | |||
408 | </div> | ||
409 | </div><p> | ||
410 | <a class="anchor" name="g3221a0d1360621eaad7c54597671c092"></a><!-- doxytag: member="drawstuff.h::dsSetColor" ref="g3221a0d1360621eaad7c54597671c092" args="(float red, float green, float blue)" --> | ||
411 | <div class="memitem"> | ||
412 | <div class="memproto"> | ||
413 | <table class="memname"> | ||
414 | <tr> | ||
415 | <td class="memname">DS_API void dsSetColor </td> | ||
416 | <td>(</td> | ||
417 | <td class="paramtype">float </td> | ||
418 | <td class="paramname"> <em>red</em>, </td> | ||
419 | </tr> | ||
420 | <tr> | ||
421 | <td class="paramkey"></td> | ||
422 | <td></td> | ||
423 | <td class="paramtype">float </td> | ||
424 | <td class="paramname"> <em>green</em>, </td> | ||
425 | </tr> | ||
426 | <tr> | ||
427 | <td class="paramkey"></td> | ||
428 | <td></td> | ||
429 | <td class="paramtype">float </td> | ||
430 | <td class="paramname"> <em>blue</em></td><td> </td> | ||
431 | </tr> | ||
432 | <tr> | ||
433 | <td></td> | ||
434 | <td>)</td> | ||
435 | <td></td><td></td><td width="100%"></td> | ||
436 | </tr> | ||
437 | </table> | ||
438 | </div> | ||
439 | <div class="memdoc"> | ||
440 | |||
441 | <p> | ||
442 | Set the color with which geometry is drawn. | ||
443 | <p> | ||
444 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
445 | <table border="0" cellspacing="2" cellpadding="0"> | ||
446 | <tr><td valign="top"></td><td valign="top"><em>red</em> </td><td>Red component from 0 to 1 </td></tr> | ||
447 | <tr><td valign="top"></td><td valign="top"><em>green</em> </td><td>Green component from 0 to 1 </td></tr> | ||
448 | <tr><td valign="top"></td><td valign="top"><em>blue</em> </td><td>Blue component from 0 to 1 </td></tr> | ||
449 | </table> | ||
450 | </dl> | ||
451 | |||
452 | </div> | ||
453 | </div><p> | ||
454 | <a class="anchor" name="g440940cfaef61775e37c33b055b832af"></a><!-- doxytag: member="drawstuff.h::dsSetColorAlpha" ref="g440940cfaef61775e37c33b055b832af" args="(float red, float green, float blue, float alpha)" --> | ||
455 | <div class="memitem"> | ||
456 | <div class="memproto"> | ||
457 | <table class="memname"> | ||
458 | <tr> | ||
459 | <td class="memname">DS_API void dsSetColorAlpha </td> | ||
460 | <td>(</td> | ||
461 | <td class="paramtype">float </td> | ||
462 | <td class="paramname"> <em>red</em>, </td> | ||
463 | </tr> | ||
464 | <tr> | ||
465 | <td class="paramkey"></td> | ||
466 | <td></td> | ||
467 | <td class="paramtype">float </td> | ||
468 | <td class="paramname"> <em>green</em>, </td> | ||
469 | </tr> | ||
470 | <tr> | ||
471 | <td class="paramkey"></td> | ||
472 | <td></td> | ||
473 | <td class="paramtype">float </td> | ||
474 | <td class="paramname"> <em>blue</em>, </td> | ||
475 | </tr> | ||
476 | <tr> | ||
477 | <td class="paramkey"></td> | ||
478 | <td></td> | ||
479 | <td class="paramtype">float </td> | ||
480 | <td class="paramname"> <em>alpha</em></td><td> </td> | ||
481 | </tr> | ||
482 | <tr> | ||
483 | <td></td> | ||
484 | <td>)</td> | ||
485 | <td></td><td></td><td width="100%"></td> | ||
486 | </tr> | ||
487 | </table> | ||
488 | </div> | ||
489 | <div class="memdoc"> | ||
490 | |||
491 | <p> | ||
492 | Set the color and transparency with which geometry is drawn. | ||
493 | <p> | ||
494 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
495 | <table border="0" cellspacing="2" cellpadding="0"> | ||
496 | <tr><td valign="top"></td><td valign="top"><em>alpha</em> </td><td>Note that alpha transparency is a misnomer: it is alpha opacity. 1.0 means fully opaque, and 0.0 means fully transparent. </td></tr> | ||
497 | </table> | ||
498 | </dl> | ||
499 | |||
500 | </div> | ||
501 | </div><p> | ||
502 | <a class="anchor" name="g211aa83d5c5d102cdda303cc7aeb2fd5"></a><!-- doxytag: member="drawstuff.h::dsSetSphereQuality" ref="g211aa83d5c5d102cdda303cc7aeb2fd5" args="(int n)" --> | ||
503 | <div class="memitem"> | ||
504 | <div class="memproto"> | ||
505 | <table class="memname"> | ||
506 | <tr> | ||
507 | <td class="memname">DS_API void dsSetSphereQuality </td> | ||
508 | <td>(</td> | ||
509 | <td class="paramtype">int </td> | ||
510 | <td class="paramname"> <em>n</em> </td> | ||
511 | <td> ) </td> | ||
512 | <td width="100%"></td> | ||
513 | </tr> | ||
514 | </table> | ||
515 | </div> | ||
516 | <div class="memdoc"> | ||
517 | |||
518 | <p> | ||
519 | Set the quality with which curved objects are rendered. | ||
520 | <p> | ||
521 | Higher numbers are higher quality, but slower to draw. This must be set before the first objects are drawn to be effective. Default sphere quality is 1, default capsule quality is 3. | ||
522 | </div> | ||
523 | </div><p> | ||
524 | <a class="anchor" name="g8a3d6f8fecc8c7d5a206bed35f17ba7a"></a><!-- doxytag: member="drawstuff.h::dsSetTexture" ref="g8a3d6f8fecc8c7d5a206bed35f17ba7a" args="(int texture_number)" --> | ||
525 | <div class="memitem"> | ||
526 | <div class="memproto"> | ||
527 | <table class="memname"> | ||
528 | <tr> | ||
529 | <td class="memname">DS_API void dsSetTexture </td> | ||
530 | <td>(</td> | ||
531 | <td class="paramtype">int </td> | ||
532 | <td class="paramname"> <em>texture_number</em> </td> | ||
533 | <td> ) </td> | ||
534 | <td width="100%"></td> | ||
535 | </tr> | ||
536 | </table> | ||
537 | </div> | ||
538 | <div class="memdoc"> | ||
539 | |||
540 | <p> | ||
541 | Toggle the rendering of textures. | ||
542 | <p> | ||
543 | It changes the way objects are drawn. these changes will apply to all further dsDrawXXX() functions. <dl compact><dt><b>Parameters:</b></dt><dd> | ||
544 | <table border="0" cellspacing="2" cellpadding="0"> | ||
545 | <tr><td valign="top"></td><td valign="top"><em>the</em> </td><td>texture number must be a DS_xxx texture constant. The current texture is colored according to the current color. At the start of each frame, the texture is reset to none and the color is reset to white. </td></tr> | ||
546 | </table> | ||
547 | </dl> | ||
548 | |||
549 | </div> | ||
550 | </div><p> | ||
551 | <a class="anchor" name="g8e4ea933c31d207ec57949fbb3a75815"></a><!-- doxytag: member="drawstuff.h::dsSetViewpoint" ref="g8e4ea933c31d207ec57949fbb3a75815" args="(float xyz[3], float hpr[3])" --> | ||
552 | <div class="memitem"> | ||
553 | <div class="memproto"> | ||
554 | <table class="memname"> | ||
555 | <tr> | ||
556 | <td class="memname">DS_API void dsSetViewpoint </td> | ||
557 | <td>(</td> | ||
558 | <td class="paramtype">float </td> | ||
559 | <td class="paramname"> <em>xyz</em>[3], </td> | ||
560 | </tr> | ||
561 | <tr> | ||
562 | <td class="paramkey"></td> | ||
563 | <td></td> | ||
564 | <td class="paramtype">float </td> | ||
565 | <td class="paramname"> <em>hpr</em>[3]</td><td> </td> | ||
566 | </tr> | ||
567 | <tr> | ||
568 | <td></td> | ||
569 | <td>)</td> | ||
570 | <td></td><td></td><td width="100%"></td> | ||
571 | </tr> | ||
572 | </table> | ||
573 | </div> | ||
574 | <div class="memdoc"> | ||
575 | |||
576 | <p> | ||
577 | Sets the viewpoint. | ||
578 | <p> | ||
579 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
580 | <table border="0" cellspacing="2" cellpadding="0"> | ||
581 | <tr><td valign="top"></td><td valign="top"><em>xyz</em> </td><td>camera position. </td></tr> | ||
582 | <tr><td valign="top"></td><td valign="top"><em>hpr</em> </td><td>contains heading, pitch and roll numbers in degrees. heading=0 points along the x axis, pitch=0 is looking towards the horizon, and roll 0 is "unrotated". </td></tr> | ||
583 | </table> | ||
584 | </dl> | ||
585 | |||
586 | </div> | ||
587 | </div><p> | ||
588 | <a class="anchor" name="g28560ea1b64c1d83095bcdfce9caf9dc"></a><!-- doxytag: member="drawstuff.h::dsSimulationLoop" ref="g28560ea1b64c1d83095bcdfce9caf9dc" args="(int argc, char **argv, int window_width, int window_height, struct dsFunctions *fn)" --> | ||
589 | <div class="memitem"> | ||
590 | <div class="memproto"> | ||
591 | <table class="memname"> | ||
592 | <tr> | ||
593 | <td class="memname">DS_API void dsSimulationLoop </td> | ||
594 | <td>(</td> | ||
595 | <td class="paramtype">int </td> | ||
596 | <td class="paramname"> <em>argc</em>, </td> | ||
597 | </tr> | ||
598 | <tr> | ||
599 | <td class="paramkey"></td> | ||
600 | <td></td> | ||
601 | <td class="paramtype">char ** </td> | ||
602 | <td class="paramname"> <em>argv</em>, </td> | ||
603 | </tr> | ||
604 | <tr> | ||
605 | <td class="paramkey"></td> | ||
606 | <td></td> | ||
607 | <td class="paramtype">int </td> | ||
608 | <td class="paramname"> <em>window_width</em>, </td> | ||
609 | </tr> | ||
610 | <tr> | ||
611 | <td class="paramkey"></td> | ||
612 | <td></td> | ||
613 | <td class="paramtype">int </td> | ||
614 | <td class="paramname"> <em>window_height</em>, </td> | ||
615 | </tr> | ||
616 | <tr> | ||
617 | <td class="paramkey"></td> | ||
618 | <td></td> | ||
619 | <td class="paramtype">struct <a class="el" href="structds_functions.html">dsFunctions</a> * </td> | ||
620 | <td class="paramname"> <em>fn</em></td><td> </td> | ||
621 | </tr> | ||
622 | <tr> | ||
623 | <td></td> | ||
624 | <td>)</td> | ||
625 | <td></td><td></td><td width="100%"></td> | ||
626 | </tr> | ||
627 | </table> | ||
628 | </div> | ||
629 | <div class="memdoc"> | ||
630 | |||
631 | <p> | ||
632 | Does the complete simulation. | ||
633 | <p> | ||
634 | This function starts running the simulation, and only exits when the simulation is done. Function pointers should be provided for the callbacks. <dl compact><dt><b>Parameters:</b></dt><dd> | ||
635 | <table border="0" cellspacing="2" cellpadding="0"> | ||
636 | <tr><td valign="top"></td><td valign="top"><em>argv</em> </td><td>supports flags like '-notex' '-noshadow' '-pause' </td></tr> | ||
637 | <tr><td valign="top"></td><td valign="top"><em>fn</em> </td><td>Callback functions. </td></tr> | ||
638 | </table> | ||
639 | </dl> | ||
640 | |||
641 | </div> | ||
642 | </div><p> | ||
643 | <a class="anchor" name="g6c13a5a310b9e00c45150058e669ebad"></a><!-- doxytag: member="drawstuff.h::dsStop" ref="g6c13a5a310b9e00c45150058e669ebad" args="()" --> | ||
644 | <div class="memitem"> | ||
645 | <div class="memproto"> | ||
646 | <table class="memname"> | ||
647 | <tr> | ||
648 | <td class="memname">DS_API void dsStop </td> | ||
649 | <td>(</td> | ||
650 | <td class="paramname"> </td> | ||
651 | <td> ) </td> | ||
652 | <td width="100%"></td> | ||
653 | </tr> | ||
654 | </table> | ||
655 | </div> | ||
656 | <div class="memdoc"> | ||
657 | |||
658 | <p> | ||
659 | Stop the simulation loop. | ||
660 | <p> | ||
661 | Calling this from within <a class="el" href="group__drawstuff.html#g28560ea1b64c1d83095bcdfce9caf9dc" title="Does the complete simulation.">dsSimulationLoop()</a> will cause it to exit and return to the caller. it is the same as if the user used the exit command. using this outside the loop will have no effect. | ||
662 | </div> | ||
663 | </div><p> | ||
664 | <hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:52 2007 for Open Dynamics Engine by | ||
665 | <a href="http://www.doxygen.org/index.html"> | ||
666 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
667 | </body> | ||
668 | </html> | ||
diff --git a/libraries/ode-0.9/docs/group__joints.html b/libraries/ode-0.9/docs/group__joints.html new file mode 100644 index 0000000..efe718e --- /dev/null +++ b/libraries/ode-0.9/docs/group__joints.html | |||
@@ -0,0 +1,2127 @@ | |||
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: Joints</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>Joints</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 dJointID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g2d23509f8d6c6066b361af4cf14166f7">dJointCreateBall</a> (dWorldID, dJointGroupID)</td></tr> | ||
20 | |||
21 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new joint of the ball type. <a href="#g2d23509f8d6c6066b361af4cf14166f7"></a><br></td></tr> | ||
22 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dJointID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g2f18d431d48c905abc9d72ce011c00bd">dJointCreateHinge</a> (dWorldID, dJointGroupID)</td></tr> | ||
23 | |||
24 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new joint of the hinge type. <a href="#g2f18d431d48c905abc9d72ce011c00bd"></a><br></td></tr> | ||
25 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dJointID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#geccc4c67b2d409016685a6a9163be539">dJointCreateSlider</a> (dWorldID, dJointGroupID)</td></tr> | ||
26 | |||
27 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new joint of the slider type. <a href="#geccc4c67b2d409016685a6a9163be539"></a><br></td></tr> | ||
28 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dJointID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gfa5e1543239ba44ecbdc178ebc7c3cc4">dJointCreateContact</a> (dWorldID, dJointGroupID, const dContact *)</td></tr> | ||
29 | |||
30 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new joint of the contact type. <a href="#gfa5e1543239ba44ecbdc178ebc7c3cc4"></a><br></td></tr> | ||
31 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dJointID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g6a6e32d35bdda9352d1be8d4df973f8f">dJointCreateHinge2</a> (dWorldID, dJointGroupID)</td></tr> | ||
32 | |||
33 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new joint of the hinge2 type. <a href="#g6a6e32d35bdda9352d1be8d4df973f8f"></a><br></td></tr> | ||
34 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dJointID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g1cb2e7668242313b5d24acb5d43e5c62">dJointCreateUniversal</a> (dWorldID, dJointGroupID)</td></tr> | ||
35 | |||
36 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new joint of the universal type. <a href="#g1cb2e7668242313b5d24acb5d43e5c62"></a><br></td></tr> | ||
37 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dJointID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gdc867f10ba9931d191244fa879e43cb2">dJointCreatePR</a> (dWorldID, dJointGroupID)</td></tr> | ||
38 | |||
39 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new joint of the PR (Prismatic and Rotoide) type. <a href="#gdc867f10ba9931d191244fa879e43cb2"></a><br></td></tr> | ||
40 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dJointID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#ge568995d03077e1acb13882a627dcf32">dJointCreateFixed</a> (dWorldID, dJointGroupID)</td></tr> | ||
41 | |||
42 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new joint of the fixed type. <a href="#ge568995d03077e1acb13882a627dcf32"></a><br></td></tr> | ||
43 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dJointID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gf23195ce77e12031393e591abd0e28e6">dJointCreateAMotor</a> (dWorldID, dJointGroupID)</td></tr> | ||
44 | |||
45 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new joint of the A-motor type. <a href="#gf23195ce77e12031393e591abd0e28e6"></a><br></td></tr> | ||
46 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dJointID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g21c8c99615269c5d9d3c57c674f6fd56">dJointCreateLMotor</a> (dWorldID, dJointGroupID)</td></tr> | ||
47 | |||
48 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new joint of the L-motor type. <a href="#g21c8c99615269c5d9d3c57c674f6fd56"></a><br></td></tr> | ||
49 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dJointID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g7e68f39530acad9c0e7a38c8a3799b38">dJointCreatePlane2D</a> (dWorldID, dJointGroupID)</td></tr> | ||
50 | |||
51 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new joint of the plane-2d type. <a href="#g7e68f39530acad9c0e7a38c8a3799b38"></a><br></td></tr> | ||
52 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g2187ccbcf51c951f680eb6c9a210801a">dJointDestroy</a> (dJointID)</td></tr> | ||
53 | |||
54 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy a joint. <a href="#g2187ccbcf51c951f680eb6c9a210801a"></a><br></td></tr> | ||
55 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dJointGroupID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gaaec687b184a1214133a41503e7c628f">dJointGroupCreate</a> (int max_size)</td></tr> | ||
56 | |||
57 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a joint group. <a href="#gaaec687b184a1214133a41503e7c628f"></a><br></td></tr> | ||
58 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g49e664ee9a8bd7bfe5e6932bf936bb8f">dJointGroupDestroy</a> (dJointGroupID)</td></tr> | ||
59 | |||
60 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy a joint group. <a href="#g49e664ee9a8bd7bfe5e6932bf936bb8f"></a><br></td></tr> | ||
61 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g6e055bac8a0a3261bda3b6d07499c4ea">dJointGroupEmpty</a> (dJointGroupID)</td></tr> | ||
62 | |||
63 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Empty a joint group. <a href="#g6e055bac8a0a3261bda3b6d07499c4ea"></a><br></td></tr> | ||
64 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g8f1c9b1302c799a1b87bc29b76d0dcec">dJointAttach</a> (dJointID, dBodyID body1, dBodyID body2)</td></tr> | ||
65 | |||
66 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Attach the joint to some new bodies. <a href="#g8f1c9b1302c799a1b87bc29b76d0dcec"></a><br></td></tr> | ||
67 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5ca72d8bd498ef1ba920b0b473e79d02"></a><!-- doxytag: member="joints::dJointSetData" ref="g5ca72d8bd498ef1ba920b0b473e79d02" args="(dJointID, void *data)" --> | ||
68 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g5ca72d8bd498ef1ba920b0b473e79d02">dJointSetData</a> (dJointID, void *data)</td></tr> | ||
69 | |||
70 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the user-data pointer. <br></td></tr> | ||
71 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g607702a11bae2d2613295f67088b0e82"></a><!-- doxytag: member="joints::dJointGetData" ref="g607702a11bae2d2613295f67088b0e82" args="(dJointID)" --> | ||
72 | ODE_API void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g607702a11bae2d2613295f67088b0e82">dJointGetData</a> (dJointID)</td></tr> | ||
73 | |||
74 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the user-data pointer. <br></td></tr> | ||
75 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g6f12f69d9b1a457428a28c2f77148174">dJointGetType</a> (dJointID)</td></tr> | ||
76 | |||
77 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the type of the joint. <a href="#g6f12f69d9b1a457428a28c2f77148174"></a><br></td></tr> | ||
78 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dBodyID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gff13cbb464f1bfdc225fc9202c2c54c3">dJointGetBody</a> (dJointID, int index)</td></tr> | ||
79 | |||
80 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the bodies that this joint connects. <a href="#gff13cbb464f1bfdc225fc9202c2c54c3"></a><br></td></tr> | ||
81 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g87ddb9beb95e9383a4280cb8a4186f01">dJointSetFeedback</a> (dJointID, dJointFeedback *)</td></tr> | ||
82 | |||
83 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the datastructure that is to receive the feedback. <a href="#g87ddb9beb95e9383a4280cb8a4186f01"></a><br></td></tr> | ||
84 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gda1deef60d7afbb6b9375ddbf97e09a1"></a><!-- doxytag: member="joints::dJointGetFeedback" ref="gda1deef60d7afbb6b9375ddbf97e09a1" args="(dJointID)" --> | ||
85 | ODE_API dJointFeedback * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gda1deef60d7afbb6b9375ddbf97e09a1">dJointGetFeedback</a> (dJointID)</td></tr> | ||
86 | |||
87 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the datastructure that is to receive the feedback. <br></td></tr> | ||
88 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g058c33a3da1ff935a1125034f779dc4a">dJointSetBallAnchor</a> (dJointID, dReal x, dReal y, dReal z)</td></tr> | ||
89 | |||
90 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the joint anchor point. <a href="#g058c33a3da1ff935a1125034f779dc4a"></a><br></td></tr> | ||
91 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g51eb42782182a714be26bbd68f7a6d9a"></a><!-- doxytag: member="joints::dJointSetBallAnchor2" ref="g51eb42782182a714be26bbd68f7a6d9a" args="(dJointID, dReal x, dReal y, dReal z)" --> | ||
92 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g51eb42782182a714be26bbd68f7a6d9a">dJointSetBallAnchor2</a> (dJointID, dReal x, dReal y, dReal z)</td></tr> | ||
93 | |||
94 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the joint anchor point. <br></td></tr> | ||
95 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ge58f5e11c0829aa8615622a74dd11d85"></a><!-- doxytag: member="joints::dJointSetBallParam" ref="ge58f5e11c0829aa8615622a74dd11d85" args="(dJointID, int parameter, dReal value)" --> | ||
96 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#ge58f5e11c0829aa8615622a74dd11d85">dJointSetBallParam</a> (dJointID, int parameter, dReal value)</td></tr> | ||
97 | |||
98 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Param setting for Ball joints. <br></td></tr> | ||
99 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc5727a125de0abbe2abd61af7a55da26"></a><!-- doxytag: member="joints::dJointSetHingeAnchor" ref="gc5727a125de0abbe2abd61af7a55da26" args="(dJointID, dReal x, dReal y, dReal z)" --> | ||
100 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gc5727a125de0abbe2abd61af7a55da26">dJointSetHingeAnchor</a> (dJointID, dReal x, dReal y, dReal z)</td></tr> | ||
101 | |||
102 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set hinge anchor parameter. <br></td></tr> | ||
103 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga434229f033472ec7aa031a01c6cabed"></a><!-- doxytag: member="joints::dJointSetHingeAxis" ref="ga434229f033472ec7aa031a01c6cabed" args="(dJointID, dReal x, dReal y, dReal z)" --> | ||
104 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#ga434229f033472ec7aa031a01c6cabed">dJointSetHingeAxis</a> (dJointID, dReal x, dReal y, dReal z)</td></tr> | ||
105 | |||
106 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set hinge axis. <br></td></tr> | ||
107 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6f9d34a01181e65639eb1f67da7a3e4c"></a><!-- doxytag: member="joints::dJointSetHingeParam" ref="g6f9d34a01181e65639eb1f67da7a3e4c" args="(dJointID, int parameter, dReal value)" --> | ||
108 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g6f9d34a01181e65639eb1f67da7a3e4c">dJointSetHingeParam</a> (dJointID, int parameter, dReal value)</td></tr> | ||
109 | |||
110 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set joint parameter <br></td></tr> | ||
111 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#ga1725abe170f80b0731321ed38785019">dJointAddHingeTorque</a> (dJointID joint, dReal torque)</td></tr> | ||
112 | |||
113 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Applies the torque about the hinge axis. <a href="#ga1725abe170f80b0731321ed38785019"></a><br></td></tr> | ||
114 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb2f662b1190507551f49ffa29d276b61"></a><!-- doxytag: member="joints::dJointSetSliderAxis" ref="gb2f662b1190507551f49ffa29d276b61" args="(dJointID, dReal x, dReal y, dReal z)" --> | ||
115 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gb2f662b1190507551f49ffa29d276b61">dJointSetSliderAxis</a> (dJointID, dReal x, dReal y, dReal z)</td></tr> | ||
116 | |||
117 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set the joint axis <br></td></tr> | ||
118 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2a055496df2812ad69d30e2653317f6a"></a><!-- doxytag: member="joints::dJointSetSliderAxisDelta" ref="g2a055496df2812ad69d30e2653317f6a" args="(dJointID, dReal x, dReal y, dReal z, dReal ax, dReal ay, dReal az)" --> | ||
119 | ODE_API void </td><td class="memItemRight" valign="bottom"><b>dJointSetSliderAxisDelta</b> (dJointID, dReal x, dReal y, dReal z, dReal ax, dReal ay, dReal az)</td></tr> | ||
120 | |||
121 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g648964f4ca4122309e71a9cc6c24c985"></a><!-- doxytag: member="joints::dJointSetSliderParam" ref="g648964f4ca4122309e71a9cc6c24c985" args="(dJointID, int parameter, dReal value)" --> | ||
122 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g648964f4ca4122309e71a9cc6c24c985">dJointSetSliderParam</a> (dJointID, int parameter, dReal value)</td></tr> | ||
123 | |||
124 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set joint parameter <br></td></tr> | ||
125 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g8b0e018cc3df6ea5ddb42320913455e7">dJointAddSliderForce</a> (dJointID joint, dReal force)</td></tr> | ||
126 | |||
127 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Applies the given force in the slider's direction. <a href="#g8b0e018cc3df6ea5ddb42320913455e7"></a><br></td></tr> | ||
128 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf839c13fa85aff0287a87986ff447d29"></a><!-- doxytag: member="joints::dJointSetHinge2Anchor" ref="gf839c13fa85aff0287a87986ff447d29" args="(dJointID, dReal x, dReal y, dReal z)" --> | ||
129 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gf839c13fa85aff0287a87986ff447d29">dJointSetHinge2Anchor</a> (dJointID, dReal x, dReal y, dReal z)</td></tr> | ||
130 | |||
131 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set anchor <br></td></tr> | ||
132 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gcdf78fbb0f5b0a09b4d3ac2059b07002"></a><!-- doxytag: member="joints::dJointSetHinge2Axis1" ref="gcdf78fbb0f5b0a09b4d3ac2059b07002" args="(dJointID, dReal x, dReal y, dReal z)" --> | ||
133 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gcdf78fbb0f5b0a09b4d3ac2059b07002">dJointSetHinge2Axis1</a> (dJointID, dReal x, dReal y, dReal z)</td></tr> | ||
134 | |||
135 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set axis <br></td></tr> | ||
136 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdfef9f6365c87dacb95b4850a9e9f0ee"></a><!-- doxytag: member="joints::dJointSetHinge2Axis2" ref="gdfef9f6365c87dacb95b4850a9e9f0ee" args="(dJointID, dReal x, dReal y, dReal z)" --> | ||
137 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gdfef9f6365c87dacb95b4850a9e9f0ee">dJointSetHinge2Axis2</a> (dJointID, dReal x, dReal y, dReal z)</td></tr> | ||
138 | |||
139 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set axis <br></td></tr> | ||
140 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9a2d8d03776ccb22869667337457a7a9"></a><!-- doxytag: member="joints::dJointSetHinge2Param" ref="g9a2d8d03776ccb22869667337457a7a9" args="(dJointID, int parameter, dReal value)" --> | ||
141 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g9a2d8d03776ccb22869667337457a7a9">dJointSetHinge2Param</a> (dJointID, int parameter, dReal value)</td></tr> | ||
142 | |||
143 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set joint parameter <br></td></tr> | ||
144 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#ga5ba1541d092f28c93b1bdc3bfb1b69f">dJointAddHinge2Torques</a> (dJointID joint, dReal torque1, dReal torque2)</td></tr> | ||
145 | |||
146 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Applies torque1 about the hinge2's axis 1, torque2 about the hinge2's axis 2. <a href="#ga5ba1541d092f28c93b1bdc3bfb1b69f"></a><br></td></tr> | ||
147 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gaf4657aed67f3cd7cce775215995c05d"></a><!-- doxytag: member="joints::dJointSetUniversalAnchor" ref="gaf4657aed67f3cd7cce775215995c05d" args="(dJointID, dReal x, dReal y, dReal z)" --> | ||
148 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gaf4657aed67f3cd7cce775215995c05d">dJointSetUniversalAnchor</a> (dJointID, dReal x, dReal y, dReal z)</td></tr> | ||
149 | |||
150 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set anchor <br></td></tr> | ||
151 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ge0a831da9447ff65d76a0808502038e8"></a><!-- doxytag: member="joints::dJointSetUniversalAxis1" ref="ge0a831da9447ff65d76a0808502038e8" args="(dJointID, dReal x, dReal y, dReal z)" --> | ||
152 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#ge0a831da9447ff65d76a0808502038e8">dJointSetUniversalAxis1</a> (dJointID, dReal x, dReal y, dReal z)</td></tr> | ||
153 | |||
154 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set axis <br></td></tr> | ||
155 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf3668eed7dc5aaf8fee19d7f87347343"></a><!-- doxytag: member="joints::dJointSetUniversalAxis2" ref="gf3668eed7dc5aaf8fee19d7f87347343" args="(dJointID, dReal x, dReal y, dReal z)" --> | ||
156 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gf3668eed7dc5aaf8fee19d7f87347343">dJointSetUniversalAxis2</a> (dJointID, dReal x, dReal y, dReal z)</td></tr> | ||
157 | |||
158 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set axis <br></td></tr> | ||
159 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3c58284c43e997a028b06dc250064e32"></a><!-- doxytag: member="joints::dJointSetUniversalParam" ref="g3c58284c43e997a028b06dc250064e32" args="(dJointID, int parameter, dReal value)" --> | ||
160 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g3c58284c43e997a028b06dc250064e32">dJointSetUniversalParam</a> (dJointID, int parameter, dReal value)</td></tr> | ||
161 | |||
162 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set joint parameter <br></td></tr> | ||
163 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g36607569e2ee26f39d3d42cba2397898">dJointAddUniversalTorques</a> (dJointID joint, dReal torque1, dReal torque2)</td></tr> | ||
164 | |||
165 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Applies torque1 about the universal's axis 1, torque2 about the universal's axis 2. <a href="#g36607569e2ee26f39d3d42cba2397898"></a><br></td></tr> | ||
166 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ge46251e2cea2d31521b1fb9b151f640f"></a><!-- doxytag: member="joints::dJointSetPRAnchor" ref="ge46251e2cea2d31521b1fb9b151f640f" args="(dJointID, dReal x, dReal y, dReal z)" --> | ||
167 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#ge46251e2cea2d31521b1fb9b151f640f">dJointSetPRAnchor</a> (dJointID, dReal x, dReal y, dReal z)</td></tr> | ||
168 | |||
169 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set anchor <br></td></tr> | ||
170 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga2ae3ab1fa58ec22bd443476f786fa81"></a><!-- doxytag: member="joints::dJointSetPRAxis1" ref="ga2ae3ab1fa58ec22bd443476f786fa81" args="(dJointID, dReal x, dReal y, dReal z)" --> | ||
171 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#ga2ae3ab1fa58ec22bd443476f786fa81">dJointSetPRAxis1</a> (dJointID, dReal x, dReal y, dReal z)</td></tr> | ||
172 | |||
173 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set the axis for the prismatic articulation <br></td></tr> | ||
174 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc8c61c6dd7b28a58a4c0eaf2e91ecbd5"></a><!-- doxytag: member="joints::dJointSetPRAxis2" ref="gc8c61c6dd7b28a58a4c0eaf2e91ecbd5" args="(dJointID, dReal x, dReal y, dReal z)" --> | ||
175 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gc8c61c6dd7b28a58a4c0eaf2e91ecbd5">dJointSetPRAxis2</a> (dJointID, dReal x, dReal y, dReal z)</td></tr> | ||
176 | |||
177 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set the axis for the rotoide articulation <br></td></tr> | ||
178 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gc08a28659605f17307d563f45db0824b">dJointSetPRParam</a> (dJointID, int parameter, dReal value)</td></tr> | ||
179 | |||
180 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set joint parameter <a href="#gc08a28659605f17307d563f45db0824b"></a><br></td></tr> | ||
181 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#ge675b0e0e332ddcd907ac9d1461b1961">dJointAddPRTorque</a> (dJointID j, dReal torque)</td></tr> | ||
182 | |||
183 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Applies the torque about the rotoide axis of the PR joint. <a href="#ge675b0e0e332ddcd907ac9d1461b1961"></a><br></td></tr> | ||
184 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g8051a8232b4232f7b0d0fd57a3932072"></a><!-- doxytag: member="joints::dJointSetFixed" ref="g8051a8232b4232f7b0d0fd57a3932072" args="(dJointID)" --> | ||
185 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g8051a8232b4232f7b0d0fd57a3932072">dJointSetFixed</a> (dJointID)</td></tr> | ||
186 | |||
187 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Call this on the fixed joint after it has been attached to remember the current desired relative offset and desired relative rotation between the bodies. <br></td></tr> | ||
188 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g1406f976045a1b7edffbb46bf626d04f">dJointSetAMotorNumAxes</a> (dJointID, int num)</td></tr> | ||
189 | |||
190 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set the nr of axes <a href="#g1406f976045a1b7edffbb46bf626d04f"></a><br></td></tr> | ||
191 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gbef7d92227b62e04b60eb9df02359603"></a><!-- doxytag: member="joints::dJointSetAMotorAxis" ref="gbef7d92227b62e04b60eb9df02359603" args="(dJointID, int anum, int rel, dReal x, dReal y, dReal z)" --> | ||
192 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gbef7d92227b62e04b60eb9df02359603">dJointSetAMotorAxis</a> (dJointID, int anum, int rel, dReal x, dReal y, dReal z)</td></tr> | ||
193 | |||
194 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set axis <br></td></tr> | ||
195 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g17b2089e6512e22d71340befb40100d2">dJointSetAMotorAngle</a> (dJointID, int anum, dReal angle)</td></tr> | ||
196 | |||
197 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Tell the AMotor what the current angle is along axis anum. <a href="#g17b2089e6512e22d71340befb40100d2"></a><br></td></tr> | ||
198 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gac3f00196ee0cdb772e00dc259ef639a"></a><!-- doxytag: member="joints::dJointSetAMotorParam" ref="gac3f00196ee0cdb772e00dc259ef639a" args="(dJointID, int parameter, dReal value)" --> | ||
199 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gac3f00196ee0cdb772e00dc259ef639a">dJointSetAMotorParam</a> (dJointID, int parameter, dReal value)</td></tr> | ||
200 | |||
201 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set joint parameter <br></td></tr> | ||
202 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb0a3a8527810717c62a2c68dc4dfa822"></a><!-- doxytag: member="joints::dJointSetAMotorMode" ref="gb0a3a8527810717c62a2c68dc4dfa822" args="(dJointID, int mode)" --> | ||
203 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gb0a3a8527810717c62a2c68dc4dfa822">dJointSetAMotorMode</a> (dJointID, int mode)</td></tr> | ||
204 | |||
205 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set mode <br></td></tr> | ||
206 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g69d13d54516716020d2adb841699b77b">dJointAddAMotorTorques</a> (dJointID, dReal torque1, dReal torque2, dReal torque3)</td></tr> | ||
207 | |||
208 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Applies torque0 about the AMotor's axis 0, torque1 about the AMotor's axis 1, and torque2 about the AMotor's axis 2. <a href="#g69d13d54516716020d2adb841699b77b"></a><br></td></tr> | ||
209 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gcbfb4014567d69010aba3024d9b7bccd">dJointSetLMotorNumAxes</a> (dJointID, int num)</td></tr> | ||
210 | |||
211 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the number of axes that will be controlled by the LMotor. <a href="#gcbfb4014567d69010aba3024d9b7bccd"></a><br></td></tr> | ||
212 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g080b7739f5b2b37a798742cee0ef38a4">dJointSetLMotorAxis</a> (dJointID, int anum, int rel, dReal x, dReal y, dReal z)</td></tr> | ||
213 | |||
214 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the AMotor axes. <a href="#g080b7739f5b2b37a798742cee0ef38a4"></a><br></td></tr> | ||
215 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g791bfa6e65d0c3dce99ca0bcd3beb8d6"></a><!-- doxytag: member="joints::dJointSetLMotorParam" ref="g791bfa6e65d0c3dce99ca0bcd3beb8d6" args="(dJointID, int parameter, dReal value)" --> | ||
216 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g791bfa6e65d0c3dce99ca0bcd3beb8d6">dJointSetLMotorParam</a> (dJointID, int parameter, dReal value)</td></tr> | ||
217 | |||
218 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set joint parameter <br></td></tr> | ||
219 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1ec6e9ac6f92994cea1c9f9a2b50d69a"></a><!-- doxytag: member="joints::dJointSetPlane2DXParam" ref="g1ec6e9ac6f92994cea1c9f9a2b50d69a" args="(dJointID, int parameter, dReal value)" --> | ||
220 | ODE_API void </td><td class="memItemRight" valign="bottom"><b>dJointSetPlane2DXParam</b> (dJointID, int parameter, dReal value)</td></tr> | ||
221 | |||
222 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf47dece2a7b73762937bd7671d23c945"></a><!-- doxytag: member="joints::dJointSetPlane2DYParam" ref="gf47dece2a7b73762937bd7671d23c945" args="(dJointID, int parameter, dReal value)" --> | ||
223 | ODE_API void </td><td class="memItemRight" valign="bottom"><b>dJointSetPlane2DYParam</b> (dJointID, int parameter, dReal value)</td></tr> | ||
224 | |||
225 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2425ac42f0fe42e8b4a0d76b057070d1"></a><!-- doxytag: member="joints::dJointSetPlane2DAngleParam" ref="g2425ac42f0fe42e8b4a0d76b057070d1" args="(dJointID, int parameter, dReal value)" --> | ||
226 | ODE_API void </td><td class="memItemRight" valign="bottom"><b>dJointSetPlane2DAngleParam</b> (dJointID, int parameter, dReal value)</td></tr> | ||
227 | |||
228 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g20a27c479a75443552942059542f26ad"></a><!-- doxytag: member="joints::dJointGetBallParam" ref="g20a27c479a75443552942059542f26ad" args="(dJointID, int parameter)" --> | ||
229 | ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g20a27c479a75443552942059542f26ad">dJointGetBallParam</a> (dJointID, int parameter)</td></tr> | ||
230 | |||
231 | <tr><td class="mdescLeft"> </td><td class="mdescRight">get joint parameter <br></td></tr> | ||
232 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g1d1c4f9b10c550f6fec550f9cc80c7ab">dJointGetHingeAnchor</a> (dJointID, dVector3 result)</td></tr> | ||
233 | |||
234 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the hinge anchor point, in world coordinates. <a href="#g1d1c4f9b10c550f6fec550f9cc80c7ab"></a><br></td></tr> | ||
235 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gfdc1d9c7bd8824ec3e79cc5aa67ddfa1">dJointGetHingeAnchor2</a> (dJointID, dVector3 result)</td></tr> | ||
236 | |||
237 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the joint anchor point, in world coordinates. <a href="#gfdc1d9c7bd8824ec3e79cc5aa67ddfa1"></a><br></td></tr> | ||
238 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g17b812897bc5faab33584cc5e3e4d3a4"></a><!-- doxytag: member="joints::dJointGetHingeAxis" ref="g17b812897bc5faab33584cc5e3e4d3a4" args="(dJointID, dVector3 result)" --> | ||
239 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g17b812897bc5faab33584cc5e3e4d3a4">dJointGetHingeAxis</a> (dJointID, dVector3 result)</td></tr> | ||
240 | |||
241 | <tr><td class="mdescLeft"> </td><td class="mdescRight">get axis <br></td></tr> | ||
242 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g43416613e72d1b16a32331a0ba3c7d70"></a><!-- doxytag: member="joints::dJointGetHingeParam" ref="g43416613e72d1b16a32331a0ba3c7d70" args="(dJointID, int parameter)" --> | ||
243 | ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g43416613e72d1b16a32331a0ba3c7d70">dJointGetHingeParam</a> (dJointID, int parameter)</td></tr> | ||
244 | |||
245 | <tr><td class="mdescLeft"> </td><td class="mdescRight">get joint parameter <br></td></tr> | ||
246 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g7ca6bdfe2b919b6bc2a27ba6f0e069f0">dJointGetHingeAngle</a> (dJointID)</td></tr> | ||
247 | |||
248 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the hinge angle. <a href="#g7ca6bdfe2b919b6bc2a27ba6f0e069f0"></a><br></td></tr> | ||
249 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g0d92377b748eb468dc38252df12afc76"></a><!-- doxytag: member="joints::dJointGetHingeAngleRate" ref="g0d92377b748eb468dc38252df12afc76" args="(dJointID)" --> | ||
250 | ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g0d92377b748eb468dc38252df12afc76">dJointGetHingeAngleRate</a> (dJointID)</td></tr> | ||
251 | |||
252 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the hinge angle time derivative. <br></td></tr> | ||
253 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g7f35449914cbc4a86b845dcd85a617c0">dJointGetSliderPosition</a> (dJointID)</td></tr> | ||
254 | |||
255 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the slider linear position (i.e. the slider's extension). <a href="#g7f35449914cbc4a86b845dcd85a617c0"></a><br></td></tr> | ||
256 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g93378c9c2d0cd50c79cfb78ca881f8ec"></a><!-- doxytag: member="joints::dJointGetSliderPositionRate" ref="g93378c9c2d0cd50c79cfb78ca881f8ec" args="(dJointID)" --> | ||
257 | ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g93378c9c2d0cd50c79cfb78ca881f8ec">dJointGetSliderPositionRate</a> (dJointID)</td></tr> | ||
258 | |||
259 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the slider linear position's time derivative. <br></td></tr> | ||
260 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g17e31e7a877446213c39d1431269788e"></a><!-- doxytag: member="joints::dJointGetSliderAxis" ref="g17e31e7a877446213c39d1431269788e" args="(dJointID, dVector3 result)" --> | ||
261 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g17e31e7a877446213c39d1431269788e">dJointGetSliderAxis</a> (dJointID, dVector3 result)</td></tr> | ||
262 | |||
263 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the slider axis. <br></td></tr> | ||
264 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc76d8bb4bf8587af70ef5932025048fe"></a><!-- doxytag: member="joints::dJointGetSliderParam" ref="gc76d8bb4bf8587af70ef5932025048fe" args="(dJointID, int parameter)" --> | ||
265 | ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gc76d8bb4bf8587af70ef5932025048fe">dJointGetSliderParam</a> (dJointID, int parameter)</td></tr> | ||
266 | |||
267 | <tr><td class="mdescLeft"> </td><td class="mdescRight">get joint parameter <br></td></tr> | ||
268 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g879999d011f82c73acf94029132cc198">dJointGetHinge2Anchor</a> (dJointID, dVector3 result)</td></tr> | ||
269 | |||
270 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the joint anchor point, in world coordinates. <a href="#g879999d011f82c73acf94029132cc198"></a><br></td></tr> | ||
271 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga67cde755a0c9b699859ead5b5c81d26"></a><!-- doxytag: member="joints::dJointGetHinge2Anchor2" ref="ga67cde755a0c9b699859ead5b5c81d26" args="(dJointID, dVector3 result)" --> | ||
272 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#ga67cde755a0c9b699859ead5b5c81d26">dJointGetHinge2Anchor2</a> (dJointID, dVector3 result)</td></tr> | ||
273 | |||
274 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the joint anchor point, in world coordinates. This returns the point on body 2. If the joint is perfectly satisfied, this will return the same value as dJointGetHinge2Anchor. If not, this value will be slightly different. This can be used, for example, to see how far the joint has come apart. <br></td></tr> | ||
275 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5d3e60c78ed85e8086dd60b13c3054f5"></a><!-- doxytag: member="joints::dJointGetHinge2Axis1" ref="g5d3e60c78ed85e8086dd60b13c3054f5" args="(dJointID, dVector3 result)" --> | ||
276 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g5d3e60c78ed85e8086dd60b13c3054f5">dJointGetHinge2Axis1</a> (dJointID, dVector3 result)</td></tr> | ||
277 | |||
278 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get joint axis. <br></td></tr> | ||
279 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9459009e9370ea1a1e4de10f60053c87"></a><!-- doxytag: member="joints::dJointGetHinge2Axis2" ref="g9459009e9370ea1a1e4de10f60053c87" args="(dJointID, dVector3 result)" --> | ||
280 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g9459009e9370ea1a1e4de10f60053c87">dJointGetHinge2Axis2</a> (dJointID, dVector3 result)</td></tr> | ||
281 | |||
282 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get joint axis. <br></td></tr> | ||
283 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9fe8b60ba59aa9451e5758491e34045a"></a><!-- doxytag: member="joints::dJointGetHinge2Param" ref="g9fe8b60ba59aa9451e5758491e34045a" args="(dJointID, int parameter)" --> | ||
284 | ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g9fe8b60ba59aa9451e5758491e34045a">dJointGetHinge2Param</a> (dJointID, int parameter)</td></tr> | ||
285 | |||
286 | <tr><td class="mdescLeft"> </td><td class="mdescRight">get joint parameter <br></td></tr> | ||
287 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g430ed7cafe907e88929b28fdb17533c0"></a><!-- doxytag: member="joints::dJointGetHinge2Angle1" ref="g430ed7cafe907e88929b28fdb17533c0" args="(dJointID)" --> | ||
288 | ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g430ed7cafe907e88929b28fdb17533c0">dJointGetHinge2Angle1</a> (dJointID)</td></tr> | ||
289 | |||
290 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get angle. <br></td></tr> | ||
291 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g61881501e905ec1072aba05464fe44fb"></a><!-- doxytag: member="joints::dJointGetHinge2Angle1Rate" ref="g61881501e905ec1072aba05464fe44fb" args="(dJointID)" --> | ||
292 | ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g61881501e905ec1072aba05464fe44fb">dJointGetHinge2Angle1Rate</a> (dJointID)</td></tr> | ||
293 | |||
294 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get time derivative of angle. <br></td></tr> | ||
295 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g028c47d8ff409f6856492d9eb0367c8a"></a><!-- doxytag: member="joints::dJointGetHinge2Angle2Rate" ref="g028c47d8ff409f6856492d9eb0367c8a" args="(dJointID)" --> | ||
296 | ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g028c47d8ff409f6856492d9eb0367c8a">dJointGetHinge2Angle2Rate</a> (dJointID)</td></tr> | ||
297 | |||
298 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get time derivative of angle. <br></td></tr> | ||
299 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#ga768432c561cb76ba2490913f42d1aaf">dJointGetUniversalAnchor</a> (dJointID, dVector3 result)</td></tr> | ||
300 | |||
301 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the joint anchor point, in world coordinates. <a href="#ga768432c561cb76ba2490913f42d1aaf"></a><br></td></tr> | ||
302 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g00d5018903a90d75c324c4f870b0e7ea">dJointGetUniversalAnchor2</a> (dJointID, dVector3 result)</td></tr> | ||
303 | |||
304 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the joint anchor point, in world coordinates. <a href="#g00d5018903a90d75c324c4f870b0e7ea"></a><br></td></tr> | ||
305 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="geaa8e546d93c304755a86ad3fa6d2abe"></a><!-- doxytag: member="joints::dJointGetUniversalAxis1" ref="geaa8e546d93c304755a86ad3fa6d2abe" args="(dJointID, dVector3 result)" --> | ||
306 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#geaa8e546d93c304755a86ad3fa6d2abe">dJointGetUniversalAxis1</a> (dJointID, dVector3 result)</td></tr> | ||
307 | |||
308 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get axis. <br></td></tr> | ||
309 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g13c01cbc9c5e918740bac0540f6473b3"></a><!-- doxytag: member="joints::dJointGetUniversalAxis2" ref="g13c01cbc9c5e918740bac0540f6473b3" args="(dJointID, dVector3 result)" --> | ||
310 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g13c01cbc9c5e918740bac0540f6473b3">dJointGetUniversalAxis2</a> (dJointID, dVector3 result)</td></tr> | ||
311 | |||
312 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get axis. <br></td></tr> | ||
313 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf96e70e676058b7eb385f5810fec641a"></a><!-- doxytag: member="joints::dJointGetUniversalParam" ref="gf96e70e676058b7eb385f5810fec641a" args="(dJointID, int parameter)" --> | ||
314 | ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gf96e70e676058b7eb385f5810fec641a">dJointGetUniversalParam</a> (dJointID, int parameter)</td></tr> | ||
315 | |||
316 | <tr><td class="mdescLeft"> </td><td class="mdescRight">get joint parameter <br></td></tr> | ||
317 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g3c0fafbd1ccd8e450c01012ce600f6ab">dJointGetUniversalAngles</a> (dJointID, dReal *angle1, dReal *angle2)</td></tr> | ||
318 | |||
319 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get both angles at the same time. <a href="#g3c0fafbd1ccd8e450c01012ce600f6ab"></a><br></td></tr> | ||
320 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3a08e2fed2e88eb0c964a33fb8c0c61f"></a><!-- doxytag: member="joints::dJointGetUniversalAngle1" ref="g3a08e2fed2e88eb0c964a33fb8c0c61f" args="(dJointID)" --> | ||
321 | ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g3a08e2fed2e88eb0c964a33fb8c0c61f">dJointGetUniversalAngle1</a> (dJointID)</td></tr> | ||
322 | |||
323 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get angle. <br></td></tr> | ||
324 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g4026a7331d7956eef31e72e20e0c703b"></a><!-- doxytag: member="joints::dJointGetUniversalAngle2" ref="g4026a7331d7956eef31e72e20e0c703b" args="(dJointID)" --> | ||
325 | ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g4026a7331d7956eef31e72e20e0c703b">dJointGetUniversalAngle2</a> (dJointID)</td></tr> | ||
326 | |||
327 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get angle. <br></td></tr> | ||
328 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1f8ff99b6c33d3da2004a8846112427c"></a><!-- doxytag: member="joints::dJointGetUniversalAngle1Rate" ref="g1f8ff99b6c33d3da2004a8846112427c" args="(dJointID)" --> | ||
329 | ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g1f8ff99b6c33d3da2004a8846112427c">dJointGetUniversalAngle1Rate</a> (dJointID)</td></tr> | ||
330 | |||
331 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get time derivative of angle. <br></td></tr> | ||
332 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g94fb28ecb65cb0711b555558c22396cf"></a><!-- doxytag: member="joints::dJointGetUniversalAngle2Rate" ref="g94fb28ecb65cb0711b555558c22396cf" args="(dJointID)" --> | ||
333 | ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g94fb28ecb65cb0711b555558c22396cf">dJointGetUniversalAngle2Rate</a> (dJointID)</td></tr> | ||
334 | |||
335 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get time derivative of angle. <br></td></tr> | ||
336 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g88b176c70948c3f96e5c9173904b04fe">dJointGetPRAnchor</a> (dJointID, dVector3 result)</td></tr> | ||
337 | |||
338 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the joint anchor point, in world coordinates. <a href="#g88b176c70948c3f96e5c9173904b04fe"></a><br></td></tr> | ||
339 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gd8b95871e93525f44badcdaf8e521da7">dJointGetPRPosition</a> (dJointID)</td></tr> | ||
340 | |||
341 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the PR linear position (i.e. the prismatic's extension). <a href="#gd8b95871e93525f44badcdaf8e521da7"></a><br></td></tr> | ||
342 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc3a434069c8bf31ae5140e2bff3bbb26"></a><!-- doxytag: member="joints::dJointGetPRPositionRate" ref="gc3a434069c8bf31ae5140e2bff3bbb26" args="(dJointID)" --> | ||
343 | ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gc3a434069c8bf31ae5140e2bff3bbb26">dJointGetPRPositionRate</a> (dJointID)</td></tr> | ||
344 | |||
345 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the PR linear position's time derivative. <br></td></tr> | ||
346 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g826424aac5023739bb13426df672ab32"></a><!-- doxytag: member="joints::dJointGetPRAxis1" ref="g826424aac5023739bb13426df672ab32" args="(dJointID, dVector3 result)" --> | ||
347 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g826424aac5023739bb13426df672ab32">dJointGetPRAxis1</a> (dJointID, dVector3 result)</td></tr> | ||
348 | |||
349 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the prismatic axis. <br></td></tr> | ||
350 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5f175ed66c5df1119a251fad8a51059d"></a><!-- doxytag: member="joints::dJointGetPRAxis2" ref="g5f175ed66c5df1119a251fad8a51059d" args="(dJointID, dVector3 result)" --> | ||
351 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g5f175ed66c5df1119a251fad8a51059d">dJointGetPRAxis2</a> (dJointID, dVector3 result)</td></tr> | ||
352 | |||
353 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the Rotoide axis. <br></td></tr> | ||
354 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g968b868bd1598b24a3101a04320206c6"></a><!-- doxytag: member="joints::dJointGetPRParam" ref="g968b868bd1598b24a3101a04320206c6" args="(dJointID, int parameter)" --> | ||
355 | ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g968b868bd1598b24a3101a04320206c6">dJointGetPRParam</a> (dJointID, int parameter)</td></tr> | ||
356 | |||
357 | <tr><td class="mdescLeft"> </td><td class="mdescRight">get joint parameter <br></td></tr> | ||
358 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g35f0392af69ece0d0c3ef7ed88b532bf">dJointGetAMotorNumAxes</a> (dJointID)</td></tr> | ||
359 | |||
360 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the number of angular axes that will be controlled by the AMotor. <a href="#g35f0392af69ece0d0c3ef7ed88b532bf"></a><br></td></tr> | ||
361 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gef1af77cc19d81b24ad00025f3c9d5ec">dJointGetAMotorAxis</a> (dJointID, int anum, dVector3 result)</td></tr> | ||
362 | |||
363 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the AMotor axes. <a href="#gef1af77cc19d81b24ad00025f3c9d5ec"></a><br></td></tr> | ||
364 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g1887538374f044e22f9742650d14ae69">dJointGetAMotorAxisRel</a> (dJointID, int anum)</td></tr> | ||
365 | |||
366 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get axis. <a href="#g1887538374f044e22f9742650d14ae69"></a><br></td></tr> | ||
367 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g3634444b00ac33a5f34a7af4fffda8b2">dJointGetAMotorAngle</a> (dJointID, int anum)</td></tr> | ||
368 | |||
369 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the current angle for axis. <a href="#g3634444b00ac33a5f34a7af4fffda8b2"></a><br></td></tr> | ||
370 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#ga65abc36177390330037299b689b70c7">dJointGetAMotorAngleRate</a> (dJointID, int anum)</td></tr> | ||
371 | |||
372 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the current angle rate for axis anum. <a href="#ga65abc36177390330037299b689b70c7"></a><br></td></tr> | ||
373 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gfc4cd1046089baa4309d30ae7832d289"></a><!-- doxytag: member="joints::dJointGetAMotorParam" ref="gfc4cd1046089baa4309d30ae7832d289" args="(dJointID, int parameter)" --> | ||
374 | ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gfc4cd1046089baa4309d30ae7832d289">dJointGetAMotorParam</a> (dJointID, int parameter)</td></tr> | ||
375 | |||
376 | <tr><td class="mdescLeft"> </td><td class="mdescRight">get joint parameter <br></td></tr> | ||
377 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gf2430c2062414bc28660bdc06a0d72d5">dJointGetAMotorMode</a> (dJointID)</td></tr> | ||
378 | |||
379 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the angular motor mode. <a href="#gf2430c2062414bc28660bdc06a0d72d5"></a><br></td></tr> | ||
380 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6d7557b5e94e0ee37561cadc5bf85cb7"></a><!-- doxytag: member="joints::dJointGetLMotorNumAxes" ref="g6d7557b5e94e0ee37561cadc5bf85cb7" args="(dJointID)" --> | ||
381 | ODE_API int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g6d7557b5e94e0ee37561cadc5bf85cb7">dJointGetLMotorNumAxes</a> (dJointID)</td></tr> | ||
382 | |||
383 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get nr of axes. <br></td></tr> | ||
384 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g4ef7e0ca633583e82d90679c8eb6d5c3"></a><!-- doxytag: member="joints::dJointGetLMotorAxis" ref="g4ef7e0ca633583e82d90679c8eb6d5c3" args="(dJointID, int anum, dVector3 result)" --> | ||
385 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g4ef7e0ca633583e82d90679c8eb6d5c3">dJointGetLMotorAxis</a> (dJointID, int anum, dVector3 result)</td></tr> | ||
386 | |||
387 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get axis. <br></td></tr> | ||
388 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gcbc48fd61857e3843923166abf81a7a0"></a><!-- doxytag: member="joints::dJointGetLMotorParam" ref="gcbc48fd61857e3843923166abf81a7a0" args="(dJointID, int parameter)" --> | ||
389 | ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gcbc48fd61857e3843923166abf81a7a0">dJointGetLMotorParam</a> (dJointID, int parameter)</td></tr> | ||
390 | |||
391 | <tr><td class="mdescLeft"> </td><td class="mdescRight">get joint parameter <br></td></tr> | ||
392 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ge433a5eac5f8600d8e6325666c2e12c2"></a><!-- doxytag: member="joints::dJointGetFixedParam" ref="ge433a5eac5f8600d8e6325666c2e12c2" args="(dJointID, int parameter)" --> | ||
393 | ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#ge433a5eac5f8600d8e6325666c2e12c2">dJointGetFixedParam</a> (dJointID, int parameter)</td></tr> | ||
394 | |||
395 | <tr><td class="mdescLeft"> </td><td class="mdescRight">get joint parameter <br></td></tr> | ||
396 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g4f5e75d2e10f4392d5046ef1ab119da2"></a><!-- doxytag: member="joints::dConnectingJoint" ref="g4f5e75d2e10f4392d5046ef1ab119da2" args="(dBodyID, dBodyID)" --> | ||
397 | ODE_API dJointID </td><td class="memItemRight" valign="bottom"><b>dConnectingJoint</b> (dBodyID, dBodyID)</td></tr> | ||
398 | |||
399 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gabe5f454e7679bb24d0037f1502861a5"></a><!-- doxytag: member="joints::dConnectingJointList" ref="gabe5f454e7679bb24d0037f1502861a5" args="(dBodyID, dBodyID, dJointID *)" --> | ||
400 | ODE_API int </td><td class="memItemRight" valign="bottom"><b>dConnectingJointList</b> (dBodyID, dBodyID, dJointID *)</td></tr> | ||
401 | |||
402 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#g68eb2f4daea03713db4d8b4daca663ae">dAreConnected</a> (dBodyID, dBodyID)</td></tr> | ||
403 | |||
404 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Utility function. <a href="#g68eb2f4daea03713db4d8b4daca663ae"></a><br></td></tr> | ||
405 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__joints.html#gc1eafde1fde036633136be6fd254ca5d">dAreConnectedExcluding</a> (dBodyID body1, dBodyID body2, int joint_type)</td></tr> | ||
406 | |||
407 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Utility function. <a href="#gc1eafde1fde036633136be6fd254ca5d"></a><br></td></tr> | ||
408 | </table> | ||
409 | <hr><a name="_details"></a><h2>Detailed Description</h2> | ||
410 | In real life a joint is something like a hinge, that is used to connect two objects. In ODE a joint is very similar: It is a relationship that is enforced between two bodies so that they can only have certain positions and orientations relative to each other. This relationship is called a constraint -- the words joint and constraint are often used interchangeably.<p> | ||
411 | A joint has a set of parameters that can be set. These include:<p> | ||
412 | <ul> | ||
413 | <li>dParamLoStop Low stop angle or position. Setting this to -dInfinity (the default value) turns off the low stop. For rotational joints, this stop must be greater than -pi to be effective. </li> | ||
414 | <li>dParamHiStop High stop angle or position. Setting this to dInfinity (the default value) turns off the high stop. For rotational joints, this stop must be less than pi to be effective. If the high stop is less than the low stop then both stops will be ineffective. </li> | ||
415 | <li>dParamVel Desired motor velocity (this will be an angular or linear velocity). </li> | ||
416 | <li>dParamFMax The maximum force or torque that the motor will use to achieve the desired velocity. This must always be greater than or equal to zero. Setting this to zero (the default value) turns off the motor. </li> | ||
417 | <li>dParamFudgeFactor The current joint stop/motor implementation has a small problem: when the joint is at one stop and the motor is set to move it away from the stop, too much force may be applied for one time step, causing a ``jumping'' motion. This fudge factor is used to scale this excess force. It should have a value between zero and one (the default value). If the jumping motion is too visible in a joint, the value can be reduced. Making this value too small can prevent the motor from being able to move the joint away from a stop. </li> | ||
418 | <li>dParamBounce The bouncyness of the stops. This is a restitution parameter in the range 0..1. 0 means the stops are not bouncy at all, 1 means maximum bouncyness. </li> | ||
419 | <li>dParamCFM The constraint force mixing (CFM) value used when not at a stop. </li> | ||
420 | <li>dParamStopERP The error reduction parameter (ERP) used by the stops. </li> | ||
421 | <li>dParamStopCFM The constraint force mixing (CFM) value used by the stops. Together with the ERP value this can be used to get spongy or soft stops. Note that this is intended for unpowered joints, it does not really work as expected when a powered joint reaches its limit. </li> | ||
422 | <li>dParamSuspensionERP Suspension error reduction parameter (ERP). Currently this is only implemented on the hinge-2 joint. </li> | ||
423 | <li>dParamSuspensionCFM Suspension constraint force mixing (CFM) value. Currently this is only implemented on the hinge-2 joint.</li> | ||
424 | </ul> | ||
425 | If a particular parameter is not implemented by a given joint, setting it will have no effect. These parameter names can be optionally followed by a digit (2 or 3) to indicate the second or third set of parameters, e.g. for the second axis in a hinge-2 joint, or the third axis in an AMotor joint. <hr><h2>Function Documentation</h2> | ||
426 | <a class="anchor" name="g68eb2f4daea03713db4d8b4daca663ae"></a><!-- doxytag: member="objects.h::dAreConnected" ref="g68eb2f4daea03713db4d8b4daca663ae" args="(dBodyID, dBodyID)" --> | ||
427 | <div class="memitem"> | ||
428 | <div class="memproto"> | ||
429 | <table class="memname"> | ||
430 | <tr> | ||
431 | <td class="memname">ODE_API int dAreConnected </td> | ||
432 | <td>(</td> | ||
433 | <td class="paramtype">dBodyID </td> | ||
434 | <td class="paramname">, </td> | ||
435 | </tr> | ||
436 | <tr> | ||
437 | <td class="paramkey"></td> | ||
438 | <td></td> | ||
439 | <td class="paramtype">dBodyID </td> | ||
440 | <td class="paramname"></td><td> </td> | ||
441 | </tr> | ||
442 | <tr> | ||
443 | <td></td> | ||
444 | <td>)</td> | ||
445 | <td></td><td></td><td width="100%"></td> | ||
446 | </tr> | ||
447 | </table> | ||
448 | </div> | ||
449 | <div class="memdoc"> | ||
450 | |||
451 | <p> | ||
452 | Utility function. | ||
453 | <p> | ||
454 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the two bodies are connected together by a joint, otherwise return 0. </dd></dl> | ||
455 | |||
456 | </div> | ||
457 | </div><p> | ||
458 | <a class="anchor" name="gc1eafde1fde036633136be6fd254ca5d"></a><!-- doxytag: member="objects.h::dAreConnectedExcluding" ref="gc1eafde1fde036633136be6fd254ca5d" args="(dBodyID body1, dBodyID body2, int joint_type)" --> | ||
459 | <div class="memitem"> | ||
460 | <div class="memproto"> | ||
461 | <table class="memname"> | ||
462 | <tr> | ||
463 | <td class="memname">ODE_API int dAreConnectedExcluding </td> | ||
464 | <td>(</td> | ||
465 | <td class="paramtype">dBodyID </td> | ||
466 | <td class="paramname"> <em>body1</em>, </td> | ||
467 | </tr> | ||
468 | <tr> | ||
469 | <td class="paramkey"></td> | ||
470 | <td></td> | ||
471 | <td class="paramtype">dBodyID </td> | ||
472 | <td class="paramname"> <em>body2</em>, </td> | ||
473 | </tr> | ||
474 | <tr> | ||
475 | <td class="paramkey"></td> | ||
476 | <td></td> | ||
477 | <td class="paramtype">int </td> | ||
478 | <td class="paramname"> <em>joint_type</em></td><td> </td> | ||
479 | </tr> | ||
480 | <tr> | ||
481 | <td></td> | ||
482 | <td>)</td> | ||
483 | <td></td><td></td><td width="100%"></td> | ||
484 | </tr> | ||
485 | </table> | ||
486 | </div> | ||
487 | <div class="memdoc"> | ||
488 | |||
489 | <p> | ||
490 | Utility function. | ||
491 | <p> | ||
492 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the two bodies are connected together by a joint that does not have type <ul> | ||
493 | <li>{joint_type}, otherwise return 0. </li> | ||
494 | </ul> | ||
495 | </dd></dl> | ||
496 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
497 | <table border="0" cellspacing="2" cellpadding="0"> | ||
498 | <tr><td valign="top"></td><td valign="top"><em>body1</em> </td><td>A body to check. </td></tr> | ||
499 | <tr><td valign="top"></td><td valign="top"><em>body2</em> </td><td>A body to check. </td></tr> | ||
500 | <tr><td valign="top"></td><td valign="top"><em>joint_type</em> </td><td>is a dJointTypeXXX constant. This is useful for deciding whether to add contact joints between two bodies: if they are already connected by non-contact joints then it may not be appropriate to add contacts, however it is okay to add more contact between- bodies that already have contacts. </td></tr> | ||
501 | </table> | ||
502 | </dl> | ||
503 | |||
504 | </div> | ||
505 | </div><p> | ||
506 | <a class="anchor" name="g69d13d54516716020d2adb841699b77b"></a><!-- doxytag: member="objects.h::dJointAddAMotorTorques" ref="g69d13d54516716020d2adb841699b77b" args="(dJointID, dReal torque1, dReal torque2, dReal torque3)" --> | ||
507 | <div class="memitem"> | ||
508 | <div class="memproto"> | ||
509 | <table class="memname"> | ||
510 | <tr> | ||
511 | <td class="memname">ODE_API void dJointAddAMotorTorques </td> | ||
512 | <td>(</td> | ||
513 | <td class="paramtype">dJointID </td> | ||
514 | <td class="paramname">, </td> | ||
515 | </tr> | ||
516 | <tr> | ||
517 | <td class="paramkey"></td> | ||
518 | <td></td> | ||
519 | <td class="paramtype">dReal </td> | ||
520 | <td class="paramname"> <em>torque1</em>, </td> | ||
521 | </tr> | ||
522 | <tr> | ||
523 | <td class="paramkey"></td> | ||
524 | <td></td> | ||
525 | <td class="paramtype">dReal </td> | ||
526 | <td class="paramname"> <em>torque2</em>, </td> | ||
527 | </tr> | ||
528 | <tr> | ||
529 | <td class="paramkey"></td> | ||
530 | <td></td> | ||
531 | <td class="paramtype">dReal </td> | ||
532 | <td class="paramname"> <em>torque3</em></td><td> </td> | ||
533 | </tr> | ||
534 | <tr> | ||
535 | <td></td> | ||
536 | <td>)</td> | ||
537 | <td></td><td></td><td width="100%"></td> | ||
538 | </tr> | ||
539 | </table> | ||
540 | </div> | ||
541 | <div class="memdoc"> | ||
542 | |||
543 | <p> | ||
544 | Applies torque0 about the AMotor's axis 0, torque1 about the AMotor's axis 1, and torque2 about the AMotor's axis 2. | ||
545 | <p> | ||
546 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>If the motor has fewer than three axes, the higher torques are ignored. This function is just a wrapper for <a class="el" href="group__bodies.html#g8378560dd168ee8d7a4b74e3de510ebc" title="Add torque at centre of mass of body in absolute coordinates.">dBodyAddTorque()</a>. </dd></dl> | ||
547 | |||
548 | </div> | ||
549 | </div><p> | ||
550 | <a class="anchor" name="ga5ba1541d092f28c93b1bdc3bfb1b69f"></a><!-- doxytag: member="objects.h::dJointAddHinge2Torques" ref="ga5ba1541d092f28c93b1bdc3bfb1b69f" args="(dJointID joint, dReal torque1, dReal torque2)" --> | ||
551 | <div class="memitem"> | ||
552 | <div class="memproto"> | ||
553 | <table class="memname"> | ||
554 | <tr> | ||
555 | <td class="memname">ODE_API void dJointAddHinge2Torques </td> | ||
556 | <td>(</td> | ||
557 | <td class="paramtype">dJointID </td> | ||
558 | <td class="paramname"> <em>joint</em>, </td> | ||
559 | </tr> | ||
560 | <tr> | ||
561 | <td class="paramkey"></td> | ||
562 | <td></td> | ||
563 | <td class="paramtype">dReal </td> | ||
564 | <td class="paramname"> <em>torque1</em>, </td> | ||
565 | </tr> | ||
566 | <tr> | ||
567 | <td class="paramkey"></td> | ||
568 | <td></td> | ||
569 | <td class="paramtype">dReal </td> | ||
570 | <td class="paramname"> <em>torque2</em></td><td> </td> | ||
571 | </tr> | ||
572 | <tr> | ||
573 | <td></td> | ||
574 | <td>)</td> | ||
575 | <td></td><td></td><td width="100%"></td> | ||
576 | </tr> | ||
577 | </table> | ||
578 | </div> | ||
579 | <div class="memdoc"> | ||
580 | |||
581 | <p> | ||
582 | Applies torque1 about the hinge2's axis 1, torque2 about the hinge2's axis 2. | ||
583 | <p> | ||
584 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This function is just a wrapper for <a class="el" href="group__bodies.html#g8378560dd168ee8d7a4b74e3de510ebc" title="Add torque at centre of mass of body in absolute coordinates.">dBodyAddTorque()</a>. </dd></dl> | ||
585 | |||
586 | </div> | ||
587 | </div><p> | ||
588 | <a class="anchor" name="ga1725abe170f80b0731321ed38785019"></a><!-- doxytag: member="objects.h::dJointAddHingeTorque" ref="ga1725abe170f80b0731321ed38785019" args="(dJointID joint, dReal torque)" --> | ||
589 | <div class="memitem"> | ||
590 | <div class="memproto"> | ||
591 | <table class="memname"> | ||
592 | <tr> | ||
593 | <td class="memname">ODE_API void dJointAddHingeTorque </td> | ||
594 | <td>(</td> | ||
595 | <td class="paramtype">dJointID </td> | ||
596 | <td class="paramname"> <em>joint</em>, </td> | ||
597 | </tr> | ||
598 | <tr> | ||
599 | <td class="paramkey"></td> | ||
600 | <td></td> | ||
601 | <td class="paramtype">dReal </td> | ||
602 | <td class="paramname"> <em>torque</em></td><td> </td> | ||
603 | </tr> | ||
604 | <tr> | ||
605 | <td></td> | ||
606 | <td>)</td> | ||
607 | <td></td><td></td><td width="100%"></td> | ||
608 | </tr> | ||
609 | </table> | ||
610 | </div> | ||
611 | <div class="memdoc"> | ||
612 | |||
613 | <p> | ||
614 | Applies the torque about the hinge axis. | ||
615 | <p> | ||
616 | That is, it applies a torque with specified magnitude in the direction of the hinge axis, to body 1, and with the same magnitude but in opposite direction to body 2. This function is just a wrapper for <a class="el" href="group__bodies.html#g8378560dd168ee8d7a4b74e3de510ebc" title="Add torque at centre of mass of body in absolute coordinates.">dBodyAddTorque()</a>} | ||
617 | </div> | ||
618 | </div><p> | ||
619 | <a class="anchor" name="ge675b0e0e332ddcd907ac9d1461b1961"></a><!-- doxytag: member="objects.h::dJointAddPRTorque" ref="ge675b0e0e332ddcd907ac9d1461b1961" args="(dJointID j, dReal torque)" --> | ||
620 | <div class="memitem"> | ||
621 | <div class="memproto"> | ||
622 | <table class="memname"> | ||
623 | <tr> | ||
624 | <td class="memname">ODE_API void dJointAddPRTorque </td> | ||
625 | <td>(</td> | ||
626 | <td class="paramtype">dJointID </td> | ||
627 | <td class="paramname"> <em>j</em>, </td> | ||
628 | </tr> | ||
629 | <tr> | ||
630 | <td class="paramkey"></td> | ||
631 | <td></td> | ||
632 | <td class="paramtype">dReal </td> | ||
633 | <td class="paramname"> <em>torque</em></td><td> </td> | ||
634 | </tr> | ||
635 | <tr> | ||
636 | <td></td> | ||
637 | <td>)</td> | ||
638 | <td></td><td></td><td width="100%"></td> | ||
639 | </tr> | ||
640 | </table> | ||
641 | </div> | ||
642 | <div class="memdoc"> | ||
643 | |||
644 | <p> | ||
645 | Applies the torque about the rotoide axis of the PR joint. | ||
646 | <p> | ||
647 | That is, it applies a torque with specified magnitude in the direction of the rotoide axis, to body 1, and with the same magnitude but in opposite direction to body 2. This function is just a wrapper for <a class="el" href="group__bodies.html#g8378560dd168ee8d7a4b74e3de510ebc" title="Add torque at centre of mass of body in absolute coordinates.">dBodyAddTorque()</a>} | ||
648 | </div> | ||
649 | </div><p> | ||
650 | <a class="anchor" name="g8b0e018cc3df6ea5ddb42320913455e7"></a><!-- doxytag: member="objects.h::dJointAddSliderForce" ref="g8b0e018cc3df6ea5ddb42320913455e7" args="(dJointID joint, dReal force)" --> | ||
651 | <div class="memitem"> | ||
652 | <div class="memproto"> | ||
653 | <table class="memname"> | ||
654 | <tr> | ||
655 | <td class="memname">ODE_API void dJointAddSliderForce </td> | ||
656 | <td>(</td> | ||
657 | <td class="paramtype">dJointID </td> | ||
658 | <td class="paramname"> <em>joint</em>, </td> | ||
659 | </tr> | ||
660 | <tr> | ||
661 | <td class="paramkey"></td> | ||
662 | <td></td> | ||
663 | <td class="paramtype">dReal </td> | ||
664 | <td class="paramname"> <em>force</em></td><td> </td> | ||
665 | </tr> | ||
666 | <tr> | ||
667 | <td></td> | ||
668 | <td>)</td> | ||
669 | <td></td><td></td><td width="100%"></td> | ||
670 | </tr> | ||
671 | </table> | ||
672 | </div> | ||
673 | <div class="memdoc"> | ||
674 | |||
675 | <p> | ||
676 | Applies the given force in the slider's direction. | ||
677 | <p> | ||
678 | That is, it applies a force with specified magnitude, in the direction of slider's axis, to body1, and with the same magnitude but opposite direction to body2. This function is just a wrapper for <a class="el" href="group__bodies.html#g1e1352dc350ad42bff5818f2200ba792" title="Add force at centre of mass of body in absolute coordinates.">dBodyAddForce()</a>. | ||
679 | </div> | ||
680 | </div><p> | ||
681 | <a class="anchor" name="g36607569e2ee26f39d3d42cba2397898"></a><!-- doxytag: member="objects.h::dJointAddUniversalTorques" ref="g36607569e2ee26f39d3d42cba2397898" args="(dJointID joint, dReal torque1, dReal torque2)" --> | ||
682 | <div class="memitem"> | ||
683 | <div class="memproto"> | ||
684 | <table class="memname"> | ||
685 | <tr> | ||
686 | <td class="memname">ODE_API void dJointAddUniversalTorques </td> | ||
687 | <td>(</td> | ||
688 | <td class="paramtype">dJointID </td> | ||
689 | <td class="paramname"> <em>joint</em>, </td> | ||
690 | </tr> | ||
691 | <tr> | ||
692 | <td class="paramkey"></td> | ||
693 | <td></td> | ||
694 | <td class="paramtype">dReal </td> | ||
695 | <td class="paramname"> <em>torque1</em>, </td> | ||
696 | </tr> | ||
697 | <tr> | ||
698 | <td class="paramkey"></td> | ||
699 | <td></td> | ||
700 | <td class="paramtype">dReal </td> | ||
701 | <td class="paramname"> <em>torque2</em></td><td> </td> | ||
702 | </tr> | ||
703 | <tr> | ||
704 | <td></td> | ||
705 | <td>)</td> | ||
706 | <td></td><td></td><td width="100%"></td> | ||
707 | </tr> | ||
708 | </table> | ||
709 | </div> | ||
710 | <div class="memdoc"> | ||
711 | |||
712 | <p> | ||
713 | Applies torque1 about the universal's axis 1, torque2 about the universal's axis 2. | ||
714 | <p> | ||
715 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This function is just a wrapper for <a class="el" href="group__bodies.html#g8378560dd168ee8d7a4b74e3de510ebc" title="Add torque at centre of mass of body in absolute coordinates.">dBodyAddTorque()</a>. </dd></dl> | ||
716 | |||
717 | </div> | ||
718 | </div><p> | ||
719 | <a class="anchor" name="g8f1c9b1302c799a1b87bc29b76d0dcec"></a><!-- doxytag: member="objects.h::dJointAttach" ref="g8f1c9b1302c799a1b87bc29b76d0dcec" args="(dJointID, dBodyID body1, dBodyID body2)" --> | ||
720 | <div class="memitem"> | ||
721 | <div class="memproto"> | ||
722 | <table class="memname"> | ||
723 | <tr> | ||
724 | <td class="memname">ODE_API void dJointAttach </td> | ||
725 | <td>(</td> | ||
726 | <td class="paramtype">dJointID </td> | ||
727 | <td class="paramname">, </td> | ||
728 | </tr> | ||
729 | <tr> | ||
730 | <td class="paramkey"></td> | ||
731 | <td></td> | ||
732 | <td class="paramtype">dBodyID </td> | ||
733 | <td class="paramname"> <em>body1</em>, </td> | ||
734 | </tr> | ||
735 | <tr> | ||
736 | <td class="paramkey"></td> | ||
737 | <td></td> | ||
738 | <td class="paramtype">dBodyID </td> | ||
739 | <td class="paramname"> <em>body2</em></td><td> </td> | ||
740 | </tr> | ||
741 | <tr> | ||
742 | <td></td> | ||
743 | <td>)</td> | ||
744 | <td></td><td></td><td width="100%"></td> | ||
745 | </tr> | ||
746 | </table> | ||
747 | </div> | ||
748 | <div class="memdoc"> | ||
749 | |||
750 | <p> | ||
751 | Attach the joint to some new bodies. | ||
752 | <p> | ||
753 | If the joint is already attached, it will be detached from the old bodies first. To attach this joint to only one body, set body1 or body2 to zero - a zero body refers to the static environment. Setting both bodies to zero puts the joint into "limbo", i.e. it will have no effect on the simulation. <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Some joints, like hinge-2 need to be attached to two bodies to work. </dd></dl> | ||
754 | |||
755 | </div> | ||
756 | </div><p> | ||
757 | <a class="anchor" name="gf23195ce77e12031393e591abd0e28e6"></a><!-- doxytag: member="objects.h::dJointCreateAMotor" ref="gf23195ce77e12031393e591abd0e28e6" args="(dWorldID, dJointGroupID)" --> | ||
758 | <div class="memitem"> | ||
759 | <div class="memproto"> | ||
760 | <table class="memname"> | ||
761 | <tr> | ||
762 | <td class="memname">ODE_API dJointID dJointCreateAMotor </td> | ||
763 | <td>(</td> | ||
764 | <td class="paramtype">dWorldID </td> | ||
765 | <td class="paramname">, </td> | ||
766 | </tr> | ||
767 | <tr> | ||
768 | <td class="paramkey"></td> | ||
769 | <td></td> | ||
770 | <td class="paramtype">dJointGroupID </td> | ||
771 | <td class="paramname"></td><td> </td> | ||
772 | </tr> | ||
773 | <tr> | ||
774 | <td></td> | ||
775 | <td>)</td> | ||
776 | <td></td><td></td><td width="100%"></td> | ||
777 | </tr> | ||
778 | </table> | ||
779 | </div> | ||
780 | <div class="memdoc"> | ||
781 | |||
782 | <p> | ||
783 | Create a new joint of the A-motor type. | ||
784 | <p> | ||
785 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
786 | <table border="0" cellspacing="2" cellpadding="0"> | ||
787 | <tr><td valign="top"></td><td valign="top"><em>dJointGroupID</em> </td><td>set to 0 to allocate the joint normally. If it is nonzero the joint is allocated in the given joint group. </td></tr> | ||
788 | </table> | ||
789 | </dl> | ||
790 | |||
791 | </div> | ||
792 | </div><p> | ||
793 | <a class="anchor" name="g2d23509f8d6c6066b361af4cf14166f7"></a><!-- doxytag: member="objects.h::dJointCreateBall" ref="g2d23509f8d6c6066b361af4cf14166f7" args="(dWorldID, dJointGroupID)" --> | ||
794 | <div class="memitem"> | ||
795 | <div class="memproto"> | ||
796 | <table class="memname"> | ||
797 | <tr> | ||
798 | <td class="memname">ODE_API dJointID dJointCreateBall </td> | ||
799 | <td>(</td> | ||
800 | <td class="paramtype">dWorldID </td> | ||
801 | <td class="paramname">, </td> | ||
802 | </tr> | ||
803 | <tr> | ||
804 | <td class="paramkey"></td> | ||
805 | <td></td> | ||
806 | <td class="paramtype">dJointGroupID </td> | ||
807 | <td class="paramname"></td><td> </td> | ||
808 | </tr> | ||
809 | <tr> | ||
810 | <td></td> | ||
811 | <td>)</td> | ||
812 | <td></td><td></td><td width="100%"></td> | ||
813 | </tr> | ||
814 | </table> | ||
815 | </div> | ||
816 | <div class="memdoc"> | ||
817 | |||
818 | <p> | ||
819 | Create a new joint of the ball type. | ||
820 | <p> | ||
821 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The joint is initially in "limbo" (i.e. it has no effect on the simulation) because it does not connect to any bodies. </dd></dl> | ||
822 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
823 | <table border="0" cellspacing="2" cellpadding="0"> | ||
824 | <tr><td valign="top"></td><td valign="top"><em>dJointGroupID</em> </td><td>set to 0 to allocate the joint normally. If it is nonzero the joint is allocated in the given joint group. </td></tr> | ||
825 | </table> | ||
826 | </dl> | ||
827 | |||
828 | </div> | ||
829 | </div><p> | ||
830 | <a class="anchor" name="gfa5e1543239ba44ecbdc178ebc7c3cc4"></a><!-- doxytag: member="objects.h::dJointCreateContact" ref="gfa5e1543239ba44ecbdc178ebc7c3cc4" args="(dWorldID, dJointGroupID, const dContact *)" --> | ||
831 | <div class="memitem"> | ||
832 | <div class="memproto"> | ||
833 | <table class="memname"> | ||
834 | <tr> | ||
835 | <td class="memname">ODE_API dJointID dJointCreateContact </td> | ||
836 | <td>(</td> | ||
837 | <td class="paramtype">dWorldID </td> | ||
838 | <td class="paramname">, </td> | ||
839 | </tr> | ||
840 | <tr> | ||
841 | <td class="paramkey"></td> | ||
842 | <td></td> | ||
843 | <td class="paramtype">dJointGroupID </td> | ||
844 | <td class="paramname">, </td> | ||
845 | </tr> | ||
846 | <tr> | ||
847 | <td class="paramkey"></td> | ||
848 | <td></td> | ||
849 | <td class="paramtype">const dContact * </td> | ||
850 | <td class="paramname"></td><td> </td> | ||
851 | </tr> | ||
852 | <tr> | ||
853 | <td></td> | ||
854 | <td>)</td> | ||
855 | <td></td><td></td><td width="100%"></td> | ||
856 | </tr> | ||
857 | </table> | ||
858 | </div> | ||
859 | <div class="memdoc"> | ||
860 | |||
861 | <p> | ||
862 | Create a new joint of the contact type. | ||
863 | <p> | ||
864 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
865 | <table border="0" cellspacing="2" cellpadding="0"> | ||
866 | <tr><td valign="top"></td><td valign="top"><em>dJointGroupID</em> </td><td>set to 0 to allocate the joint normally. If it is nonzero the joint is allocated in the given joint group. </td></tr> | ||
867 | </table> | ||
868 | </dl> | ||
869 | |||
870 | </div> | ||
871 | </div><p> | ||
872 | <a class="anchor" name="ge568995d03077e1acb13882a627dcf32"></a><!-- doxytag: member="objects.h::dJointCreateFixed" ref="ge568995d03077e1acb13882a627dcf32" args="(dWorldID, dJointGroupID)" --> | ||
873 | <div class="memitem"> | ||
874 | <div class="memproto"> | ||
875 | <table class="memname"> | ||
876 | <tr> | ||
877 | <td class="memname">ODE_API dJointID dJointCreateFixed </td> | ||
878 | <td>(</td> | ||
879 | <td class="paramtype">dWorldID </td> | ||
880 | <td class="paramname">, </td> | ||
881 | </tr> | ||
882 | <tr> | ||
883 | <td class="paramkey"></td> | ||
884 | <td></td> | ||
885 | <td class="paramtype">dJointGroupID </td> | ||
886 | <td class="paramname"></td><td> </td> | ||
887 | </tr> | ||
888 | <tr> | ||
889 | <td></td> | ||
890 | <td>)</td> | ||
891 | <td></td><td></td><td width="100%"></td> | ||
892 | </tr> | ||
893 | </table> | ||
894 | </div> | ||
895 | <div class="memdoc"> | ||
896 | |||
897 | <p> | ||
898 | Create a new joint of the fixed type. | ||
899 | <p> | ||
900 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
901 | <table border="0" cellspacing="2" cellpadding="0"> | ||
902 | <tr><td valign="top"></td><td valign="top"><em>dJointGroupID</em> </td><td>set to 0 to allocate the joint normally. If it is nonzero the joint is allocated in the given joint group. </td></tr> | ||
903 | </table> | ||
904 | </dl> | ||
905 | |||
906 | </div> | ||
907 | </div><p> | ||
908 | <a class="anchor" name="g2f18d431d48c905abc9d72ce011c00bd"></a><!-- doxytag: member="objects.h::dJointCreateHinge" ref="g2f18d431d48c905abc9d72ce011c00bd" args="(dWorldID, dJointGroupID)" --> | ||
909 | <div class="memitem"> | ||
910 | <div class="memproto"> | ||
911 | <table class="memname"> | ||
912 | <tr> | ||
913 | <td class="memname">ODE_API dJointID dJointCreateHinge </td> | ||
914 | <td>(</td> | ||
915 | <td class="paramtype">dWorldID </td> | ||
916 | <td class="paramname">, </td> | ||
917 | </tr> | ||
918 | <tr> | ||
919 | <td class="paramkey"></td> | ||
920 | <td></td> | ||
921 | <td class="paramtype">dJointGroupID </td> | ||
922 | <td class="paramname"></td><td> </td> | ||
923 | </tr> | ||
924 | <tr> | ||
925 | <td></td> | ||
926 | <td>)</td> | ||
927 | <td></td><td></td><td width="100%"></td> | ||
928 | </tr> | ||
929 | </table> | ||
930 | </div> | ||
931 | <div class="memdoc"> | ||
932 | |||
933 | <p> | ||
934 | Create a new joint of the hinge type. | ||
935 | <p> | ||
936 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
937 | <table border="0" cellspacing="2" cellpadding="0"> | ||
938 | <tr><td valign="top"></td><td valign="top"><em>dJointGroupID</em> </td><td>set to 0 to allocate the joint normally. If it is nonzero the joint is allocated in the given joint group. </td></tr> | ||
939 | </table> | ||
940 | </dl> | ||
941 | |||
942 | </div> | ||
943 | </div><p> | ||
944 | <a class="anchor" name="g6a6e32d35bdda9352d1be8d4df973f8f"></a><!-- doxytag: member="objects.h::dJointCreateHinge2" ref="g6a6e32d35bdda9352d1be8d4df973f8f" args="(dWorldID, dJointGroupID)" --> | ||
945 | <div class="memitem"> | ||
946 | <div class="memproto"> | ||
947 | <table class="memname"> | ||
948 | <tr> | ||
949 | <td class="memname">ODE_API dJointID dJointCreateHinge2 </td> | ||
950 | <td>(</td> | ||
951 | <td class="paramtype">dWorldID </td> | ||
952 | <td class="paramname">, </td> | ||
953 | </tr> | ||
954 | <tr> | ||
955 | <td class="paramkey"></td> | ||
956 | <td></td> | ||
957 | <td class="paramtype">dJointGroupID </td> | ||
958 | <td class="paramname"></td><td> </td> | ||
959 | </tr> | ||
960 | <tr> | ||
961 | <td></td> | ||
962 | <td>)</td> | ||
963 | <td></td><td></td><td width="100%"></td> | ||
964 | </tr> | ||
965 | </table> | ||
966 | </div> | ||
967 | <div class="memdoc"> | ||
968 | |||
969 | <p> | ||
970 | Create a new joint of the hinge2 type. | ||
971 | <p> | ||
972 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
973 | <table border="0" cellspacing="2" cellpadding="0"> | ||
974 | <tr><td valign="top"></td><td valign="top"><em>dJointGroupID</em> </td><td>set to 0 to allocate the joint normally. If it is nonzero the joint is allocated in the given joint group. </td></tr> | ||
975 | </table> | ||
976 | </dl> | ||
977 | |||
978 | </div> | ||
979 | </div><p> | ||
980 | <a class="anchor" name="g21c8c99615269c5d9d3c57c674f6fd56"></a><!-- doxytag: member="objects.h::dJointCreateLMotor" ref="g21c8c99615269c5d9d3c57c674f6fd56" args="(dWorldID, dJointGroupID)" --> | ||
981 | <div class="memitem"> | ||
982 | <div class="memproto"> | ||
983 | <table class="memname"> | ||
984 | <tr> | ||
985 | <td class="memname">ODE_API dJointID dJointCreateLMotor </td> | ||
986 | <td>(</td> | ||
987 | <td class="paramtype">dWorldID </td> | ||
988 | <td class="paramname">, </td> | ||
989 | </tr> | ||
990 | <tr> | ||
991 | <td class="paramkey"></td> | ||
992 | <td></td> | ||
993 | <td class="paramtype">dJointGroupID </td> | ||
994 | <td class="paramname"></td><td> </td> | ||
995 | </tr> | ||
996 | <tr> | ||
997 | <td></td> | ||
998 | <td>)</td> | ||
999 | <td></td><td></td><td width="100%"></td> | ||
1000 | </tr> | ||
1001 | </table> | ||
1002 | </div> | ||
1003 | <div class="memdoc"> | ||
1004 | |||
1005 | <p> | ||
1006 | Create a new joint of the L-motor type. | ||
1007 | <p> | ||
1008 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1009 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1010 | <tr><td valign="top"></td><td valign="top"><em>dJointGroupID</em> </td><td>set to 0 to allocate the joint normally. If it is nonzero the joint is allocated in the given joint group. </td></tr> | ||
1011 | </table> | ||
1012 | </dl> | ||
1013 | |||
1014 | </div> | ||
1015 | </div><p> | ||
1016 | <a class="anchor" name="g7e68f39530acad9c0e7a38c8a3799b38"></a><!-- doxytag: member="objects.h::dJointCreatePlane2D" ref="g7e68f39530acad9c0e7a38c8a3799b38" args="(dWorldID, dJointGroupID)" --> | ||
1017 | <div class="memitem"> | ||
1018 | <div class="memproto"> | ||
1019 | <table class="memname"> | ||
1020 | <tr> | ||
1021 | <td class="memname">ODE_API dJointID dJointCreatePlane2D </td> | ||
1022 | <td>(</td> | ||
1023 | <td class="paramtype">dWorldID </td> | ||
1024 | <td class="paramname">, </td> | ||
1025 | </tr> | ||
1026 | <tr> | ||
1027 | <td class="paramkey"></td> | ||
1028 | <td></td> | ||
1029 | <td class="paramtype">dJointGroupID </td> | ||
1030 | <td class="paramname"></td><td> </td> | ||
1031 | </tr> | ||
1032 | <tr> | ||
1033 | <td></td> | ||
1034 | <td>)</td> | ||
1035 | <td></td><td></td><td width="100%"></td> | ||
1036 | </tr> | ||
1037 | </table> | ||
1038 | </div> | ||
1039 | <div class="memdoc"> | ||
1040 | |||
1041 | <p> | ||
1042 | Create a new joint of the plane-2d type. | ||
1043 | <p> | ||
1044 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1045 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1046 | <tr><td valign="top"></td><td valign="top"><em>dJointGroupID</em> </td><td>set to 0 to allocate the joint normally. If it is nonzero the joint is allocated in the given joint group. </td></tr> | ||
1047 | </table> | ||
1048 | </dl> | ||
1049 | |||
1050 | </div> | ||
1051 | </div><p> | ||
1052 | <a class="anchor" name="gdc867f10ba9931d191244fa879e43cb2"></a><!-- doxytag: member="objects.h::dJointCreatePR" ref="gdc867f10ba9931d191244fa879e43cb2" args="(dWorldID, dJointGroupID)" --> | ||
1053 | <div class="memitem"> | ||
1054 | <div class="memproto"> | ||
1055 | <table class="memname"> | ||
1056 | <tr> | ||
1057 | <td class="memname">ODE_API dJointID dJointCreatePR </td> | ||
1058 | <td>(</td> | ||
1059 | <td class="paramtype">dWorldID </td> | ||
1060 | <td class="paramname">, </td> | ||
1061 | </tr> | ||
1062 | <tr> | ||
1063 | <td class="paramkey"></td> | ||
1064 | <td></td> | ||
1065 | <td class="paramtype">dJointGroupID </td> | ||
1066 | <td class="paramname"></td><td> </td> | ||
1067 | </tr> | ||
1068 | <tr> | ||
1069 | <td></td> | ||
1070 | <td>)</td> | ||
1071 | <td></td><td></td><td width="100%"></td> | ||
1072 | </tr> | ||
1073 | </table> | ||
1074 | </div> | ||
1075 | <div class="memdoc"> | ||
1076 | |||
1077 | <p> | ||
1078 | Create a new joint of the PR (Prismatic and Rotoide) type. | ||
1079 | <p> | ||
1080 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1081 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1082 | <tr><td valign="top"></td><td valign="top"><em>dJointGroupID</em> </td><td>set to 0 to allocate the joint normally. If it is nonzero the joint is allocated in the given joint group. </td></tr> | ||
1083 | </table> | ||
1084 | </dl> | ||
1085 | |||
1086 | </div> | ||
1087 | </div><p> | ||
1088 | <a class="anchor" name="geccc4c67b2d409016685a6a9163be539"></a><!-- doxytag: member="objects.h::dJointCreateSlider" ref="geccc4c67b2d409016685a6a9163be539" args="(dWorldID, dJointGroupID)" --> | ||
1089 | <div class="memitem"> | ||
1090 | <div class="memproto"> | ||
1091 | <table class="memname"> | ||
1092 | <tr> | ||
1093 | <td class="memname">ODE_API dJointID dJointCreateSlider </td> | ||
1094 | <td>(</td> | ||
1095 | <td class="paramtype">dWorldID </td> | ||
1096 | <td class="paramname">, </td> | ||
1097 | </tr> | ||
1098 | <tr> | ||
1099 | <td class="paramkey"></td> | ||
1100 | <td></td> | ||
1101 | <td class="paramtype">dJointGroupID </td> | ||
1102 | <td class="paramname"></td><td> </td> | ||
1103 | </tr> | ||
1104 | <tr> | ||
1105 | <td></td> | ||
1106 | <td>)</td> | ||
1107 | <td></td><td></td><td width="100%"></td> | ||
1108 | </tr> | ||
1109 | </table> | ||
1110 | </div> | ||
1111 | <div class="memdoc"> | ||
1112 | |||
1113 | <p> | ||
1114 | Create a new joint of the slider type. | ||
1115 | <p> | ||
1116 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1117 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1118 | <tr><td valign="top"></td><td valign="top"><em>dJointGroupID</em> </td><td>set to 0 to allocate the joint normally. If it is nonzero the joint is allocated in the given joint group. </td></tr> | ||
1119 | </table> | ||
1120 | </dl> | ||
1121 | |||
1122 | </div> | ||
1123 | </div><p> | ||
1124 | <a class="anchor" name="g1cb2e7668242313b5d24acb5d43e5c62"></a><!-- doxytag: member="objects.h::dJointCreateUniversal" ref="g1cb2e7668242313b5d24acb5d43e5c62" args="(dWorldID, dJointGroupID)" --> | ||
1125 | <div class="memitem"> | ||
1126 | <div class="memproto"> | ||
1127 | <table class="memname"> | ||
1128 | <tr> | ||
1129 | <td class="memname">ODE_API dJointID dJointCreateUniversal </td> | ||
1130 | <td>(</td> | ||
1131 | <td class="paramtype">dWorldID </td> | ||
1132 | <td class="paramname">, </td> | ||
1133 | </tr> | ||
1134 | <tr> | ||
1135 | <td class="paramkey"></td> | ||
1136 | <td></td> | ||
1137 | <td class="paramtype">dJointGroupID </td> | ||
1138 | <td class="paramname"></td><td> </td> | ||
1139 | </tr> | ||
1140 | <tr> | ||
1141 | <td></td> | ||
1142 | <td>)</td> | ||
1143 | <td></td><td></td><td width="100%"></td> | ||
1144 | </tr> | ||
1145 | </table> | ||
1146 | </div> | ||
1147 | <div class="memdoc"> | ||
1148 | |||
1149 | <p> | ||
1150 | Create a new joint of the universal type. | ||
1151 | <p> | ||
1152 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1153 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1154 | <tr><td valign="top"></td><td valign="top"><em>dJointGroupID</em> </td><td>set to 0 to allocate the joint normally. If it is nonzero the joint is allocated in the given joint group. </td></tr> | ||
1155 | </table> | ||
1156 | </dl> | ||
1157 | |||
1158 | </div> | ||
1159 | </div><p> | ||
1160 | <a class="anchor" name="g2187ccbcf51c951f680eb6c9a210801a"></a><!-- doxytag: member="objects.h::dJointDestroy" ref="g2187ccbcf51c951f680eb6c9a210801a" args="(dJointID)" --> | ||
1161 | <div class="memitem"> | ||
1162 | <div class="memproto"> | ||
1163 | <table class="memname"> | ||
1164 | <tr> | ||
1165 | <td class="memname">ODE_API void dJointDestroy </td> | ||
1166 | <td>(</td> | ||
1167 | <td class="paramtype">dJointID </td> | ||
1168 | <td class="paramname"> </td> | ||
1169 | <td> ) </td> | ||
1170 | <td width="100%"></td> | ||
1171 | </tr> | ||
1172 | </table> | ||
1173 | </div> | ||
1174 | <div class="memdoc"> | ||
1175 | |||
1176 | <p> | ||
1177 | Destroy a joint. | ||
1178 | <p> | ||
1179 | disconnects it from its attached bodies and removing it from the world. However, if the joint is a member of a group then this function has no effect - to destroy that joint the group must be emptied or destroyed. | ||
1180 | </div> | ||
1181 | </div><p> | ||
1182 | <a class="anchor" name="g3634444b00ac33a5f34a7af4fffda8b2"></a><!-- doxytag: member="objects.h::dJointGetAMotorAngle" ref="g3634444b00ac33a5f34a7af4fffda8b2" args="(dJointID, int anum)" --> | ||
1183 | <div class="memitem"> | ||
1184 | <div class="memproto"> | ||
1185 | <table class="memname"> | ||
1186 | <tr> | ||
1187 | <td class="memname">ODE_API dReal dJointGetAMotorAngle </td> | ||
1188 | <td>(</td> | ||
1189 | <td class="paramtype">dJointID </td> | ||
1190 | <td class="paramname">, </td> | ||
1191 | </tr> | ||
1192 | <tr> | ||
1193 | <td class="paramkey"></td> | ||
1194 | <td></td> | ||
1195 | <td class="paramtype">int </td> | ||
1196 | <td class="paramname"> <em>anum</em></td><td> </td> | ||
1197 | </tr> | ||
1198 | <tr> | ||
1199 | <td></td> | ||
1200 | <td>)</td> | ||
1201 | <td></td><td></td><td width="100%"></td> | ||
1202 | </tr> | ||
1203 | </table> | ||
1204 | </div> | ||
1205 | <div class="memdoc"> | ||
1206 | |||
1207 | <p> | ||
1208 | Get the current angle for axis. | ||
1209 | <p> | ||
1210 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>In dAMotorUser mode this is simply the value that was set with <a class="el" href="group__joints.html#g17b2089e6512e22d71340befb40100d2" title="Tell the AMotor what the current angle is along axis anum.">dJointSetAMotorAngle()</a>. In dAMotorEuler mode this is the corresponding euler angle. </dd></dl> | ||
1211 | |||
1212 | </div> | ||
1213 | </div><p> | ||
1214 | <a class="anchor" name="ga65abc36177390330037299b689b70c7"></a><!-- doxytag: member="objects.h::dJointGetAMotorAngleRate" ref="ga65abc36177390330037299b689b70c7" args="(dJointID, int anum)" --> | ||
1215 | <div class="memitem"> | ||
1216 | <div class="memproto"> | ||
1217 | <table class="memname"> | ||
1218 | <tr> | ||
1219 | <td class="memname">ODE_API dReal dJointGetAMotorAngleRate </td> | ||
1220 | <td>(</td> | ||
1221 | <td class="paramtype">dJointID </td> | ||
1222 | <td class="paramname">, </td> | ||
1223 | </tr> | ||
1224 | <tr> | ||
1225 | <td class="paramkey"></td> | ||
1226 | <td></td> | ||
1227 | <td class="paramtype">int </td> | ||
1228 | <td class="paramname"> <em>anum</em></td><td> </td> | ||
1229 | </tr> | ||
1230 | <tr> | ||
1231 | <td></td> | ||
1232 | <td>)</td> | ||
1233 | <td></td><td></td><td width="100%"></td> | ||
1234 | </tr> | ||
1235 | </table> | ||
1236 | </div> | ||
1237 | <div class="memdoc"> | ||
1238 | |||
1239 | <p> | ||
1240 | Get the current angle rate for axis anum. | ||
1241 | <p> | ||
1242 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>In dAMotorUser mode this is always zero, as not enough information is available. In dAMotorEuler mode this is the corresponding euler angle rate. </dd></dl> | ||
1243 | |||
1244 | </div> | ||
1245 | </div><p> | ||
1246 | <a class="anchor" name="gef1af77cc19d81b24ad00025f3c9d5ec"></a><!-- doxytag: member="objects.h::dJointGetAMotorAxis" ref="gef1af77cc19d81b24ad00025f3c9d5ec" args="(dJointID, int anum, dVector3 result)" --> | ||
1247 | <div class="memitem"> | ||
1248 | <div class="memproto"> | ||
1249 | <table class="memname"> | ||
1250 | <tr> | ||
1251 | <td class="memname">ODE_API void dJointGetAMotorAxis </td> | ||
1252 | <td>(</td> | ||
1253 | <td class="paramtype">dJointID </td> | ||
1254 | <td class="paramname">, </td> | ||
1255 | </tr> | ||
1256 | <tr> | ||
1257 | <td class="paramkey"></td> | ||
1258 | <td></td> | ||
1259 | <td class="paramtype">int </td> | ||
1260 | <td class="paramname"> <em>anum</em>, </td> | ||
1261 | </tr> | ||
1262 | <tr> | ||
1263 | <td class="paramkey"></td> | ||
1264 | <td></td> | ||
1265 | <td class="paramtype">dVector3 </td> | ||
1266 | <td class="paramname"> <em>result</em></td><td> </td> | ||
1267 | </tr> | ||
1268 | <tr> | ||
1269 | <td></td> | ||
1270 | <td>)</td> | ||
1271 | <td></td><td></td><td width="100%"></td> | ||
1272 | </tr> | ||
1273 | </table> | ||
1274 | </div> | ||
1275 | <div class="memdoc"> | ||
1276 | |||
1277 | <p> | ||
1278 | Get the AMotor axes. | ||
1279 | <p> | ||
1280 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1281 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1282 | <tr><td valign="top"></td><td valign="top"><em>anum</em> </td><td>selects the axis to change (0,1 or 2). </td></tr> | ||
1283 | <tr><td valign="top"></td><td valign="top"><em>rel</em> </td><td>Each axis can have one of three ``relative orientation'' modes. <ul> | ||
1284 | <li>0: The axis is anchored to the global frame. </li> | ||
1285 | <li>1: The axis is anchored to the first body. </li> | ||
1286 | <li>2: The axis is anchored to the second body. </li> | ||
1287 | </ul> | ||
1288 | </td></tr> | ||
1289 | </table> | ||
1290 | </dl> | ||
1291 | |||
1292 | </div> | ||
1293 | </div><p> | ||
1294 | <a class="anchor" name="g1887538374f044e22f9742650d14ae69"></a><!-- doxytag: member="objects.h::dJointGetAMotorAxisRel" ref="g1887538374f044e22f9742650d14ae69" args="(dJointID, int anum)" --> | ||
1295 | <div class="memitem"> | ||
1296 | <div class="memproto"> | ||
1297 | <table class="memname"> | ||
1298 | <tr> | ||
1299 | <td class="memname">ODE_API int dJointGetAMotorAxisRel </td> | ||
1300 | <td>(</td> | ||
1301 | <td class="paramtype">dJointID </td> | ||
1302 | <td class="paramname">, </td> | ||
1303 | </tr> | ||
1304 | <tr> | ||
1305 | <td class="paramkey"></td> | ||
1306 | <td></td> | ||
1307 | <td class="paramtype">int </td> | ||
1308 | <td class="paramname"> <em>anum</em></td><td> </td> | ||
1309 | </tr> | ||
1310 | <tr> | ||
1311 | <td></td> | ||
1312 | <td>)</td> | ||
1313 | <td></td><td></td><td width="100%"></td> | ||
1314 | </tr> | ||
1315 | </table> | ||
1316 | </div> | ||
1317 | <div class="memdoc"> | ||
1318 | |||
1319 | <p> | ||
1320 | Get axis. | ||
1321 | <p> | ||
1322 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The axis vector is always specified in global coordinates regardless of the setting of rel. There are two GetAMotorAxis functions, one to return the axis and one to return the relative mode.</dd></dl> | ||
1323 | For dAMotorEuler mode: <ul> | ||
1324 | <li>Only axes 0 and 2 need to be set. Axis 1 will be determined automatically at each time step. </li> | ||
1325 | <li>Axes 0 and 2 must be perpendicular to each other. </li> | ||
1326 | <li>Axis 0 must be anchored to the first body, axis 2 must be anchored to the second body. </li> | ||
1327 | </ul> | ||
1328 | |||
1329 | </div> | ||
1330 | </div><p> | ||
1331 | <a class="anchor" name="gf2430c2062414bc28660bdc06a0d72d5"></a><!-- doxytag: member="objects.h::dJointGetAMotorMode" ref="gf2430c2062414bc28660bdc06a0d72d5" args="(dJointID)" --> | ||
1332 | <div class="memitem"> | ||
1333 | <div class="memproto"> | ||
1334 | <table class="memname"> | ||
1335 | <tr> | ||
1336 | <td class="memname">ODE_API int dJointGetAMotorMode </td> | ||
1337 | <td>(</td> | ||
1338 | <td class="paramtype">dJointID </td> | ||
1339 | <td class="paramname"> </td> | ||
1340 | <td> ) </td> | ||
1341 | <td width="100%"></td> | ||
1342 | </tr> | ||
1343 | </table> | ||
1344 | </div> | ||
1345 | <div class="memdoc"> | ||
1346 | |||
1347 | <p> | ||
1348 | Get the angular motor mode. | ||
1349 | <p> | ||
1350 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1351 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1352 | <tr><td valign="top"></td><td valign="top"><em>mode</em> </td><td>must be one of the following constants: <ul> | ||
1353 | <li>dAMotorUser The AMotor axes and joint angle settings are entirely controlled by the user. This is the default mode. </li> | ||
1354 | <li>dAMotorEuler Euler angles are automatically computed. The axis a1 is also automatically computed. The AMotor axes must be set correctly when in this mode, as described below. When this mode is initially set the current relative orientations of the bodies will correspond to all euler angles at zero. </li> | ||
1355 | </ul> | ||
1356 | </td></tr> | ||
1357 | </table> | ||
1358 | </dl> | ||
1359 | |||
1360 | </div> | ||
1361 | </div><p> | ||
1362 | <a class="anchor" name="g35f0392af69ece0d0c3ef7ed88b532bf"></a><!-- doxytag: member="objects.h::dJointGetAMotorNumAxes" ref="g35f0392af69ece0d0c3ef7ed88b532bf" args="(dJointID)" --> | ||
1363 | <div class="memitem"> | ||
1364 | <div class="memproto"> | ||
1365 | <table class="memname"> | ||
1366 | <tr> | ||
1367 | <td class="memname">ODE_API int dJointGetAMotorNumAxes </td> | ||
1368 | <td>(</td> | ||
1369 | <td class="paramtype">dJointID </td> | ||
1370 | <td class="paramname"> </td> | ||
1371 | <td> ) </td> | ||
1372 | <td width="100%"></td> | ||
1373 | </tr> | ||
1374 | </table> | ||
1375 | </div> | ||
1376 | <div class="memdoc"> | ||
1377 | |||
1378 | <p> | ||
1379 | Get the number of angular axes that will be controlled by the AMotor. | ||
1380 | <p> | ||
1381 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1382 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1383 | <tr><td valign="top"></td><td valign="top"><em>num</em> </td><td>can range from 0 (which effectively deactivates the joint) to 3. This is automatically set to 3 in dAMotorEuler mode. </td></tr> | ||
1384 | </table> | ||
1385 | </dl> | ||
1386 | |||
1387 | </div> | ||
1388 | </div><p> | ||
1389 | <a class="anchor" name="gff13cbb464f1bfdc225fc9202c2c54c3"></a><!-- doxytag: member="objects.h::dJointGetBody" ref="gff13cbb464f1bfdc225fc9202c2c54c3" args="(dJointID, int index)" --> | ||
1390 | <div class="memitem"> | ||
1391 | <div class="memproto"> | ||
1392 | <table class="memname"> | ||
1393 | <tr> | ||
1394 | <td class="memname">ODE_API dBodyID dJointGetBody </td> | ||
1395 | <td>(</td> | ||
1396 | <td class="paramtype">dJointID </td> | ||
1397 | <td class="paramname">, </td> | ||
1398 | </tr> | ||
1399 | <tr> | ||
1400 | <td class="paramkey"></td> | ||
1401 | <td></td> | ||
1402 | <td class="paramtype">int </td> | ||
1403 | <td class="paramname"> <em>index</em></td><td> </td> | ||
1404 | </tr> | ||
1405 | <tr> | ||
1406 | <td></td> | ||
1407 | <td>)</td> | ||
1408 | <td></td><td></td><td width="100%"></td> | ||
1409 | </tr> | ||
1410 | </table> | ||
1411 | </div> | ||
1412 | <div class="memdoc"> | ||
1413 | |||
1414 | <p> | ||
1415 | Return the bodies that this joint connects. | ||
1416 | <p> | ||
1417 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1418 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1419 | <tr><td valign="top"></td><td valign="top"><em>index</em> </td><td>return the first (0) or second (1) body. </td></tr> | ||
1420 | </table> | ||
1421 | </dl> | ||
1422 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>If one of these returned body IDs is zero, the joint connects the other body to the static environment. If both body IDs are zero, the joint is in ``limbo'' and has no effect on the simulation. </dd></dl> | ||
1423 | |||
1424 | </div> | ||
1425 | </div><p> | ||
1426 | <a class="anchor" name="g879999d011f82c73acf94029132cc198"></a><!-- doxytag: member="objects.h::dJointGetHinge2Anchor" ref="g879999d011f82c73acf94029132cc198" args="(dJointID, dVector3 result)" --> | ||
1427 | <div class="memitem"> | ||
1428 | <div class="memproto"> | ||
1429 | <table class="memname"> | ||
1430 | <tr> | ||
1431 | <td class="memname">ODE_API void dJointGetHinge2Anchor </td> | ||
1432 | <td>(</td> | ||
1433 | <td class="paramtype">dJointID </td> | ||
1434 | <td class="paramname">, </td> | ||
1435 | </tr> | ||
1436 | <tr> | ||
1437 | <td class="paramkey"></td> | ||
1438 | <td></td> | ||
1439 | <td class="paramtype">dVector3 </td> | ||
1440 | <td class="paramname"> <em>result</em></td><td> </td> | ||
1441 | </tr> | ||
1442 | <tr> | ||
1443 | <td></td> | ||
1444 | <td>)</td> | ||
1445 | <td></td><td></td><td width="100%"></td> | ||
1446 | </tr> | ||
1447 | </table> | ||
1448 | </div> | ||
1449 | <div class="memdoc"> | ||
1450 | |||
1451 | <p> | ||
1452 | Get the joint anchor point, in world coordinates. | ||
1453 | <p> | ||
1454 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>the point on body 1. If the joint is perfectly satisfied, this will be the same as the point on body 2. </dd></dl> | ||
1455 | |||
1456 | </div> | ||
1457 | </div><p> | ||
1458 | <a class="anchor" name="g1d1c4f9b10c550f6fec550f9cc80c7ab"></a><!-- doxytag: member="objects.h::dJointGetHingeAnchor" ref="g1d1c4f9b10c550f6fec550f9cc80c7ab" args="(dJointID, dVector3 result)" --> | ||
1459 | <div class="memitem"> | ||
1460 | <div class="memproto"> | ||
1461 | <table class="memname"> | ||
1462 | <tr> | ||
1463 | <td class="memname">ODE_API void dJointGetHingeAnchor </td> | ||
1464 | <td>(</td> | ||
1465 | <td class="paramtype">dJointID </td> | ||
1466 | <td class="paramname">, </td> | ||
1467 | </tr> | ||
1468 | <tr> | ||
1469 | <td class="paramkey"></td> | ||
1470 | <td></td> | ||
1471 | <td class="paramtype">dVector3 </td> | ||
1472 | <td class="paramname"> <em>result</em></td><td> </td> | ||
1473 | </tr> | ||
1474 | <tr> | ||
1475 | <td></td> | ||
1476 | <td>)</td> | ||
1477 | <td></td><td></td><td width="100%"></td> | ||
1478 | </tr> | ||
1479 | </table> | ||
1480 | </div> | ||
1481 | <div class="memdoc"> | ||
1482 | |||
1483 | <p> | ||
1484 | Get the hinge anchor point, in world coordinates. | ||
1485 | <p> | ||
1486 | This returns the point on body 1. If the joint is perfectly satisfied, this will be the same as the point on body 2. | ||
1487 | </div> | ||
1488 | </div><p> | ||
1489 | <a class="anchor" name="gfdc1d9c7bd8824ec3e79cc5aa67ddfa1"></a><!-- doxytag: member="objects.h::dJointGetHingeAnchor2" ref="gfdc1d9c7bd8824ec3e79cc5aa67ddfa1" args="(dJointID, dVector3 result)" --> | ||
1490 | <div class="memitem"> | ||
1491 | <div class="memproto"> | ||
1492 | <table class="memname"> | ||
1493 | <tr> | ||
1494 | <td class="memname">ODE_API void dJointGetHingeAnchor2 </td> | ||
1495 | <td>(</td> | ||
1496 | <td class="paramtype">dJointID </td> | ||
1497 | <td class="paramname">, </td> | ||
1498 | </tr> | ||
1499 | <tr> | ||
1500 | <td class="paramkey"></td> | ||
1501 | <td></td> | ||
1502 | <td class="paramtype">dVector3 </td> | ||
1503 | <td class="paramname"> <em>result</em></td><td> </td> | ||
1504 | </tr> | ||
1505 | <tr> | ||
1506 | <td></td> | ||
1507 | <td>)</td> | ||
1508 | <td></td><td></td><td width="100%"></td> | ||
1509 | </tr> | ||
1510 | </table> | ||
1511 | </div> | ||
1512 | <div class="memdoc"> | ||
1513 | |||
1514 | <p> | ||
1515 | Get the joint anchor point, in world coordinates. | ||
1516 | <p> | ||
1517 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>The point on body 2. If the joint is perfectly satisfied, this will return the same value as <a class="el" href="group__joints.html#g1d1c4f9b10c550f6fec550f9cc80c7ab" title="Get the hinge anchor point, in world coordinates.">dJointGetHingeAnchor()</a>. If not, this value will be slightly different. This can be used, for example, to see how far the joint has come apart. </dd></dl> | ||
1518 | |||
1519 | </div> | ||
1520 | </div><p> | ||
1521 | <a class="anchor" name="g7ca6bdfe2b919b6bc2a27ba6f0e069f0"></a><!-- doxytag: member="objects.h::dJointGetHingeAngle" ref="g7ca6bdfe2b919b6bc2a27ba6f0e069f0" args="(dJointID)" --> | ||
1522 | <div class="memitem"> | ||
1523 | <div class="memproto"> | ||
1524 | <table class="memname"> | ||
1525 | <tr> | ||
1526 | <td class="memname">ODE_API dReal dJointGetHingeAngle </td> | ||
1527 | <td>(</td> | ||
1528 | <td class="paramtype">dJointID </td> | ||
1529 | <td class="paramname"> </td> | ||
1530 | <td> ) </td> | ||
1531 | <td width="100%"></td> | ||
1532 | </tr> | ||
1533 | </table> | ||
1534 | </div> | ||
1535 | <div class="memdoc"> | ||
1536 | |||
1537 | <p> | ||
1538 | Get the hinge angle. | ||
1539 | <p> | ||
1540 | The angle is measured between the two bodies, or between the body and the static environment. The angle will be between -pi..pi. When the hinge anchor or axis is set, the current position of the attached bodies is examined and that position will be the zero angle. | ||
1541 | </div> | ||
1542 | </div><p> | ||
1543 | <a class="anchor" name="g88b176c70948c3f96e5c9173904b04fe"></a><!-- doxytag: member="objects.h::dJointGetPRAnchor" ref="g88b176c70948c3f96e5c9173904b04fe" args="(dJointID, dVector3 result)" --> | ||
1544 | <div class="memitem"> | ||
1545 | <div class="memproto"> | ||
1546 | <table class="memname"> | ||
1547 | <tr> | ||
1548 | <td class="memname">ODE_API void dJointGetPRAnchor </td> | ||
1549 | <td>(</td> | ||
1550 | <td class="paramtype">dJointID </td> | ||
1551 | <td class="paramname">, </td> | ||
1552 | </tr> | ||
1553 | <tr> | ||
1554 | <td class="paramkey"></td> | ||
1555 | <td></td> | ||
1556 | <td class="paramtype">dVector3 </td> | ||
1557 | <td class="paramname"> <em>result</em></td><td> </td> | ||
1558 | </tr> | ||
1559 | <tr> | ||
1560 | <td></td> | ||
1561 | <td>)</td> | ||
1562 | <td></td><td></td><td width="100%"></td> | ||
1563 | </tr> | ||
1564 | </table> | ||
1565 | </div> | ||
1566 | <div class="memdoc"> | ||
1567 | |||
1568 | <p> | ||
1569 | Get the joint anchor point, in world coordinates. | ||
1570 | <p> | ||
1571 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>the point on body 1. If the joint is perfectly satisfied, this will be the same as the point on body 2. </dd></dl> | ||
1572 | |||
1573 | </div> | ||
1574 | </div><p> | ||
1575 | <a class="anchor" name="gd8b95871e93525f44badcdaf8e521da7"></a><!-- doxytag: member="objects.h::dJointGetPRPosition" ref="gd8b95871e93525f44badcdaf8e521da7" args="(dJointID)" --> | ||
1576 | <div class="memitem"> | ||
1577 | <div class="memproto"> | ||
1578 | <table class="memname"> | ||
1579 | <tr> | ||
1580 | <td class="memname">ODE_API dReal dJointGetPRPosition </td> | ||
1581 | <td>(</td> | ||
1582 | <td class="paramtype">dJointID </td> | ||
1583 | <td class="paramname"> </td> | ||
1584 | <td> ) </td> | ||
1585 | <td width="100%"></td> | ||
1586 | </tr> | ||
1587 | </table> | ||
1588 | </div> | ||
1589 | <div class="memdoc"> | ||
1590 | |||
1591 | <p> | ||
1592 | Get the PR linear position (i.e. the prismatic's extension). | ||
1593 | <p> | ||
1594 | When the axis is set, the current position of the attached bodies is examined and that position will be the zero position.<p> | ||
1595 | The position is the "oriented" length between the position = (Prismatic axis) dot_product [(body1 + offset) - (body2 + anchor2)] | ||
1596 | </div> | ||
1597 | </div><p> | ||
1598 | <a class="anchor" name="g7f35449914cbc4a86b845dcd85a617c0"></a><!-- doxytag: member="objects.h::dJointGetSliderPosition" ref="g7f35449914cbc4a86b845dcd85a617c0" args="(dJointID)" --> | ||
1599 | <div class="memitem"> | ||
1600 | <div class="memproto"> | ||
1601 | <table class="memname"> | ||
1602 | <tr> | ||
1603 | <td class="memname">ODE_API dReal dJointGetSliderPosition </td> | ||
1604 | <td>(</td> | ||
1605 | <td class="paramtype">dJointID </td> | ||
1606 | <td class="paramname"> </td> | ||
1607 | <td> ) </td> | ||
1608 | <td width="100%"></td> | ||
1609 | </tr> | ||
1610 | </table> | ||
1611 | </div> | ||
1612 | <div class="memdoc"> | ||
1613 | |||
1614 | <p> | ||
1615 | Get the slider linear position (i.e. the slider's extension). | ||
1616 | <p> | ||
1617 | When the axis is set, the current position of the attached bodies is examined and that position will be the zero position. | ||
1618 | </div> | ||
1619 | </div><p> | ||
1620 | <a class="anchor" name="g6f12f69d9b1a457428a28c2f77148174"></a><!-- doxytag: member="objects.h::dJointGetType" ref="g6f12f69d9b1a457428a28c2f77148174" args="(dJointID)" --> | ||
1621 | <div class="memitem"> | ||
1622 | <div class="memproto"> | ||
1623 | <table class="memname"> | ||
1624 | <tr> | ||
1625 | <td class="memname">ODE_API int dJointGetType </td> | ||
1626 | <td>(</td> | ||
1627 | <td class="paramtype">dJointID </td> | ||
1628 | <td class="paramname"> </td> | ||
1629 | <td> ) </td> | ||
1630 | <td width="100%"></td> | ||
1631 | </tr> | ||
1632 | </table> | ||
1633 | </div> | ||
1634 | <div class="memdoc"> | ||
1635 | |||
1636 | <p> | ||
1637 | Get the type of the joint. | ||
1638 | <p> | ||
1639 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>the type, being one of these: <ul> | ||
1640 | <li>JointTypeBall </li> | ||
1641 | <li>JointTypeHinge </li> | ||
1642 | <li>JointTypeSlider </li> | ||
1643 | <li>JointTypeContact </li> | ||
1644 | <li>JointTypeUniversal </li> | ||
1645 | <li>JointTypeHinge2 </li> | ||
1646 | <li>JointTypeFixed </li> | ||
1647 | <li>JointTypeAMotor </li> | ||
1648 | <li>JointTypeLMotor </li> | ||
1649 | </ul> | ||
1650 | </dd></dl> | ||
1651 | |||
1652 | </div> | ||
1653 | </div><p> | ||
1654 | <a class="anchor" name="ga768432c561cb76ba2490913f42d1aaf"></a><!-- doxytag: member="objects.h::dJointGetUniversalAnchor" ref="ga768432c561cb76ba2490913f42d1aaf" args="(dJointID, dVector3 result)" --> | ||
1655 | <div class="memitem"> | ||
1656 | <div class="memproto"> | ||
1657 | <table class="memname"> | ||
1658 | <tr> | ||
1659 | <td class="memname">ODE_API void dJointGetUniversalAnchor </td> | ||
1660 | <td>(</td> | ||
1661 | <td class="paramtype">dJointID </td> | ||
1662 | <td class="paramname">, </td> | ||
1663 | </tr> | ||
1664 | <tr> | ||
1665 | <td class="paramkey"></td> | ||
1666 | <td></td> | ||
1667 | <td class="paramtype">dVector3 </td> | ||
1668 | <td class="paramname"> <em>result</em></td><td> </td> | ||
1669 | </tr> | ||
1670 | <tr> | ||
1671 | <td></td> | ||
1672 | <td>)</td> | ||
1673 | <td></td><td></td><td width="100%"></td> | ||
1674 | </tr> | ||
1675 | </table> | ||
1676 | </div> | ||
1677 | <div class="memdoc"> | ||
1678 | |||
1679 | <p> | ||
1680 | Get the joint anchor point, in world coordinates. | ||
1681 | <p> | ||
1682 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>the point on body 1. If the joint is perfectly satisfied, this will be the same as the point on body 2. </dd></dl> | ||
1683 | |||
1684 | </div> | ||
1685 | </div><p> | ||
1686 | <a class="anchor" name="g00d5018903a90d75c324c4f870b0e7ea"></a><!-- doxytag: member="objects.h::dJointGetUniversalAnchor2" ref="g00d5018903a90d75c324c4f870b0e7ea" args="(dJointID, dVector3 result)" --> | ||
1687 | <div class="memitem"> | ||
1688 | <div class="memproto"> | ||
1689 | <table class="memname"> | ||
1690 | <tr> | ||
1691 | <td class="memname">ODE_API void dJointGetUniversalAnchor2 </td> | ||
1692 | <td>(</td> | ||
1693 | <td class="paramtype">dJointID </td> | ||
1694 | <td class="paramname">, </td> | ||
1695 | </tr> | ||
1696 | <tr> | ||
1697 | <td class="paramkey"></td> | ||
1698 | <td></td> | ||
1699 | <td class="paramtype">dVector3 </td> | ||
1700 | <td class="paramname"> <em>result</em></td><td> </td> | ||
1701 | </tr> | ||
1702 | <tr> | ||
1703 | <td></td> | ||
1704 | <td>)</td> | ||
1705 | <td></td><td></td><td width="100%"></td> | ||
1706 | </tr> | ||
1707 | </table> | ||
1708 | </div> | ||
1709 | <div class="memdoc"> | ||
1710 | |||
1711 | <p> | ||
1712 | Get the joint anchor point, in world coordinates. | ||
1713 | <p> | ||
1714 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>This returns the point on body 2. </dd></dl> | ||
1715 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>You can think of the ball and socket part of a universal joint as trying to keep the result of dJointGetBallAnchor() and dJointGetBallAnchor2() the same. If the joint is perfectly satisfied, this function will return the same value as <a class="el" href="group__joints.html#ga768432c561cb76ba2490913f42d1aaf" title="Get the joint anchor point, in world coordinates.">dJointGetUniversalAnchor()</a> to within roundoff errors. <a class="el" href="group__joints.html#g00d5018903a90d75c324c4f870b0e7ea" title="Get the joint anchor point, in world coordinates.">dJointGetUniversalAnchor2()</a> can be used, along with <a class="el" href="group__joints.html#ga768432c561cb76ba2490913f42d1aaf" title="Get the joint anchor point, in world coordinates.">dJointGetUniversalAnchor()</a>, to see how far the joint has come apart. </dd></dl> | ||
1716 | |||
1717 | </div> | ||
1718 | </div><p> | ||
1719 | <a class="anchor" name="g3c0fafbd1ccd8e450c01012ce600f6ab"></a><!-- doxytag: member="objects.h::dJointGetUniversalAngles" ref="g3c0fafbd1ccd8e450c01012ce600f6ab" args="(dJointID, dReal *angle1, dReal *angle2)" --> | ||
1720 | <div class="memitem"> | ||
1721 | <div class="memproto"> | ||
1722 | <table class="memname"> | ||
1723 | <tr> | ||
1724 | <td class="memname">ODE_API void dJointGetUniversalAngles </td> | ||
1725 | <td>(</td> | ||
1726 | <td class="paramtype">dJointID </td> | ||
1727 | <td class="paramname">, </td> | ||
1728 | </tr> | ||
1729 | <tr> | ||
1730 | <td class="paramkey"></td> | ||
1731 | <td></td> | ||
1732 | <td class="paramtype">dReal * </td> | ||
1733 | <td class="paramname"> <em>angle1</em>, </td> | ||
1734 | </tr> | ||
1735 | <tr> | ||
1736 | <td class="paramkey"></td> | ||
1737 | <td></td> | ||
1738 | <td class="paramtype">dReal * </td> | ||
1739 | <td class="paramname"> <em>angle2</em></td><td> </td> | ||
1740 | </tr> | ||
1741 | <tr> | ||
1742 | <td></td> | ||
1743 | <td>)</td> | ||
1744 | <td></td><td></td><td width="100%"></td> | ||
1745 | </tr> | ||
1746 | </table> | ||
1747 | </div> | ||
1748 | <div class="memdoc"> | ||
1749 | |||
1750 | <p> | ||
1751 | Get both angles at the same time. | ||
1752 | <p> | ||
1753 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1754 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1755 | <tr><td valign="top"></td><td valign="top"><em>joint</em> </td><td>The universal joint for which we want to calculate the angles </td></tr> | ||
1756 | <tr><td valign="top"></td><td valign="top"><em>angle1</em> </td><td>The angle between the body1 and the axis 1 </td></tr> | ||
1757 | <tr><td valign="top"></td><td valign="top"><em>angle2</em> </td><td>The angle between the body2 and the axis 2</td></tr> | ||
1758 | </table> | ||
1759 | </dl> | ||
1760 | <dl class="note" compact><dt><b>Note:</b></dt><dd>This function combine getUniversalAngle1 and getUniversalAngle2 together and try to avoid redundant calculation </dd></dl> | ||
1761 | |||
1762 | </div> | ||
1763 | </div><p> | ||
1764 | <a class="anchor" name="gaaec687b184a1214133a41503e7c628f"></a><!-- doxytag: member="objects.h::dJointGroupCreate" ref="gaaec687b184a1214133a41503e7c628f" args="(int max_size)" --> | ||
1765 | <div class="memitem"> | ||
1766 | <div class="memproto"> | ||
1767 | <table class="memname"> | ||
1768 | <tr> | ||
1769 | <td class="memname">ODE_API dJointGroupID dJointGroupCreate </td> | ||
1770 | <td>(</td> | ||
1771 | <td class="paramtype">int </td> | ||
1772 | <td class="paramname"> <em>max_size</em> </td> | ||
1773 | <td> ) </td> | ||
1774 | <td width="100%"></td> | ||
1775 | </tr> | ||
1776 | </table> | ||
1777 | </div> | ||
1778 | <div class="memdoc"> | ||
1779 | |||
1780 | <p> | ||
1781 | Create a joint group. | ||
1782 | <p> | ||
1783 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1784 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1785 | <tr><td valign="top"></td><td valign="top"><em>max_size</em> </td><td>deprecated. Set to 0. </td></tr> | ||
1786 | </table> | ||
1787 | </dl> | ||
1788 | |||
1789 | </div> | ||
1790 | </div><p> | ||
1791 | <a class="anchor" name="g49e664ee9a8bd7bfe5e6932bf936bb8f"></a><!-- doxytag: member="objects.h::dJointGroupDestroy" ref="g49e664ee9a8bd7bfe5e6932bf936bb8f" args="(dJointGroupID)" --> | ||
1792 | <div class="memitem"> | ||
1793 | <div class="memproto"> | ||
1794 | <table class="memname"> | ||
1795 | <tr> | ||
1796 | <td class="memname">ODE_API void dJointGroupDestroy </td> | ||
1797 | <td>(</td> | ||
1798 | <td class="paramtype">dJointGroupID </td> | ||
1799 | <td class="paramname"> </td> | ||
1800 | <td> ) </td> | ||
1801 | <td width="100%"></td> | ||
1802 | </tr> | ||
1803 | </table> | ||
1804 | </div> | ||
1805 | <div class="memdoc"> | ||
1806 | |||
1807 | <p> | ||
1808 | Destroy a joint group. | ||
1809 | <p> | ||
1810 | All joints in the joint group will be destroyed. | ||
1811 | </div> | ||
1812 | </div><p> | ||
1813 | <a class="anchor" name="g6e055bac8a0a3261bda3b6d07499c4ea"></a><!-- doxytag: member="objects.h::dJointGroupEmpty" ref="g6e055bac8a0a3261bda3b6d07499c4ea" args="(dJointGroupID)" --> | ||
1814 | <div class="memitem"> | ||
1815 | <div class="memproto"> | ||
1816 | <table class="memname"> | ||
1817 | <tr> | ||
1818 | <td class="memname">ODE_API void dJointGroupEmpty </td> | ||
1819 | <td>(</td> | ||
1820 | <td class="paramtype">dJointGroupID </td> | ||
1821 | <td class="paramname"> </td> | ||
1822 | <td> ) </td> | ||
1823 | <td width="100%"></td> | ||
1824 | </tr> | ||
1825 | </table> | ||
1826 | </div> | ||
1827 | <div class="memdoc"> | ||
1828 | |||
1829 | <p> | ||
1830 | Empty a joint group. | ||
1831 | <p> | ||
1832 | All joints in the joint group will be destroyed, but the joint group itself will not be destroyed. | ||
1833 | </div> | ||
1834 | </div><p> | ||
1835 | <a class="anchor" name="g17b2089e6512e22d71340befb40100d2"></a><!-- doxytag: member="objects.h::dJointSetAMotorAngle" ref="g17b2089e6512e22d71340befb40100d2" args="(dJointID, int anum, dReal angle)" --> | ||
1836 | <div class="memitem"> | ||
1837 | <div class="memproto"> | ||
1838 | <table class="memname"> | ||
1839 | <tr> | ||
1840 | <td class="memname">ODE_API void dJointSetAMotorAngle </td> | ||
1841 | <td>(</td> | ||
1842 | <td class="paramtype">dJointID </td> | ||
1843 | <td class="paramname">, </td> | ||
1844 | </tr> | ||
1845 | <tr> | ||
1846 | <td class="paramkey"></td> | ||
1847 | <td></td> | ||
1848 | <td class="paramtype">int </td> | ||
1849 | <td class="paramname"> <em>anum</em>, </td> | ||
1850 | </tr> | ||
1851 | <tr> | ||
1852 | <td class="paramkey"></td> | ||
1853 | <td></td> | ||
1854 | <td class="paramtype">dReal </td> | ||
1855 | <td class="paramname"> <em>angle</em></td><td> </td> | ||
1856 | </tr> | ||
1857 | <tr> | ||
1858 | <td></td> | ||
1859 | <td>)</td> | ||
1860 | <td></td><td></td><td width="100%"></td> | ||
1861 | </tr> | ||
1862 | </table> | ||
1863 | </div> | ||
1864 | <div class="memdoc"> | ||
1865 | |||
1866 | <p> | ||
1867 | Tell the AMotor what the current angle is along axis anum. | ||
1868 | <p> | ||
1869 | This function should only be called in dAMotorUser mode, because in this mode the AMotor has no other way of knowing the joint angles. The angle information is needed if stops have been set along the axis, but it is not needed for axis motors. | ||
1870 | </div> | ||
1871 | </div><p> | ||
1872 | <a class="anchor" name="g1406f976045a1b7edffbb46bf626d04f"></a><!-- doxytag: member="objects.h::dJointSetAMotorNumAxes" ref="g1406f976045a1b7edffbb46bf626d04f" args="(dJointID, int num)" --> | ||
1873 | <div class="memitem"> | ||
1874 | <div class="memproto"> | ||
1875 | <table class="memname"> | ||
1876 | <tr> | ||
1877 | <td class="memname">ODE_API void dJointSetAMotorNumAxes </td> | ||
1878 | <td>(</td> | ||
1879 | <td class="paramtype">dJointID </td> | ||
1880 | <td class="paramname">, </td> | ||
1881 | </tr> | ||
1882 | <tr> | ||
1883 | <td class="paramkey"></td> | ||
1884 | <td></td> | ||
1885 | <td class="paramtype">int </td> | ||
1886 | <td class="paramname"> <em>num</em></td><td> </td> | ||
1887 | </tr> | ||
1888 | <tr> | ||
1889 | <td></td> | ||
1890 | <td>)</td> | ||
1891 | <td></td><td></td><td width="100%"></td> | ||
1892 | </tr> | ||
1893 | </table> | ||
1894 | </div> | ||
1895 | <div class="memdoc"> | ||
1896 | |||
1897 | <p> | ||
1898 | set the nr of axes | ||
1899 | <p> | ||
1900 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
1901 | <table border="0" cellspacing="2" cellpadding="0"> | ||
1902 | <tr><td valign="top"></td><td valign="top"><em>num</em> </td><td>0..3 </td></tr> | ||
1903 | </table> | ||
1904 | </dl> | ||
1905 | |||
1906 | </div> | ||
1907 | </div><p> | ||
1908 | <a class="anchor" name="g058c33a3da1ff935a1125034f779dc4a"></a><!-- doxytag: member="objects.h::dJointSetBallAnchor" ref="g058c33a3da1ff935a1125034f779dc4a" args="(dJointID, dReal x, dReal y, dReal z)" --> | ||
1909 | <div class="memitem"> | ||
1910 | <div class="memproto"> | ||
1911 | <table class="memname"> | ||
1912 | <tr> | ||
1913 | <td class="memname">ODE_API void dJointSetBallAnchor </td> | ||
1914 | <td>(</td> | ||
1915 | <td class="paramtype">dJointID </td> | ||
1916 | <td class="paramname">, </td> | ||
1917 | </tr> | ||
1918 | <tr> | ||
1919 | <td class="paramkey"></td> | ||
1920 | <td></td> | ||
1921 | <td class="paramtype">dReal </td> | ||
1922 | <td class="paramname"> <em>x</em>, </td> | ||
1923 | </tr> | ||
1924 | <tr> | ||
1925 | <td class="paramkey"></td> | ||
1926 | <td></td> | ||
1927 | <td class="paramtype">dReal </td> | ||
1928 | <td class="paramname"> <em>y</em>, </td> | ||
1929 | </tr> | ||
1930 | <tr> | ||
1931 | <td class="paramkey"></td> | ||
1932 | <td></td> | ||
1933 | <td class="paramtype">dReal </td> | ||
1934 | <td class="paramname"> <em>z</em></td><td> </td> | ||
1935 | </tr> | ||
1936 | <tr> | ||
1937 | <td></td> | ||
1938 | <td>)</td> | ||
1939 | <td></td><td></td><td width="100%"></td> | ||
1940 | </tr> | ||
1941 | </table> | ||
1942 | </div> | ||
1943 | <div class="memdoc"> | ||
1944 | |||
1945 | <p> | ||
1946 | Set the joint anchor point. | ||
1947 | <p> | ||
1948 | The joint will try to keep this point on each body together. The input is specified in world coordinates. | ||
1949 | </div> | ||
1950 | </div><p> | ||
1951 | <a class="anchor" name="g87ddb9beb95e9383a4280cb8a4186f01"></a><!-- doxytag: member="objects.h::dJointSetFeedback" ref="g87ddb9beb95e9383a4280cb8a4186f01" args="(dJointID, dJointFeedback *)" --> | ||
1952 | <div class="memitem"> | ||
1953 | <div class="memproto"> | ||
1954 | <table class="memname"> | ||
1955 | <tr> | ||
1956 | <td class="memname">ODE_API void dJointSetFeedback </td> | ||
1957 | <td>(</td> | ||
1958 | <td class="paramtype">dJointID </td> | ||
1959 | <td class="paramname">, </td> | ||
1960 | </tr> | ||
1961 | <tr> | ||
1962 | <td class="paramkey"></td> | ||
1963 | <td></td> | ||
1964 | <td class="paramtype">dJointFeedback * </td> | ||
1965 | <td class="paramname"></td><td> </td> | ||
1966 | </tr> | ||
1967 | <tr> | ||
1968 | <td></td> | ||
1969 | <td>)</td> | ||
1970 | <td></td><td></td><td width="100%"></td> | ||
1971 | </tr> | ||
1972 | </table> | ||
1973 | </div> | ||
1974 | <div class="memdoc"> | ||
1975 | |||
1976 | <p> | ||
1977 | Sets the datastructure that is to receive the feedback. | ||
1978 | <p> | ||
1979 | The feedback can be used by the user, so that it is known how much force an individual joint exerts. | ||
1980 | </div> | ||
1981 | </div><p> | ||
1982 | <a class="anchor" name="g080b7739f5b2b37a798742cee0ef38a4"></a><!-- doxytag: member="objects.h::dJointSetLMotorAxis" ref="g080b7739f5b2b37a798742cee0ef38a4" args="(dJointID, int anum, int rel, dReal x, dReal y, dReal z)" --> | ||
1983 | <div class="memitem"> | ||
1984 | <div class="memproto"> | ||
1985 | <table class="memname"> | ||
1986 | <tr> | ||
1987 | <td class="memname">ODE_API void dJointSetLMotorAxis </td> | ||
1988 | <td>(</td> | ||
1989 | <td class="paramtype">dJointID </td> | ||
1990 | <td class="paramname">, </td> | ||
1991 | </tr> | ||
1992 | <tr> | ||
1993 | <td class="paramkey"></td> | ||
1994 | <td></td> | ||
1995 | <td class="paramtype">int </td> | ||
1996 | <td class="paramname"> <em>anum</em>, </td> | ||
1997 | </tr> | ||
1998 | <tr> | ||
1999 | <td class="paramkey"></td> | ||
2000 | <td></td> | ||
2001 | <td class="paramtype">int </td> | ||
2002 | <td class="paramname"> <em>rel</em>, </td> | ||
2003 | </tr> | ||
2004 | <tr> | ||
2005 | <td class="paramkey"></td> | ||
2006 | <td></td> | ||
2007 | <td class="paramtype">dReal </td> | ||
2008 | <td class="paramname"> <em>x</em>, </td> | ||
2009 | </tr> | ||
2010 | <tr> | ||
2011 | <td class="paramkey"></td> | ||
2012 | <td></td> | ||
2013 | <td class="paramtype">dReal </td> | ||
2014 | <td class="paramname"> <em>y</em>, </td> | ||
2015 | </tr> | ||
2016 | <tr> | ||
2017 | <td class="paramkey"></td> | ||
2018 | <td></td> | ||
2019 | <td class="paramtype">dReal </td> | ||
2020 | <td class="paramname"> <em>z</em></td><td> </td> | ||
2021 | </tr> | ||
2022 | <tr> | ||
2023 | <td></td> | ||
2024 | <td>)</td> | ||
2025 | <td></td><td></td><td width="100%"></td> | ||
2026 | </tr> | ||
2027 | </table> | ||
2028 | </div> | ||
2029 | <div class="memdoc"> | ||
2030 | |||
2031 | <p> | ||
2032 | Set the AMotor axes. | ||
2033 | <p> | ||
2034 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
2035 | <table border="0" cellspacing="2" cellpadding="0"> | ||
2036 | <tr><td valign="top"></td><td valign="top"><em>anum</em> </td><td>selects the axis to change (0,1 or 2). </td></tr> | ||
2037 | <tr><td valign="top"></td><td valign="top"><em>rel</em> </td><td>Each axis can have one of three ``relative orientation'' modes <ul> | ||
2038 | <li>0: The axis is anchored to the global frame. </li> | ||
2039 | <li>1: The axis is anchored to the first body. </li> | ||
2040 | <li>2: The axis is anchored to the second body. </li> | ||
2041 | </ul> | ||
2042 | </td></tr> | ||
2043 | </table> | ||
2044 | </dl> | ||
2045 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The axis vector is always specified in global coordinates regardless of the setting of rel. </dd></dl> | ||
2046 | |||
2047 | </div> | ||
2048 | </div><p> | ||
2049 | <a class="anchor" name="gcbfb4014567d69010aba3024d9b7bccd"></a><!-- doxytag: member="objects.h::dJointSetLMotorNumAxes" ref="gcbfb4014567d69010aba3024d9b7bccd" args="(dJointID, int num)" --> | ||
2050 | <div class="memitem"> | ||
2051 | <div class="memproto"> | ||
2052 | <table class="memname"> | ||
2053 | <tr> | ||
2054 | <td class="memname">ODE_API void dJointSetLMotorNumAxes </td> | ||
2055 | <td>(</td> | ||
2056 | <td class="paramtype">dJointID </td> | ||
2057 | <td class="paramname">, </td> | ||
2058 | </tr> | ||
2059 | <tr> | ||
2060 | <td class="paramkey"></td> | ||
2061 | <td></td> | ||
2062 | <td class="paramtype">int </td> | ||
2063 | <td class="paramname"> <em>num</em></td><td> </td> | ||
2064 | </tr> | ||
2065 | <tr> | ||
2066 | <td></td> | ||
2067 | <td>)</td> | ||
2068 | <td></td><td></td><td width="100%"></td> | ||
2069 | </tr> | ||
2070 | </table> | ||
2071 | </div> | ||
2072 | <div class="memdoc"> | ||
2073 | |||
2074 | <p> | ||
2075 | Set the number of axes that will be controlled by the LMotor. | ||
2076 | <p> | ||
2077 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
2078 | <table border="0" cellspacing="2" cellpadding="0"> | ||
2079 | <tr><td valign="top"></td><td valign="top"><em>num</em> </td><td>can range from 0 (which effectively deactivates the joint) to 3. </td></tr> | ||
2080 | </table> | ||
2081 | </dl> | ||
2082 | |||
2083 | </div> | ||
2084 | </div><p> | ||
2085 | <a class="anchor" name="gc08a28659605f17307d563f45db0824b"></a><!-- doxytag: member="objects.h::dJointSetPRParam" ref="gc08a28659605f17307d563f45db0824b" args="(dJointID, int parameter, dReal value)" --> | ||
2086 | <div class="memitem"> | ||
2087 | <div class="memproto"> | ||
2088 | <table class="memname"> | ||
2089 | <tr> | ||
2090 | <td class="memname">ODE_API void dJointSetPRParam </td> | ||
2091 | <td>(</td> | ||
2092 | <td class="paramtype">dJointID </td> | ||
2093 | <td class="paramname">, </td> | ||
2094 | </tr> | ||
2095 | <tr> | ||
2096 | <td class="paramkey"></td> | ||
2097 | <td></td> | ||
2098 | <td class="paramtype">int </td> | ||
2099 | <td class="paramname"> <em>parameter</em>, </td> | ||
2100 | </tr> | ||
2101 | <tr> | ||
2102 | <td class="paramkey"></td> | ||
2103 | <td></td> | ||
2104 | <td class="paramtype">dReal </td> | ||
2105 | <td class="paramname"> <em>value</em></td><td> </td> | ||
2106 | </tr> | ||
2107 | <tr> | ||
2108 | <td></td> | ||
2109 | <td>)</td> | ||
2110 | <td></td><td></td><td width="100%"></td> | ||
2111 | </tr> | ||
2112 | </table> | ||
2113 | </div> | ||
2114 | <div class="memdoc"> | ||
2115 | |||
2116 | <p> | ||
2117 | set joint parameter | ||
2118 | <p> | ||
2119 | <dl class="note" compact><dt><b>Note:</b></dt><dd>parameterX where X equal 2 refer to parameter for the rotoide articulation </dd></dl> | ||
2120 | |||
2121 | </div> | ||
2122 | </div><p> | ||
2123 | <hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
2124 | <a href="http://www.doxygen.org/index.html"> | ||
2125 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
2126 | </body> | ||
2127 | </html> | ||
diff --git a/libraries/ode-0.9/docs/group__world.html b/libraries/ode-0.9/docs/group__world.html new file mode 100644 index 0000000..9b48f47 --- /dev/null +++ b/libraries/ode-0.9/docs/group__world.html | |||
@@ -0,0 +1,697 @@ | |||
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: World</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>World</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 dWorldID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__world.html#g929067266d630fb745f752042d685fc7">dWorldCreate</a> (void)</td></tr> | ||
20 | |||
21 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new, empty world and return its ID number. <a href="#g929067266d630fb745f752042d685fc7"></a><br></td></tr> | ||
22 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__world.html#g5a2e5b1d2d6a1376dca239b488e629f9">dWorldDestroy</a> (dWorldID world)</td></tr> | ||
23 | |||
24 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy a world and everything in it. <a href="#g5a2e5b1d2d6a1376dca239b488e629f9"></a><br></td></tr> | ||
25 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__world.html#ga1b220b922215b335572c699cf8f8cad">dWorldSetGravity</a> (dWorldID, dReal x, dReal y, dReal z)</td></tr> | ||
26 | |||
27 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the world's global gravity vector. <a href="#ga1b220b922215b335572c699cf8f8cad"></a><br></td></tr> | ||
28 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ge1a29b6a91cc1910a982c916ae4dee4a"></a><!-- doxytag: member="world::dWorldGetGravity" ref="ge1a29b6a91cc1910a982c916ae4dee4a" args="(dWorldID, dVector3 gravity)" --> | ||
29 | ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__world.html#ge1a29b6a91cc1910a982c916ae4dee4a">dWorldGetGravity</a> (dWorldID, dVector3 gravity)</td></tr> | ||
30 | |||
31 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the gravity vector for a given world. <br></td></tr> | ||
32 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__world.html#gacd0778bdaa939d22f093fc2d5d5f868">dWorldSetERP</a> (dWorldID, dReal erp)</td></tr> | ||
33 | |||
34 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the global ERP value, that controls how much error correction is performed in each time step. <a href="#gacd0778bdaa939d22f093fc2d5d5f868"></a><br></td></tr> | ||
35 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__world.html#g033cd87a0b22889a94d4d84149bda5a0">dWorldGetERP</a> (dWorldID)</td></tr> | ||
36 | |||
37 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the error reduction parameter. <a href="#g033cd87a0b22889a94d4d84149bda5a0"></a><br></td></tr> | ||
38 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__world.html#g8b7913fe46d0afc468418c655da79233">dWorldSetCFM</a> (dWorldID, dReal cfm)</td></tr> | ||
39 | |||
40 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the global CFM (constraint force mixing) value. <a href="#g8b7913fe46d0afc468418c655da79233"></a><br></td></tr> | ||
41 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__world.html#gc7a431f2b3fc6f887fe91ad676828ba3">dWorldGetCFM</a> (dWorldID)</td></tr> | ||
42 | |||
43 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the constraint force mixing value. <a href="#gc7a431f2b3fc6f887fe91ad676828ba3"></a><br></td></tr> | ||
44 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__world.html#g8f547ebeb3deed27e0f7b8143d475f50">dWorldStep</a> (dWorldID, dReal stepsize)</td></tr> | ||
45 | |||
46 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Step the world. <a href="#g8f547ebeb3deed27e0f7b8143d475f50"></a><br></td></tr> | ||
47 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__world.html#ga9c564b4dd7d8fa4c6f4b32dd95fc33a">dWorldImpulseToForce</a> (dWorldID, dReal stepsize, dReal ix, dReal iy, dReal iz, dVector3 force)</td></tr> | ||
48 | |||
49 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Converts an impulse to a force. <a href="#ga9c564b4dd7d8fa4c6f4b32dd95fc33a"></a><br></td></tr> | ||
50 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__world.html#gc24fadc1d42b65ca3563e40bc1f0fec1">dWorldQuickStep</a> (dWorldID w, dReal stepsize)</td></tr> | ||
51 | |||
52 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Step the world. <a href="#gc24fadc1d42b65ca3563e40bc1f0fec1"></a><br></td></tr> | ||
53 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__world.html#g9d852689d87d28a3d4947eda59c5ba7e">dWorldSetQuickStepNumIterations</a> (dWorldID, int num)</td></tr> | ||
54 | |||
55 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the number of iterations that the QuickStep method performs per step. <a href="#g9d852689d87d28a3d4947eda59c5ba7e"></a><br></td></tr> | ||
56 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__world.html#ga51acfac06347fd27ff926d37672ce3c">dWorldGetQuickStepNumIterations</a> (dWorldID)</td></tr> | ||
57 | |||
58 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the number of iterations that the QuickStep method performs per step. <a href="#ga51acfac06347fd27ff926d37672ce3c"></a><br></td></tr> | ||
59 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__world.html#gf741ee61e3f9981ae102729f23aad535">dWorldSetQuickStepW</a> (dWorldID, dReal over_relaxation)</td></tr> | ||
60 | |||
61 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the SOR over-relaxation parameter. <a href="#gf741ee61e3f9981ae102729f23aad535"></a><br></td></tr> | ||
62 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__world.html#ga7fef06f7a8293f21778939dfea36951">dWorldGetQuickStepW</a> (dWorldID)</td></tr> | ||
63 | |||
64 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the SOR over-relaxation parameter. <a href="#ga7fef06f7a8293f21778939dfea36951"></a><br></td></tr> | ||
65 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__world.html#g2cec4be3f40d49c5950ceac1a28440d8">dWorldSetContactMaxCorrectingVel</a> (dWorldID, dReal vel)</td></tr> | ||
66 | |||
67 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the maximum correcting velocity that contacts are allowed to generate. <a href="#g2cec4be3f40d49c5950ceac1a28440d8"></a><br></td></tr> | ||
68 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7673e6d0db3ddb319642caea7d14959d"></a><!-- doxytag: member="world::dWorldGetContactMaxCorrectingVel" ref="g7673e6d0db3ddb319642caea7d14959d" args="(dWorldID)" --> | ||
69 | ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__world.html#g7673e6d0db3ddb319642caea7d14959d">dWorldGetContactMaxCorrectingVel</a> (dWorldID)</td></tr> | ||
70 | |||
71 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the maximum correcting velocity that contacts are allowed to generated. <br></td></tr> | ||
72 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__world.html#g8f6f964bc15b6cf0937d3214f6e3a1f1">dWorldSetContactSurfaceLayer</a> (dWorldID, dReal depth)</td></tr> | ||
73 | |||
74 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the depth of the surface layer around all geometry objects. <a href="#g8f6f964bc15b6cf0937d3214f6e3a1f1"></a><br></td></tr> | ||
75 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="group__world.html#g97e1c98f55d9b56d00e7838900ad5e58">dWorldGetContactSurfaceLayer</a> (dWorldID)</td></tr> | ||
76 | |||
77 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the depth of the surface layer around all geometry objects. <a href="#g97e1c98f55d9b56d00e7838900ad5e58"></a><br></td></tr> | ||
78 | <tr><td class="memItemLeft" nowrap align="right" valign="top">ODE_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__world.html#gefa68c714bb3c8f70503f101ea062c03">dWorldStepFast1</a> (dWorldID, dReal stepsize, int maxiterations)</td></tr> | ||
79 | |||
80 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Step the world using the StepFast1 algorithm. <a href="#gefa68c714bb3c8f70503f101ea062c03"></a><br></td></tr> | ||
81 | </table> | ||
82 | <hr><a name="_details"></a><h2>Detailed Description</h2> | ||
83 | The world object is a container for rigid bodies and joints. Objects in different worlds can not interact, for example rigid bodies from two different worlds can not collide.<p> | ||
84 | All the objects in a world exist at the same point in time, thus one reason to use separate worlds is to simulate systems at different rates. Most applications will only need one world. <hr><h2>Function Documentation</h2> | ||
85 | <a class="anchor" name="g929067266d630fb745f752042d685fc7"></a><!-- doxytag: member="objects.h::dWorldCreate" ref="g929067266d630fb745f752042d685fc7" args="(void)" --> | ||
86 | <div class="memitem"> | ||
87 | <div class="memproto"> | ||
88 | <table class="memname"> | ||
89 | <tr> | ||
90 | <td class="memname">ODE_API dWorldID dWorldCreate </td> | ||
91 | <td>(</td> | ||
92 | <td class="paramtype">void </td> | ||
93 | <td class="paramname"> </td> | ||
94 | <td> ) </td> | ||
95 | <td width="100%"></td> | ||
96 | </tr> | ||
97 | </table> | ||
98 | </div> | ||
99 | <div class="memdoc"> | ||
100 | |||
101 | <p> | ||
102 | Create a new, empty world and return its ID number. | ||
103 | <p> | ||
104 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>an identifier </dd></dl> | ||
105 | |||
106 | </div> | ||
107 | </div><p> | ||
108 | <a class="anchor" name="g5a2e5b1d2d6a1376dca239b488e629f9"></a><!-- doxytag: member="objects.h::dWorldDestroy" ref="g5a2e5b1d2d6a1376dca239b488e629f9" args="(dWorldID world)" --> | ||
109 | <div class="memitem"> | ||
110 | <div class="memproto"> | ||
111 | <table class="memname"> | ||
112 | <tr> | ||
113 | <td class="memname">ODE_API void dWorldDestroy </td> | ||
114 | <td>(</td> | ||
115 | <td class="paramtype">dWorldID </td> | ||
116 | <td class="paramname"> <em>world</em> </td> | ||
117 | <td> ) </td> | ||
118 | <td width="100%"></td> | ||
119 | </tr> | ||
120 | </table> | ||
121 | </div> | ||
122 | <div class="memdoc"> | ||
123 | |||
124 | <p> | ||
125 | Destroy a world and everything in it. | ||
126 | <p> | ||
127 | This includes all bodies, and all joints that are not part of a joint group. Joints that are part of a joint group will be deactivated, and can be destroyed by calling, for example, <a class="el" href="group__joints.html#g6e055bac8a0a3261bda3b6d07499c4ea" title="Empty a joint group.">dJointGroupEmpty()</a>.<p> | ||
128 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
129 | <table border="0" cellspacing="2" cellpadding="0"> | ||
130 | <tr><td valign="top"></td><td valign="top"><em>world</em> </td><td>the identifier for the world the be destroyed. </td></tr> | ||
131 | </table> | ||
132 | </dl> | ||
133 | |||
134 | </div> | ||
135 | </div><p> | ||
136 | <a class="anchor" name="gc7a431f2b3fc6f887fe91ad676828ba3"></a><!-- doxytag: member="objects.h::dWorldGetCFM" ref="gc7a431f2b3fc6f887fe91ad676828ba3" args="(dWorldID)" --> | ||
137 | <div class="memitem"> | ||
138 | <div class="memproto"> | ||
139 | <table class="memname"> | ||
140 | <tr> | ||
141 | <td class="memname">ODE_API dReal dWorldGetCFM </td> | ||
142 | <td>(</td> | ||
143 | <td class="paramtype">dWorldID </td> | ||
144 | <td class="paramname"> </td> | ||
145 | <td> ) </td> | ||
146 | <td width="100%"></td> | ||
147 | </tr> | ||
148 | </table> | ||
149 | </div> | ||
150 | <div class="memdoc"> | ||
151 | |||
152 | <p> | ||
153 | Get the constraint force mixing value. | ||
154 | <p> | ||
155 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>CFM value </dd></dl> | ||
156 | |||
157 | </div> | ||
158 | </div><p> | ||
159 | <a class="anchor" name="g97e1c98f55d9b56d00e7838900ad5e58"></a><!-- doxytag: member="objects.h::dWorldGetContactSurfaceLayer" ref="g97e1c98f55d9b56d00e7838900ad5e58" args="(dWorldID)" --> | ||
160 | <div class="memitem"> | ||
161 | <div class="memproto"> | ||
162 | <table class="memname"> | ||
163 | <tr> | ||
164 | <td class="memname">ODE_API dReal dWorldGetContactSurfaceLayer </td> | ||
165 | <td>(</td> | ||
166 | <td class="paramtype">dWorldID </td> | ||
167 | <td class="paramname"> </td> | ||
168 | <td> ) </td> | ||
169 | <td width="100%"></td> | ||
170 | </tr> | ||
171 | </table> | ||
172 | </div> | ||
173 | <div class="memdoc"> | ||
174 | |||
175 | <p> | ||
176 | Get the depth of the surface layer around all geometry objects. | ||
177 | <p> | ||
178 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>the depth </dd></dl> | ||
179 | |||
180 | </div> | ||
181 | </div><p> | ||
182 | <a class="anchor" name="g033cd87a0b22889a94d4d84149bda5a0"></a><!-- doxytag: member="objects.h::dWorldGetERP" ref="g033cd87a0b22889a94d4d84149bda5a0" args="(dWorldID)" --> | ||
183 | <div class="memitem"> | ||
184 | <div class="memproto"> | ||
185 | <table class="memname"> | ||
186 | <tr> | ||
187 | <td class="memname">ODE_API dReal dWorldGetERP </td> | ||
188 | <td>(</td> | ||
189 | <td class="paramtype">dWorldID </td> | ||
190 | <td class="paramname"> </td> | ||
191 | <td> ) </td> | ||
192 | <td width="100%"></td> | ||
193 | </tr> | ||
194 | </table> | ||
195 | </div> | ||
196 | <div class="memdoc"> | ||
197 | |||
198 | <p> | ||
199 | Get the error reduction parameter. | ||
200 | <p> | ||
201 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>ERP value </dd></dl> | ||
202 | |||
203 | </div> | ||
204 | </div><p> | ||
205 | <a class="anchor" name="ga51acfac06347fd27ff926d37672ce3c"></a><!-- doxytag: member="objects.h::dWorldGetQuickStepNumIterations" ref="ga51acfac06347fd27ff926d37672ce3c" args="(dWorldID)" --> | ||
206 | <div class="memitem"> | ||
207 | <div class="memproto"> | ||
208 | <table class="memname"> | ||
209 | <tr> | ||
210 | <td class="memname">ODE_API int dWorldGetQuickStepNumIterations </td> | ||
211 | <td>(</td> | ||
212 | <td class="paramtype">dWorldID </td> | ||
213 | <td class="paramname"> </td> | ||
214 | <td> ) </td> | ||
215 | <td width="100%"></td> | ||
216 | </tr> | ||
217 | </table> | ||
218 | </div> | ||
219 | <div class="memdoc"> | ||
220 | |||
221 | <p> | ||
222 | Get the number of iterations that the QuickStep method performs per step. | ||
223 | <p> | ||
224 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>nr of iterations </dd></dl> | ||
225 | |||
226 | </div> | ||
227 | </div><p> | ||
228 | <a class="anchor" name="ga7fef06f7a8293f21778939dfea36951"></a><!-- doxytag: member="objects.h::dWorldGetQuickStepW" ref="ga7fef06f7a8293f21778939dfea36951" args="(dWorldID)" --> | ||
229 | <div class="memitem"> | ||
230 | <div class="memproto"> | ||
231 | <table class="memname"> | ||
232 | <tr> | ||
233 | <td class="memname">ODE_API dReal dWorldGetQuickStepW </td> | ||
234 | <td>(</td> | ||
235 | <td class="paramtype">dWorldID </td> | ||
236 | <td class="paramname"> </td> | ||
237 | <td> ) </td> | ||
238 | <td width="100%"></td> | ||
239 | </tr> | ||
240 | </table> | ||
241 | </div> | ||
242 | <div class="memdoc"> | ||
243 | |||
244 | <p> | ||
245 | Get the SOR over-relaxation parameter. | ||
246 | <p> | ||
247 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>the over-relaxation setting </dd></dl> | ||
248 | |||
249 | </div> | ||
250 | </div><p> | ||
251 | <a class="anchor" name="ga9c564b4dd7d8fa4c6f4b32dd95fc33a"></a><!-- doxytag: member="objects.h::dWorldImpulseToForce" ref="ga9c564b4dd7d8fa4c6f4b32dd95fc33a" args="(dWorldID, dReal stepsize, dReal ix, dReal iy, dReal iz, dVector3 force)" --> | ||
252 | <div class="memitem"> | ||
253 | <div class="memproto"> | ||
254 | <table class="memname"> | ||
255 | <tr> | ||
256 | <td class="memname">ODE_API void dWorldImpulseToForce </td> | ||
257 | <td>(</td> | ||
258 | <td class="paramtype">dWorldID </td> | ||
259 | <td class="paramname">, </td> | ||
260 | </tr> | ||
261 | <tr> | ||
262 | <td class="paramkey"></td> | ||
263 | <td></td> | ||
264 | <td class="paramtype">dReal </td> | ||
265 | <td class="paramname"> <em>stepsize</em>, </td> | ||
266 | </tr> | ||
267 | <tr> | ||
268 | <td class="paramkey"></td> | ||
269 | <td></td> | ||
270 | <td class="paramtype">dReal </td> | ||
271 | <td class="paramname"> <em>ix</em>, </td> | ||
272 | </tr> | ||
273 | <tr> | ||
274 | <td class="paramkey"></td> | ||
275 | <td></td> | ||
276 | <td class="paramtype">dReal </td> | ||
277 | <td class="paramname"> <em>iy</em>, </td> | ||
278 | </tr> | ||
279 | <tr> | ||
280 | <td class="paramkey"></td> | ||
281 | <td></td> | ||
282 | <td class="paramtype">dReal </td> | ||
283 | <td class="paramname"> <em>iz</em>, </td> | ||
284 | </tr> | ||
285 | <tr> | ||
286 | <td class="paramkey"></td> | ||
287 | <td></td> | ||
288 | <td class="paramtype">dVector3 </td> | ||
289 | <td class="paramname"> <em>force</em></td><td> </td> | ||
290 | </tr> | ||
291 | <tr> | ||
292 | <td></td> | ||
293 | <td>)</td> | ||
294 | <td></td><td></td><td width="100%"></td> | ||
295 | </tr> | ||
296 | </table> | ||
297 | </div> | ||
298 | <div class="memdoc"> | ||
299 | |||
300 | <p> | ||
301 | Converts an impulse to a force. | ||
302 | <p> | ||
303 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>If you want to apply a linear or angular impulse to a rigid body, instead of a force or a torque, then you can use this function to convert the desired impulse into a force/torque vector before calling the BodyAdd... function. The current algorithm simply scales the impulse by 1/stepsize, where stepsize is the step size for the next step that will be taken. This function is given a dWorldID because, in the future, the force computation may depend on integrator parameters that are set as properties of the world. </dd></dl> | ||
304 | |||
305 | </div> | ||
306 | </div><p> | ||
307 | <a class="anchor" name="gc24fadc1d42b65ca3563e40bc1f0fec1"></a><!-- doxytag: member="objects.h::dWorldQuickStep" ref="gc24fadc1d42b65ca3563e40bc1f0fec1" args="(dWorldID w, dReal stepsize)" --> | ||
308 | <div class="memitem"> | ||
309 | <div class="memproto"> | ||
310 | <table class="memname"> | ||
311 | <tr> | ||
312 | <td class="memname">ODE_API void dWorldQuickStep </td> | ||
313 | <td>(</td> | ||
314 | <td class="paramtype">dWorldID </td> | ||
315 | <td class="paramname"> <em>w</em>, </td> | ||
316 | </tr> | ||
317 | <tr> | ||
318 | <td class="paramkey"></td> | ||
319 | <td></td> | ||
320 | <td class="paramtype">dReal </td> | ||
321 | <td class="paramname"> <em>stepsize</em></td><td> </td> | ||
322 | </tr> | ||
323 | <tr> | ||
324 | <td></td> | ||
325 | <td>)</td> | ||
326 | <td></td><td></td><td width="100%"></td> | ||
327 | </tr> | ||
328 | </table> | ||
329 | </div> | ||
330 | <div class="memdoc"> | ||
331 | |||
332 | <p> | ||
333 | Step the world. | ||
334 | <p> | ||
335 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This uses an iterative method that takes time on the order of m*N and memory on the order of m, where m is the total number of constraint rows N is the number of iterations. For large systems this is a lot faster than <a class="el" href="group__world.html#g8f547ebeb3deed27e0f7b8143d475f50" title="Step the world.">dWorldStep()</a>, but it is less accurate. <p> | ||
336 | QuickStep is great for stacks of objects especially when the auto-disable feature is used as well. However, it has poor accuracy for near-singular systems. Near-singular systems can occur when using high-friction contacts, motors, or certain articulated structures. For example, a robot with multiple legs sitting on the ground may be near-singular. <p> | ||
337 | There are ways to help overcome QuickStep's inaccuracy problems: <ul> | ||
338 | <li>Increase CFM. </li> | ||
339 | <li>Reduce the number of contacts in your system (e.g. use the minimum number of contacts for the feet of a robot or creature). </li> | ||
340 | <li>Don't use excessive friction in the contacts. </li> | ||
341 | <li>Use contact slip if appropriate </li> | ||
342 | <li>Avoid kinematic loops (however, kinematic loops are inevitable in legged creatures). </li> | ||
343 | <li>Don't use excessive motor strength. force-based motors instead of velocity-based motors.</li> | ||
344 | </ul> | ||
345 | Increasing the number of QuickStep iterations may help a little bit, but it is not going to help much if your system is really near singular. </dd></dl> | ||
346 | |||
347 | </div> | ||
348 | </div><p> | ||
349 | <a class="anchor" name="g8b7913fe46d0afc468418c655da79233"></a><!-- doxytag: member="objects.h::dWorldSetCFM" ref="g8b7913fe46d0afc468418c655da79233" args="(dWorldID, dReal cfm)" --> | ||
350 | <div class="memitem"> | ||
351 | <div class="memproto"> | ||
352 | <table class="memname"> | ||
353 | <tr> | ||
354 | <td class="memname">ODE_API void dWorldSetCFM </td> | ||
355 | <td>(</td> | ||
356 | <td class="paramtype">dWorldID </td> | ||
357 | <td class="paramname">, </td> | ||
358 | </tr> | ||
359 | <tr> | ||
360 | <td class="paramkey"></td> | ||
361 | <td></td> | ||
362 | <td class="paramtype">dReal </td> | ||
363 | <td class="paramname"> <em>cfm</em></td><td> </td> | ||
364 | </tr> | ||
365 | <tr> | ||
366 | <td></td> | ||
367 | <td>)</td> | ||
368 | <td></td><td></td><td width="100%"></td> | ||
369 | </tr> | ||
370 | </table> | ||
371 | </div> | ||
372 | <div class="memdoc"> | ||
373 | |||
374 | <p> | ||
375 | Set the global CFM (constraint force mixing) value. | ||
376 | <p> | ||
377 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
378 | <table border="0" cellspacing="2" cellpadding="0"> | ||
379 | <tr><td valign="top"></td><td valign="top"><em>cfm</em> </td><td>Typical values are in the range {10^{-9}} -- 1. The default is 10^-5 if single precision is being used, or 10^-10 if double precision is being used. </td></tr> | ||
380 | </table> | ||
381 | </dl> | ||
382 | |||
383 | </div> | ||
384 | </div><p> | ||
385 | <a class="anchor" name="g2cec4be3f40d49c5950ceac1a28440d8"></a><!-- doxytag: member="objects.h::dWorldSetContactMaxCorrectingVel" ref="g2cec4be3f40d49c5950ceac1a28440d8" args="(dWorldID, dReal vel)" --> | ||
386 | <div class="memitem"> | ||
387 | <div class="memproto"> | ||
388 | <table class="memname"> | ||
389 | <tr> | ||
390 | <td class="memname">ODE_API void dWorldSetContactMaxCorrectingVel </td> | ||
391 | <td>(</td> | ||
392 | <td class="paramtype">dWorldID </td> | ||
393 | <td class="paramname">, </td> | ||
394 | </tr> | ||
395 | <tr> | ||
396 | <td class="paramkey"></td> | ||
397 | <td></td> | ||
398 | <td class="paramtype">dReal </td> | ||
399 | <td class="paramname"> <em>vel</em></td><td> </td> | ||
400 | </tr> | ||
401 | <tr> | ||
402 | <td></td> | ||
403 | <td>)</td> | ||
404 | <td></td><td></td><td width="100%"></td> | ||
405 | </tr> | ||
406 | </table> | ||
407 | </div> | ||
408 | <div class="memdoc"> | ||
409 | |||
410 | <p> | ||
411 | Set the maximum correcting velocity that contacts are allowed to generate. | ||
412 | <p> | ||
413 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
414 | <table border="0" cellspacing="2" cellpadding="0"> | ||
415 | <tr><td valign="top"></td><td valign="top"><em>vel</em> </td><td>The default value is infinity (i.e. no limit). </td></tr> | ||
416 | </table> | ||
417 | </dl> | ||
418 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Reducing this value can help prevent "popping" of deeply embedded objects. </dd></dl> | ||
419 | |||
420 | </div> | ||
421 | </div><p> | ||
422 | <a class="anchor" name="g8f6f964bc15b6cf0937d3214f6e3a1f1"></a><!-- doxytag: member="objects.h::dWorldSetContactSurfaceLayer" ref="g8f6f964bc15b6cf0937d3214f6e3a1f1" args="(dWorldID, dReal depth)" --> | ||
423 | <div class="memitem"> | ||
424 | <div class="memproto"> | ||
425 | <table class="memname"> | ||
426 | <tr> | ||
427 | <td class="memname">ODE_API void dWorldSetContactSurfaceLayer </td> | ||
428 | <td>(</td> | ||
429 | <td class="paramtype">dWorldID </td> | ||
430 | <td class="paramname">, </td> | ||
431 | </tr> | ||
432 | <tr> | ||
433 | <td class="paramkey"></td> | ||
434 | <td></td> | ||
435 | <td class="paramtype">dReal </td> | ||
436 | <td class="paramname"> <em>depth</em></td><td> </td> | ||
437 | </tr> | ||
438 | <tr> | ||
439 | <td></td> | ||
440 | <td>)</td> | ||
441 | <td></td><td></td><td width="100%"></td> | ||
442 | </tr> | ||
443 | </table> | ||
444 | </div> | ||
445 | <div class="memdoc"> | ||
446 | |||
447 | <p> | ||
448 | Set the depth of the surface layer around all geometry objects. | ||
449 | <p> | ||
450 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Contacts are allowed to sink into the surface layer up to the given depth before coming to rest. </dd></dl> | ||
451 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
452 | <table border="0" cellspacing="2" cellpadding="0"> | ||
453 | <tr><td valign="top"></td><td valign="top"><em>depth</em> </td><td>The default value is zero. </td></tr> | ||
454 | </table> | ||
455 | </dl> | ||
456 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Increasing this to some small value (e.g. 0.001) can help prevent jittering problems due to contacts being repeatedly made and broken. </dd></dl> | ||
457 | |||
458 | </div> | ||
459 | </div><p> | ||
460 | <a class="anchor" name="gacd0778bdaa939d22f093fc2d5d5f868"></a><!-- doxytag: member="objects.h::dWorldSetERP" ref="gacd0778bdaa939d22f093fc2d5d5f868" args="(dWorldID, dReal erp)" --> | ||
461 | <div class="memitem"> | ||
462 | <div class="memproto"> | ||
463 | <table class="memname"> | ||
464 | <tr> | ||
465 | <td class="memname">ODE_API void dWorldSetERP </td> | ||
466 | <td>(</td> | ||
467 | <td class="paramtype">dWorldID </td> | ||
468 | <td class="paramname">, </td> | ||
469 | </tr> | ||
470 | <tr> | ||
471 | <td class="paramkey"></td> | ||
472 | <td></td> | ||
473 | <td class="paramtype">dReal </td> | ||
474 | <td class="paramname"> <em>erp</em></td><td> </td> | ||
475 | </tr> | ||
476 | <tr> | ||
477 | <td></td> | ||
478 | <td>)</td> | ||
479 | <td></td><td></td><td width="100%"></td> | ||
480 | </tr> | ||
481 | </table> | ||
482 | </div> | ||
483 | <div class="memdoc"> | ||
484 | |||
485 | <p> | ||
486 | Set the global ERP value, that controls how much error correction is performed in each time step. | ||
487 | <p> | ||
488 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
489 | <table border="0" cellspacing="2" cellpadding="0"> | ||
490 | <tr><td valign="top"></td><td valign="top"><em>dWorldID</em> </td><td>the identifier of the world. </td></tr> | ||
491 | <tr><td valign="top"></td><td valign="top"><em>erp</em> </td><td>Typical values are in the range 0.1--0.8. The default is 0.2. </td></tr> | ||
492 | </table> | ||
493 | </dl> | ||
494 | |||
495 | </div> | ||
496 | </div><p> | ||
497 | <a class="anchor" name="ga1b220b922215b335572c699cf8f8cad"></a><!-- doxytag: member="objects.h::dWorldSetGravity" ref="ga1b220b922215b335572c699cf8f8cad" args="(dWorldID, dReal x, dReal y, dReal z)" --> | ||
498 | <div class="memitem"> | ||
499 | <div class="memproto"> | ||
500 | <table class="memname"> | ||
501 | <tr> | ||
502 | <td class="memname">ODE_API void dWorldSetGravity </td> | ||
503 | <td>(</td> | ||
504 | <td class="paramtype">dWorldID </td> | ||
505 | <td class="paramname">, </td> | ||
506 | </tr> | ||
507 | <tr> | ||
508 | <td class="paramkey"></td> | ||
509 | <td></td> | ||
510 | <td class="paramtype">dReal </td> | ||
511 | <td class="paramname"> <em>x</em>, </td> | ||
512 | </tr> | ||
513 | <tr> | ||
514 | <td class="paramkey"></td> | ||
515 | <td></td> | ||
516 | <td class="paramtype">dReal </td> | ||
517 | <td class="paramname"> <em>y</em>, </td> | ||
518 | </tr> | ||
519 | <tr> | ||
520 | <td class="paramkey"></td> | ||
521 | <td></td> | ||
522 | <td class="paramtype">dReal </td> | ||
523 | <td class="paramname"> <em>z</em></td><td> </td> | ||
524 | </tr> | ||
525 | <tr> | ||
526 | <td></td> | ||
527 | <td>)</td> | ||
528 | <td></td><td></td><td width="100%"></td> | ||
529 | </tr> | ||
530 | </table> | ||
531 | </div> | ||
532 | <div class="memdoc"> | ||
533 | |||
534 | <p> | ||
535 | Set the world's global gravity vector. | ||
536 | <p> | ||
537 | The units are m/s^2, so Earth's gravity vector would be (0,0,-9.81), assuming that +z is up. The default is no gravity, i.e. (0,0,0). | ||
538 | </div> | ||
539 | </div><p> | ||
540 | <a class="anchor" name="g9d852689d87d28a3d4947eda59c5ba7e"></a><!-- doxytag: member="objects.h::dWorldSetQuickStepNumIterations" ref="g9d852689d87d28a3d4947eda59c5ba7e" args="(dWorldID, int num)" --> | ||
541 | <div class="memitem"> | ||
542 | <div class="memproto"> | ||
543 | <table class="memname"> | ||
544 | <tr> | ||
545 | <td class="memname">ODE_API void dWorldSetQuickStepNumIterations </td> | ||
546 | <td>(</td> | ||
547 | <td class="paramtype">dWorldID </td> | ||
548 | <td class="paramname">, </td> | ||
549 | </tr> | ||
550 | <tr> | ||
551 | <td class="paramkey"></td> | ||
552 | <td></td> | ||
553 | <td class="paramtype">int </td> | ||
554 | <td class="paramname"> <em>num</em></td><td> </td> | ||
555 | </tr> | ||
556 | <tr> | ||
557 | <td></td> | ||
558 | <td>)</td> | ||
559 | <td></td><td></td><td width="100%"></td> | ||
560 | </tr> | ||
561 | </table> | ||
562 | </div> | ||
563 | <div class="memdoc"> | ||
564 | |||
565 | <p> | ||
566 | Set the number of iterations that the QuickStep method performs per step. | ||
567 | <p> | ||
568 | <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>More iterations will give a more accurate solution, but will take longer to compute. </dd></dl> | ||
569 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
570 | <table border="0" cellspacing="2" cellpadding="0"> | ||
571 | <tr><td valign="top"></td><td valign="top"><em>num</em> </td><td>The default is 20 iterations. </td></tr> | ||
572 | </table> | ||
573 | </dl> | ||
574 | |||
575 | </div> | ||
576 | </div><p> | ||
577 | <a class="anchor" name="gf741ee61e3f9981ae102729f23aad535"></a><!-- doxytag: member="objects.h::dWorldSetQuickStepW" ref="gf741ee61e3f9981ae102729f23aad535" args="(dWorldID, dReal over_relaxation)" --> | ||
578 | <div class="memitem"> | ||
579 | <div class="memproto"> | ||
580 | <table class="memname"> | ||
581 | <tr> | ||
582 | <td class="memname">ODE_API void dWorldSetQuickStepW </td> | ||
583 | <td>(</td> | ||
584 | <td class="paramtype">dWorldID </td> | ||
585 | <td class="paramname">, </td> | ||
586 | </tr> | ||
587 | <tr> | ||
588 | <td class="paramkey"></td> | ||
589 | <td></td> | ||
590 | <td class="paramtype">dReal </td> | ||
591 | <td class="paramname"> <em>over_relaxation</em></td><td> </td> | ||
592 | </tr> | ||
593 | <tr> | ||
594 | <td></td> | ||
595 | <td>)</td> | ||
596 | <td></td><td></td><td width="100%"></td> | ||
597 | </tr> | ||
598 | </table> | ||
599 | </div> | ||
600 | <div class="memdoc"> | ||
601 | |||
602 | <p> | ||
603 | Set the SOR over-relaxation parameter. | ||
604 | <p> | ||
605 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
606 | <table border="0" cellspacing="2" cellpadding="0"> | ||
607 | <tr><td valign="top"></td><td valign="top"><em>over_relaxation</em> </td><td>value to use by SOR </td></tr> | ||
608 | </table> | ||
609 | </dl> | ||
610 | |||
611 | </div> | ||
612 | </div><p> | ||
613 | <a class="anchor" name="g8f547ebeb3deed27e0f7b8143d475f50"></a><!-- doxytag: member="objects.h::dWorldStep" ref="g8f547ebeb3deed27e0f7b8143d475f50" args="(dWorldID, dReal stepsize)" --> | ||
614 | <div class="memitem"> | ||
615 | <div class="memproto"> | ||
616 | <table class="memname"> | ||
617 | <tr> | ||
618 | <td class="memname">ODE_API void dWorldStep </td> | ||
619 | <td>(</td> | ||
620 | <td class="paramtype">dWorldID </td> | ||
621 | <td class="paramname">, </td> | ||
622 | </tr> | ||
623 | <tr> | ||
624 | <td class="paramkey"></td> | ||
625 | <td></td> | ||
626 | <td class="paramtype">dReal </td> | ||
627 | <td class="paramname"> <em>stepsize</em></td><td> </td> | ||
628 | </tr> | ||
629 | <tr> | ||
630 | <td></td> | ||
631 | <td>)</td> | ||
632 | <td></td><td></td><td width="100%"></td> | ||
633 | </tr> | ||
634 | </table> | ||
635 | </div> | ||
636 | <div class="memdoc"> | ||
637 | |||
638 | <p> | ||
639 | Step the world. | ||
640 | <p> | ||
641 | This uses a "big matrix" method that takes time on the order of m^3 and memory on the order of m^2, where m is the total number of constraint rows. For large systems this will use a lot of memory and can be very slow, but this is currently the most accurate method.<p> | ||
642 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
643 | <table border="0" cellspacing="2" cellpadding="0"> | ||
644 | <tr><td valign="top"></td><td valign="top"><em>stepsize</em> </td><td>The number of seconds that the simulation has to advance. </td></tr> | ||
645 | </table> | ||
646 | </dl> | ||
647 | |||
648 | </div> | ||
649 | </div><p> | ||
650 | <a class="anchor" name="gefa68c714bb3c8f70503f101ea062c03"></a><!-- doxytag: member="objects.h::dWorldStepFast1" ref="gefa68c714bb3c8f70503f101ea062c03" args="(dWorldID, dReal stepsize, int maxiterations)" --> | ||
651 | <div class="memitem"> | ||
652 | <div class="memproto"> | ||
653 | <table class="memname"> | ||
654 | <tr> | ||
655 | <td class="memname">ODE_API void dWorldStepFast1 </td> | ||
656 | <td>(</td> | ||
657 | <td class="paramtype">dWorldID </td> | ||
658 | <td class="paramname">, </td> | ||
659 | </tr> | ||
660 | <tr> | ||
661 | <td class="paramkey"></td> | ||
662 | <td></td> | ||
663 | <td class="paramtype">dReal </td> | ||
664 | <td class="paramname"> <em>stepsize</em>, </td> | ||
665 | </tr> | ||
666 | <tr> | ||
667 | <td class="paramkey"></td> | ||
668 | <td></td> | ||
669 | <td class="paramtype">int </td> | ||
670 | <td class="paramname"> <em>maxiterations</em></td><td> </td> | ||
671 | </tr> | ||
672 | <tr> | ||
673 | <td></td> | ||
674 | <td>)</td> | ||
675 | <td></td><td></td><td width="100%"></td> | ||
676 | </tr> | ||
677 | </table> | ||
678 | </div> | ||
679 | <div class="memdoc"> | ||
680 | |||
681 | <p> | ||
682 | Step the world using the StepFast1 algorithm. | ||
683 | <p> | ||
684 | <dl compact><dt><b>Parameters:</b></dt><dd> | ||
685 | <table border="0" cellspacing="2" cellpadding="0"> | ||
686 | <tr><td valign="top"></td><td valign="top"><em>stepsize</em> </td><td>the nr of seconds to advance the simulation. </td></tr> | ||
687 | <tr><td valign="top"></td><td valign="top"><em>maxiterations</em> </td><td>The number of iterations to perform. </td></tr> | ||
688 | </table> | ||
689 | </dl> | ||
690 | |||
691 | </div> | ||
692 | </div><p> | ||
693 | <hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
694 | <a href="http://www.doxygen.org/index.html"> | ||
695 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
696 | </body> | ||
697 | </html> | ||
diff --git a/libraries/ode-0.9/docs/index.html b/libraries/ode-0.9/docs/index.html new file mode 100644 index 0000000..a2112e7 --- /dev/null +++ b/libraries/ode-0.9/docs/index.html | |||
@@ -0,0 +1,27 @@ | |||
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: Open Dynamics Engine API Reference</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 class="current"><a href="index.html"><span>Main Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>Open Dynamics Engine API Reference</h1> | ||
17 | <p> | ||
18 | <center><em>This document is © Russell Smith and the ODE Project</em></center><p> | ||
19 | The Open Dynamics Engine (ODE) is a free, industrial quality library for simulating articulated rigid body dynamics. ODE is being developed by <a href="http://www.q12.org/">Russell Smith</a> with help from several <a href="http://ode.org/community.html">contributors</a>.<p> | ||
20 | This document describes the library API. For a more general introduction to ODE, please see the <a href="http://opende.sourceforge.net/wiki/index.php/Manual">Online Handbook</a>.<p> | ||
21 | <h2>Important: this document is not yet complete!</h2> | ||
22 | <p> | ||
23 | We are still working on getting the full API documentated. In the meantime, please refer to the <a href="http://opende.sourceforge.net/wiki/index.php/Manual">Online Handbook</a> <hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
24 | <a href="http://www.doxygen.org/index.html"> | ||
25 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
26 | </body> | ||
27 | </html> | ||
diff --git a/libraries/ode-0.9/docs/mass_8h-source.html b/libraries/ode-0.9/docs/mass_8h-source.html new file mode 100644 index 0000000..145605b --- /dev/null +++ b/libraries/ode-0.9/docs/mass_8h-source.html | |||
@@ -0,0 +1,137 @@ | |||
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: mass.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>mass.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00023"></a>00023 <span class="preprocessor">#ifndef _ODE_MASS_H_</span> | ||
39 | <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define _ODE_MASS_H_</span> | ||
40 | <a name="l00025"></a>00025 <span class="preprocessor"></span> | ||
41 | <a name="l00026"></a>00026 <span class="preprocessor">#include <ode/common.h></span> | ||
42 | <a name="l00027"></a>00027 | ||
43 | <a name="l00028"></a>00028 <span class="preprocessor">#ifdef __cplusplus</span> | ||
44 | <a name="l00029"></a>00029 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | ||
45 | <a name="l00030"></a>00030 <span class="preprocessor">#endif</span> | ||
46 | <a name="l00031"></a>00031 <span class="preprocessor"></span> | ||
47 | <a name="l00032"></a>00032 <span class="keyword">struct </span>dMass; | ||
48 | <a name="l00033"></a>00033 <span class="keyword">typedef</span> <span class="keyword">struct </span>dMass dMass; | ||
49 | <a name="l00034"></a>00034 | ||
50 | <a name="l00043"></a>00043 ODE_API <span class="keywordtype">int</span> dMassCheck(<span class="keyword">const</span> dMass *m); | ||
51 | <a name="l00044"></a>00044 | ||
52 | <a name="l00045"></a>00045 ODE_API <span class="keywordtype">void</span> dMassSetZero (dMass *); | ||
53 | <a name="l00046"></a>00046 | ||
54 | <a name="l00047"></a>00047 ODE_API <span class="keywordtype">void</span> dMassSetParameters (dMass *, dReal themass, | ||
55 | <a name="l00048"></a>00048 dReal cgx, dReal cgy, dReal cgz, | ||
56 | <a name="l00049"></a>00049 dReal I11, dReal I22, dReal I33, | ||
57 | <a name="l00050"></a>00050 dReal I12, dReal I13, dReal I23); | ||
58 | <a name="l00051"></a>00051 | ||
59 | <a name="l00052"></a>00052 ODE_API <span class="keywordtype">void</span> dMassSetSphere (dMass *, dReal density, dReal radius); | ||
60 | <a name="l00053"></a>00053 ODE_API <span class="keywordtype">void</span> dMassSetSphereTotal (dMass *, dReal total_mass, dReal radius); | ||
61 | <a name="l00054"></a>00054 | ||
62 | <a name="l00055"></a>00055 ODE_API <span class="keywordtype">void</span> dMassSetCapsule (dMass *, dReal density, <span class="keywordtype">int</span> direction, | ||
63 | <a name="l00056"></a>00056 dReal radius, dReal length); | ||
64 | <a name="l00057"></a>00057 ODE_API <span class="keywordtype">void</span> dMassSetCapsuleTotal (dMass *, dReal total_mass, <span class="keywordtype">int</span> direction, | ||
65 | <a name="l00058"></a>00058 dReal radius, dReal length); | ||
66 | <a name="l00059"></a>00059 | ||
67 | <a name="l00060"></a>00060 ODE_API <span class="keywordtype">void</span> dMassSetCylinder (dMass *, dReal density, <span class="keywordtype">int</span> direction, | ||
68 | <a name="l00061"></a>00061 dReal radius, dReal length); | ||
69 | <a name="l00062"></a>00062 ODE_API <span class="keywordtype">void</span> dMassSetCylinderTotal (dMass *, dReal total_mass, <span class="keywordtype">int</span> direction, | ||
70 | <a name="l00063"></a>00063 dReal radius, dReal length); | ||
71 | <a name="l00064"></a>00064 | ||
72 | <a name="l00065"></a>00065 ODE_API <span class="keywordtype">void</span> dMassSetBox (dMass *, dReal density, | ||
73 | <a name="l00066"></a>00066 dReal lx, dReal ly, dReal lz); | ||
74 | <a name="l00067"></a>00067 ODE_API <span class="keywordtype">void</span> dMassSetBoxTotal (dMass *, dReal total_mass, | ||
75 | <a name="l00068"></a>00068 dReal lx, dReal ly, dReal lz); | ||
76 | <a name="l00069"></a>00069 | ||
77 | <a name="l00070"></a>00070 ODE_API <span class="keywordtype">void</span> dMassSetTrimesh (dMass *, dReal density, dGeomID g); | ||
78 | <a name="l00071"></a>00071 | ||
79 | <a name="l00072"></a>00072 ODE_API <span class="keywordtype">void</span> dMassSetTrimeshTotal (dMass *m, dReal total_mass, dGeomID g); | ||
80 | <a name="l00073"></a>00073 | ||
81 | <a name="l00074"></a>00074 ODE_API <span class="keywordtype">void</span> dMassAdjust (dMass *, dReal newmass); | ||
82 | <a name="l00075"></a>00075 | ||
83 | <a name="l00076"></a>00076 ODE_API <span class="keywordtype">void</span> dMassTranslate (dMass *, dReal x, dReal y, dReal z); | ||
84 | <a name="l00077"></a>00077 | ||
85 | <a name="l00078"></a>00078 ODE_API <span class="keywordtype">void</span> dMassRotate (dMass *, <span class="keyword">const</span> dMatrix3 R); | ||
86 | <a name="l00079"></a>00079 | ||
87 | <a name="l00080"></a>00080 ODE_API <span class="keywordtype">void</span> dMassAdd (dMass *a, <span class="keyword">const</span> dMass *b); | ||
88 | <a name="l00081"></a>00081 | ||
89 | <a name="l00082"></a>00082 <span class="comment">// Backwards compatible API</span> | ||
90 | <a name="l00083"></a>00083 <span class="preprocessor">#define dMassSetCappedCylinder dMassSetCapsule</span> | ||
91 | <a name="l00084"></a>00084 <span class="preprocessor"></span><span class="preprocessor">#define dMassSetCappedCylinderTotal dMassSetCapsuleTotal</span> | ||
92 | <a name="l00085"></a>00085 <span class="preprocessor"></span> | ||
93 | <a name="l00086"></a>00086 | ||
94 | <a name="l00087"></a>00087 <span class="keyword">struct </span>dMass { | ||
95 | <a name="l00088"></a>00088 dReal mass; | ||
96 | <a name="l00089"></a>00089 dVector4 c; | ||
97 | <a name="l00090"></a>00090 dMatrix3 I; | ||
98 | <a name="l00091"></a>00091 | ||
99 | <a name="l00092"></a>00092 <span class="preprocessor">#ifdef __cplusplus</span> | ||
100 | <a name="l00093"></a>00093 <span class="preprocessor"></span> dMass() | ||
101 | <a name="l00094"></a>00094 { dMassSetZero (<span class="keyword">this</span>); } | ||
102 | <a name="l00095"></a>00095 <span class="keywordtype">void</span> setZero() | ||
103 | <a name="l00096"></a>00096 { dMassSetZero (<span class="keyword">this</span>); } | ||
104 | <a name="l00097"></a>00097 <span class="keywordtype">void</span> setParameters (dReal themass, dReal cgx, dReal cgy, dReal cgz, | ||
105 | <a name="l00098"></a>00098 dReal I11, dReal I22, dReal I33, | ||
106 | <a name="l00099"></a>00099 dReal I12, dReal I13, dReal I23) | ||
107 | <a name="l00100"></a>00100 { dMassSetParameters (<span class="keyword">this</span>,themass,cgx,cgy,cgz,I11,I22,I33,I12,I13,I23); } | ||
108 | <a name="l00101"></a>00101 <span class="keywordtype">void</span> setSphere (dReal density, dReal radius) | ||
109 | <a name="l00102"></a>00102 { dMassSetSphere (<span class="keyword">this</span>,density,radius); } | ||
110 | <a name="l00103"></a>00103 <span class="keywordtype">void</span> setCapsule (dReal density, <span class="keywordtype">int</span> direction, dReal a, dReal b) | ||
111 | <a name="l00104"></a>00104 { dMassSetCappedCylinder (<span class="keyword">this</span>,density,direction,a,b); } | ||
112 | <a name="l00105"></a>00105 <span class="keywordtype">void</span> setCappedCylinder (dReal density, <span class="keywordtype">int</span> direction, dReal a, dReal b) | ||
113 | <a name="l00106"></a>00106 { setCapsule(density, direction, a, b); } | ||
114 | <a name="l00107"></a>00107 <span class="keywordtype">void</span> setBox (dReal density, dReal lx, dReal ly, dReal lz) | ||
115 | <a name="l00108"></a>00108 { dMassSetBox (<span class="keyword">this</span>,density,lx,ly,lz); } | ||
116 | <a name="l00109"></a>00109 <span class="keywordtype">void</span> adjust (dReal newmass) | ||
117 | <a name="l00110"></a>00110 { dMassAdjust (<span class="keyword">this</span>,newmass); } | ||
118 | <a name="l00111"></a>00111 <span class="keywordtype">void</span> translate (dReal x, dReal y, dReal z) | ||
119 | <a name="l00112"></a>00112 { dMassTranslate (<span class="keyword">this</span>,x,y,z); } | ||
120 | <a name="l00113"></a>00113 <span class="keywordtype">void</span> rotate (<span class="keyword">const</span> dMatrix3 R) | ||
121 | <a name="l00114"></a>00114 { dMassRotate (<span class="keyword">this</span>,R); } | ||
122 | <a name="l00115"></a>00115 <span class="keywordtype">void</span> <span class="keyword">add</span> (<span class="keyword">const</span> dMass *b) | ||
123 | <a name="l00116"></a>00116 { dMassAdd (<span class="keyword">this</span>,b); } | ||
124 | <a name="l00117"></a>00117 <span class="preprocessor">#endif</span> | ||
125 | <a name="l00118"></a>00118 <span class="preprocessor"></span>}; | ||
126 | <a name="l00119"></a>00119 | ||
127 | <a name="l00120"></a>00120 | ||
128 | <a name="l00121"></a>00121 <span class="preprocessor">#ifdef __cplusplus</span> | ||
129 | <a name="l00122"></a>00122 <span class="preprocessor"></span>} | ||
130 | <a name="l00123"></a>00123 <span class="preprocessor">#endif</span> | ||
131 | <a name="l00124"></a>00124 <span class="preprocessor"></span> | ||
132 | <a name="l00125"></a>00125 <span class="preprocessor">#endif</span> | ||
133 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
134 | <a href="http://www.doxygen.org/index.html"> | ||
135 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
136 | </body> | ||
137 | </html> | ||
diff --git a/libraries/ode-0.9/docs/matrix_8h-source.html b/libraries/ode-0.9/docs/matrix_8h-source.html new file mode 100644 index 0000000..8f34e5e --- /dev/null +++ b/libraries/ode-0.9/docs/matrix_8h-source.html | |||
@@ -0,0 +1,214 @@ | |||
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: matrix.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>matrix.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00023"></a>00023 <span class="comment">/* optimized and unoptimized vector and matrix functions */</span> | ||
39 | <a name="l00024"></a>00024 | ||
40 | <a name="l00025"></a>00025 <span class="preprocessor">#ifndef _ODE_MATRIX_H_</span> | ||
41 | <a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define _ODE_MATRIX_H_</span> | ||
42 | <a name="l00027"></a>00027 <span class="preprocessor"></span> | ||
43 | <a name="l00028"></a>00028 <span class="preprocessor">#include <ode/common.h></span> | ||
44 | <a name="l00029"></a>00029 | ||
45 | <a name="l00030"></a>00030 | ||
46 | <a name="l00031"></a>00031 <span class="preprocessor">#ifdef __cplusplus</span> | ||
47 | <a name="l00032"></a>00032 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | ||
48 | <a name="l00033"></a>00033 <span class="preprocessor">#endif</span> | ||
49 | <a name="l00034"></a>00034 <span class="preprocessor"></span> | ||
50 | <a name="l00035"></a>00035 | ||
51 | <a name="l00036"></a>00036 <span class="comment">/* set a vector/matrix of size n to all zeros, or to a specific value. */</span> | ||
52 | <a name="l00037"></a>00037 | ||
53 | <a name="l00038"></a>00038 ODE_API <span class="keywordtype">void</span> dSetZero (dReal *a, <span class="keywordtype">int</span> n); | ||
54 | <a name="l00039"></a>00039 ODE_API <span class="keywordtype">void</span> dSetValue (dReal *a, <span class="keywordtype">int</span> n, dReal value); | ||
55 | <a name="l00040"></a>00040 | ||
56 | <a name="l00041"></a>00041 | ||
57 | <a name="l00042"></a>00042 <span class="comment">/* get the dot product of two n*1 vectors. if n <= 0 then</span> | ||
58 | <a name="l00043"></a>00043 <span class="comment"> * zero will be returned (in which case a and b need not be valid).</span> | ||
59 | <a name="l00044"></a>00044 <span class="comment"> */</span> | ||
60 | <a name="l00045"></a>00045 | ||
61 | <a name="l00046"></a>00046 ODE_API dReal dDot (<span class="keyword">const</span> dReal *a, <span class="keyword">const</span> dReal *b, <span class="keywordtype">int</span> n); | ||
62 | <a name="l00047"></a>00047 | ||
63 | <a name="l00048"></a>00048 | ||
64 | <a name="l00049"></a>00049 <span class="comment">/* get the dot products of (a0,b), (a1,b), etc and return them in outsum.</span> | ||
65 | <a name="l00050"></a>00050 <span class="comment"> * all vectors are n*1. if n <= 0 then zeroes will be returned (in which case</span> | ||
66 | <a name="l00051"></a>00051 <span class="comment"> * the input vectors need not be valid). this function is somewhat faster</span> | ||
67 | <a name="l00052"></a>00052 <span class="comment"> * than calling dDot() for all of the combinations separately.</span> | ||
68 | <a name="l00053"></a>00053 <span class="comment"> */</span> | ||
69 | <a name="l00054"></a>00054 | ||
70 | <a name="l00055"></a>00055 <span class="comment">/* NOT INCLUDED in the library for now.</span> | ||
71 | <a name="l00056"></a>00056 <span class="comment">void dMultidot2 (const dReal *a0, const dReal *a1,</span> | ||
72 | <a name="l00057"></a>00057 <span class="comment"> const dReal *b, dReal *outsum, int n);</span> | ||
73 | <a name="l00058"></a>00058 <span class="comment">*/</span> | ||
74 | <a name="l00059"></a>00059 | ||
75 | <a name="l00060"></a>00060 | ||
76 | <a name="l00061"></a>00061 <span class="comment">/* matrix multiplication. all matrices are stored in standard row format.</span> | ||
77 | <a name="l00062"></a>00062 <span class="comment"> * the digit refers to the argument that is transposed:</span> | ||
78 | <a name="l00063"></a>00063 <span class="comment"> * 0: A = B * C (sizes: A:p*r B:p*q C:q*r)</span> | ||
79 | <a name="l00064"></a>00064 <span class="comment"> * 1: A = B' * C (sizes: A:p*r B:q*p C:q*r)</span> | ||
80 | <a name="l00065"></a>00065 <span class="comment"> * 2: A = B * C' (sizes: A:p*r B:p*q C:r*q)</span> | ||
81 | <a name="l00066"></a>00066 <span class="comment"> * case 1,2 are equivalent to saying that the operation is A=B*C but</span> | ||
82 | <a name="l00067"></a>00067 <span class="comment"> * B or C are stored in standard column format.</span> | ||
83 | <a name="l00068"></a>00068 <span class="comment"> */</span> | ||
84 | <a name="l00069"></a>00069 | ||
85 | <a name="l00070"></a>00070 ODE_API <span class="keywordtype">void</span> dMultiply0 (dReal *A, <span class="keyword">const</span> dReal *B, <span class="keyword">const</span> dReal *C, <span class="keywordtype">int</span> p,<span class="keywordtype">int</span> q,<span class="keywordtype">int</span> r); | ||
86 | <a name="l00071"></a>00071 ODE_API <span class="keywordtype">void</span> dMultiply1 (dReal *A, <span class="keyword">const</span> dReal *B, <span class="keyword">const</span> dReal *C, <span class="keywordtype">int</span> p,<span class="keywordtype">int</span> q,<span class="keywordtype">int</span> r); | ||
87 | <a name="l00072"></a>00072 ODE_API <span class="keywordtype">void</span> dMultiply2 (dReal *A, <span class="keyword">const</span> dReal *B, <span class="keyword">const</span> dReal *C, <span class="keywordtype">int</span> p,<span class="keywordtype">int</span> q,<span class="keywordtype">int</span> r); | ||
88 | <a name="l00073"></a>00073 | ||
89 | <a name="l00074"></a>00074 | ||
90 | <a name="l00075"></a>00075 <span class="comment">/* do an in-place cholesky decomposition on the lower triangle of the n*n</span> | ||
91 | <a name="l00076"></a>00076 <span class="comment"> * symmetric matrix A (which is stored by rows). the resulting lower triangle</span> | ||
92 | <a name="l00077"></a>00077 <span class="comment"> * will be such that L*L'=A. return 1 on success and 0 on failure (on failure</span> | ||
93 | <a name="l00078"></a>00078 <span class="comment"> * the matrix is not positive definite).</span> | ||
94 | <a name="l00079"></a>00079 <span class="comment"> */</span> | ||
95 | <a name="l00080"></a>00080 | ||
96 | <a name="l00081"></a>00081 ODE_API <span class="keywordtype">int</span> dFactorCholesky (dReal *A, <span class="keywordtype">int</span> n); | ||
97 | <a name="l00082"></a>00082 | ||
98 | <a name="l00083"></a>00083 | ||
99 | <a name="l00084"></a>00084 <span class="comment">/* solve for x: L*L'*x = b, and put the result back into x.</span> | ||
100 | <a name="l00085"></a>00085 <span class="comment"> * L is size n*n, b is size n*1. only the lower triangle of L is considered.</span> | ||
101 | <a name="l00086"></a>00086 <span class="comment"> */</span> | ||
102 | <a name="l00087"></a>00087 | ||
103 | <a name="l00088"></a>00088 ODE_API <span class="keywordtype">void</span> dSolveCholesky (<span class="keyword">const</span> dReal *L, dReal *b, <span class="keywordtype">int</span> n); | ||
104 | <a name="l00089"></a>00089 | ||
105 | <a name="l00090"></a>00090 | ||
106 | <a name="l00091"></a>00091 <span class="comment">/* compute the inverse of the n*n positive definite matrix A and put it in</span> | ||
107 | <a name="l00092"></a>00092 <span class="comment"> * Ainv. this is not especially fast. this returns 1 on success (A was</span> | ||
108 | <a name="l00093"></a>00093 <span class="comment"> * positive definite) or 0 on failure (not PD).</span> | ||
109 | <a name="l00094"></a>00094 <span class="comment"> */</span> | ||
110 | <a name="l00095"></a>00095 | ||
111 | <a name="l00096"></a>00096 ODE_API <span class="keywordtype">int</span> dInvertPDMatrix (<span class="keyword">const</span> dReal *A, dReal *Ainv, <span class="keywordtype">int</span> n); | ||
112 | <a name="l00097"></a>00097 | ||
113 | <a name="l00098"></a>00098 | ||
114 | <a name="l00099"></a>00099 <span class="comment">/* check whether an n*n matrix A is positive definite, return 1/0 (yes/no).</span> | ||
115 | <a name="l00100"></a>00100 <span class="comment"> * positive definite means that x'*A*x > 0 for any x. this performs a</span> | ||
116 | <a name="l00101"></a>00101 <span class="comment"> * cholesky decomposition of A. if the decomposition fails then the matrix</span> | ||
117 | <a name="l00102"></a>00102 <span class="comment"> * is not positive definite. A is stored by rows. A is not altered.</span> | ||
118 | <a name="l00103"></a>00103 <span class="comment"> */</span> | ||
119 | <a name="l00104"></a>00104 | ||
120 | <a name="l00105"></a>00105 ODE_API <span class="keywordtype">int</span> dIsPositiveDefinite (<span class="keyword">const</span> dReal *A, <span class="keywordtype">int</span> n); | ||
121 | <a name="l00106"></a>00106 | ||
122 | <a name="l00107"></a>00107 | ||
123 | <a name="l00108"></a>00108 <span class="comment">/* factorize a matrix A into L*D*L', where L is lower triangular with ones on</span> | ||
124 | <a name="l00109"></a>00109 <span class="comment"> * the diagonal, and D is diagonal.</span> | ||
125 | <a name="l00110"></a>00110 <span class="comment"> * A is an n*n matrix stored by rows, with a leading dimension of n rounded</span> | ||
126 | <a name="l00111"></a>00111 <span class="comment"> * up to 4. L is written into the strict lower triangle of A (the ones are not</span> | ||
127 | <a name="l00112"></a>00112 <span class="comment"> * written) and the reciprocal of the diagonal elements of D are written into</span> | ||
128 | <a name="l00113"></a>00113 <span class="comment"> * d.</span> | ||
129 | <a name="l00114"></a>00114 <span class="comment"> */</span> | ||
130 | <a name="l00115"></a>00115 ODE_API <span class="keywordtype">void</span> dFactorLDLT (dReal *A, dReal *d, <span class="keywordtype">int</span> n, <span class="keywordtype">int</span> nskip); | ||
131 | <a name="l00116"></a>00116 | ||
132 | <a name="l00117"></a>00117 | ||
133 | <a name="l00118"></a>00118 <span class="comment">/* solve L*x=b, where L is n*n lower triangular with ones on the diagonal,</span> | ||
134 | <a name="l00119"></a>00119 <span class="comment"> * and x,b are n*1. b is overwritten with x.</span> | ||
135 | <a name="l00120"></a>00120 <span class="comment"> * the leading dimension of L is `nskip'.</span> | ||
136 | <a name="l00121"></a>00121 <span class="comment"> */</span> | ||
137 | <a name="l00122"></a>00122 ODE_API <span class="keywordtype">void</span> dSolveL1 (<span class="keyword">const</span> dReal *L, dReal *b, <span class="keywordtype">int</span> n, <span class="keywordtype">int</span> nskip); | ||
138 | <a name="l00123"></a>00123 | ||
139 | <a name="l00124"></a>00124 | ||
140 | <a name="l00125"></a>00125 <span class="comment">/* solve L'*x=b, where L is n*n lower triangular with ones on the diagonal,</span> | ||
141 | <a name="l00126"></a>00126 <span class="comment"> * and x,b are n*1. b is overwritten with x.</span> | ||
142 | <a name="l00127"></a>00127 <span class="comment"> * the leading dimension of L is `nskip'.</span> | ||
143 | <a name="l00128"></a>00128 <span class="comment"> */</span> | ||
144 | <a name="l00129"></a>00129 ODE_API <span class="keywordtype">void</span> dSolveL1T (<span class="keyword">const</span> dReal *L, dReal *b, <span class="keywordtype">int</span> n, <span class="keywordtype">int</span> nskip); | ||
145 | <a name="l00130"></a>00130 | ||
146 | <a name="l00131"></a>00131 | ||
147 | <a name="l00132"></a>00132 <span class="comment">/* in matlab syntax: a(1:n) = a(1:n) .* d(1:n) */</span> | ||
148 | <a name="l00133"></a>00133 | ||
149 | <a name="l00134"></a>00134 ODE_API <span class="keywordtype">void</span> dVectorScale (dReal *a, <span class="keyword">const</span> dReal *d, <span class="keywordtype">int</span> n); | ||
150 | <a name="l00135"></a>00135 | ||
151 | <a name="l00136"></a>00136 | ||
152 | <a name="l00137"></a>00137 <span class="comment">/* given `L', a n*n lower triangular matrix with ones on the diagonal,</span> | ||
153 | <a name="l00138"></a>00138 <span class="comment"> * and `d', a n*1 vector of the reciprocal diagonal elements of an n*n matrix</span> | ||
154 | <a name="l00139"></a>00139 <span class="comment"> * D, solve L*D*L'*x=b where x,b are n*1. x overwrites b.</span> | ||
155 | <a name="l00140"></a>00140 <span class="comment"> * the leading dimension of L is `nskip'.</span> | ||
156 | <a name="l00141"></a>00141 <span class="comment"> */</span> | ||
157 | <a name="l00142"></a>00142 | ||
158 | <a name="l00143"></a>00143 ODE_API <span class="keywordtype">void</span> dSolveLDLT (<span class="keyword">const</span> dReal *L, <span class="keyword">const</span> dReal *d, dReal *b, <span class="keywordtype">int</span> n, <span class="keywordtype">int</span> nskip); | ||
159 | <a name="l00144"></a>00144 | ||
160 | <a name="l00145"></a>00145 | ||
161 | <a name="l00146"></a>00146 <span class="comment">/* given an L*D*L' factorization of an n*n matrix A, return the updated</span> | ||
162 | <a name="l00147"></a>00147 <span class="comment"> * factorization L2*D2*L2' of A plus the following "top left" matrix:</span> | ||
163 | <a name="l00148"></a>00148 <span class="comment"> *</span> | ||
164 | <a name="l00149"></a>00149 <span class="comment"> * [ b a' ] <-- b is a[0]</span> | ||
165 | <a name="l00150"></a>00150 <span class="comment"> * [ a 0 ] <-- a is a[1..n-1]</span> | ||
166 | <a name="l00151"></a>00151 <span class="comment"> *</span> | ||
167 | <a name="l00152"></a>00152 <span class="comment"> * - L has size n*n, its leading dimension is nskip. L is lower triangular</span> | ||
168 | <a name="l00153"></a>00153 <span class="comment"> * with ones on the diagonal. only the lower triangle of L is referenced.</span> | ||
169 | <a name="l00154"></a>00154 <span class="comment"> * - d has size n. d contains the reciprocal diagonal elements of D.</span> | ||
170 | <a name="l00155"></a>00155 <span class="comment"> * - a has size n.</span> | ||
171 | <a name="l00156"></a>00156 <span class="comment"> * the result is written into L, except that the left column of L and d[0]</span> | ||
172 | <a name="l00157"></a>00157 <span class="comment"> * are not actually modified. see ldltaddTL.m for further comments. </span> | ||
173 | <a name="l00158"></a>00158 <span class="comment"> */</span> | ||
174 | <a name="l00159"></a>00159 ODE_API <span class="keywordtype">void</span> dLDLTAddTL (dReal *L, dReal *d, <span class="keyword">const</span> dReal *a, <span class="keywordtype">int</span> n, <span class="keywordtype">int</span> nskip); | ||
175 | <a name="l00160"></a>00160 | ||
176 | <a name="l00161"></a>00161 | ||
177 | <a name="l00162"></a>00162 <span class="comment">/* given an L*D*L' factorization of a permuted matrix A, produce a new</span> | ||
178 | <a name="l00163"></a>00163 <span class="comment"> * factorization for row and column `r' removed.</span> | ||
179 | <a name="l00164"></a>00164 <span class="comment"> * - A has size n1*n1, its leading dimension in nskip. A is symmetric and</span> | ||
180 | <a name="l00165"></a>00165 <span class="comment"> * positive definite. only the lower triangle of A is referenced.</span> | ||
181 | <a name="l00166"></a>00166 <span class="comment"> * A itself may actually be an array of row pointers.</span> | ||
182 | <a name="l00167"></a>00167 <span class="comment"> * - L has size n2*n2, its leading dimension in nskip. L is lower triangular</span> | ||
183 | <a name="l00168"></a>00168 <span class="comment"> * with ones on the diagonal. only the lower triangle of L is referenced.</span> | ||
184 | <a name="l00169"></a>00169 <span class="comment"> * - d has size n2. d contains the reciprocal diagonal elements of D.</span> | ||
185 | <a name="l00170"></a>00170 <span class="comment"> * - p is a permutation vector. it contains n2 indexes into A. each index</span> | ||
186 | <a name="l00171"></a>00171 <span class="comment"> * must be in the range 0..n1-1.</span> | ||
187 | <a name="l00172"></a>00172 <span class="comment"> * - r is the row/column of L to remove.</span> | ||
188 | <a name="l00173"></a>00173 <span class="comment"> * the new L will be written within the old L, i.e. will have the same leading</span> | ||
189 | <a name="l00174"></a>00174 <span class="comment"> * dimension. the last row and column of L, and the last element of d, are</span> | ||
190 | <a name="l00175"></a>00175 <span class="comment"> * undefined on exit.</span> | ||
191 | <a name="l00176"></a>00176 <span class="comment"> *</span> | ||
192 | <a name="l00177"></a>00177 <span class="comment"> * a fast O(n^2) algorithm is used. see ldltremove.m for further comments.</span> | ||
193 | <a name="l00178"></a>00178 <span class="comment"> */</span> | ||
194 | <a name="l00179"></a>00179 ODE_API <span class="keywordtype">void</span> dLDLTRemove (dReal **A, <span class="keyword">const</span> <span class="keywordtype">int</span> *p, dReal *L, dReal *d, | ||
195 | <a name="l00180"></a>00180 <span class="keywordtype">int</span> n1, <span class="keywordtype">int</span> n2, <span class="keywordtype">int</span> r, <span class="keywordtype">int</span> nskip); | ||
196 | <a name="l00181"></a>00181 | ||
197 | <a name="l00182"></a>00182 | ||
198 | <a name="l00183"></a>00183 <span class="comment">/* given an n*n matrix A (with leading dimension nskip), remove the r'th row</span> | ||
199 | <a name="l00184"></a>00184 <span class="comment"> * and column by moving elements. the new matrix will have the same leading</span> | ||
200 | <a name="l00185"></a>00185 <span class="comment"> * dimension. the last row and column of A are untouched on exit.</span> | ||
201 | <a name="l00186"></a>00186 <span class="comment"> */</span> | ||
202 | <a name="l00187"></a>00187 ODE_API <span class="keywordtype">void</span> dRemoveRowCol (dReal *A, <span class="keywordtype">int</span> n, <span class="keywordtype">int</span> nskip, <span class="keywordtype">int</span> r); | ||
203 | <a name="l00188"></a>00188 | ||
204 | <a name="l00189"></a>00189 | ||
205 | <a name="l00190"></a>00190 <span class="preprocessor">#ifdef __cplusplus</span> | ||
206 | <a name="l00191"></a>00191 <span class="preprocessor"></span>} | ||
207 | <a name="l00192"></a>00192 <span class="preprocessor">#endif</span> | ||
208 | <a name="l00193"></a>00193 <span class="preprocessor"></span> | ||
209 | <a name="l00194"></a>00194 <span class="preprocessor">#endif</span> | ||
210 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
211 | <a href="http://www.doxygen.org/index.html"> | ||
212 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
213 | </body> | ||
214 | </html> | ||
diff --git a/libraries/ode-0.9/docs/memory_8h-source.html b/libraries/ode-0.9/docs/memory_8h-source.html new file mode 100644 index 0000000..001fd88 --- /dev/null +++ b/libraries/ode-0.9/docs/memory_8h-source.html | |||
@@ -0,0 +1,79 @@ | |||
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: memory.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>memory.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00023"></a>00023 <span class="comment">/* this comes from the `reuse' library. copy any changes back to the source */</span> | ||
39 | <a name="l00024"></a>00024 | ||
40 | <a name="l00025"></a>00025 <span class="preprocessor">#ifndef _ODE_MEMORY_H_</span> | ||
41 | <a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define _ODE_MEMORY_H_</span> | ||
42 | <a name="l00027"></a>00027 <span class="preprocessor"></span> | ||
43 | <a name="l00028"></a>00028 <span class="preprocessor">#include "ode/config.h"</span> | ||
44 | <a name="l00029"></a>00029 | ||
45 | <a name="l00030"></a>00030 <span class="preprocessor">#ifdef __cplusplus</span> | ||
46 | <a name="l00031"></a>00031 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | ||
47 | <a name="l00032"></a>00032 <span class="preprocessor">#endif</span> | ||
48 | <a name="l00033"></a>00033 <span class="preprocessor"></span> | ||
49 | <a name="l00034"></a>00034 <span class="comment">/* function types to allocate and free memory */</span> | ||
50 | <a name="l00035"></a>00035 <span class="keyword">typedef</span> <span class="keywordtype">void</span> * dAllocFunction (<span class="keywordtype">size_t</span> size); | ||
51 | <a name="l00036"></a>00036 <span class="keyword">typedef</span> <span class="keywordtype">void</span> * dReallocFunction (<span class="keywordtype">void</span> *ptr, <span class="keywordtype">size_t</span> oldsize, <span class="keywordtype">size_t</span> newsize); | ||
52 | <a name="l00037"></a>00037 <span class="keyword">typedef</span> <span class="keywordtype">void</span> dFreeFunction (<span class="keywordtype">void</span> *ptr, <span class="keywordtype">size_t</span> size); | ||
53 | <a name="l00038"></a>00038 | ||
54 | <a name="l00039"></a>00039 <span class="comment">/* set new memory management functions. if fn is 0, the default handlers are</span> | ||
55 | <a name="l00040"></a>00040 <span class="comment"> * used. */</span> | ||
56 | <a name="l00041"></a>00041 ODE_API <span class="keywordtype">void</span> dSetAllocHandler (dAllocFunction *fn); | ||
57 | <a name="l00042"></a>00042 ODE_API <span class="keywordtype">void</span> dSetReallocHandler (dReallocFunction *fn); | ||
58 | <a name="l00043"></a>00043 ODE_API <span class="keywordtype">void</span> dSetFreeHandler (dFreeFunction *fn); | ||
59 | <a name="l00044"></a>00044 | ||
60 | <a name="l00045"></a>00045 <span class="comment">/* get current memory management functions */</span> | ||
61 | <a name="l00046"></a>00046 ODE_API dAllocFunction *dGetAllocHandler (<span class="keywordtype">void</span>); | ||
62 | <a name="l00047"></a>00047 ODE_API dReallocFunction *dGetReallocHandler (<span class="keywordtype">void</span>); | ||
63 | <a name="l00048"></a>00048 ODE_API dFreeFunction *dGetFreeHandler (<span class="keywordtype">void</span>); | ||
64 | <a name="l00049"></a>00049 | ||
65 | <a name="l00050"></a>00050 <span class="comment">/* allocate and free memory. */</span> | ||
66 | <a name="l00051"></a>00051 ODE_API <span class="keywordtype">void</span> * dAlloc (<span class="keywordtype">size_t</span> size); | ||
67 | <a name="l00052"></a>00052 ODE_API <span class="keywordtype">void</span> * dRealloc (<span class="keywordtype">void</span> *ptr, <span class="keywordtype">size_t</span> oldsize, <span class="keywordtype">size_t</span> newsize); | ||
68 | <a name="l00053"></a>00053 ODE_API <span class="keywordtype">void</span> dFree (<span class="keywordtype">void</span> *ptr, <span class="keywordtype">size_t</span> size); | ||
69 | <a name="l00054"></a>00054 | ||
70 | <a name="l00055"></a>00055 <span class="preprocessor">#ifdef __cplusplus</span> | ||
71 | <a name="l00056"></a>00056 <span class="preprocessor"></span>} | ||
72 | <a name="l00057"></a>00057 <span class="preprocessor">#endif</span> | ||
73 | <a name="l00058"></a>00058 <span class="preprocessor"></span> | ||
74 | <a name="l00059"></a>00059 <span class="preprocessor">#endif</span> | ||
75 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
76 | <a href="http://www.doxygen.org/index.html"> | ||
77 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
78 | </body> | ||
79 | </html> | ||
diff --git a/libraries/ode-0.9/docs/misc_8h-source.html b/libraries/ode-0.9/docs/misc_8h-source.html new file mode 100644 index 0000000..72bbc10 --- /dev/null +++ b/libraries/ode-0.9/docs/misc_8h-source.html | |||
@@ -0,0 +1,105 @@ | |||
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: misc.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>misc.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00023"></a>00023 <span class="comment">/* miscellaneous math functions. these are mostly useful for testing */</span> | ||
39 | <a name="l00024"></a>00024 | ||
40 | <a name="l00025"></a>00025 <span class="preprocessor">#ifndef _ODE_MISC_H_</span> | ||
41 | <a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define _ODE_MISC_H_</span> | ||
42 | <a name="l00027"></a>00027 <span class="preprocessor"></span> | ||
43 | <a name="l00028"></a>00028 <span class="preprocessor">#include <ode/common.h></span> | ||
44 | <a name="l00029"></a>00029 | ||
45 | <a name="l00030"></a>00030 | ||
46 | <a name="l00031"></a>00031 <span class="preprocessor">#ifdef __cplusplus</span> | ||
47 | <a name="l00032"></a>00032 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | ||
48 | <a name="l00033"></a>00033 <span class="preprocessor">#endif</span> | ||
49 | <a name="l00034"></a>00034 <span class="preprocessor"></span> | ||
50 | <a name="l00035"></a>00035 | ||
51 | <a name="l00036"></a>00036 <span class="comment">/* return 1 if the random number generator is working. */</span> | ||
52 | <a name="l00037"></a>00037 ODE_API <span class="keywordtype">int</span> dTestRand(<span class="keywordtype">void</span>); | ||
53 | <a name="l00038"></a>00038 | ||
54 | <a name="l00039"></a>00039 <span class="comment">/* return next 32 bit random number. this uses a not-very-random linear</span> | ||
55 | <a name="l00040"></a>00040 <span class="comment"> * congruential method.</span> | ||
56 | <a name="l00041"></a>00041 <span class="comment"> */</span> | ||
57 | <a name="l00042"></a>00042 ODE_API <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> dRand(<span class="keywordtype">void</span>); | ||
58 | <a name="l00043"></a>00043 | ||
59 | <a name="l00044"></a>00044 <span class="comment">/* get and set the current random number seed. */</span> | ||
60 | <a name="l00045"></a>00045 ODE_API <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> dRandGetSeed(<span class="keywordtype">void</span>); | ||
61 | <a name="l00046"></a>00046 ODE_API <span class="keywordtype">void</span> dRandSetSeed (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> s); | ||
62 | <a name="l00047"></a>00047 | ||
63 | <a name="l00048"></a>00048 <span class="comment">/* return a random integer between 0..n-1. the distribution will get worse</span> | ||
64 | <a name="l00049"></a>00049 <span class="comment"> * as n approaches 2^32.</span> | ||
65 | <a name="l00050"></a>00050 <span class="comment"> */</span> | ||
66 | <a name="l00051"></a>00051 ODE_API <span class="keywordtype">int</span> dRandInt (<span class="keywordtype">int</span> n); | ||
67 | <a name="l00052"></a>00052 | ||
68 | <a name="l00053"></a>00053 <span class="comment">/* return a random real number between 0..1 */</span> | ||
69 | <a name="l00054"></a>00054 ODE_API dReal dRandReal(<span class="keywordtype">void</span>); | ||
70 | <a name="l00055"></a>00055 | ||
71 | <a name="l00056"></a>00056 <span class="comment">/* print out a matrix */</span> | ||
72 | <a name="l00057"></a>00057 <span class="preprocessor">#ifdef __cplusplus</span> | ||
73 | <a name="l00058"></a>00058 <span class="preprocessor"></span>ODE_API <span class="keywordtype">void</span> dPrintMatrix (<span class="keyword">const</span> dReal *A, <span class="keywordtype">int</span> n, <span class="keywordtype">int</span> m, <span class="keywordtype">char</span> *fmt = <span class="stringliteral">"%10.4f "</span>, | ||
74 | <a name="l00059"></a>00059 FILE *f=stdout); | ||
75 | <a name="l00060"></a>00060 <span class="preprocessor">#else</span> | ||
76 | <a name="l00061"></a>00061 <span class="preprocessor"></span>ODE_API <span class="keywordtype">void</span> dPrintMatrix (<span class="keyword">const</span> dReal *A, <span class="keywordtype">int</span> n, <span class="keywordtype">int</span> m, <span class="keywordtype">char</span> *fmt, FILE *f); | ||
77 | <a name="l00062"></a>00062 <span class="preprocessor">#endif</span> | ||
78 | <a name="l00063"></a>00063 <span class="preprocessor"></span> | ||
79 | <a name="l00064"></a>00064 <span class="comment">/* make a random vector with entries between +/- range. A has n elements. */</span> | ||
80 | <a name="l00065"></a>00065 ODE_API <span class="keywordtype">void</span> dMakeRandomVector (dReal *A, <span class="keywordtype">int</span> n, dReal range); | ||
81 | <a name="l00066"></a>00066 | ||
82 | <a name="l00067"></a>00067 <span class="comment">/* make a random matrix with entries between +/- range. A has size n*m. */</span> | ||
83 | <a name="l00068"></a>00068 ODE_API <span class="keywordtype">void</span> dMakeRandomMatrix (dReal *A, <span class="keywordtype">int</span> n, <span class="keywordtype">int</span> m, dReal range); | ||
84 | <a name="l00069"></a>00069 | ||
85 | <a name="l00070"></a>00070 <span class="comment">/* clear the upper triangle of a square matrix */</span> | ||
86 | <a name="l00071"></a>00071 ODE_API <span class="keywordtype">void</span> dClearUpperTriangle (dReal *A, <span class="keywordtype">int</span> n); | ||
87 | <a name="l00072"></a>00072 | ||
88 | <a name="l00073"></a>00073 <span class="comment">/* return the maximum element difference between the two n*m matrices */</span> | ||
89 | <a name="l00074"></a>00074 ODE_API dReal dMaxDifference (<span class="keyword">const</span> dReal *A, <span class="keyword">const</span> dReal *B, <span class="keywordtype">int</span> n, <span class="keywordtype">int</span> m); | ||
90 | <a name="l00075"></a>00075 | ||
91 | <a name="l00076"></a>00076 <span class="comment">/* return the maximum element difference between the lower triangle of two</span> | ||
92 | <a name="l00077"></a>00077 <span class="comment"> * n*n matrices */</span> | ||
93 | <a name="l00078"></a>00078 ODE_API dReal dMaxDifferenceLowerTriangle (<span class="keyword">const</span> dReal *A, <span class="keyword">const</span> dReal *B, <span class="keywordtype">int</span> n); | ||
94 | <a name="l00079"></a>00079 | ||
95 | <a name="l00080"></a>00080 | ||
96 | <a name="l00081"></a>00081 <span class="preprocessor">#ifdef __cplusplus</span> | ||
97 | <a name="l00082"></a>00082 <span class="preprocessor"></span>} | ||
98 | <a name="l00083"></a>00083 <span class="preprocessor">#endif</span> | ||
99 | <a name="l00084"></a>00084 <span class="preprocessor"></span> | ||
100 | <a name="l00085"></a>00085 <span class="preprocessor">#endif</span> | ||
101 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
102 | <a href="http://www.doxygen.org/index.html"> | ||
103 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
104 | </body> | ||
105 | </html> | ||
diff --git a/libraries/ode-0.9/docs/modules.html b/libraries/ode-0.9/docs/modules.html new file mode 100644 index 0000000..60c4d80 --- /dev/null +++ b/libraries/ode-0.9/docs/modules.html | |||
@@ -0,0 +1,32 @@ | |||
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: Module Index</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 Page</span></a></li> | ||
11 | <li class="current"><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>Open Dynamics Engine Modules</h1>Here is a list of all modules:<ul> | ||
17 | <li><a class="el" href="group__collide.html">Collision Detection</a> | ||
18 | <ul> | ||
19 | <li><a class="el" href="group__collide__sphere.html">Sphere Class</a> | ||
20 | <li><a class="el" href="group__collide__box.html">Box Class</a> | ||
21 | </ul> | ||
22 | <li><a class="el" href="group__world.html">World</a> | ||
23 | <li><a class="el" href="group__disable.html">Automatic Enabling and Disabling</a> | ||
24 | <li><a class="el" href="group__bodies.html">Rigid Bodies</a> | ||
25 | <li><a class="el" href="group__joints.html">Joints</a> | ||
26 | <li><a class="el" href="group__drawstuff.html">DrawStuff</a> | ||
27 | </ul> | ||
28 | <hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:52 2007 for Open Dynamics Engine by | ||
29 | <a href="http://www.doxygen.org/index.html"> | ||
30 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
31 | </body> | ||
32 | </html> | ||
diff --git a/libraries/ode-0.9/docs/objects_8h-source.html b/libraries/ode-0.9/docs/objects_8h-source.html new file mode 100644 index 0000000..33871df --- /dev/null +++ b/libraries/ode-0.9/docs/objects_8h-source.html | |||
@@ -0,0 +1,563 @@ | |||
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: objects.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>objects.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00023"></a>00023 <span class="preprocessor">#ifndef _ODE_OBJECTS_H_</span> | ||
39 | <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define _ODE_OBJECTS_H_</span> | ||
40 | <a name="l00025"></a>00025 <span class="preprocessor"></span> | ||
41 | <a name="l00026"></a>00026 <span class="preprocessor">#include <ode/common.h></span> | ||
42 | <a name="l00027"></a>00027 <span class="preprocessor">#include <ode/mass.h></span> | ||
43 | <a name="l00028"></a>00028 <span class="preprocessor">#include <ode/contact.h></span> | ||
44 | <a name="l00029"></a>00029 | ||
45 | <a name="l00030"></a>00030 <span class="preprocessor">#ifdef __cplusplus</span> | ||
46 | <a name="l00031"></a>00031 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | ||
47 | <a name="l00032"></a>00032 <span class="preprocessor">#endif</span> | ||
48 | <a name="l00033"></a>00033 <span class="preprocessor"></span> | ||
49 | <a name="l00052"></a>00052 ODE_API dWorldID <a class="code" href="group__world.html#g929067266d630fb745f752042d685fc7" title="Create a new, empty world and return its ID number.">dWorldCreate</a>(<span class="keywordtype">void</span>); | ||
50 | <a name="l00053"></a>00053 | ||
51 | <a name="l00054"></a>00054 | ||
52 | <a name="l00064"></a>00064 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__world.html#g5a2e5b1d2d6a1376dca239b488e629f9" title="Destroy a world and everything in it.">dWorldDestroy</a> (dWorldID world); | ||
53 | <a name="l00065"></a>00065 | ||
54 | <a name="l00066"></a>00066 | ||
55 | <a name="l00075"></a>00075 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__world.html#ga1b220b922215b335572c699cf8f8cad" title="Set the world&#39;s global gravity vector.">dWorldSetGravity</a> (dWorldID, dReal x, dReal y, dReal z); | ||
56 | <a name="l00076"></a>00076 | ||
57 | <a name="l00077"></a>00077 | ||
58 | <a name="l00082"></a>00082 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__world.html#ge1a29b6a91cc1910a982c916ae4dee4a" title="Get the gravity vector for a given world.">dWorldGetGravity</a> (dWorldID, dVector3 gravity); | ||
59 | <a name="l00083"></a>00083 | ||
60 | <a name="l00084"></a>00084 | ||
61 | <a name="l00092"></a>00092 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__world.html#gacd0778bdaa939d22f093fc2d5d5f868" title="Set the global ERP value, that controls how much error correction is performed in...">dWorldSetERP</a> (dWorldID, dReal erp); | ||
62 | <a name="l00093"></a>00093 | ||
63 | <a name="l00099"></a>00099 ODE_API dReal <a class="code" href="group__world.html#g033cd87a0b22889a94d4d84149bda5a0" title="Get the error reduction parameter.">dWorldGetERP</a> (dWorldID); | ||
64 | <a name="l00100"></a>00100 | ||
65 | <a name="l00101"></a>00101 | ||
66 | <a name="l00109"></a>00109 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__world.html#g8b7913fe46d0afc468418c655da79233" title="Set the global CFM (constraint force mixing) value.">dWorldSetCFM</a> (dWorldID, dReal cfm); | ||
67 | <a name="l00110"></a>00110 | ||
68 | <a name="l00116"></a>00116 ODE_API dReal <a class="code" href="group__world.html#gc7a431f2b3fc6f887fe91ad676828ba3" title="Get the constraint force mixing value.">dWorldGetCFM</a> (dWorldID); | ||
69 | <a name="l00117"></a>00117 | ||
70 | <a name="l00118"></a>00118 | ||
71 | <a name="l00129"></a>00129 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__world.html#g8f547ebeb3deed27e0f7b8143d475f50" title="Step the world.">dWorldStep</a> (dWorldID, dReal stepsize); | ||
72 | <a name="l00130"></a>00130 | ||
73 | <a name="l00131"></a>00131 | ||
74 | <a name="l00146"></a>00146 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__world.html#ga9c564b4dd7d8fa4c6f4b32dd95fc33a" title="Converts an impulse to a force.">dWorldImpulseToForce</a> | ||
75 | <a name="l00147"></a>00147 ( | ||
76 | <a name="l00148"></a>00148 dWorldID, dReal stepsize, | ||
77 | <a name="l00149"></a>00149 dReal ix, dReal iy, dReal iz, dVector3 force | ||
78 | <a name="l00150"></a>00150 ); | ||
79 | <a name="l00151"></a>00151 | ||
80 | <a name="l00152"></a>00152 | ||
81 | <a name="l00184"></a>00184 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__world.html#gc24fadc1d42b65ca3563e40bc1f0fec1" title="Step the world.">dWorldQuickStep</a> (dWorldID w, dReal stepsize); | ||
82 | <a name="l00185"></a>00185 | ||
83 | <a name="l00186"></a>00186 | ||
84 | <a name="l00196"></a>00196 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__world.html#g9d852689d87d28a3d4947eda59c5ba7e" title="Set the number of iterations that the QuickStep method performs per step.">dWorldSetQuickStepNumIterations</a> (dWorldID, <span class="keywordtype">int</span> num); | ||
85 | <a name="l00197"></a>00197 | ||
86 | <a name="l00198"></a>00198 | ||
87 | <a name="l00205"></a>00205 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__world.html#ga51acfac06347fd27ff926d37672ce3c" title="Get the number of iterations that the QuickStep method performs per step.">dWorldGetQuickStepNumIterations</a> (dWorldID); | ||
88 | <a name="l00206"></a>00206 | ||
89 | <a name="l00212"></a>00212 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__world.html#gf741ee61e3f9981ae102729f23aad535" title="Set the SOR over-relaxation parameter.">dWorldSetQuickStepW</a> (dWorldID, dReal over_relaxation); | ||
90 | <a name="l00213"></a>00213 | ||
91 | <a name="l00219"></a>00219 ODE_API dReal <a class="code" href="group__world.html#ga7fef06f7a8293f21778939dfea36951" title="Get the SOR over-relaxation parameter.">dWorldGetQuickStepW</a> (dWorldID); | ||
92 | <a name="l00220"></a>00220 | ||
93 | <a name="l00221"></a>00221 <span class="comment">/* World contact parameter functions */</span> | ||
94 | <a name="l00222"></a>00222 | ||
95 | <a name="l00231"></a>00231 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__world.html#g2cec4be3f40d49c5950ceac1a28440d8" title="Set the maximum correcting velocity that contacts are allowed to generate.">dWorldSetContactMaxCorrectingVel</a> (dWorldID, dReal vel); | ||
96 | <a name="l00232"></a>00232 | ||
97 | <a name="l00238"></a>00238 ODE_API dReal <a class="code" href="group__world.html#g7673e6d0db3ddb319642caea7d14959d" title="Get the maximum correcting velocity that contacts are allowed to generated.">dWorldGetContactMaxCorrectingVel</a> (dWorldID); | ||
98 | <a name="l00239"></a>00239 | ||
99 | <a name="l00251"></a>00251 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__world.html#g8f6f964bc15b6cf0937d3214f6e3a1f1" title="Set the depth of the surface layer around all geometry objects.">dWorldSetContactSurfaceLayer</a> (dWorldID, dReal depth); | ||
100 | <a name="l00252"></a>00252 | ||
101 | <a name="l00258"></a>00258 ODE_API dReal <a class="code" href="group__world.html#g97e1c98f55d9b56d00e7838900ad5e58" title="Get the depth of the surface layer around all geometry objects.">dWorldGetContactSurfaceLayer</a> (dWorldID); | ||
102 | <a name="l00259"></a>00259 | ||
103 | <a name="l00260"></a>00260 <span class="comment">/* StepFast1 functions */</span> | ||
104 | <a name="l00261"></a>00261 | ||
105 | <a name="l00268"></a>00268 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__world.html#gefa68c714bb3c8f70503f101ea062c03" title="Step the world using the StepFast1 algorithm.">dWorldStepFast1</a>(dWorldID, dReal stepsize, <span class="keywordtype">int</span> maxiterations); | ||
106 | <a name="l00269"></a>00269 | ||
107 | <a name="l00270"></a>00270 | ||
108 | <a name="l00306"></a>00306 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__disable.html#g280c6deffe6b4b8ba39d60bf25355347" title="Set the AutoEnableDepth parameter used by the StepFast1 algorithm.">dWorldSetAutoEnableDepthSF1</a>(dWorldID, <span class="keywordtype">int</span> autoEnableDepth); | ||
109 | <a name="l00307"></a>00307 | ||
110 | <a name="l00312"></a>00312 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__disable.html#g5438f43d9c71d8090a44171f685de196" title="Get the AutoEnableDepth parameter used by the StepFast1 algorithm.">dWorldGetAutoEnableDepthSF1</a>(dWorldID); | ||
111 | <a name="l00313"></a>00313 | ||
112 | <a name="l00319"></a>00319 ODE_API dReal <a class="code" href="group__disable.html#g48802a9736cc8cc9c1a14cbc3125d9b2" title="Get auto disable linear threshold for newly created bodies.">dWorldGetAutoDisableLinearThreshold</a> (dWorldID); | ||
113 | <a name="l00320"></a>00320 | ||
114 | <a name="l00326"></a>00326 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__disable.html#ga1070c6f127352fb0a87ab1d42677b8e" title="Set auto disable linear threshold for newly created bodies.">dWorldSetAutoDisableLinearThreshold</a> (dWorldID, dReal linear_threshold); | ||
115 | <a name="l00327"></a>00327 | ||
116 | <a name="l00333"></a>00333 ODE_API dReal <a class="code" href="group__disable.html#g9d32b31b5d343c324897434a97387abc" title="Get auto disable angular threshold for newly created bodies.">dWorldGetAutoDisableAngularThreshold</a> (dWorldID); | ||
117 | <a name="l00334"></a>00334 | ||
118 | <a name="l00340"></a>00340 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__disable.html#g61cae2bd156129a918c3a1e69ac1b6dd" title="Set auto disable angular threshold for newly created bodies.">dWorldSetAutoDisableAngularThreshold</a> (dWorldID, dReal angular_threshold); | ||
119 | <a name="l00341"></a>00341 | ||
120 | <a name="l00347"></a>00347 ODE_API dReal <a class="code" href="group__disable.html#g947e2d43df920a26fb52b5273ea9856b" title="Get auto disable linear average threshold for newly created bodies.">dWorldGetAutoDisableLinearAverageThreshold</a> (dWorldID); | ||
121 | <a name="l00348"></a>00348 | ||
122 | <a name="l00354"></a>00354 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__disable.html#g3e5ef82227b955c545efc40d60ef1b21" title="Set auto disable linear average threshold for newly created bodies.">dWorldSetAutoDisableLinearAverageThreshold</a> (dWorldID, dReal linear_average_threshold); | ||
123 | <a name="l00355"></a>00355 | ||
124 | <a name="l00361"></a>00361 ODE_API dReal <a class="code" href="group__disable.html#gb9bd57f1bef49a8d9d6985462c078b02" title="Get auto disable angular average threshold for newly created bodies.">dWorldGetAutoDisableAngularAverageThreshold</a> (dWorldID); | ||
125 | <a name="l00362"></a>00362 | ||
126 | <a name="l00368"></a>00368 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__disable.html#gca94337cc27914fe4bc00ebce83f231a" title="Set auto disable angular average threshold for newly created bodies.">dWorldSetAutoDisableAngularAverageThreshold</a> (dWorldID, dReal angular_average_threshold); | ||
127 | <a name="l00369"></a>00369 | ||
128 | <a name="l00375"></a>00375 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__disable.html#g4343cfd23eb87f3ee629a9d13833c2ac" title="Get auto disable sample count for newly created bodies.">dWorldGetAutoDisableAverageSamplesCount</a> (dWorldID); | ||
129 | <a name="l00376"></a>00376 | ||
130 | <a name="l00383"></a>00383 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__disable.html#g2babd1af3df87518e5bac9dfcb392593" title="Set auto disable average sample count for newly created bodies.">dWorldSetAutoDisableAverageSamplesCount</a> (dWorldID, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> average_samples_count ); | ||
131 | <a name="l00384"></a>00384 | ||
132 | <a name="l00390"></a>00390 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__disable.html#gb0a26f648b9e40d8d4639bf187d5ac94" title="Get auto disable steps for newly created bodies.">dWorldGetAutoDisableSteps</a> (dWorldID); | ||
133 | <a name="l00391"></a>00391 | ||
134 | <a name="l00397"></a>00397 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__disable.html#gdb9f69119d1aa259a0e32a8ff94e2535" title="Set auto disable steps for newly created bodies.">dWorldSetAutoDisableSteps</a> (dWorldID, <span class="keywordtype">int</span> steps); | ||
135 | <a name="l00398"></a>00398 | ||
136 | <a name="l00404"></a>00404 ODE_API dReal <a class="code" href="group__disable.html#gbc004c37efff5f962fa2ac271b3be8e1" title="Get auto disable time for newly created bodies.">dWorldGetAutoDisableTime</a> (dWorldID); | ||
137 | <a name="l00405"></a>00405 | ||
138 | <a name="l00411"></a>00411 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__disable.html#g06828866a19cab7aeb129ca9ec76863b" title="Set auto disable time for newly created bodies.">dWorldSetAutoDisableTime</a> (dWorldID, dReal time); | ||
139 | <a name="l00412"></a>00412 | ||
140 | <a name="l00418"></a>00418 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__disable.html#g7617d19f08c7b1d22cf17ccf22bbdc00" title="Get auto disable flag for newly created bodies.">dWorldGetAutoDisableFlag</a> (dWorldID); | ||
141 | <a name="l00419"></a>00419 | ||
142 | <a name="l00425"></a>00425 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__disable.html#g58959b92ae4706e612bca673e85bfc50" title="Set auto disable flag for newly created bodies.">dWorldSetAutoDisableFlag</a> (dWorldID, <span class="keywordtype">int</span> do_auto_disable); | ||
143 | <a name="l00426"></a>00426 | ||
144 | <a name="l00427"></a>00427 | ||
145 | <a name="l00428"></a>00428 | ||
146 | <a name="l00468"></a>00468 ODE_API dReal <a class="code" href="group__bodies.html#g57c1e1b1bd50fdcafc5140c1ed89c7d7" title="Get auto disable linear average threshold.">dBodyGetAutoDisableLinearThreshold</a> (dBodyID); | ||
147 | <a name="l00469"></a>00469 | ||
148 | <a name="l00475"></a>00475 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#gb8f6e736830cfea86c35e7a0cdfa3112" title="Set auto disable linear average threshold.">dBodySetAutoDisableLinearThreshold</a> (dBodyID, dReal linear_average_threshold); | ||
149 | <a name="l00476"></a>00476 | ||
150 | <a name="l00482"></a>00482 ODE_API dReal <a class="code" href="group__bodies.html#g5b988719423e9bc3af1be2146872e2d6" title="Get auto disable angular average threshold.">dBodyGetAutoDisableAngularThreshold</a> (dBodyID); | ||
151 | <a name="l00483"></a>00483 | ||
152 | <a name="l00489"></a>00489 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#g206ccf22f027a62aaf5e45a16ddc4040" title="Set auto disable angular average threshold.">dBodySetAutoDisableAngularThreshold</a> (dBodyID, dReal angular_average_threshold); | ||
153 | <a name="l00490"></a>00490 | ||
154 | <a name="l00496"></a>00496 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__bodies.html#gf398254a02ab5bedcdf7e4fb2918a902" title="Get auto disable average size (samples count).">dBodyGetAutoDisableAverageSamplesCount</a> (dBodyID); | ||
155 | <a name="l00497"></a>00497 | ||
156 | <a name="l00503"></a>00503 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#g4bce13aaa5ffb7d4b3452191974c3be6" title="Set auto disable average buffer size (average steps).">dBodySetAutoDisableAverageSamplesCount</a> (dBodyID, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> average_samples_count); | ||
157 | <a name="l00504"></a>00504 | ||
158 | <a name="l00505"></a>00505 | ||
159 | <a name="l00511"></a>00511 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__bodies.html#g797ad84c737a2ae4ef3f8a37dfa02183" title="Get auto steps a body must be thought of as idle to disable.">dBodyGetAutoDisableSteps</a> (dBodyID); | ||
160 | <a name="l00512"></a>00512 | ||
161 | <a name="l00518"></a>00518 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#g03cc329bdc8e19e59c4bfe62cf736578" title="Set auto disable steps.">dBodySetAutoDisableSteps</a> (dBodyID, <span class="keywordtype">int</span> steps); | ||
162 | <a name="l00519"></a>00519 | ||
163 | <a name="l00525"></a>00525 ODE_API dReal <a class="code" href="group__bodies.html#ga2f4d01a8fb5c4d7e77efd5f0e4dd72b" title="Get auto disable time.">dBodyGetAutoDisableTime</a> (dBodyID); | ||
164 | <a name="l00526"></a>00526 | ||
165 | <a name="l00532"></a>00532 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#g0ae2f08bb38359934151f9420cdef341" title="Set auto disable time.">dBodySetAutoDisableTime</a> (dBodyID, dReal time); | ||
166 | <a name="l00533"></a>00533 | ||
167 | <a name="l00539"></a>00539 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__bodies.html#gfe44b3ae620abb1091472089cb07f64e" title="Get auto disable flag.">dBodyGetAutoDisableFlag</a> (dBodyID); | ||
168 | <a name="l00540"></a>00540 | ||
169 | <a name="l00546"></a>00546 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#ge352fdcd8851224f07da53f35691ceb7" title="Set auto disable flag.">dBodySetAutoDisableFlag</a> (dBodyID, <span class="keywordtype">int</span> do_auto_disable); | ||
170 | <a name="l00547"></a>00547 | ||
171 | <a name="l00554"></a>00554 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#g00969db4aebc2e8629cd9c45f3b7385e" title="Set auto disable defaults.">dBodySetAutoDisableDefaults</a> (dBodyID); | ||
172 | <a name="l00555"></a>00555 | ||
173 | <a name="l00556"></a>00556 | ||
174 | <a name="l00563"></a>00563 ODE_API dWorldID <a class="code" href="group__bodies.html#gb044b0a466f2ec2af3fd29ae399e822e" title="Retrives the world attached to te given body.">dBodyGetWorld</a> (dBodyID); | ||
175 | <a name="l00564"></a>00564 | ||
176 | <a name="l00571"></a>00571 ODE_API dBodyID <a class="code" href="group__bodies.html#g578137bbaf82d4b8896d2baee3a032a6" title="Create a body in given world.">dBodyCreate</a> (dWorldID); | ||
177 | <a name="l00572"></a>00572 | ||
178 | <a name="l00581"></a>00581 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#gc1a0ee96898f14017a29b2afa0eafe13" title="Destroy a body.">dBodyDestroy</a> (dBodyID); | ||
179 | <a name="l00582"></a>00582 | ||
180 | <a name="l00588"></a>00588 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#gf9cbe9e1ed1bd4559bb5603b8d0f92f2" title="Set the body&#39;s user-data pointer.">dBodySetData</a> (dBodyID, <span class="keywordtype">void</span> *data); | ||
181 | <a name="l00589"></a>00589 | ||
182 | <a name="l00595"></a>00595 ODE_API <span class="keywordtype">void</span> *<a class="code" href="group__bodies.html#g68d3d80c7476776dd4512d577bf70325" title="Get the body&#39;s user-data pointer.">dBodyGetData</a> (dBodyID); | ||
183 | <a name="l00596"></a>00596 | ||
184 | <a name="l00605"></a>00605 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#gb84612b793366f18ff5b5cbdbed092da" title="Set position of a body.">dBodySetPosition</a> (dBodyID, dReal x, dReal y, dReal z); | ||
185 | <a name="l00606"></a>00606 | ||
186 | <a name="l00615"></a>00615 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#gb5f04968ec37ef46d2aaffad6c344468" title="Set the orientation of a body.">dBodySetRotation</a> (dBodyID, <span class="keyword">const</span> dMatrix3 R); | ||
187 | <a name="l00616"></a>00616 | ||
188 | <a name="l00625"></a>00625 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#ga5f51dd3605c402320e9eae4231d7ad4" title="Set the orientation of a body.">dBodySetQuaternion</a> (dBodyID, <span class="keyword">const</span> dQuaternion q); | ||
189 | <a name="l00626"></a>00626 | ||
190 | <a name="l00631"></a>00631 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#gafe72e03c1df0f2150e2d7b8677e1460" title="Set the linear velocity of a body.">dBodySetLinearVel</a> (dBodyID, dReal x, dReal y, dReal z); | ||
191 | <a name="l00632"></a>00632 | ||
192 | <a name="l00637"></a>00637 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#g7b4f90c1986333395375c086c4f3ec41" title="Set the angular velocity of a body.">dBodySetAngularVel</a> (dBodyID, dReal x, dReal y, dReal z); | ||
193 | <a name="l00638"></a>00638 | ||
194 | <a name="l00648"></a>00648 ODE_API <span class="keyword">const</span> dReal * <a class="code" href="group__bodies.html#g2bddae29591b9f14c5175411b783d570" title="Get the position of a body.">dBodyGetPosition</a> (dBodyID); | ||
195 | <a name="l00649"></a>00649 | ||
196 | <a name="l00650"></a>00650 | ||
197 | <a name="l00658"></a>00658 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#gf69c1ebd1c8d7d165fe740c9f1146217" title="Copy the position of a body into a vector.">dBodyCopyPosition</a> (dBodyID body, dVector3 pos); | ||
198 | <a name="l00659"></a>00659 | ||
199 | <a name="l00660"></a>00660 | ||
200 | <a name="l00666"></a>00666 ODE_API <span class="keyword">const</span> dReal * <a class="code" href="group__bodies.html#g2374da7ff88a2bac607e2fbce529ad27" title="Get the rotation of a body.">dBodyGetRotation</a> (dBodyID); | ||
201 | <a name="l00667"></a>00667 | ||
202 | <a name="l00668"></a>00668 | ||
203 | <a name="l00676"></a>00676 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#ga992006681bc720c6c6ef644768226e5" title="Copy the rotation of a body.">dBodyCopyRotation</a> (dBodyID, dMatrix3 R); | ||
204 | <a name="l00677"></a>00677 | ||
205 | <a name="l00678"></a>00678 | ||
206 | <a name="l00684"></a>00684 ODE_API <span class="keyword">const</span> dReal * <a class="code" href="group__bodies.html#g36b7e19622ed47fe6b9dcfbac20237e7" title="Get the rotation of a body.">dBodyGetQuaternion</a> (dBodyID); | ||
207 | <a name="l00685"></a>00685 | ||
208 | <a name="l00686"></a>00686 | ||
209 | <a name="l00694"></a>00694 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#gd906c3ad061b7f70d1c60d6957aa2d0f" title="Copy the orientation of a body into a quaternion.">dBodyCopyQuaternion</a>(dBodyID body, dQuaternion quat); | ||
210 | <a name="l00695"></a>00695 | ||
211 | <a name="l00696"></a>00696 | ||
212 | <a name="l00701"></a>00701 ODE_API <span class="keyword">const</span> dReal * <a class="code" href="group__bodies.html#g2a0a986c12d53efd5a3753dd4b509cac" title="Get the linear velocity of a body.">dBodyGetLinearVel</a> (dBodyID); | ||
213 | <a name="l00702"></a>00702 | ||
214 | <a name="l00707"></a>00707 ODE_API <span class="keyword">const</span> dReal * <a class="code" href="group__bodies.html#g54dc73be9562cdece52d0a7d8decd1d0" title="Get the angular velocity of a body.">dBodyGetAngularVel</a> (dBodyID); | ||
215 | <a name="l00708"></a>00708 | ||
216 | <a name="l00713"></a>00713 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#gf3609b58548e34471ef8ad4727b33e52" title="Set the mass of a body.">dBodySetMass</a> (dBodyID, <span class="keyword">const</span> dMass *mass); | ||
217 | <a name="l00714"></a>00714 | ||
218 | <a name="l00719"></a>00719 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#g7aa7944f6e36a96d3e578f3369ac4171" title="Get the mass of a body.">dBodyGetMass</a> (dBodyID, dMass *mass); | ||
219 | <a name="l00720"></a>00720 | ||
220 | <a name="l00725"></a>00725 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#g1e1352dc350ad42bff5818f2200ba792" title="Add force at centre of mass of body in absolute coordinates.">dBodyAddForce</a> (dBodyID, dReal fx, dReal fy, dReal fz); | ||
221 | <a name="l00726"></a>00726 | ||
222 | <a name="l00731"></a>00731 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#g8378560dd168ee8d7a4b74e3de510ebc" title="Add torque at centre of mass of body in absolute coordinates.">dBodyAddTorque</a> (dBodyID, dReal fx, dReal fy, dReal fz); | ||
223 | <a name="l00732"></a>00732 | ||
224 | <a name="l00737"></a>00737 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#g0a91e5416c5af7729177c465346837ad" title="Add force at centre of mass of body in coordinates relative to body.">dBodyAddRelForce</a> (dBodyID, dReal fx, dReal fy, dReal fz); | ||
225 | <a name="l00738"></a>00738 | ||
226 | <a name="l00743"></a>00743 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#g172a59e64f6dfa4a59bcd45b694585de" title="Add torque at centre of mass of body in coordinates relative to body.">dBodyAddRelTorque</a> (dBodyID, dReal fx, dReal fy, dReal fz); | ||
227 | <a name="l00744"></a>00744 | ||
228 | <a name="l00749"></a>00749 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#gfa134c6b7b455680b890b677c5789c2b" title="Add force at specified point in body in global coordinates.">dBodyAddForceAtPos</a> (dBodyID, dReal fx, dReal fy, dReal fz, | ||
229 | <a name="l00750"></a>00750 dReal px, dReal py, dReal pz); | ||
230 | <a name="l00755"></a>00755 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#g77606cdb23029337a7ed43dee5a59ee1" title="Add force at specified point in body in local coordinates.">dBodyAddForceAtRelPos</a> (dBodyID, dReal fx, dReal fy, dReal fz, | ||
231 | <a name="l00756"></a>00756 dReal px, dReal py, dReal pz); | ||
232 | <a name="l00761"></a>00761 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#ga024b08f8dfb85705b86e18b99a0ef8e" title="Add force at specified point in body in global coordinates.">dBodyAddRelForceAtPos</a> (dBodyID, dReal fx, dReal fy, dReal fz, | ||
233 | <a name="l00762"></a>00762 dReal px, dReal py, dReal pz); | ||
234 | <a name="l00767"></a>00767 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#g7e5d20b6bb36f74d0dedb08f5eefddcb" title="Add force at specified point in body in local coordinates.">dBodyAddRelForceAtRelPos</a> (dBodyID, dReal fx, dReal fy, dReal fz, | ||
235 | <a name="l00768"></a>00768 dReal px, dReal py, dReal pz); | ||
236 | <a name="l00769"></a>00769 | ||
237 | <a name="l00779"></a>00779 ODE_API <span class="keyword">const</span> dReal * <a class="code" href="group__bodies.html#g3b458397a79f09b1957cb6e5a85e9eba" title="Return the current accumulated force vector.">dBodyGetForce</a> (dBodyID); | ||
238 | <a name="l00780"></a>00780 | ||
239 | <a name="l00790"></a>00790 ODE_API <span class="keyword">const</span> dReal * <a class="code" href="group__bodies.html#gfe88a5bc363fc812c8f154e3d5f8ea5d" title="Return the current accumulated torque vector.">dBodyGetTorque</a> (dBodyID); | ||
240 | <a name="l00791"></a>00791 | ||
241 | <a name="l00800"></a>00800 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#gbd56079db36d4562db0e18aebea4f95f" title="Set the body force accumulation vector.">dBodySetForce</a> (dBodyID b, dReal x, dReal y, dReal z); | ||
242 | <a name="l00801"></a>00801 | ||
243 | <a name="l00810"></a>00810 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#gfcd3e44223a878ba52428ad3a124fa94" title="Set the body torque accumulation vector.">dBodySetTorque</a> (dBodyID b, dReal x, dReal y, dReal z); | ||
244 | <a name="l00811"></a>00811 | ||
245 | <a name="l00817"></a>00817 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#gfcf00cd9c4c754c82189fb9d1eb9f102" title="Get world position of a relative point on body.">dBodyGetRelPointPos</a> | ||
246 | <a name="l00818"></a>00818 ( | ||
247 | <a name="l00819"></a>00819 dBodyID, dReal px, dReal py, dReal pz, | ||
248 | <a name="l00820"></a>00820 dVector3 result | ||
249 | <a name="l00821"></a>00821 ); | ||
250 | <a name="l00822"></a>00822 | ||
251 | <a name="l00828"></a>00828 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#g7fd4f4c7e70c59380da11277b2e97510" title="Get velocity vector in global coords of a relative point on body.">dBodyGetRelPointVel</a> | ||
252 | <a name="l00829"></a>00829 ( | ||
253 | <a name="l00830"></a>00830 dBodyID, dReal px, dReal py, dReal pz, | ||
254 | <a name="l00831"></a>00831 dVector3 result | ||
255 | <a name="l00832"></a>00832 ); | ||
256 | <a name="l00833"></a>00833 | ||
257 | <a name="l00840"></a>00840 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#g89dd6a4a3c6f3cd98c8377e8d4dec015" title="Get velocity vector in global coords of a globally specified point on a body.">dBodyGetPointVel</a> | ||
258 | <a name="l00841"></a>00841 ( | ||
259 | <a name="l00842"></a>00842 dBodyID, dReal px, dReal py, dReal pz, | ||
260 | <a name="l00843"></a>00843 dVector3 result | ||
261 | <a name="l00844"></a>00844 ); | ||
262 | <a name="l00845"></a>00845 | ||
263 | <a name="l00854"></a>00854 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#g0334d9d523cbfeec742ac4a814834199" title="takes a point in global coordinates and returns the point&#39;s position in body-relative...">dBodyGetPosRelPoint</a> | ||
264 | <a name="l00855"></a>00855 ( | ||
265 | <a name="l00856"></a>00856 dBodyID, dReal px, dReal py, dReal pz, | ||
266 | <a name="l00857"></a>00857 dVector3 result | ||
267 | <a name="l00858"></a>00858 ); | ||
268 | <a name="l00859"></a>00859 | ||
269 | <a name="l00865"></a>00865 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#g0a2cd6f7499bcfeb8275cbb981465bbf" title="Convert from local to world coordinates.">dBodyVectorToWorld</a> | ||
270 | <a name="l00866"></a>00866 ( | ||
271 | <a name="l00867"></a>00867 dBodyID, dReal px, dReal py, dReal pz, | ||
272 | <a name="l00868"></a>00868 dVector3 result | ||
273 | <a name="l00869"></a>00869 ); | ||
274 | <a name="l00870"></a>00870 | ||
275 | <a name="l00876"></a>00876 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#g1e3ac3ef038e806d4942ea8b399ab575" title="Convert from world to local coordinates.">dBodyVectorFromWorld</a> | ||
276 | <a name="l00877"></a>00877 ( | ||
277 | <a name="l00878"></a>00878 dBodyID, dReal px, dReal py, dReal pz, | ||
278 | <a name="l00879"></a>00879 dVector3 result | ||
279 | <a name="l00880"></a>00880 ); | ||
280 | <a name="l00881"></a>00881 | ||
281 | <a name="l00899"></a>00899 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#gc474ca36d734fb67b8bd504b672527fa" title="controls the way a body&#39;s orientation is updated at each timestep.">dBodySetFiniteRotationMode</a> (dBodyID, <span class="keywordtype">int</span> mode); | ||
282 | <a name="l00900"></a>00900 | ||
283 | <a name="l00917"></a>00917 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#ga9546c1ea6119fcbf80c71a96f56d052" title="sets the finite rotation axis for a body.">dBodySetFiniteRotationAxis</a> (dBodyID, dReal x, dReal y, dReal z); | ||
284 | <a name="l00918"></a>00918 | ||
285 | <a name="l00924"></a>00924 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__bodies.html#g3fb10ac984d64c92e4f138e50b704f9e" title="Get the way a body&#39;s orientation is updated each timestep.">dBodyGetFiniteRotationMode</a> (dBodyID); | ||
286 | <a name="l00925"></a>00925 | ||
287 | <a name="l00931"></a>00931 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#gfc8853ff678be731881665ff7abf61ad" title="Get the finite rotation axis.">dBodyGetFiniteRotationAxis</a> (dBodyID, dVector3 result); | ||
288 | <a name="l00932"></a>00932 | ||
289 | <a name="l00938"></a>00938 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__bodies.html#g79fd517a57ac9c3594cb71850f649af7" title="Get the number of joints that are attached to this body.">dBodyGetNumJoints</a> (dBodyID b); | ||
290 | <a name="l00939"></a>00939 | ||
291 | <a name="l00946"></a>00946 ODE_API dJointID <a class="code" href="group__bodies.html#g095e41c5b5632b22aa9bd1a4bd051f8d" title="Return a joint attached to this body, given by index.">dBodyGetJoint</a> (dBodyID, <span class="keywordtype">int</span> index); | ||
292 | <a name="l00947"></a>00947 | ||
293 | <a name="l00953"></a>00953 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#gd0776c40f667b235f8642e10755543f8" title="Manually enable a body.">dBodyEnable</a> (dBodyID); | ||
294 | <a name="l00954"></a>00954 | ||
295 | <a name="l00962"></a>00962 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#ga78092d7cadae36373441aa9be7e6157" title="Manually disable a body.">dBodyDisable</a> (dBodyID); | ||
296 | <a name="l00963"></a>00963 | ||
297 | <a name="l00969"></a>00969 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__bodies.html#g7e7803132dfcfceee04a6ab0ca1e0bf8" title="Check wether a body is enabled.">dBodyIsEnabled</a> (dBodyID); | ||
298 | <a name="l00970"></a>00970 | ||
299 | <a name="l00978"></a>00978 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__bodies.html#g5465d605e7fbe82d63a0d4e1000da731" title="Set whether the body is influenced by the world&#39;s gravity or not.">dBodySetGravityMode</a> (dBodyID b, <span class="keywordtype">int</span> mode); | ||
300 | <a name="l00979"></a>00979 | ||
301 | <a name="l00985"></a>00985 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__bodies.html#g0df2f4fed454c567f10fc8bbb8c70455" title="Get whether the body is influenced by the world&#39;s gravity or not.">dBodyGetGravityMode</a> (dBodyID b); | ||
302 | <a name="l00986"></a>00986 | ||
303 | <a name="l00987"></a>00987 | ||
304 | <a name="l00988"></a>00988 | ||
305 | <a name="l01064"></a>01064 ODE_API dJointID <a class="code" href="group__joints.html#g2d23509f8d6c6066b361af4cf14166f7" title="Create a new joint of the ball type.">dJointCreateBall</a> (dWorldID, dJointGroupID); | ||
306 | <a name="l01065"></a>01065 | ||
307 | <a name="l01072"></a>01072 ODE_API dJointID <a class="code" href="group__joints.html#g2f18d431d48c905abc9d72ce011c00bd" title="Create a new joint of the hinge type.">dJointCreateHinge</a> (dWorldID, dJointGroupID); | ||
308 | <a name="l01073"></a>01073 | ||
309 | <a name="l01080"></a>01080 ODE_API dJointID <a class="code" href="group__joints.html#geccc4c67b2d409016685a6a9163be539" title="Create a new joint of the slider type.">dJointCreateSlider</a> (dWorldID, dJointGroupID); | ||
310 | <a name="l01081"></a>01081 | ||
311 | <a name="l01088"></a>01088 ODE_API dJointID <a class="code" href="group__joints.html#gfa5e1543239ba44ecbdc178ebc7c3cc4" title="Create a new joint of the contact type.">dJointCreateContact</a> (dWorldID, dJointGroupID, <span class="keyword">const</span> dContact *); | ||
312 | <a name="l01089"></a>01089 | ||
313 | <a name="l01096"></a>01096 ODE_API dJointID <a class="code" href="group__joints.html#g6a6e32d35bdda9352d1be8d4df973f8f" title="Create a new joint of the hinge2 type.">dJointCreateHinge2</a> (dWorldID, dJointGroupID); | ||
314 | <a name="l01097"></a>01097 | ||
315 | <a name="l01104"></a>01104 ODE_API dJointID <a class="code" href="group__joints.html#g1cb2e7668242313b5d24acb5d43e5c62" title="Create a new joint of the universal type.">dJointCreateUniversal</a> (dWorldID, dJointGroupID); | ||
316 | <a name="l01105"></a>01105 | ||
317 | <a name="l01112"></a>01112 ODE_API dJointID <a class="code" href="group__joints.html#gdc867f10ba9931d191244fa879e43cb2" title="Create a new joint of the PR (Prismatic and Rotoide) type.">dJointCreatePR</a> (dWorldID, dJointGroupID); | ||
318 | <a name="l01113"></a>01113 | ||
319 | <a name="l01120"></a>01120 ODE_API dJointID <a class="code" href="group__joints.html#ge568995d03077e1acb13882a627dcf32" title="Create a new joint of the fixed type.">dJointCreateFixed</a> (dWorldID, dJointGroupID); | ||
320 | <a name="l01121"></a>01121 | ||
321 | <a name="l01122"></a>01122 ODE_API dJointID dJointCreateNull (dWorldID, dJointGroupID); | ||
322 | <a name="l01123"></a>01123 | ||
323 | <a name="l01130"></a>01130 ODE_API dJointID <a class="code" href="group__joints.html#gf23195ce77e12031393e591abd0e28e6" title="Create a new joint of the A-motor type.">dJointCreateAMotor</a> (dWorldID, dJointGroupID); | ||
324 | <a name="l01131"></a>01131 | ||
325 | <a name="l01138"></a>01138 ODE_API dJointID <a class="code" href="group__joints.html#g21c8c99615269c5d9d3c57c674f6fd56" title="Create a new joint of the L-motor type.">dJointCreateLMotor</a> (dWorldID, dJointGroupID); | ||
326 | <a name="l01139"></a>01139 | ||
327 | <a name="l01146"></a>01146 ODE_API dJointID <a class="code" href="group__joints.html#g7e68f39530acad9c0e7a38c8a3799b38" title="Create a new joint of the plane-2d type.">dJointCreatePlane2D</a> (dWorldID, dJointGroupID); | ||
328 | <a name="l01147"></a>01147 | ||
329 | <a name="l01156"></a>01156 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g2187ccbcf51c951f680eb6c9a210801a" title="Destroy a joint.">dJointDestroy</a> (dJointID); | ||
330 | <a name="l01157"></a>01157 | ||
331 | <a name="l01158"></a>01158 | ||
332 | <a name="l01164"></a>01164 ODE_API dJointGroupID <a class="code" href="group__joints.html#gaaec687b184a1214133a41503e7c628f" title="Create a joint group.">dJointGroupCreate</a> (<span class="keywordtype">int</span> max_size); | ||
333 | <a name="l01165"></a>01165 | ||
334 | <a name="l01172"></a>01172 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g49e664ee9a8bd7bfe5e6932bf936bb8f" title="Destroy a joint group.">dJointGroupDestroy</a> (dJointGroupID); | ||
335 | <a name="l01173"></a>01173 | ||
336 | <a name="l01181"></a>01181 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g6e055bac8a0a3261bda3b6d07499c4ea" title="Empty a joint group.">dJointGroupEmpty</a> (dJointGroupID); | ||
337 | <a name="l01182"></a>01182 | ||
338 | <a name="l01196"></a>01196 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g8f1c9b1302c799a1b87bc29b76d0dcec" title="Attach the joint to some new bodies.">dJointAttach</a> (dJointID, dBodyID body1, dBodyID body2); | ||
339 | <a name="l01197"></a>01197 | ||
340 | <a name="l01202"></a>01202 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g5ca72d8bd498ef1ba920b0b473e79d02" title="Set the user-data pointer.">dJointSetData</a> (dJointID, <span class="keywordtype">void</span> *data); | ||
341 | <a name="l01203"></a>01203 | ||
342 | <a name="l01208"></a>01208 ODE_API <span class="keywordtype">void</span> *<a class="code" href="group__joints.html#g607702a11bae2d2613295f67088b0e82" title="Get the user-data pointer.">dJointGetData</a> (dJointID); | ||
343 | <a name="l01209"></a>01209 | ||
344 | <a name="l01224"></a>01224 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__joints.html#g6f12f69d9b1a457428a28c2f77148174" title="Get the type of the joint.">dJointGetType</a> (dJointID); | ||
345 | <a name="l01225"></a>01225 | ||
346 | <a name="l01236"></a>01236 ODE_API dBodyID <a class="code" href="group__joints.html#gff13cbb464f1bfdc225fc9202c2c54c3" title="Return the bodies that this joint connects.">dJointGetBody</a> (dJointID, <span class="keywordtype">int</span> index); | ||
347 | <a name="l01237"></a>01237 | ||
348 | <a name="l01245"></a>01245 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g87ddb9beb95e9383a4280cb8a4186f01" title="Sets the datastructure that is to receive the feedback.">dJointSetFeedback</a> (dJointID, dJointFeedback *); | ||
349 | <a name="l01246"></a>01246 | ||
350 | <a name="l01251"></a>01251 ODE_API dJointFeedback *<a class="code" href="group__joints.html#gda1deef60d7afbb6b9375ddbf97e09a1" title="Gets the datastructure that is to receive the feedback.">dJointGetFeedback</a> (dJointID); | ||
351 | <a name="l01252"></a>01252 | ||
352 | <a name="l01260"></a>01260 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g058c33a3da1ff935a1125034f779dc4a" title="Set the joint anchor point.">dJointSetBallAnchor</a> (dJointID, dReal x, dReal y, dReal z); | ||
353 | <a name="l01261"></a>01261 | ||
354 | <a name="l01266"></a>01266 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g51eb42782182a714be26bbd68f7a6d9a" title="Set the joint anchor point.">dJointSetBallAnchor2</a> (dJointID, dReal x, dReal y, dReal z); | ||
355 | <a name="l01267"></a>01267 | ||
356 | <a name="l01272"></a>01272 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#ge58f5e11c0829aa8615622a74dd11d85" title="Param setting for Ball joints.">dJointSetBallParam</a> (dJointID, <span class="keywordtype">int</span> parameter, dReal value); | ||
357 | <a name="l01273"></a>01273 | ||
358 | <a name="l01278"></a>01278 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#gc5727a125de0abbe2abd61af7a55da26" title="Set hinge anchor parameter.">dJointSetHingeAnchor</a> (dJointID, dReal x, dReal y, dReal z); | ||
359 | <a name="l01279"></a>01279 | ||
360 | <a name="l01280"></a>01280 ODE_API <span class="keywordtype">void</span> dJointSetHingeAnchorDelta (dJointID, dReal x, dReal y, dReal z, dReal ax, dReal ay, dReal az); | ||
361 | <a name="l01281"></a>01281 | ||
362 | <a name="l01286"></a>01286 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#ga434229f033472ec7aa031a01c6cabed" title="Set hinge axis.">dJointSetHingeAxis</a> (dJointID, dReal x, dReal y, dReal z); | ||
363 | <a name="l01287"></a>01287 | ||
364 | <a name="l01292"></a>01292 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g6f9d34a01181e65639eb1f67da7a3e4c" title="set joint parameter">dJointSetHingeParam</a> (dJointID, <span class="keywordtype">int</span> parameter, dReal value); | ||
365 | <a name="l01293"></a>01293 | ||
366 | <a name="l01302"></a>01302 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#ga1725abe170f80b0731321ed38785019" title="Applies the torque about the hinge axis.">dJointAddHingeTorque</a>(dJointID joint, dReal torque); | ||
367 | <a name="l01303"></a>01303 | ||
368 | <a name="l01308"></a>01308 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#gb2f662b1190507551f49ffa29d276b61" title="set the joint axis">dJointSetSliderAxis</a> (dJointID, dReal x, dReal y, dReal z); | ||
369 | <a name="l01309"></a>01309 | ||
370 | <a name="l01313"></a>01313 ODE_API <span class="keywordtype">void</span> dJointSetSliderAxisDelta (dJointID, dReal x, dReal y, dReal z, dReal ax, dReal ay, dReal az); | ||
371 | <a name="l01314"></a>01314 | ||
372 | <a name="l01319"></a>01319 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g648964f4ca4122309e71a9cc6c24c985" title="set joint parameter">dJointSetSliderParam</a> (dJointID, <span class="keywordtype">int</span> parameter, dReal value); | ||
373 | <a name="l01320"></a>01320 | ||
374 | <a name="l01329"></a>01329 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g8b0e018cc3df6ea5ddb42320913455e7" title="Applies the given force in the slider&#39;s direction.">dJointAddSliderForce</a>(dJointID joint, dReal force); | ||
375 | <a name="l01330"></a>01330 | ||
376 | <a name="l01335"></a>01335 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#gf839c13fa85aff0287a87986ff447d29" title="set anchor">dJointSetHinge2Anchor</a> (dJointID, dReal x, dReal y, dReal z); | ||
377 | <a name="l01336"></a>01336 | ||
378 | <a name="l01341"></a>01341 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#gcdf78fbb0f5b0a09b4d3ac2059b07002" title="set axis">dJointSetHinge2Axis1</a> (dJointID, dReal x, dReal y, dReal z); | ||
379 | <a name="l01342"></a>01342 | ||
380 | <a name="l01347"></a>01347 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#gdfef9f6365c87dacb95b4850a9e9f0ee" title="set axis">dJointSetHinge2Axis2</a> (dJointID, dReal x, dReal y, dReal z); | ||
381 | <a name="l01348"></a>01348 | ||
382 | <a name="l01353"></a>01353 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g9a2d8d03776ccb22869667337457a7a9" title="set joint parameter">dJointSetHinge2Param</a> (dJointID, <span class="keywordtype">int</span> parameter, dReal value); | ||
383 | <a name="l01354"></a>01354 | ||
384 | <a name="l01361"></a>01361 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#ga5ba1541d092f28c93b1bdc3bfb1b69f" title="Applies torque1 about the hinge2&#39;s axis 1, torque2 about the hinge2&#39;s axis...">dJointAddHinge2Torques</a>(dJointID joint, dReal torque1, dReal torque2); | ||
385 | <a name="l01362"></a>01362 | ||
386 | <a name="l01367"></a>01367 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#gaf4657aed67f3cd7cce775215995c05d" title="set anchor">dJointSetUniversalAnchor</a> (dJointID, dReal x, dReal y, dReal z); | ||
387 | <a name="l01368"></a>01368 | ||
388 | <a name="l01373"></a>01373 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#ge0a831da9447ff65d76a0808502038e8" title="set axis">dJointSetUniversalAxis1</a> (dJointID, dReal x, dReal y, dReal z); | ||
389 | <a name="l01374"></a>01374 | ||
390 | <a name="l01379"></a>01379 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#gf3668eed7dc5aaf8fee19d7f87347343" title="set axis">dJointSetUniversalAxis2</a> (dJointID, dReal x, dReal y, dReal z); | ||
391 | <a name="l01380"></a>01380 | ||
392 | <a name="l01385"></a>01385 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g3c58284c43e997a028b06dc250064e32" title="set joint parameter">dJointSetUniversalParam</a> (dJointID, <span class="keywordtype">int</span> parameter, dReal value); | ||
393 | <a name="l01386"></a>01386 | ||
394 | <a name="l01393"></a>01393 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g36607569e2ee26f39d3d42cba2397898" title="Applies torque1 about the universal&#39;s axis 1, torque2 about the universal&#39;s...">dJointAddUniversalTorques</a>(dJointID joint, dReal torque1, dReal torque2); | ||
395 | <a name="l01394"></a>01394 | ||
396 | <a name="l01395"></a>01395 | ||
397 | <a name="l01400"></a>01400 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#ge46251e2cea2d31521b1fb9b151f640f" title="set anchor">dJointSetPRAnchor</a> (dJointID, dReal x, dReal y, dReal z); | ||
398 | <a name="l01401"></a>01401 | ||
399 | <a name="l01406"></a>01406 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#ga2ae3ab1fa58ec22bd443476f786fa81" title="set the axis for the prismatic articulation">dJointSetPRAxis1</a> (dJointID, dReal x, dReal y, dReal z); | ||
400 | <a name="l01407"></a>01407 | ||
401 | <a name="l01412"></a>01412 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#gc8c61c6dd7b28a58a4c0eaf2e91ecbd5" title="set the axis for the rotoide articulation">dJointSetPRAxis2</a> (dJointID, dReal x, dReal y, dReal z); | ||
402 | <a name="l01413"></a>01413 | ||
403 | <a name="l01420"></a>01420 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#gc08a28659605f17307d563f45db0824b" title="set joint parameter">dJointSetPRParam</a> (dJointID, <span class="keywordtype">int</span> parameter, dReal value); | ||
404 | <a name="l01421"></a>01421 | ||
405 | <a name="l01430"></a>01430 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#ge675b0e0e332ddcd907ac9d1461b1961" title="Applies the torque about the rotoide axis of the PR joint.">dJointAddPRTorque</a> (dJointID j, dReal torque); | ||
406 | <a name="l01431"></a>01431 | ||
407 | <a name="l01432"></a>01432 | ||
408 | <a name="l01439"></a>01439 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g8051a8232b4232f7b0d0fd57a3932072" title="Call this on the fixed joint after it has been attached to remember the current desired...">dJointSetFixed</a> (dJointID); | ||
409 | <a name="l01440"></a>01440 | ||
410 | <a name="l01441"></a>01441 <span class="comment">/*</span> | ||
411 | <a name="l01442"></a>01442 <span class="comment"> * @brief Sets joint parameter</span> | ||
412 | <a name="l01443"></a>01443 <span class="comment"> *</span> | ||
413 | <a name="l01444"></a>01444 <span class="comment"> * @ingroup joints</span> | ||
414 | <a name="l01445"></a>01445 <span class="comment"> */</span> | ||
415 | <a name="l01446"></a>01446 ODE_API <span class="keywordtype">void</span> dJointSetFixedParam (dJointID, <span class="keywordtype">int</span> parameter, dReal value); | ||
416 | <a name="l01447"></a>01447 | ||
417 | <a name="l01453"></a>01453 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g1406f976045a1b7edffbb46bf626d04f" title="set the nr of axes">dJointSetAMotorNumAxes</a> (dJointID, <span class="keywordtype">int</span> num); | ||
418 | <a name="l01454"></a>01454 | ||
419 | <a name="l01459"></a>01459 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#gbef7d92227b62e04b60eb9df02359603" title="set axis">dJointSetAMotorAxis</a> (dJointID, <span class="keywordtype">int</span> anum, <span class="keywordtype">int</span> rel, | ||
420 | <a name="l01460"></a>01460 dReal x, dReal y, dReal z); | ||
421 | <a name="l01461"></a>01461 | ||
422 | <a name="l01471"></a>01471 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g17b2089e6512e22d71340befb40100d2" title="Tell the AMotor what the current angle is along axis anum.">dJointSetAMotorAngle</a> (dJointID, <span class="keywordtype">int</span> anum, dReal angle); | ||
423 | <a name="l01472"></a>01472 | ||
424 | <a name="l01477"></a>01477 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#gac3f00196ee0cdb772e00dc259ef639a" title="set joint parameter">dJointSetAMotorParam</a> (dJointID, <span class="keywordtype">int</span> parameter, dReal value); | ||
425 | <a name="l01478"></a>01478 | ||
426 | <a name="l01483"></a>01483 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#gb0a3a8527810717c62a2c68dc4dfa822" title="set mode">dJointSetAMotorMode</a> (dJointID, <span class="keywordtype">int</span> mode); | ||
427 | <a name="l01484"></a>01484 | ||
428 | <a name="l01493"></a>01493 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g69d13d54516716020d2adb841699b77b" title="Applies torque0 about the AMotor&#39;s axis 0, torque1 about the AMotor&#39;s axis...">dJointAddAMotorTorques</a> (dJointID, dReal torque1, dReal torque2, dReal torque3); | ||
429 | <a name="l01494"></a>01494 | ||
430 | <a name="l01500"></a>01500 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#gcbfb4014567d69010aba3024d9b7bccd" title="Set the number of axes that will be controlled by the LMotor.">dJointSetLMotorNumAxes</a> (dJointID, <span class="keywordtype">int</span> num); | ||
431 | <a name="l01501"></a>01501 | ||
432 | <a name="l01513"></a>01513 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g080b7739f5b2b37a798742cee0ef38a4" title="Set the AMotor axes.">dJointSetLMotorAxis</a> (dJointID, <span class="keywordtype">int</span> anum, <span class="keywordtype">int</span> rel, dReal x, dReal y, dReal z); | ||
433 | <a name="l01514"></a>01514 | ||
434 | <a name="l01519"></a>01519 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g791bfa6e65d0c3dce99ca0bcd3beb8d6" title="set joint parameter">dJointSetLMotorParam</a> (dJointID, <span class="keywordtype">int</span> parameter, dReal value); | ||
435 | <a name="l01520"></a>01520 | ||
436 | <a name="l01524"></a>01524 ODE_API <span class="keywordtype">void</span> dJointSetPlane2DXParam (dJointID, <span class="keywordtype">int</span> parameter, dReal value); | ||
437 | <a name="l01525"></a>01525 | ||
438 | <a name="l01530"></a>01530 ODE_API <span class="keywordtype">void</span> dJointSetPlane2DYParam (dJointID, <span class="keywordtype">int</span> parameter, dReal value); | ||
439 | <a name="l01531"></a>01531 | ||
440 | <a name="l01535"></a>01535 ODE_API <span class="keywordtype">void</span> dJointSetPlane2DAngleParam (dJointID, <span class="keywordtype">int</span> parameter, dReal value); | ||
441 | <a name="l01536"></a>01536 | ||
442 | <a name="l01543"></a>01543 ODE_API <span class="keywordtype">void</span> dJointGetBallAnchor (dJointID, dVector3 result); | ||
443 | <a name="l01544"></a>01544 | ||
444 | <a name="l01555"></a>01555 ODE_API <span class="keywordtype">void</span> dJointGetBallAnchor2 (dJointID, dVector3 result); | ||
445 | <a name="l01556"></a>01556 | ||
446 | <a name="l01561"></a>01561 ODE_API dReal <a class="code" href="group__joints.html#g20a27c479a75443552942059542f26ad" title="get joint parameter">dJointGetBallParam</a> (dJointID, <span class="keywordtype">int</span> parameter); | ||
447 | <a name="l01562"></a>01562 | ||
448 | <a name="l01570"></a>01570 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g1d1c4f9b10c550f6fec550f9cc80c7ab" title="Get the hinge anchor point, in world coordinates.">dJointGetHingeAnchor</a> (dJointID, dVector3 result); | ||
449 | <a name="l01571"></a>01571 | ||
450 | <a name="l01580"></a>01580 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#gfdc1d9c7bd8824ec3e79cc5aa67ddfa1" title="Get the joint anchor point, in world coordinates.">dJointGetHingeAnchor2</a> (dJointID, dVector3 result); | ||
451 | <a name="l01581"></a>01581 | ||
452 | <a name="l01586"></a>01586 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g17b812897bc5faab33584cc5e3e4d3a4" title="get axis">dJointGetHingeAxis</a> (dJointID, dVector3 result); | ||
453 | <a name="l01587"></a>01587 | ||
454 | <a name="l01592"></a>01592 ODE_API dReal <a class="code" href="group__joints.html#g43416613e72d1b16a32331a0ba3c7d70" title="get joint parameter">dJointGetHingeParam</a> (dJointID, <span class="keywordtype">int</span> parameter); | ||
455 | <a name="l01593"></a>01593 | ||
456 | <a name="l01604"></a>01604 ODE_API dReal <a class="code" href="group__joints.html#g7ca6bdfe2b919b6bc2a27ba6f0e069f0" title="Get the hinge angle.">dJointGetHingeAngle</a> (dJointID); | ||
457 | <a name="l01605"></a>01605 | ||
458 | <a name="l01610"></a>01610 ODE_API dReal <a class="code" href="group__joints.html#g0d92377b748eb468dc38252df12afc76" title="Get the hinge angle time derivative.">dJointGetHingeAngleRate</a> (dJointID); | ||
459 | <a name="l01611"></a>01611 | ||
460 | <a name="l01619"></a>01619 ODE_API dReal <a class="code" href="group__joints.html#g7f35449914cbc4a86b845dcd85a617c0" title="Get the slider linear position (i.e. the slider&#39;s extension).">dJointGetSliderPosition</a> (dJointID); | ||
461 | <a name="l01620"></a>01620 | ||
462 | <a name="l01625"></a>01625 ODE_API dReal <a class="code" href="group__joints.html#g93378c9c2d0cd50c79cfb78ca881f8ec" title="Get the slider linear position&#39;s time derivative.">dJointGetSliderPositionRate</a> (dJointID); | ||
463 | <a name="l01626"></a>01626 | ||
464 | <a name="l01631"></a>01631 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g17e31e7a877446213c39d1431269788e" title="Get the slider axis.">dJointGetSliderAxis</a> (dJointID, dVector3 result); | ||
465 | <a name="l01632"></a>01632 | ||
466 | <a name="l01637"></a>01637 ODE_API dReal <a class="code" href="group__joints.html#gc76d8bb4bf8587af70ef5932025048fe" title="get joint parameter">dJointGetSliderParam</a> (dJointID, <span class="keywordtype">int</span> parameter); | ||
467 | <a name="l01638"></a>01638 | ||
468 | <a name="l01645"></a>01645 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g879999d011f82c73acf94029132cc198" title="Get the joint anchor point, in world coordinates.">dJointGetHinge2Anchor</a> (dJointID, dVector3 result); | ||
469 | <a name="l01646"></a>01646 | ||
470 | <a name="l01655"></a>01655 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#ga67cde755a0c9b699859ead5b5c81d26" title="Get the joint anchor point, in world coordinates. This returns the point on body...">dJointGetHinge2Anchor2</a> (dJointID, dVector3 result); | ||
471 | <a name="l01656"></a>01656 | ||
472 | <a name="l01661"></a>01661 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g5d3e60c78ed85e8086dd60b13c3054f5" title="Get joint axis.">dJointGetHinge2Axis1</a> (dJointID, dVector3 result); | ||
473 | <a name="l01662"></a>01662 | ||
474 | <a name="l01667"></a>01667 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g9459009e9370ea1a1e4de10f60053c87" title="Get joint axis.">dJointGetHinge2Axis2</a> (dJointID, dVector3 result); | ||
475 | <a name="l01668"></a>01668 | ||
476 | <a name="l01673"></a>01673 ODE_API dReal <a class="code" href="group__joints.html#g9fe8b60ba59aa9451e5758491e34045a" title="get joint parameter">dJointGetHinge2Param</a> (dJointID, <span class="keywordtype">int</span> parameter); | ||
477 | <a name="l01674"></a>01674 | ||
478 | <a name="l01679"></a>01679 ODE_API dReal <a class="code" href="group__joints.html#g430ed7cafe907e88929b28fdb17533c0" title="Get angle.">dJointGetHinge2Angle1</a> (dJointID); | ||
479 | <a name="l01680"></a>01680 | ||
480 | <a name="l01685"></a>01685 ODE_API dReal <a class="code" href="group__joints.html#g61881501e905ec1072aba05464fe44fb" title="Get time derivative of angle.">dJointGetHinge2Angle1Rate</a> (dJointID); | ||
481 | <a name="l01686"></a>01686 | ||
482 | <a name="l01691"></a>01691 ODE_API dReal <a class="code" href="group__joints.html#g028c47d8ff409f6856492d9eb0367c8a" title="Get time derivative of angle.">dJointGetHinge2Angle2Rate</a> (dJointID); | ||
483 | <a name="l01692"></a>01692 | ||
484 | <a name="l01699"></a>01699 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#ga768432c561cb76ba2490913f42d1aaf" title="Get the joint anchor point, in world coordinates.">dJointGetUniversalAnchor</a> (dJointID, dVector3 result); | ||
485 | <a name="l01700"></a>01700 | ||
486 | <a name="l01714"></a>01714 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g00d5018903a90d75c324c4f870b0e7ea" title="Get the joint anchor point, in world coordinates.">dJointGetUniversalAnchor2</a> (dJointID, dVector3 result); | ||
487 | <a name="l01715"></a>01715 | ||
488 | <a name="l01720"></a>01720 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#geaa8e546d93c304755a86ad3fa6d2abe" title="Get axis.">dJointGetUniversalAxis1</a> (dJointID, dVector3 result); | ||
489 | <a name="l01721"></a>01721 | ||
490 | <a name="l01726"></a>01726 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g13c01cbc9c5e918740bac0540f6473b3" title="Get axis.">dJointGetUniversalAxis2</a> (dJointID, dVector3 result); | ||
491 | <a name="l01727"></a>01727 | ||
492 | <a name="l01728"></a>01728 | ||
493 | <a name="l01733"></a>01733 ODE_API dReal <a class="code" href="group__joints.html#gf96e70e676058b7eb385f5810fec641a" title="get joint parameter">dJointGetUniversalParam</a> (dJointID, <span class="keywordtype">int</span> parameter); | ||
494 | <a name="l01734"></a>01734 | ||
495 | <a name="l01746"></a>01746 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g3c0fafbd1ccd8e450c01012ce600f6ab" title="Get both angles at the same time.">dJointGetUniversalAngles</a> (dJointID, dReal *angle1, dReal *angle2); | ||
496 | <a name="l01747"></a>01747 | ||
497 | <a name="l01752"></a>01752 ODE_API dReal <a class="code" href="group__joints.html#g3a08e2fed2e88eb0c964a33fb8c0c61f" title="Get angle.">dJointGetUniversalAngle1</a> (dJointID); | ||
498 | <a name="l01753"></a>01753 | ||
499 | <a name="l01758"></a>01758 ODE_API dReal <a class="code" href="group__joints.html#g4026a7331d7956eef31e72e20e0c703b" title="Get angle.">dJointGetUniversalAngle2</a> (dJointID); | ||
500 | <a name="l01759"></a>01759 | ||
501 | <a name="l01764"></a>01764 ODE_API dReal <a class="code" href="group__joints.html#g1f8ff99b6c33d3da2004a8846112427c" title="Get time derivative of angle.">dJointGetUniversalAngle1Rate</a> (dJointID); | ||
502 | <a name="l01765"></a>01765 | ||
503 | <a name="l01770"></a>01770 ODE_API dReal <a class="code" href="group__joints.html#g94fb28ecb65cb0711b555558c22396cf" title="Get time derivative of angle.">dJointGetUniversalAngle2Rate</a> (dJointID); | ||
504 | <a name="l01771"></a>01771 | ||
505 | <a name="l01772"></a>01772 | ||
506 | <a name="l01773"></a>01773 | ||
507 | <a name="l01780"></a>01780 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g88b176c70948c3f96e5c9173904b04fe" title="Get the joint anchor point, in world coordinates.">dJointGetPRAnchor</a> (dJointID, dVector3 result); | ||
508 | <a name="l01781"></a>01781 | ||
509 | <a name="l01793"></a>01793 ODE_API dReal <a class="code" href="group__joints.html#gd8b95871e93525f44badcdaf8e521da7" title="Get the PR linear position (i.e. the prismatic&#39;s extension).">dJointGetPRPosition</a> (dJointID); | ||
510 | <a name="l01794"></a>01794 | ||
511 | <a name="l01800"></a>01800 ODE_API dReal <a class="code" href="group__joints.html#gc3a434069c8bf31ae5140e2bff3bbb26" title="Get the PR linear position&#39;s time derivative.">dJointGetPRPositionRate</a> (dJointID); | ||
512 | <a name="l01801"></a>01801 | ||
513 | <a name="l01802"></a>01802 | ||
514 | <a name="l01807"></a>01807 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g826424aac5023739bb13426df672ab32" title="Get the prismatic axis.">dJointGetPRAxis1</a> (dJointID, dVector3 result); | ||
515 | <a name="l01808"></a>01808 | ||
516 | <a name="l01813"></a>01813 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g5f175ed66c5df1119a251fad8a51059d" title="Get the Rotoide axis.">dJointGetPRAxis2</a> (dJointID, dVector3 result); | ||
517 | <a name="l01814"></a>01814 | ||
518 | <a name="l01819"></a>01819 ODE_API dReal <a class="code" href="group__joints.html#g968b868bd1598b24a3101a04320206c6" title="get joint parameter">dJointGetPRParam</a> (dJointID, <span class="keywordtype">int</span> parameter); | ||
519 | <a name="l01820"></a>01820 | ||
520 | <a name="l01821"></a>01821 | ||
521 | <a name="l01822"></a>01822 | ||
522 | <a name="l01831"></a>01831 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__joints.html#g35f0392af69ece0d0c3ef7ed88b532bf" title="Get the number of angular axes that will be controlled by the AMotor.">dJointGetAMotorNumAxes</a> (dJointID); | ||
523 | <a name="l01832"></a>01832 | ||
524 | <a name="l01842"></a>01842 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#gef1af77cc19d81b24ad00025f3c9d5ec" title="Get the AMotor axes.">dJointGetAMotorAxis</a> (dJointID, <span class="keywordtype">int</span> anum, dVector3 result); | ||
525 | <a name="l01843"></a>01843 | ||
526 | <a name="l01860"></a>01860 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__joints.html#g1887538374f044e22f9742650d14ae69" title="Get axis.">dJointGetAMotorAxisRel</a> (dJointID, <span class="keywordtype">int</span> anum); | ||
527 | <a name="l01861"></a>01861 | ||
528 | <a name="l01870"></a>01870 ODE_API dReal <a class="code" href="group__joints.html#g3634444b00ac33a5f34a7af4fffda8b2" title="Get the current angle for axis.">dJointGetAMotorAngle</a> (dJointID, <span class="keywordtype">int</span> anum); | ||
529 | <a name="l01871"></a>01871 | ||
530 | <a name="l01880"></a>01880 ODE_API dReal <a class="code" href="group__joints.html#ga65abc36177390330037299b689b70c7" title="Get the current angle rate for axis anum.">dJointGetAMotorAngleRate</a> (dJointID, <span class="keywordtype">int</span> anum); | ||
531 | <a name="l01881"></a>01881 | ||
532 | <a name="l01886"></a>01886 ODE_API dReal <a class="code" href="group__joints.html#gfc4cd1046089baa4309d30ae7832d289" title="get joint parameter">dJointGetAMotorParam</a> (dJointID, <span class="keywordtype">int</span> parameter); | ||
533 | <a name="l01887"></a>01887 | ||
534 | <a name="l01901"></a>01901 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__joints.html#gf2430c2062414bc28660bdc06a0d72d5" title="Get the angular motor mode.">dJointGetAMotorMode</a> (dJointID); | ||
535 | <a name="l01902"></a>01902 | ||
536 | <a name="l01907"></a>01907 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__joints.html#g6d7557b5e94e0ee37561cadc5bf85cb7" title="Get nr of axes.">dJointGetLMotorNumAxes</a> (dJointID); | ||
537 | <a name="l01908"></a>01908 | ||
538 | <a name="l01913"></a>01913 ODE_API <span class="keywordtype">void</span> <a class="code" href="group__joints.html#g4ef7e0ca633583e82d90679c8eb6d5c3" title="Get axis.">dJointGetLMotorAxis</a> (dJointID, <span class="keywordtype">int</span> anum, dVector3 result); | ||
539 | <a name="l01914"></a>01914 | ||
540 | <a name="l01919"></a>01919 ODE_API dReal <a class="code" href="group__joints.html#gcbc48fd61857e3843923166abf81a7a0" title="get joint parameter">dJointGetLMotorParam</a> (dJointID, <span class="keywordtype">int</span> parameter); | ||
541 | <a name="l01920"></a>01920 | ||
542 | <a name="l01925"></a>01925 ODE_API dReal <a class="code" href="group__joints.html#ge433a5eac5f8600d8e6325666c2e12c2" title="get joint parameter">dJointGetFixedParam</a> (dJointID, <span class="keywordtype">int</span> parameter); | ||
543 | <a name="l01926"></a>01926 | ||
544 | <a name="l01927"></a>01927 | ||
545 | <a name="l01931"></a>01931 ODE_API dJointID dConnectingJoint (dBodyID, dBodyID); | ||
546 | <a name="l01932"></a>01932 | ||
547 | <a name="l01936"></a>01936 ODE_API <span class="keywordtype">int</span> dConnectingJointList (dBodyID, dBodyID, dJointID*); | ||
548 | <a name="l01937"></a>01937 | ||
549 | <a name="l01944"></a>01944 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__joints.html#g68eb2f4daea03713db4d8b4daca663ae" title="Utility function.">dAreConnected</a> (dBodyID, dBodyID); | ||
550 | <a name="l01945"></a>01945 | ||
551 | <a name="l01959"></a>01959 ODE_API <span class="keywordtype">int</span> <a class="code" href="group__joints.html#gc1eafde1fde036633136be6fd254ca5d" title="Utility function.">dAreConnectedExcluding</a> (dBodyID body1, dBodyID body2, <span class="keywordtype">int</span> joint_type); | ||
552 | <a name="l01960"></a>01960 | ||
553 | <a name="l01961"></a>01961 | ||
554 | <a name="l01962"></a>01962 <span class="preprocessor">#ifdef __cplusplus</span> | ||
555 | <a name="l01963"></a>01963 <span class="preprocessor"></span>} | ||
556 | <a name="l01964"></a>01964 <span class="preprocessor">#endif</span> | ||
557 | <a name="l01965"></a>01965 <span class="preprocessor"></span> | ||
558 | <a name="l01966"></a>01966 <span class="preprocessor">#endif</span> | ||
559 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
560 | <a href="http://www.doxygen.org/index.html"> | ||
561 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
562 | </body> | ||
563 | </html> | ||
diff --git a/libraries/ode-0.9/docs/ode_8h-source.html b/libraries/ode-0.9/docs/ode_8h-source.html new file mode 100644 index 0000000..6b083e0 --- /dev/null +++ b/libraries/ode-0.9/docs/ode_8h-source.html | |||
@@ -0,0 +1,67 @@ | |||
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: ode.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>ode.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00023"></a>00023 <span class="preprocessor">#ifndef _ODE_ODE_H_</span> | ||
39 | <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define _ODE_ODE_H_</span> | ||
40 | <a name="l00025"></a>00025 <span class="preprocessor"></span> | ||
41 | <a name="l00026"></a>00026 <span class="comment">/* include *everything* here */</span> | ||
42 | <a name="l00027"></a>00027 | ||
43 | <a name="l00028"></a>00028 <span class="preprocessor">#include <ode/config.h></span> | ||
44 | <a name="l00029"></a>00029 <span class="preprocessor">#include <ode/compatibility.h></span> | ||
45 | <a name="l00030"></a>00030 <span class="preprocessor">#include <ode/common.h></span> | ||
46 | <a name="l00031"></a>00031 <span class="preprocessor">#include <ode/contact.h></span> | ||
47 | <a name="l00032"></a>00032 <span class="preprocessor">#include <ode/error.h></span> | ||
48 | <a name="l00033"></a>00033 <span class="preprocessor">#include <ode/memory.h></span> | ||
49 | <a name="l00034"></a>00034 <span class="preprocessor">#include <ode/odemath.h></span> | ||
50 | <a name="l00035"></a>00035 <span class="preprocessor">#include <ode/matrix.h></span> | ||
51 | <a name="l00036"></a>00036 <span class="preprocessor">#include <ode/timer.h></span> | ||
52 | <a name="l00037"></a>00037 <span class="preprocessor">#include <ode/rotation.h></span> | ||
53 | <a name="l00038"></a>00038 <span class="preprocessor">#include <ode/mass.h></span> | ||
54 | <a name="l00039"></a>00039 <span class="preprocessor">#include <ode/misc.h></span> | ||
55 | <a name="l00040"></a>00040 <span class="preprocessor">#include <ode/objects.h></span> | ||
56 | <a name="l00041"></a>00041 <span class="preprocessor">#include <ode/odecpp.h></span> | ||
57 | <a name="l00042"></a>00042 <span class="preprocessor">#include <ode/collision_space.h></span> | ||
58 | <a name="l00043"></a>00043 <span class="preprocessor">#include <ode/collision.h></span> | ||
59 | <a name="l00044"></a>00044 <span class="preprocessor">#include <ode/odecpp_collision.h></span> | ||
60 | <a name="l00045"></a>00045 <span class="preprocessor">#include <ode/export-dif.h></span> | ||
61 | <a name="l00046"></a>00046 | ||
62 | <a name="l00047"></a>00047 <span class="preprocessor">#endif</span> | ||
63 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
64 | <a href="http://www.doxygen.org/index.html"> | ||
65 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
66 | </body> | ||
67 | </html> | ||
diff --git a/libraries/ode-0.9/docs/odecpp_8h-source.html b/libraries/ode-0.9/docs/odecpp_8h-source.html new file mode 100644 index 0000000..33c6dac --- /dev/null +++ b/libraries/ode-0.9/docs/odecpp_8h-source.html | |||
@@ -0,0 +1,732 @@ | |||
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: odecpp.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>odecpp.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00023"></a>00023 <span class="comment">/* C++ interface for non-collision stuff */</span> | ||
39 | <a name="l00024"></a>00024 | ||
40 | <a name="l00025"></a>00025 | ||
41 | <a name="l00026"></a>00026 <span class="preprocessor">#ifndef _ODE_ODECPP_H_</span> | ||
42 | <a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define _ODE_ODECPP_H_</span> | ||
43 | <a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#ifdef __cplusplus</span> | ||
44 | <a name="l00029"></a>00029 <span class="preprocessor"></span> | ||
45 | <a name="l00030"></a>00030 <span class="preprocessor">#include <ode/error.h></span> | ||
46 | <a name="l00031"></a>00031 | ||
47 | <a name="l00032"></a>00032 | ||
48 | <a name="l00033"></a>00033 <span class="keyword">class </span>dWorld { | ||
49 | <a name="l00034"></a>00034 dWorldID _id; | ||
50 | <a name="l00035"></a>00035 | ||
51 | <a name="l00036"></a>00036 <span class="comment">// intentionally undefined, don't use these</span> | ||
52 | <a name="l00037"></a>00037 dWorld (<span class="keyword">const</span> dWorld &); | ||
53 | <a name="l00038"></a>00038 <span class="keywordtype">void</span> operator= (<span class="keyword">const</span> dWorld &); | ||
54 | <a name="l00039"></a>00039 | ||
55 | <a name="l00040"></a>00040 <span class="keyword">public</span>: | ||
56 | <a name="l00041"></a>00041 dWorld() | ||
57 | <a name="l00042"></a>00042 { _id = <a class="code" href="group__world.html#g929067266d630fb745f752042d685fc7" title="Create a new, empty world and return its ID number.">dWorldCreate</a>(); } | ||
58 | <a name="l00043"></a>00043 ~dWorld() | ||
59 | <a name="l00044"></a>00044 { <a class="code" href="group__world.html#g5a2e5b1d2d6a1376dca239b488e629f9" title="Destroy a world and everything in it.">dWorldDestroy</a> (_id); } | ||
60 | <a name="l00045"></a>00045 | ||
61 | <a name="l00046"></a>00046 dWorldID id()<span class="keyword"> const</span> | ||
62 | <a name="l00047"></a>00047 <span class="keyword"> </span>{ <span class="keywordflow">return</span> _id; } | ||
63 | <a name="l00048"></a>00048 operator dWorldID()<span class="keyword"> const</span> | ||
64 | <a name="l00049"></a>00049 <span class="keyword"> </span>{ <span class="keywordflow">return</span> _id; } | ||
65 | <a name="l00050"></a>00050 | ||
66 | <a name="l00051"></a>00051 <span class="keywordtype">void</span> setGravity (dReal x, dReal y, dReal z) | ||
67 | <a name="l00052"></a>00052 { <a class="code" href="group__world.html#ga1b220b922215b335572c699cf8f8cad" title="Set the world&#39;s global gravity vector.">dWorldSetGravity</a> (_id,x,y,z); } | ||
68 | <a name="l00053"></a>00053 <span class="keywordtype">void</span> getGravity (dVector3 g)<span class="keyword"> const</span> | ||
69 | <a name="l00054"></a>00054 <span class="keyword"> </span>{ <a class="code" href="group__world.html#ge1a29b6a91cc1910a982c916ae4dee4a" title="Get the gravity vector for a given world.">dWorldGetGravity</a> (_id,g); } | ||
70 | <a name="l00055"></a>00055 | ||
71 | <a name="l00056"></a>00056 <span class="keywordtype">void</span> setERP (dReal erp) | ||
72 | <a name="l00057"></a>00057 { <a class="code" href="group__world.html#gacd0778bdaa939d22f093fc2d5d5f868" title="Set the global ERP value, that controls how much error correction is performed in...">dWorldSetERP</a>(_id, erp); } | ||
73 | <a name="l00058"></a>00058 dReal getERP()<span class="keyword"> const</span> | ||
74 | <a name="l00059"></a>00059 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__world.html#g033cd87a0b22889a94d4d84149bda5a0" title="Get the error reduction parameter.">dWorldGetERP</a>(_id); } | ||
75 | <a name="l00060"></a>00060 | ||
76 | <a name="l00061"></a>00061 <span class="keywordtype">void</span> setCFM (dReal cfm) | ||
77 | <a name="l00062"></a>00062 { <a class="code" href="group__world.html#g8b7913fe46d0afc468418c655da79233" title="Set the global CFM (constraint force mixing) value.">dWorldSetCFM</a>(_id, cfm); } | ||
78 | <a name="l00063"></a>00063 dReal getCFM()<span class="keyword"> const</span> | ||
79 | <a name="l00064"></a>00064 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__world.html#gc7a431f2b3fc6f887fe91ad676828ba3" title="Get the constraint force mixing value.">dWorldGetCFM</a>(_id); } | ||
80 | <a name="l00065"></a>00065 | ||
81 | <a name="l00066"></a>00066 <span class="keywordtype">void</span> step (dReal stepsize) | ||
82 | <a name="l00067"></a>00067 { <a class="code" href="group__world.html#g8f547ebeb3deed27e0f7b8143d475f50" title="Step the world.">dWorldStep</a> (_id,stepsize); } | ||
83 | <a name="l00068"></a>00068 | ||
84 | <a name="l00069"></a>00069 <span class="keywordtype">void</span> stepFast1 (dReal stepsize, <span class="keywordtype">int</span> maxiterations) | ||
85 | <a name="l00070"></a>00070 { <a class="code" href="group__world.html#gefa68c714bb3c8f70503f101ea062c03" title="Step the world using the StepFast1 algorithm.">dWorldStepFast1</a> (_id,stepsize,maxiterations); } | ||
86 | <a name="l00071"></a>00071 <span class="keywordtype">void</span> setAutoEnableDepthSF1(dWorldID, <span class="keywordtype">int</span> depth) | ||
87 | <a name="l00072"></a>00072 { <a class="code" href="group__disable.html#g280c6deffe6b4b8ba39d60bf25355347" title="Set the AutoEnableDepth parameter used by the StepFast1 algorithm.">dWorldSetAutoEnableDepthSF1</a> (_id, depth); } | ||
88 | <a name="l00073"></a>00073 <span class="keywordtype">int</span> getAutoEnableDepthSF1(dWorldID) | ||
89 | <a name="l00074"></a>00074 { <span class="keywordflow">return</span> <a class="code" href="group__disable.html#g5438f43d9c71d8090a44171f685de196" title="Get the AutoEnableDepth parameter used by the StepFast1 algorithm.">dWorldGetAutoEnableDepthSF1</a> (_id); } | ||
90 | <a name="l00075"></a>00075 | ||
91 | <a name="l00076"></a>00076 <span class="keywordtype">void</span> setAutoDisableLinearThreshold (dReal threshold) | ||
92 | <a name="l00077"></a>00077 { <a class="code" href="group__disable.html#ga1070c6f127352fb0a87ab1d42677b8e" title="Set auto disable linear threshold for newly created bodies.">dWorldSetAutoDisableLinearThreshold</a> (_id,threshold); } | ||
93 | <a name="l00078"></a>00078 dReal getAutoDisableLinearThreshold() | ||
94 | <a name="l00079"></a>00079 { <span class="keywordflow">return</span> <a class="code" href="group__disable.html#g48802a9736cc8cc9c1a14cbc3125d9b2" title="Get auto disable linear threshold for newly created bodies.">dWorldGetAutoDisableLinearThreshold</a> (_id); } | ||
95 | <a name="l00080"></a>00080 <span class="keywordtype">void</span> setAutoDisableAngularThreshold (dReal threshold) | ||
96 | <a name="l00081"></a>00081 { <a class="code" href="group__disable.html#g61cae2bd156129a918c3a1e69ac1b6dd" title="Set auto disable angular threshold for newly created bodies.">dWorldSetAutoDisableAngularThreshold</a> (_id,threshold); } | ||
97 | <a name="l00082"></a>00082 dReal getAutoDisableAngularThreshold() | ||
98 | <a name="l00083"></a>00083 { <span class="keywordflow">return</span> <a class="code" href="group__disable.html#g9d32b31b5d343c324897434a97387abc" title="Get auto disable angular threshold for newly created bodies.">dWorldGetAutoDisableAngularThreshold</a> (_id); } | ||
99 | <a name="l00084"></a>00084 <span class="keywordtype">void</span> setAutoDisableSteps (<span class="keywordtype">int</span> steps) | ||
100 | <a name="l00085"></a>00085 { <a class="code" href="group__disable.html#gdb9f69119d1aa259a0e32a8ff94e2535" title="Set auto disable steps for newly created bodies.">dWorldSetAutoDisableSteps</a> (_id,steps); } | ||
101 | <a name="l00086"></a>00086 <span class="keywordtype">int</span> getAutoDisableSteps() | ||
102 | <a name="l00087"></a>00087 { <span class="keywordflow">return</span> <a class="code" href="group__disable.html#gb0a26f648b9e40d8d4639bf187d5ac94" title="Get auto disable steps for newly created bodies.">dWorldGetAutoDisableSteps</a> (_id); } | ||
103 | <a name="l00088"></a>00088 <span class="keywordtype">void</span> setAutoDisableTime (dReal time) | ||
104 | <a name="l00089"></a>00089 { <a class="code" href="group__disable.html#g06828866a19cab7aeb129ca9ec76863b" title="Set auto disable time for newly created bodies.">dWorldSetAutoDisableTime</a> (_id,time); } | ||
105 | <a name="l00090"></a>00090 dReal getAutoDisableTime() | ||
106 | <a name="l00091"></a>00091 { <span class="keywordflow">return</span> <a class="code" href="group__disable.html#gbc004c37efff5f962fa2ac271b3be8e1" title="Get auto disable time for newly created bodies.">dWorldGetAutoDisableTime</a> (_id); } | ||
107 | <a name="l00092"></a>00092 <span class="keywordtype">void</span> setAutoDisableFlag (<span class="keywordtype">int</span> do_auto_disable) | ||
108 | <a name="l00093"></a>00093 { <a class="code" href="group__disable.html#g58959b92ae4706e612bca673e85bfc50" title="Set auto disable flag for newly created bodies.">dWorldSetAutoDisableFlag</a> (_id,do_auto_disable); } | ||
109 | <a name="l00094"></a>00094 <span class="keywordtype">int</span> getAutoDisableFlag() | ||
110 | <a name="l00095"></a>00095 { <span class="keywordflow">return</span> <a class="code" href="group__disable.html#g7617d19f08c7b1d22cf17ccf22bbdc00" title="Get auto disable flag for newly created bodies.">dWorldGetAutoDisableFlag</a> (_id); } | ||
111 | <a name="l00096"></a>00096 | ||
112 | <a name="l00097"></a>00097 <span class="keywordtype">void</span> impulseToForce (dReal stepsize, dReal ix, dReal iy, dReal iz, | ||
113 | <a name="l00098"></a>00098 dVector3 force) | ||
114 | <a name="l00099"></a>00099 { <a class="code" href="group__world.html#ga9c564b4dd7d8fa4c6f4b32dd95fc33a" title="Converts an impulse to a force.">dWorldImpulseToForce</a> (_id,stepsize,ix,iy,iz,force); } | ||
115 | <a name="l00100"></a>00100 }; | ||
116 | <a name="l00101"></a>00101 | ||
117 | <a name="l00102"></a>00102 | ||
118 | <a name="l00103"></a>00103 <span class="keyword">class </span>dBody { | ||
119 | <a name="l00104"></a>00104 dBodyID _id; | ||
120 | <a name="l00105"></a>00105 | ||
121 | <a name="l00106"></a>00106 <span class="comment">// intentionally undefined, don't use these</span> | ||
122 | <a name="l00107"></a>00107 dBody (<span class="keyword">const</span> dBody &); | ||
123 | <a name="l00108"></a>00108 <span class="keywordtype">void</span> operator= (<span class="keyword">const</span> dBody &); | ||
124 | <a name="l00109"></a>00109 | ||
125 | <a name="l00110"></a>00110 <span class="keyword">public</span>: | ||
126 | <a name="l00111"></a>00111 dBody() | ||
127 | <a name="l00112"></a>00112 { _id = 0; } | ||
128 | <a name="l00113"></a>00113 dBody (dWorldID world) | ||
129 | <a name="l00114"></a>00114 { _id = <a class="code" href="group__bodies.html#g578137bbaf82d4b8896d2baee3a032a6" title="Create a body in given world.">dBodyCreate</a> (world); } | ||
130 | <a name="l00115"></a>00115 ~dBody() | ||
131 | <a name="l00116"></a>00116 { <span class="keywordflow">if</span> (_id) <a class="code" href="group__bodies.html#gc1a0ee96898f14017a29b2afa0eafe13" title="Destroy a body.">dBodyDestroy</a> (_id); } | ||
132 | <a name="l00117"></a>00117 | ||
133 | <a name="l00118"></a>00118 <span class="keywordtype">void</span> create (dWorldID world) { | ||
134 | <a name="l00119"></a>00119 <span class="keywordflow">if</span> (_id) <a class="code" href="group__bodies.html#gc1a0ee96898f14017a29b2afa0eafe13" title="Destroy a body.">dBodyDestroy</a> (_id); | ||
135 | <a name="l00120"></a>00120 _id = <a class="code" href="group__bodies.html#g578137bbaf82d4b8896d2baee3a032a6" title="Create a body in given world.">dBodyCreate</a> (world); | ||
136 | <a name="l00121"></a>00121 } | ||
137 | <a name="l00122"></a>00122 | ||
138 | <a name="l00123"></a>00123 dBodyID id()<span class="keyword"> const</span> | ||
139 | <a name="l00124"></a>00124 <span class="keyword"> </span>{ <span class="keywordflow">return</span> _id; } | ||
140 | <a name="l00125"></a>00125 operator dBodyID()<span class="keyword"> const</span> | ||
141 | <a name="l00126"></a>00126 <span class="keyword"> </span>{ <span class="keywordflow">return</span> _id; } | ||
142 | <a name="l00127"></a>00127 | ||
143 | <a name="l00128"></a>00128 <span class="keywordtype">void</span> setData (<span class="keywordtype">void</span> *data) | ||
144 | <a name="l00129"></a>00129 { <a class="code" href="group__bodies.html#gf9cbe9e1ed1bd4559bb5603b8d0f92f2" title="Set the body&#39;s user-data pointer.">dBodySetData</a> (_id,data); } | ||
145 | <a name="l00130"></a>00130 <span class="keywordtype">void</span> *getData()<span class="keyword"> const</span> | ||
146 | <a name="l00131"></a>00131 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__bodies.html#g68d3d80c7476776dd4512d577bf70325" title="Get the body&#39;s user-data pointer.">dBodyGetData</a> (_id); } | ||
147 | <a name="l00132"></a>00132 | ||
148 | <a name="l00133"></a>00133 <span class="keywordtype">void</span> setPosition (dReal x, dReal y, dReal z) | ||
149 | <a name="l00134"></a>00134 { <a class="code" href="group__bodies.html#gb84612b793366f18ff5b5cbdbed092da" title="Set position of a body.">dBodySetPosition</a> (_id,x,y,z); } | ||
150 | <a name="l00135"></a>00135 <span class="keywordtype">void</span> setRotation (<span class="keyword">const</span> dMatrix3 R) | ||
151 | <a name="l00136"></a>00136 { <a class="code" href="group__bodies.html#gb5f04968ec37ef46d2aaffad6c344468" title="Set the orientation of a body.">dBodySetRotation</a> (_id,R); } | ||
152 | <a name="l00137"></a>00137 <span class="keywordtype">void</span> setQuaternion (<span class="keyword">const</span> dQuaternion q) | ||
153 | <a name="l00138"></a>00138 { <a class="code" href="group__bodies.html#ga5f51dd3605c402320e9eae4231d7ad4" title="Set the orientation of a body.">dBodySetQuaternion</a> (_id,q); } | ||
154 | <a name="l00139"></a>00139 <span class="keywordtype">void</span> setLinearVel (dReal x, dReal y, dReal z) | ||
155 | <a name="l00140"></a>00140 { <a class="code" href="group__bodies.html#gafe72e03c1df0f2150e2d7b8677e1460" title="Set the linear velocity of a body.">dBodySetLinearVel</a> (_id,x,y,z); } | ||
156 | <a name="l00141"></a>00141 <span class="keywordtype">void</span> setAngularVel (dReal x, dReal y, dReal z) | ||
157 | <a name="l00142"></a>00142 { <a class="code" href="group__bodies.html#g7b4f90c1986333395375c086c4f3ec41" title="Set the angular velocity of a body.">dBodySetAngularVel</a> (_id,x,y,z); } | ||
158 | <a name="l00143"></a>00143 | ||
159 | <a name="l00144"></a>00144 <span class="keyword">const</span> dReal * getPosition()<span class="keyword"> const</span> | ||
160 | <a name="l00145"></a>00145 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__bodies.html#g2bddae29591b9f14c5175411b783d570" title="Get the position of a body.">dBodyGetPosition</a> (_id); } | ||
161 | <a name="l00146"></a>00146 <span class="keyword">const</span> dReal * getRotation()<span class="keyword"> const</span> | ||
162 | <a name="l00147"></a>00147 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__bodies.html#g2374da7ff88a2bac607e2fbce529ad27" title="Get the rotation of a body.">dBodyGetRotation</a> (_id); } | ||
163 | <a name="l00148"></a>00148 <span class="keyword">const</span> dReal * getQuaternion()<span class="keyword"> const</span> | ||
164 | <a name="l00149"></a>00149 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__bodies.html#g36b7e19622ed47fe6b9dcfbac20237e7" title="Get the rotation of a body.">dBodyGetQuaternion</a> (_id); } | ||
165 | <a name="l00150"></a>00150 <span class="keyword">const</span> dReal * getLinearVel()<span class="keyword"> const</span> | ||
166 | <a name="l00151"></a>00151 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__bodies.html#g2a0a986c12d53efd5a3753dd4b509cac" title="Get the linear velocity of a body.">dBodyGetLinearVel</a> (_id); } | ||
167 | <a name="l00152"></a>00152 <span class="keyword">const</span> dReal * getAngularVel()<span class="keyword"> const</span> | ||
168 | <a name="l00153"></a>00153 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__bodies.html#g54dc73be9562cdece52d0a7d8decd1d0" title="Get the angular velocity of a body.">dBodyGetAngularVel</a> (_id); } | ||
169 | <a name="l00154"></a>00154 | ||
170 | <a name="l00155"></a>00155 <span class="keywordtype">void</span> setMass (<span class="keyword">const</span> dMass *mass) | ||
171 | <a name="l00156"></a>00156 { <a class="code" href="group__bodies.html#gf3609b58548e34471ef8ad4727b33e52" title="Set the mass of a body.">dBodySetMass</a> (_id,mass); } | ||
172 | <a name="l00157"></a>00157 <span class="keywordtype">void</span> getMass (dMass *mass)<span class="keyword"> const</span> | ||
173 | <a name="l00158"></a>00158 <span class="keyword"> </span>{ <a class="code" href="group__bodies.html#g7aa7944f6e36a96d3e578f3369ac4171" title="Get the mass of a body.">dBodyGetMass</a> (_id,mass); } | ||
174 | <a name="l00159"></a>00159 | ||
175 | <a name="l00160"></a>00160 <span class="keywordtype">void</span> addForce (dReal fx, dReal fy, dReal fz) | ||
176 | <a name="l00161"></a>00161 { <a class="code" href="group__bodies.html#g1e1352dc350ad42bff5818f2200ba792" title="Add force at centre of mass of body in absolute coordinates.">dBodyAddForce</a> (_id, fx, fy, fz); } | ||
177 | <a name="l00162"></a>00162 <span class="keywordtype">void</span> addTorque (dReal fx, dReal fy, dReal fz) | ||
178 | <a name="l00163"></a>00163 { <a class="code" href="group__bodies.html#g8378560dd168ee8d7a4b74e3de510ebc" title="Add torque at centre of mass of body in absolute coordinates.">dBodyAddTorque</a> (_id, fx, fy, fz); } | ||
179 | <a name="l00164"></a>00164 <span class="keywordtype">void</span> addRelForce (dReal fx, dReal fy, dReal fz) | ||
180 | <a name="l00165"></a>00165 { <a class="code" href="group__bodies.html#g0a91e5416c5af7729177c465346837ad" title="Add force at centre of mass of body in coordinates relative to body.">dBodyAddRelForce</a> (_id, fx, fy, fz); } | ||
181 | <a name="l00166"></a>00166 <span class="keywordtype">void</span> addRelTorque (dReal fx, dReal fy, dReal fz) | ||
182 | <a name="l00167"></a>00167 { <a class="code" href="group__bodies.html#g172a59e64f6dfa4a59bcd45b694585de" title="Add torque at centre of mass of body in coordinates relative to body.">dBodyAddRelTorque</a> (_id, fx, fy, fz); } | ||
183 | <a name="l00168"></a>00168 <span class="keywordtype">void</span> addForceAtPos (dReal fx, dReal fy, dReal fz, | ||
184 | <a name="l00169"></a>00169 dReal px, dReal py, dReal pz) | ||
185 | <a name="l00170"></a>00170 { <a class="code" href="group__bodies.html#gfa134c6b7b455680b890b677c5789c2b" title="Add force at specified point in body in global coordinates.">dBodyAddForceAtPos</a> (_id, fx, fy, fz, px, py, pz); } | ||
186 | <a name="l00171"></a>00171 <span class="keywordtype">void</span> addForceAtRelPos (dReal fx, dReal fy, dReal fz, | ||
187 | <a name="l00172"></a>00172 dReal px, dReal py, dReal pz) | ||
188 | <a name="l00173"></a>00173 { <a class="code" href="group__bodies.html#g77606cdb23029337a7ed43dee5a59ee1" title="Add force at specified point in body in local coordinates.">dBodyAddForceAtRelPos</a> (_id, fx, fy, fz, px, py, pz); } | ||
189 | <a name="l00174"></a>00174 <span class="keywordtype">void</span> addRelForceAtPos (dReal fx, dReal fy, dReal fz, | ||
190 | <a name="l00175"></a>00175 dReal px, dReal py, dReal pz) | ||
191 | <a name="l00176"></a>00176 { <a class="code" href="group__bodies.html#ga024b08f8dfb85705b86e18b99a0ef8e" title="Add force at specified point in body in global coordinates.">dBodyAddRelForceAtPos</a> (_id, fx, fy, fz, px, py, pz); } | ||
192 | <a name="l00177"></a>00177 <span class="keywordtype">void</span> addRelForceAtRelPos (dReal fx, dReal fy, dReal fz, | ||
193 | <a name="l00178"></a>00178 dReal px, dReal py, dReal pz) | ||
194 | <a name="l00179"></a>00179 { <a class="code" href="group__bodies.html#g7e5d20b6bb36f74d0dedb08f5eefddcb" title="Add force at specified point in body in local coordinates.">dBodyAddRelForceAtRelPos</a> (_id, fx, fy, fz, px, py, pz); } | ||
195 | <a name="l00180"></a>00180 | ||
196 | <a name="l00181"></a>00181 <span class="keyword">const</span> dReal * getForce()<span class="keyword"> const</span> | ||
197 | <a name="l00182"></a>00182 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__bodies.html#g3b458397a79f09b1957cb6e5a85e9eba" title="Return the current accumulated force vector.">dBodyGetForce</a>(_id); } | ||
198 | <a name="l00183"></a>00183 <span class="keyword">const</span> dReal * getTorque()<span class="keyword"> const</span> | ||
199 | <a name="l00184"></a>00184 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__bodies.html#gfe88a5bc363fc812c8f154e3d5f8ea5d" title="Return the current accumulated torque vector.">dBodyGetTorque</a>(_id); } | ||
200 | <a name="l00185"></a>00185 <span class="keywordtype">void</span> setForce (dReal x, dReal y, dReal z) | ||
201 | <a name="l00186"></a>00186 { <a class="code" href="group__bodies.html#gbd56079db36d4562db0e18aebea4f95f" title="Set the body force accumulation vector.">dBodySetForce</a> (_id,x,y,z); } | ||
202 | <a name="l00187"></a>00187 <span class="keywordtype">void</span> setTorque (dReal x, dReal y, dReal z) | ||
203 | <a name="l00188"></a>00188 { <a class="code" href="group__bodies.html#gfcd3e44223a878ba52428ad3a124fa94" title="Set the body torque accumulation vector.">dBodySetTorque</a> (_id,x,y,z); } | ||
204 | <a name="l00189"></a>00189 | ||
205 | <a name="l00190"></a>00190 <span class="keywordtype">void</span> enable() | ||
206 | <a name="l00191"></a>00191 { <a class="code" href="group__bodies.html#gd0776c40f667b235f8642e10755543f8" title="Manually enable a body.">dBodyEnable</a> (_id); } | ||
207 | <a name="l00192"></a>00192 <span class="keywordtype">void</span> disable() | ||
208 | <a name="l00193"></a>00193 { <a class="code" href="group__bodies.html#ga78092d7cadae36373441aa9be7e6157" title="Manually disable a body.">dBodyDisable</a> (_id); } | ||
209 | <a name="l00194"></a>00194 <span class="keywordtype">int</span> isEnabled()<span class="keyword"> const</span> | ||
210 | <a name="l00195"></a>00195 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__bodies.html#g7e7803132dfcfceee04a6ab0ca1e0bf8" title="Check wether a body is enabled.">dBodyIsEnabled</a> (_id); } | ||
211 | <a name="l00196"></a>00196 | ||
212 | <a name="l00197"></a>00197 <span class="keywordtype">void</span> getRelPointPos (dReal px, dReal py, dReal pz, dVector3 result)<span class="keyword"> const</span> | ||
213 | <a name="l00198"></a>00198 <span class="keyword"> </span>{ <a class="code" href="group__bodies.html#gfcf00cd9c4c754c82189fb9d1eb9f102" title="Get world position of a relative point on body.">dBodyGetRelPointPos</a> (_id, px, py, pz, result); } | ||
214 | <a name="l00199"></a>00199 <span class="keywordtype">void</span> getRelPointVel (dReal px, dReal py, dReal pz, dVector3 result)<span class="keyword"> const</span> | ||
215 | <a name="l00200"></a>00200 <span class="keyword"> </span>{ <a class="code" href="group__bodies.html#g7fd4f4c7e70c59380da11277b2e97510" title="Get velocity vector in global coords of a relative point on body.">dBodyGetRelPointVel</a> (_id, px, py, pz, result); } | ||
216 | <a name="l00201"></a>00201 <span class="keywordtype">void</span> getPointVel (dReal px, dReal py, dReal pz, dVector3 result)<span class="keyword"> const</span> | ||
217 | <a name="l00202"></a>00202 <span class="keyword"> </span>{ <a class="code" href="group__bodies.html#g89dd6a4a3c6f3cd98c8377e8d4dec015" title="Get velocity vector in global coords of a globally specified point on a body.">dBodyGetPointVel</a> (_id,px,py,pz,result); } | ||
218 | <a name="l00203"></a>00203 <span class="keywordtype">void</span> getPosRelPoint (dReal px, dReal py, dReal pz, dVector3 result)<span class="keyword"> const</span> | ||
219 | <a name="l00204"></a>00204 <span class="keyword"> </span>{ <a class="code" href="group__bodies.html#g0334d9d523cbfeec742ac4a814834199" title="takes a point in global coordinates and returns the point&#39;s position in body-relative...">dBodyGetPosRelPoint</a> (_id,px,py,pz,result); } | ||
220 | <a name="l00205"></a>00205 <span class="keywordtype">void</span> vectorToWorld (dReal px, dReal py, dReal pz, dVector3 result)<span class="keyword"> const</span> | ||
221 | <a name="l00206"></a>00206 <span class="keyword"> </span>{ <a class="code" href="group__bodies.html#g0a2cd6f7499bcfeb8275cbb981465bbf" title="Convert from local to world coordinates.">dBodyVectorToWorld</a> (_id,px,py,pz,result); } | ||
222 | <a name="l00207"></a>00207 <span class="keywordtype">void</span> vectorFromWorld (dReal px, dReal py, dReal pz, dVector3 result)<span class="keyword"> const</span> | ||
223 | <a name="l00208"></a>00208 <span class="keyword"> </span>{ <a class="code" href="group__bodies.html#g1e3ac3ef038e806d4942ea8b399ab575" title="Convert from world to local coordinates.">dBodyVectorFromWorld</a> (_id,px,py,pz,result); } | ||
224 | <a name="l00209"></a>00209 | ||
225 | <a name="l00210"></a>00210 <span class="keywordtype">void</span> setFiniteRotationMode (<span class="keywordtype">int</span> mode) | ||
226 | <a name="l00211"></a>00211 { <a class="code" href="group__bodies.html#gc474ca36d734fb67b8bd504b672527fa" title="controls the way a body&#39;s orientation is updated at each timestep.">dBodySetFiniteRotationMode</a> (_id, mode); } | ||
227 | <a name="l00212"></a>00212 <span class="keywordtype">void</span> setFiniteRotationAxis (dReal x, dReal y, dReal z) | ||
228 | <a name="l00213"></a>00213 { <a class="code" href="group__bodies.html#ga9546c1ea6119fcbf80c71a96f56d052" title="sets the finite rotation axis for a body.">dBodySetFiniteRotationAxis</a> (_id, x, y, z); } | ||
229 | <a name="l00214"></a>00214 | ||
230 | <a name="l00215"></a>00215 <span class="keywordtype">int</span> getFiniteRotationMode()<span class="keyword"> const</span> | ||
231 | <a name="l00216"></a>00216 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__bodies.html#g3fb10ac984d64c92e4f138e50b704f9e" title="Get the way a body&#39;s orientation is updated each timestep.">dBodyGetFiniteRotationMode</a> (_id); } | ||
232 | <a name="l00217"></a>00217 <span class="keywordtype">void</span> getFiniteRotationAxis (dVector3 result)<span class="keyword"> const</span> | ||
233 | <a name="l00218"></a>00218 <span class="keyword"> </span>{ <a class="code" href="group__bodies.html#gfc8853ff678be731881665ff7abf61ad" title="Get the finite rotation axis.">dBodyGetFiniteRotationAxis</a> (_id, result); } | ||
234 | <a name="l00219"></a>00219 | ||
235 | <a name="l00220"></a>00220 <span class="keywordtype">int</span> getNumJoints()<span class="keyword"> const</span> | ||
236 | <a name="l00221"></a>00221 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__bodies.html#g79fd517a57ac9c3594cb71850f649af7" title="Get the number of joints that are attached to this body.">dBodyGetNumJoints</a> (_id); } | ||
237 | <a name="l00222"></a>00222 dJointID getJoint (<span class="keywordtype">int</span> index)<span class="keyword"> const</span> | ||
238 | <a name="l00223"></a>00223 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__bodies.html#g095e41c5b5632b22aa9bd1a4bd051f8d" title="Return a joint attached to this body, given by index.">dBodyGetJoint</a> (_id, index); } | ||
239 | <a name="l00224"></a>00224 | ||
240 | <a name="l00225"></a>00225 <span class="keywordtype">void</span> setGravityMode (<span class="keywordtype">int</span> mode) | ||
241 | <a name="l00226"></a>00226 { <a class="code" href="group__bodies.html#g5465d605e7fbe82d63a0d4e1000da731" title="Set whether the body is influenced by the world&#39;s gravity or not.">dBodySetGravityMode</a> (_id,mode); } | ||
242 | <a name="l00227"></a>00227 <span class="keywordtype">int</span> getGravityMode()<span class="keyword"> const</span> | ||
243 | <a name="l00228"></a>00228 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__bodies.html#g0df2f4fed454c567f10fc8bbb8c70455" title="Get whether the body is influenced by the world&#39;s gravity or not.">dBodyGetGravityMode</a> (_id); } | ||
244 | <a name="l00229"></a>00229 | ||
245 | <a name="l00230"></a>00230 <span class="keywordtype">int</span> isConnectedTo (dBodyID body)<span class="keyword"> const</span> | ||
246 | <a name="l00231"></a>00231 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g68eb2f4daea03713db4d8b4daca663ae" title="Utility function.">dAreConnected</a> (_id, body); } | ||
247 | <a name="l00232"></a>00232 | ||
248 | <a name="l00233"></a>00233 <span class="keywordtype">void</span> setAutoDisableLinearThreshold (dReal threshold) | ||
249 | <a name="l00234"></a>00234 { <a class="code" href="group__bodies.html#gb8f6e736830cfea86c35e7a0cdfa3112" title="Set auto disable linear average threshold.">dBodySetAutoDisableLinearThreshold</a> (_id,threshold); } | ||
250 | <a name="l00235"></a>00235 dReal getAutoDisableLinearThreshold() | ||
251 | <a name="l00236"></a>00236 { <span class="keywordflow">return</span> <a class="code" href="group__bodies.html#g57c1e1b1bd50fdcafc5140c1ed89c7d7" title="Get auto disable linear average threshold.">dBodyGetAutoDisableLinearThreshold</a> (_id); } | ||
252 | <a name="l00237"></a>00237 <span class="keywordtype">void</span> setAutoDisableAngularThreshold (dReal threshold) | ||
253 | <a name="l00238"></a>00238 { <a class="code" href="group__bodies.html#g206ccf22f027a62aaf5e45a16ddc4040" title="Set auto disable angular average threshold.">dBodySetAutoDisableAngularThreshold</a> (_id,threshold); } | ||
254 | <a name="l00239"></a>00239 dReal getAutoDisableAngularThreshold() | ||
255 | <a name="l00240"></a>00240 { <span class="keywordflow">return</span> <a class="code" href="group__bodies.html#g5b988719423e9bc3af1be2146872e2d6" title="Get auto disable angular average threshold.">dBodyGetAutoDisableAngularThreshold</a> (_id); } | ||
256 | <a name="l00241"></a>00241 <span class="keywordtype">void</span> setAutoDisableSteps (<span class="keywordtype">int</span> steps) | ||
257 | <a name="l00242"></a>00242 { <a class="code" href="group__bodies.html#g03cc329bdc8e19e59c4bfe62cf736578" title="Set auto disable steps.">dBodySetAutoDisableSteps</a> (_id,steps); } | ||
258 | <a name="l00243"></a>00243 <span class="keywordtype">int</span> getAutoDisableSteps() | ||
259 | <a name="l00244"></a>00244 { <span class="keywordflow">return</span> <a class="code" href="group__bodies.html#g797ad84c737a2ae4ef3f8a37dfa02183" title="Get auto steps a body must be thought of as idle to disable.">dBodyGetAutoDisableSteps</a> (_id); } | ||
260 | <a name="l00245"></a>00245 <span class="keywordtype">void</span> setAutoDisableTime (dReal time) | ||
261 | <a name="l00246"></a>00246 { <a class="code" href="group__bodies.html#g0ae2f08bb38359934151f9420cdef341" title="Set auto disable time.">dBodySetAutoDisableTime</a> (_id,time); } | ||
262 | <a name="l00247"></a>00247 dReal getAutoDisableTime() | ||
263 | <a name="l00248"></a>00248 { <span class="keywordflow">return</span> <a class="code" href="group__bodies.html#ga2f4d01a8fb5c4d7e77efd5f0e4dd72b" title="Get auto disable time.">dBodyGetAutoDisableTime</a> (_id); } | ||
264 | <a name="l00249"></a>00249 <span class="keywordtype">void</span> setAutoDisableFlag (<span class="keywordtype">int</span> do_auto_disable) | ||
265 | <a name="l00250"></a>00250 { <a class="code" href="group__bodies.html#ge352fdcd8851224f07da53f35691ceb7" title="Set auto disable flag.">dBodySetAutoDisableFlag</a> (_id,do_auto_disable); } | ||
266 | <a name="l00251"></a>00251 <span class="keywordtype">int</span> getAutoDisableFlag() | ||
267 | <a name="l00252"></a>00252 { <span class="keywordflow">return</span> <a class="code" href="group__bodies.html#gfe44b3ae620abb1091472089cb07f64e" title="Get auto disable flag.">dBodyGetAutoDisableFlag</a> (_id); } | ||
268 | <a name="l00253"></a>00253 }; | ||
269 | <a name="l00254"></a>00254 | ||
270 | <a name="l00255"></a>00255 | ||
271 | <a name="l00256"></a>00256 <span class="keyword">class </span>dJointGroup { | ||
272 | <a name="l00257"></a>00257 dJointGroupID _id; | ||
273 | <a name="l00258"></a>00258 | ||
274 | <a name="l00259"></a>00259 <span class="comment">// intentionally undefined, don't use these</span> | ||
275 | <a name="l00260"></a>00260 dJointGroup (<span class="keyword">const</span> dJointGroup &); | ||
276 | <a name="l00261"></a>00261 <span class="keywordtype">void</span> operator= (<span class="keyword">const</span> dJointGroup &); | ||
277 | <a name="l00262"></a>00262 | ||
278 | <a name="l00263"></a>00263 <span class="keyword">public</span>: | ||
279 | <a name="l00264"></a>00264 dJointGroup (<span class="keywordtype">int</span> dummy_arg=0) | ||
280 | <a name="l00265"></a>00265 { _id = <a class="code" href="group__joints.html#gaaec687b184a1214133a41503e7c628f" title="Create a joint group.">dJointGroupCreate</a> (0); } | ||
281 | <a name="l00266"></a>00266 ~dJointGroup() | ||
282 | <a name="l00267"></a>00267 { <a class="code" href="group__joints.html#g49e664ee9a8bd7bfe5e6932bf936bb8f" title="Destroy a joint group.">dJointGroupDestroy</a> (_id); } | ||
283 | <a name="l00268"></a>00268 <span class="keywordtype">void</span> create (<span class="keywordtype">int</span> dummy_arg=0) { | ||
284 | <a name="l00269"></a>00269 <span class="keywordflow">if</span> (_id) <a class="code" href="group__joints.html#g49e664ee9a8bd7bfe5e6932bf936bb8f" title="Destroy a joint group.">dJointGroupDestroy</a> (_id); | ||
285 | <a name="l00270"></a>00270 _id = <a class="code" href="group__joints.html#gaaec687b184a1214133a41503e7c628f" title="Create a joint group.">dJointGroupCreate</a> (0); | ||
286 | <a name="l00271"></a>00271 } | ||
287 | <a name="l00272"></a>00272 | ||
288 | <a name="l00273"></a>00273 dJointGroupID id()<span class="keyword"> const</span> | ||
289 | <a name="l00274"></a>00274 <span class="keyword"> </span>{ <span class="keywordflow">return</span> _id; } | ||
290 | <a name="l00275"></a>00275 operator dJointGroupID()<span class="keyword"> const</span> | ||
291 | <a name="l00276"></a>00276 <span class="keyword"> </span>{ <span class="keywordflow">return</span> _id; } | ||
292 | <a name="l00277"></a>00277 | ||
293 | <a name="l00278"></a>00278 <span class="keywordtype">void</span> empty() | ||
294 | <a name="l00279"></a>00279 { <a class="code" href="group__joints.html#g6e055bac8a0a3261bda3b6d07499c4ea" title="Empty a joint group.">dJointGroupEmpty</a> (_id); } | ||
295 | <a name="l00280"></a>00280 }; | ||
296 | <a name="l00281"></a>00281 | ||
297 | <a name="l00282"></a>00282 | ||
298 | <a name="l00283"></a>00283 <span class="keyword">class </span>dJoint { | ||
299 | <a name="l00284"></a>00284 <span class="keyword">private</span>: | ||
300 | <a name="l00285"></a>00285 <span class="comment">// intentionally undefined, don't use these</span> | ||
301 | <a name="l00286"></a>00286 dJoint (<span class="keyword">const</span> dJoint &) ; | ||
302 | <a name="l00287"></a>00287 <span class="keywordtype">void</span> operator= (<span class="keyword">const</span> dJoint &); | ||
303 | <a name="l00288"></a>00288 | ||
304 | <a name="l00289"></a>00289 <span class="keyword">protected</span>: | ||
305 | <a name="l00290"></a>00290 dJointID _id; | ||
306 | <a name="l00291"></a>00291 | ||
307 | <a name="l00292"></a>00292 <span class="keyword">public</span>: | ||
308 | <a name="l00293"></a>00293 dJoint() | ||
309 | <a name="l00294"></a>00294 { _id = 0; } | ||
310 | <a name="l00295"></a>00295 ~dJoint() | ||
311 | <a name="l00296"></a>00296 { <span class="keywordflow">if</span> (_id) <a class="code" href="group__joints.html#g2187ccbcf51c951f680eb6c9a210801a" title="Destroy a joint.">dJointDestroy</a> (_id); } | ||
312 | <a name="l00297"></a>00297 | ||
313 | <a name="l00298"></a>00298 dJointID id()<span class="keyword"> const</span> | ||
314 | <a name="l00299"></a>00299 <span class="keyword"> </span>{ <span class="keywordflow">return</span> _id; } | ||
315 | <a name="l00300"></a>00300 operator dJointID()<span class="keyword"> const</span> | ||
316 | <a name="l00301"></a>00301 <span class="keyword"> </span>{ <span class="keywordflow">return</span> _id; } | ||
317 | <a name="l00302"></a>00302 | ||
318 | <a name="l00303"></a>00303 <span class="keywordtype">void</span> attach (dBodyID body1, dBodyID body2) | ||
319 | <a name="l00304"></a>00304 { <a class="code" href="group__joints.html#g8f1c9b1302c799a1b87bc29b76d0dcec" title="Attach the joint to some new bodies.">dJointAttach</a> (_id, body1, body2); } | ||
320 | <a name="l00305"></a>00305 | ||
321 | <a name="l00306"></a>00306 <span class="keywordtype">void</span> setData (<span class="keywordtype">void</span> *data) | ||
322 | <a name="l00307"></a>00307 { <a class="code" href="group__joints.html#g5ca72d8bd498ef1ba920b0b473e79d02" title="Set the user-data pointer.">dJointSetData</a> (_id, data); } | ||
323 | <a name="l00308"></a>00308 <span class="keywordtype">void</span> *getData()<span class="keyword"> const</span> | ||
324 | <a name="l00309"></a>00309 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g607702a11bae2d2613295f67088b0e82" title="Get the user-data pointer.">dJointGetData</a> (_id); } | ||
325 | <a name="l00310"></a>00310 | ||
326 | <a name="l00311"></a>00311 <span class="keywordtype">int</span> getType()<span class="keyword"> const</span> | ||
327 | <a name="l00312"></a>00312 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g6f12f69d9b1a457428a28c2f77148174" title="Get the type of the joint.">dJointGetType</a> (_id); } | ||
328 | <a name="l00313"></a>00313 | ||
329 | <a name="l00314"></a>00314 dBodyID getBody (<span class="keywordtype">int</span> index)<span class="keyword"> const</span> | ||
330 | <a name="l00315"></a>00315 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#gff13cbb464f1bfdc225fc9202c2c54c3" title="Return the bodies that this joint connects.">dJointGetBody</a> (_id, index); } | ||
331 | <a name="l00316"></a>00316 | ||
332 | <a name="l00317"></a>00317 <span class="keywordtype">void</span> setFeedback(dJointFeedback *fb) | ||
333 | <a name="l00318"></a>00318 { <a class="code" href="group__joints.html#g87ddb9beb95e9383a4280cb8a4186f01" title="Sets the datastructure that is to receive the feedback.">dJointSetFeedback</a>(_id, fb); } | ||
334 | <a name="l00319"></a>00319 dJointFeedback *getFeedback()<span class="keyword"> const</span> | ||
335 | <a name="l00320"></a>00320 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#gda1deef60d7afbb6b9375ddbf97e09a1" title="Gets the datastructure that is to receive the feedback.">dJointGetFeedback</a>(_id); } | ||
336 | <a name="l00321"></a>00321 }; | ||
337 | <a name="l00322"></a>00322 | ||
338 | <a name="l00323"></a>00323 | ||
339 | <a name="l00324"></a>00324 <span class="keyword">class </span>dBallJoint : <span class="keyword">public</span> dJoint { | ||
340 | <a name="l00325"></a>00325 <span class="keyword">private</span>: | ||
341 | <a name="l00326"></a>00326 <span class="comment">// intentionally undefined, don't use these</span> | ||
342 | <a name="l00327"></a>00327 dBallJoint (<span class="keyword">const</span> dBallJoint &); | ||
343 | <a name="l00328"></a>00328 <span class="keywordtype">void</span> operator= (<span class="keyword">const</span> dBallJoint &); | ||
344 | <a name="l00329"></a>00329 | ||
345 | <a name="l00330"></a>00330 <span class="keyword">public</span>: | ||
346 | <a name="l00331"></a>00331 dBallJoint() { } | ||
347 | <a name="l00332"></a>00332 dBallJoint (dWorldID world, dJointGroupID group=0) | ||
348 | <a name="l00333"></a>00333 { _id = <a class="code" href="group__joints.html#g2d23509f8d6c6066b361af4cf14166f7" title="Create a new joint of the ball type.">dJointCreateBall</a> (world, group); } | ||
349 | <a name="l00334"></a>00334 | ||
350 | <a name="l00335"></a>00335 <span class="keywordtype">void</span> create (dWorldID world, dJointGroupID group=0) { | ||
351 | <a name="l00336"></a>00336 <span class="keywordflow">if</span> (_id) <a class="code" href="group__joints.html#g2187ccbcf51c951f680eb6c9a210801a" title="Destroy a joint.">dJointDestroy</a> (_id); | ||
352 | <a name="l00337"></a>00337 _id = <a class="code" href="group__joints.html#g2d23509f8d6c6066b361af4cf14166f7" title="Create a new joint of the ball type.">dJointCreateBall</a> (world, group); | ||
353 | <a name="l00338"></a>00338 } | ||
354 | <a name="l00339"></a>00339 | ||
355 | <a name="l00340"></a>00340 <span class="keywordtype">void</span> setAnchor (dReal x, dReal y, dReal z) | ||
356 | <a name="l00341"></a>00341 { <a class="code" href="group__joints.html#g058c33a3da1ff935a1125034f779dc4a" title="Set the joint anchor point.">dJointSetBallAnchor</a> (_id, x, y, z); } | ||
357 | <a name="l00342"></a>00342 <span class="keywordtype">void</span> getAnchor (dVector3 result)<span class="keyword"> const</span> | ||
358 | <a name="l00343"></a>00343 <span class="keyword"> </span>{ dJointGetBallAnchor (_id, result); } | ||
359 | <a name="l00344"></a>00344 <span class="keywordtype">void</span> getAnchor2 (dVector3 result)<span class="keyword"> const</span> | ||
360 | <a name="l00345"></a>00345 <span class="keyword"> </span>{ dJointGetBallAnchor2 (_id, result); } | ||
361 | <a name="l00346"></a>00346 <span class="keywordtype">void</span> setParam (<span class="keywordtype">int</span> parameter, dReal value) | ||
362 | <a name="l00347"></a>00347 { <a class="code" href="group__joints.html#ge58f5e11c0829aa8615622a74dd11d85" title="Param setting for Ball joints.">dJointSetBallParam</a> (_id, parameter, value); } | ||
363 | <a name="l00348"></a>00348 dReal getParam (<span class="keywordtype">int</span> parameter)<span class="keyword"> const</span> | ||
364 | <a name="l00349"></a>00349 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g20a27c479a75443552942059542f26ad" title="get joint parameter">dJointGetBallParam</a> (_id, parameter); } | ||
365 | <a name="l00350"></a>00350 } ; | ||
366 | <a name="l00351"></a>00351 | ||
367 | <a name="l00352"></a>00352 | ||
368 | <a name="l00353"></a>00353 <span class="keyword">class </span>dHingeJoint : <span class="keyword">public</span> dJoint { | ||
369 | <a name="l00354"></a>00354 <span class="comment">// intentionally undefined, don't use these</span> | ||
370 | <a name="l00355"></a>00355 dHingeJoint (<span class="keyword">const</span> dHingeJoint &); | ||
371 | <a name="l00356"></a>00356 <span class="keywordtype">void</span> operator = (<span class="keyword">const</span> dHingeJoint &); | ||
372 | <a name="l00357"></a>00357 | ||
373 | <a name="l00358"></a>00358 <span class="keyword">public</span>: | ||
374 | <a name="l00359"></a>00359 dHingeJoint() { } | ||
375 | <a name="l00360"></a>00360 dHingeJoint (dWorldID world, dJointGroupID group=0) | ||
376 | <a name="l00361"></a>00361 { _id = <a class="code" href="group__joints.html#g2f18d431d48c905abc9d72ce011c00bd" title="Create a new joint of the hinge type.">dJointCreateHinge</a> (world, group); } | ||
377 | <a name="l00362"></a>00362 | ||
378 | <a name="l00363"></a>00363 <span class="keywordtype">void</span> create (dWorldID world, dJointGroupID group=0) { | ||
379 | <a name="l00364"></a>00364 <span class="keywordflow">if</span> (_id) <a class="code" href="group__joints.html#g2187ccbcf51c951f680eb6c9a210801a" title="Destroy a joint.">dJointDestroy</a> (_id); | ||
380 | <a name="l00365"></a>00365 _id = <a class="code" href="group__joints.html#g2f18d431d48c905abc9d72ce011c00bd" title="Create a new joint of the hinge type.">dJointCreateHinge</a> (world, group); | ||
381 | <a name="l00366"></a>00366 } | ||
382 | <a name="l00367"></a>00367 | ||
383 | <a name="l00368"></a>00368 <span class="keywordtype">void</span> setAnchor (dReal x, dReal y, dReal z) | ||
384 | <a name="l00369"></a>00369 { <a class="code" href="group__joints.html#gc5727a125de0abbe2abd61af7a55da26" title="Set hinge anchor parameter.">dJointSetHingeAnchor</a> (_id, x, y, z); } | ||
385 | <a name="l00370"></a>00370 <span class="keywordtype">void</span> getAnchor (dVector3 result)<span class="keyword"> const</span> | ||
386 | <a name="l00371"></a>00371 <span class="keyword"> </span>{ <a class="code" href="group__joints.html#g1d1c4f9b10c550f6fec550f9cc80c7ab" title="Get the hinge anchor point, in world coordinates.">dJointGetHingeAnchor</a> (_id, result); } | ||
387 | <a name="l00372"></a>00372 <span class="keywordtype">void</span> getAnchor2 (dVector3 result)<span class="keyword"> const</span> | ||
388 | <a name="l00373"></a>00373 <span class="keyword"> </span>{ <a class="code" href="group__joints.html#gfdc1d9c7bd8824ec3e79cc5aa67ddfa1" title="Get the joint anchor point, in world coordinates.">dJointGetHingeAnchor2</a> (_id, result); } | ||
389 | <a name="l00374"></a>00374 | ||
390 | <a name="l00375"></a>00375 <span class="keywordtype">void</span> setAxis (dReal x, dReal y, dReal z) | ||
391 | <a name="l00376"></a>00376 { <a class="code" href="group__joints.html#ga434229f033472ec7aa031a01c6cabed" title="Set hinge axis.">dJointSetHingeAxis</a> (_id, x, y, z); } | ||
392 | <a name="l00377"></a>00377 <span class="keywordtype">void</span> getAxis (dVector3 result)<span class="keyword"> const</span> | ||
393 | <a name="l00378"></a>00378 <span class="keyword"> </span>{ <a class="code" href="group__joints.html#g17b812897bc5faab33584cc5e3e4d3a4" title="get axis">dJointGetHingeAxis</a> (_id, result); } | ||
394 | <a name="l00379"></a>00379 | ||
395 | <a name="l00380"></a>00380 dReal getAngle()<span class="keyword"> const</span> | ||
396 | <a name="l00381"></a>00381 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g7ca6bdfe2b919b6bc2a27ba6f0e069f0" title="Get the hinge angle.">dJointGetHingeAngle</a> (_id); } | ||
397 | <a name="l00382"></a>00382 dReal getAngleRate()<span class="keyword"> const</span> | ||
398 | <a name="l00383"></a>00383 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g0d92377b748eb468dc38252df12afc76" title="Get the hinge angle time derivative.">dJointGetHingeAngleRate</a> (_id); } | ||
399 | <a name="l00384"></a>00384 | ||
400 | <a name="l00385"></a>00385 <span class="keywordtype">void</span> setParam (<span class="keywordtype">int</span> parameter, dReal value) | ||
401 | <a name="l00386"></a>00386 { <a class="code" href="group__joints.html#g6f9d34a01181e65639eb1f67da7a3e4c" title="set joint parameter">dJointSetHingeParam</a> (_id, parameter, value); } | ||
402 | <a name="l00387"></a>00387 dReal getParam (<span class="keywordtype">int</span> parameter)<span class="keyword"> const</span> | ||
403 | <a name="l00388"></a>00388 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g43416613e72d1b16a32331a0ba3c7d70" title="get joint parameter">dJointGetHingeParam</a> (_id, parameter); } | ||
404 | <a name="l00389"></a>00389 | ||
405 | <a name="l00390"></a>00390 <span class="keywordtype">void</span> addTorque (dReal torque) | ||
406 | <a name="l00391"></a>00391 { <a class="code" href="group__joints.html#ga1725abe170f80b0731321ed38785019" title="Applies the torque about the hinge axis.">dJointAddHingeTorque</a>(_id, torque); } | ||
407 | <a name="l00392"></a>00392 }; | ||
408 | <a name="l00393"></a>00393 | ||
409 | <a name="l00394"></a>00394 | ||
410 | <a name="l00395"></a>00395 <span class="keyword">class </span>dSliderJoint : <span class="keyword">public</span> dJoint { | ||
411 | <a name="l00396"></a>00396 <span class="comment">// intentionally undefined, don't use these</span> | ||
412 | <a name="l00397"></a>00397 dSliderJoint (<span class="keyword">const</span> dSliderJoint &); | ||
413 | <a name="l00398"></a>00398 <span class="keywordtype">void</span> operator = (<span class="keyword">const</span> dSliderJoint &); | ||
414 | <a name="l00399"></a>00399 | ||
415 | <a name="l00400"></a>00400 <span class="keyword">public</span>: | ||
416 | <a name="l00401"></a>00401 dSliderJoint() { } | ||
417 | <a name="l00402"></a>00402 dSliderJoint (dWorldID world, dJointGroupID group=0) | ||
418 | <a name="l00403"></a>00403 { _id = <a class="code" href="group__joints.html#geccc4c67b2d409016685a6a9163be539" title="Create a new joint of the slider type.">dJointCreateSlider</a> (world, group); } | ||
419 | <a name="l00404"></a>00404 | ||
420 | <a name="l00405"></a>00405 <span class="keywordtype">void</span> create (dWorldID world, dJointGroupID group=0) { | ||
421 | <a name="l00406"></a>00406 <span class="keywordflow">if</span> (_id) <a class="code" href="group__joints.html#g2187ccbcf51c951f680eb6c9a210801a" title="Destroy a joint.">dJointDestroy</a> (_id); | ||
422 | <a name="l00407"></a>00407 _id = <a class="code" href="group__joints.html#geccc4c67b2d409016685a6a9163be539" title="Create a new joint of the slider type.">dJointCreateSlider</a> (world, group); | ||
423 | <a name="l00408"></a>00408 } | ||
424 | <a name="l00409"></a>00409 | ||
425 | <a name="l00410"></a>00410 <span class="keywordtype">void</span> setAxis (dReal x, dReal y, dReal z) | ||
426 | <a name="l00411"></a>00411 { <a class="code" href="group__joints.html#gb2f662b1190507551f49ffa29d276b61" title="set the joint axis">dJointSetSliderAxis</a> (_id, x, y, z); } | ||
427 | <a name="l00412"></a>00412 <span class="keywordtype">void</span> getAxis (dVector3 result)<span class="keyword"> const</span> | ||
428 | <a name="l00413"></a>00413 <span class="keyword"> </span>{ <a class="code" href="group__joints.html#g17e31e7a877446213c39d1431269788e" title="Get the slider axis.">dJointGetSliderAxis</a> (_id, result); } | ||
429 | <a name="l00414"></a>00414 | ||
430 | <a name="l00415"></a>00415 dReal getPosition()<span class="keyword"> const</span> | ||
431 | <a name="l00416"></a>00416 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g7f35449914cbc4a86b845dcd85a617c0" title="Get the slider linear position (i.e. the slider&#39;s extension).">dJointGetSliderPosition</a> (_id); } | ||
432 | <a name="l00417"></a>00417 dReal getPositionRate()<span class="keyword"> const</span> | ||
433 | <a name="l00418"></a>00418 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g93378c9c2d0cd50c79cfb78ca881f8ec" title="Get the slider linear position&#39;s time derivative.">dJointGetSliderPositionRate</a> (_id); } | ||
434 | <a name="l00419"></a>00419 | ||
435 | <a name="l00420"></a>00420 <span class="keywordtype">void</span> setParam (<span class="keywordtype">int</span> parameter, dReal value) | ||
436 | <a name="l00421"></a>00421 { <a class="code" href="group__joints.html#g648964f4ca4122309e71a9cc6c24c985" title="set joint parameter">dJointSetSliderParam</a> (_id, parameter, value); } | ||
437 | <a name="l00422"></a>00422 dReal getParam (<span class="keywordtype">int</span> parameter)<span class="keyword"> const</span> | ||
438 | <a name="l00423"></a>00423 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#gc76d8bb4bf8587af70ef5932025048fe" title="get joint parameter">dJointGetSliderParam</a> (_id, parameter); } | ||
439 | <a name="l00424"></a>00424 | ||
440 | <a name="l00425"></a>00425 <span class="keywordtype">void</span> addForce (dReal force) | ||
441 | <a name="l00426"></a>00426 { <a class="code" href="group__joints.html#g8b0e018cc3df6ea5ddb42320913455e7" title="Applies the given force in the slider&#39;s direction.">dJointAddSliderForce</a>(_id, force); } | ||
442 | <a name="l00427"></a>00427 }; | ||
443 | <a name="l00428"></a>00428 | ||
444 | <a name="l00429"></a>00429 | ||
445 | <a name="l00430"></a>00430 <span class="keyword">class </span>dUniversalJoint : <span class="keyword">public</span> dJoint { | ||
446 | <a name="l00431"></a>00431 <span class="comment">// intentionally undefined, don't use these</span> | ||
447 | <a name="l00432"></a>00432 dUniversalJoint (<span class="keyword">const</span> dUniversalJoint &); | ||
448 | <a name="l00433"></a>00433 <span class="keywordtype">void</span> operator = (<span class="keyword">const</span> dUniversalJoint &); | ||
449 | <a name="l00434"></a>00434 | ||
450 | <a name="l00435"></a>00435 <span class="keyword">public</span>: | ||
451 | <a name="l00436"></a>00436 dUniversalJoint() { } | ||
452 | <a name="l00437"></a>00437 dUniversalJoint (dWorldID world, dJointGroupID group=0) | ||
453 | <a name="l00438"></a>00438 { _id = <a class="code" href="group__joints.html#g1cb2e7668242313b5d24acb5d43e5c62" title="Create a new joint of the universal type.">dJointCreateUniversal</a> (world, group); } | ||
454 | <a name="l00439"></a>00439 | ||
455 | <a name="l00440"></a>00440 <span class="keywordtype">void</span> create (dWorldID world, dJointGroupID group=0) { | ||
456 | <a name="l00441"></a>00441 <span class="keywordflow">if</span> (_id) <a class="code" href="group__joints.html#g2187ccbcf51c951f680eb6c9a210801a" title="Destroy a joint.">dJointDestroy</a> (_id); | ||
457 | <a name="l00442"></a>00442 _id = <a class="code" href="group__joints.html#g1cb2e7668242313b5d24acb5d43e5c62" title="Create a new joint of the universal type.">dJointCreateUniversal</a> (world, group); | ||
458 | <a name="l00443"></a>00443 } | ||
459 | <a name="l00444"></a>00444 | ||
460 | <a name="l00445"></a>00445 <span class="keywordtype">void</span> setAnchor (dReal x, dReal y, dReal z) | ||
461 | <a name="l00446"></a>00446 { <a class="code" href="group__joints.html#gaf4657aed67f3cd7cce775215995c05d" title="set anchor">dJointSetUniversalAnchor</a> (_id, x, y, z); } | ||
462 | <a name="l00447"></a>00447 <span class="keywordtype">void</span> setAxis1 (dReal x, dReal y, dReal z) | ||
463 | <a name="l00448"></a>00448 { <a class="code" href="group__joints.html#ge0a831da9447ff65d76a0808502038e8" title="set axis">dJointSetUniversalAxis1</a> (_id, x, y, z); } | ||
464 | <a name="l00449"></a>00449 <span class="keywordtype">void</span> setAxis2 (dReal x, dReal y, dReal z) | ||
465 | <a name="l00450"></a>00450 { <a class="code" href="group__joints.html#gf3668eed7dc5aaf8fee19d7f87347343" title="set axis">dJointSetUniversalAxis2</a> (_id, x, y, z); } | ||
466 | <a name="l00451"></a>00451 <span class="keywordtype">void</span> setParam (<span class="keywordtype">int</span> parameter, dReal value) | ||
467 | <a name="l00452"></a>00452 { <a class="code" href="group__joints.html#g3c58284c43e997a028b06dc250064e32" title="set joint parameter">dJointSetUniversalParam</a> (_id, parameter, value); } | ||
468 | <a name="l00453"></a>00453 | ||
469 | <a name="l00454"></a>00454 <span class="keywordtype">void</span> getAnchor (dVector3 result)<span class="keyword"> const</span> | ||
470 | <a name="l00455"></a>00455 <span class="keyword"> </span>{ <a class="code" href="group__joints.html#ga768432c561cb76ba2490913f42d1aaf" title="Get the joint anchor point, in world coordinates.">dJointGetUniversalAnchor</a> (_id, result); } | ||
471 | <a name="l00456"></a>00456 <span class="keywordtype">void</span> getAnchor2 (dVector3 result)<span class="keyword"> const</span> | ||
472 | <a name="l00457"></a>00457 <span class="keyword"> </span>{ <a class="code" href="group__joints.html#g00d5018903a90d75c324c4f870b0e7ea" title="Get the joint anchor point, in world coordinates.">dJointGetUniversalAnchor2</a> (_id, result); } | ||
473 | <a name="l00458"></a>00458 <span class="keywordtype">void</span> getAxis1 (dVector3 result)<span class="keyword"> const</span> | ||
474 | <a name="l00459"></a>00459 <span class="keyword"> </span>{ <a class="code" href="group__joints.html#geaa8e546d93c304755a86ad3fa6d2abe" title="Get axis.">dJointGetUniversalAxis1</a> (_id, result); } | ||
475 | <a name="l00460"></a>00460 <span class="keywordtype">void</span> getAxis2 (dVector3 result)<span class="keyword"> const</span> | ||
476 | <a name="l00461"></a>00461 <span class="keyword"> </span>{ <a class="code" href="group__joints.html#g13c01cbc9c5e918740bac0540f6473b3" title="Get axis.">dJointGetUniversalAxis2</a> (_id, result); } | ||
477 | <a name="l00462"></a>00462 dReal getParam (<span class="keywordtype">int</span> parameter)<span class="keyword"> const</span> | ||
478 | <a name="l00463"></a>00463 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#gf96e70e676058b7eb385f5810fec641a" title="get joint parameter">dJointGetUniversalParam</a> (_id, parameter); } | ||
479 | <a name="l00464"></a>00464 <span class="keywordtype">void</span> getAngles(dReal *angle1, dReal *angle2)<span class="keyword"> const</span> | ||
480 | <a name="l00465"></a>00465 <span class="keyword"> </span>{ <a class="code" href="group__joints.html#g3c0fafbd1ccd8e450c01012ce600f6ab" title="Get both angles at the same time.">dJointGetUniversalAngles</a> (_id, angle1, angle2); } | ||
481 | <a name="l00466"></a>00466 | ||
482 | <a name="l00467"></a>00467 dReal getAngle1()<span class="keyword"> const</span> | ||
483 | <a name="l00468"></a>00468 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g3a08e2fed2e88eb0c964a33fb8c0c61f" title="Get angle.">dJointGetUniversalAngle1</a> (_id); } | ||
484 | <a name="l00469"></a>00469 dReal getAngle1Rate()<span class="keyword"> const</span> | ||
485 | <a name="l00470"></a>00470 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g1f8ff99b6c33d3da2004a8846112427c" title="Get time derivative of angle.">dJointGetUniversalAngle1Rate</a> (_id); } | ||
486 | <a name="l00471"></a>00471 dReal getAngle2()<span class="keyword"> const</span> | ||
487 | <a name="l00472"></a>00472 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g4026a7331d7956eef31e72e20e0c703b" title="Get angle.">dJointGetUniversalAngle2</a> (_id); } | ||
488 | <a name="l00473"></a>00473 dReal getAngle2Rate()<span class="keyword"> const</span> | ||
489 | <a name="l00474"></a>00474 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g94fb28ecb65cb0711b555558c22396cf" title="Get time derivative of angle.">dJointGetUniversalAngle2Rate</a> (_id); } | ||
490 | <a name="l00475"></a>00475 | ||
491 | <a name="l00476"></a>00476 <span class="keywordtype">void</span> addTorques (dReal torque1, dReal torque2) | ||
492 | <a name="l00477"></a>00477 { <a class="code" href="group__joints.html#g36607569e2ee26f39d3d42cba2397898" title="Applies torque1 about the universal&#39;s axis 1, torque2 about the universal&#39;s...">dJointAddUniversalTorques</a>(_id, torque1, torque2); } | ||
493 | <a name="l00478"></a>00478 }; | ||
494 | <a name="l00479"></a>00479 | ||
495 | <a name="l00480"></a>00480 | ||
496 | <a name="l00481"></a>00481 <span class="keyword">class </span>dHinge2Joint : <span class="keyword">public</span> dJoint { | ||
497 | <a name="l00482"></a>00482 <span class="comment">// intentionally undefined, don't use these</span> | ||
498 | <a name="l00483"></a>00483 dHinge2Joint (<span class="keyword">const</span> dHinge2Joint &); | ||
499 | <a name="l00484"></a>00484 <span class="keywordtype">void</span> operator = (<span class="keyword">const</span> dHinge2Joint &); | ||
500 | <a name="l00485"></a>00485 | ||
501 | <a name="l00486"></a>00486 <span class="keyword">public</span>: | ||
502 | <a name="l00487"></a>00487 dHinge2Joint() { } | ||
503 | <a name="l00488"></a>00488 dHinge2Joint (dWorldID world, dJointGroupID group=0) | ||
504 | <a name="l00489"></a>00489 { _id = <a class="code" href="group__joints.html#g6a6e32d35bdda9352d1be8d4df973f8f" title="Create a new joint of the hinge2 type.">dJointCreateHinge2</a> (world, group); } | ||
505 | <a name="l00490"></a>00490 | ||
506 | <a name="l00491"></a>00491 <span class="keywordtype">void</span> create (dWorldID world, dJointGroupID group=0) { | ||
507 | <a name="l00492"></a>00492 <span class="keywordflow">if</span> (_id) <a class="code" href="group__joints.html#g2187ccbcf51c951f680eb6c9a210801a" title="Destroy a joint.">dJointDestroy</a> (_id); | ||
508 | <a name="l00493"></a>00493 _id = <a class="code" href="group__joints.html#g6a6e32d35bdda9352d1be8d4df973f8f" title="Create a new joint of the hinge2 type.">dJointCreateHinge2</a> (world, group); | ||
509 | <a name="l00494"></a>00494 } | ||
510 | <a name="l00495"></a>00495 | ||
511 | <a name="l00496"></a>00496 <span class="keywordtype">void</span> setAnchor (dReal x, dReal y, dReal z) | ||
512 | <a name="l00497"></a>00497 { <a class="code" href="group__joints.html#gf839c13fa85aff0287a87986ff447d29" title="set anchor">dJointSetHinge2Anchor</a> (_id, x, y, z); } | ||
513 | <a name="l00498"></a>00498 <span class="keywordtype">void</span> setAxis1 (dReal x, dReal y, dReal z) | ||
514 | <a name="l00499"></a>00499 { <a class="code" href="group__joints.html#gcdf78fbb0f5b0a09b4d3ac2059b07002" title="set axis">dJointSetHinge2Axis1</a> (_id, x, y, z); } | ||
515 | <a name="l00500"></a>00500 <span class="keywordtype">void</span> setAxis2 (dReal x, dReal y, dReal z) | ||
516 | <a name="l00501"></a>00501 { <a class="code" href="group__joints.html#gdfef9f6365c87dacb95b4850a9e9f0ee" title="set axis">dJointSetHinge2Axis2</a> (_id, x, y, z); } | ||
517 | <a name="l00502"></a>00502 | ||
518 | <a name="l00503"></a>00503 <span class="keywordtype">void</span> getAnchor (dVector3 result)<span class="keyword"> const</span> | ||
519 | <a name="l00504"></a>00504 <span class="keyword"> </span>{ <a class="code" href="group__joints.html#g879999d011f82c73acf94029132cc198" title="Get the joint anchor point, in world coordinates.">dJointGetHinge2Anchor</a> (_id, result); } | ||
520 | <a name="l00505"></a>00505 <span class="keywordtype">void</span> getAnchor2 (dVector3 result)<span class="keyword"> const</span> | ||
521 | <a name="l00506"></a>00506 <span class="keyword"> </span>{ <a class="code" href="group__joints.html#ga67cde755a0c9b699859ead5b5c81d26" title="Get the joint anchor point, in world coordinates. This returns the point on body...">dJointGetHinge2Anchor2</a> (_id, result); } | ||
522 | <a name="l00507"></a>00507 <span class="keywordtype">void</span> getAxis1 (dVector3 result)<span class="keyword"> const</span> | ||
523 | <a name="l00508"></a>00508 <span class="keyword"> </span>{ <a class="code" href="group__joints.html#g5d3e60c78ed85e8086dd60b13c3054f5" title="Get joint axis.">dJointGetHinge2Axis1</a> (_id, result); } | ||
524 | <a name="l00509"></a>00509 <span class="keywordtype">void</span> getAxis2 (dVector3 result)<span class="keyword"> const</span> | ||
525 | <a name="l00510"></a>00510 <span class="keyword"> </span>{ <a class="code" href="group__joints.html#g9459009e9370ea1a1e4de10f60053c87" title="Get joint axis.">dJointGetHinge2Axis2</a> (_id, result); } | ||
526 | <a name="l00511"></a>00511 | ||
527 | <a name="l00512"></a>00512 dReal getAngle1()<span class="keyword"> const</span> | ||
528 | <a name="l00513"></a>00513 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g430ed7cafe907e88929b28fdb17533c0" title="Get angle.">dJointGetHinge2Angle1</a> (_id); } | ||
529 | <a name="l00514"></a>00514 dReal getAngle1Rate()<span class="keyword"> const</span> | ||
530 | <a name="l00515"></a>00515 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g61881501e905ec1072aba05464fe44fb" title="Get time derivative of angle.">dJointGetHinge2Angle1Rate</a> (_id); } | ||
531 | <a name="l00516"></a>00516 dReal getAngle2Rate()<span class="keyword"> const</span> | ||
532 | <a name="l00517"></a>00517 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g028c47d8ff409f6856492d9eb0367c8a" title="Get time derivative of angle.">dJointGetHinge2Angle2Rate</a> (_id); } | ||
533 | <a name="l00518"></a>00518 | ||
534 | <a name="l00519"></a>00519 <span class="keywordtype">void</span> setParam (<span class="keywordtype">int</span> parameter, dReal value) | ||
535 | <a name="l00520"></a>00520 { <a class="code" href="group__joints.html#g9a2d8d03776ccb22869667337457a7a9" title="set joint parameter">dJointSetHinge2Param</a> (_id, parameter, value); } | ||
536 | <a name="l00521"></a>00521 dReal getParam (<span class="keywordtype">int</span> parameter)<span class="keyword"> const</span> | ||
537 | <a name="l00522"></a>00522 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g9fe8b60ba59aa9451e5758491e34045a" title="get joint parameter">dJointGetHinge2Param</a> (_id, parameter); } | ||
538 | <a name="l00523"></a>00523 | ||
539 | <a name="l00524"></a>00524 <span class="keywordtype">void</span> addTorques(dReal torque1, dReal torque2) | ||
540 | <a name="l00525"></a>00525 { <a class="code" href="group__joints.html#ga5ba1541d092f28c93b1bdc3bfb1b69f" title="Applies torque1 about the hinge2&#39;s axis 1, torque2 about the hinge2&#39;s axis...">dJointAddHinge2Torques</a>(_id, torque1, torque2); } | ||
541 | <a name="l00526"></a>00526 }; | ||
542 | <a name="l00527"></a>00527 | ||
543 | <a name="l00528"></a>00528 | ||
544 | <a name="l00529"></a>00529 <span class="keyword">class </span>dPRJoint : <span class="keyword">public</span> dJoint { | ||
545 | <a name="l00530"></a>00530 dPRJoint (<span class="keyword">const</span> dPRJoint &); | ||
546 | <a name="l00531"></a>00531 <span class="keywordtype">void</span> operator = (<span class="keyword">const</span> dPRJoint &); | ||
547 | <a name="l00532"></a>00532 | ||
548 | <a name="l00533"></a>00533 <span class="keyword">public</span>: | ||
549 | <a name="l00534"></a>00534 dPRJoint() { } | ||
550 | <a name="l00535"></a>00535 dPRJoint (dWorldID world, dJointGroupID group=0) | ||
551 | <a name="l00536"></a>00536 { _id = <a class="code" href="group__joints.html#gdc867f10ba9931d191244fa879e43cb2" title="Create a new joint of the PR (Prismatic and Rotoide) type.">dJointCreatePR</a> (world, group); } | ||
552 | <a name="l00537"></a>00537 | ||
553 | <a name="l00538"></a>00538 <span class="keywordtype">void</span> create (dWorldID world, dJointGroupID group=0) { | ||
554 | <a name="l00539"></a>00539 <span class="keywordflow">if</span> (_id) <a class="code" href="group__joints.html#g2187ccbcf51c951f680eb6c9a210801a" title="Destroy a joint.">dJointDestroy</a> (_id); | ||
555 | <a name="l00540"></a>00540 _id = <a class="code" href="group__joints.html#gdc867f10ba9931d191244fa879e43cb2" title="Create a new joint of the PR (Prismatic and Rotoide) type.">dJointCreatePR</a> (world, group); | ||
556 | <a name="l00541"></a>00541 } | ||
557 | <a name="l00542"></a>00542 | ||
558 | <a name="l00543"></a>00543 <span class="keywordtype">void</span> setAnchor (dReal x, dReal y, dReal z) | ||
559 | <a name="l00544"></a>00544 { <a class="code" href="group__joints.html#ge46251e2cea2d31521b1fb9b151f640f" title="set anchor">dJointSetPRAnchor</a> (_id, x, y, z); } | ||
560 | <a name="l00545"></a>00545 <span class="keywordtype">void</span> setAxis1 (dReal x, dReal y, dReal z) | ||
561 | <a name="l00546"></a>00546 { <a class="code" href="group__joints.html#ga2ae3ab1fa58ec22bd443476f786fa81" title="set the axis for the prismatic articulation">dJointSetPRAxis1</a> (_id, x, y, z); } | ||
562 | <a name="l00547"></a>00547 <span class="keywordtype">void</span> setAxis2 (dReal x, dReal y, dReal z) | ||
563 | <a name="l00548"></a>00548 { <a class="code" href="group__joints.html#gc8c61c6dd7b28a58a4c0eaf2e91ecbd5" title="set the axis for the rotoide articulation">dJointSetPRAxis2</a> (_id, x, y, z); } | ||
564 | <a name="l00549"></a>00549 | ||
565 | <a name="l00550"></a>00550 <span class="keywordtype">void</span> getAnchor (dVector3 result)<span class="keyword"> const</span> | ||
566 | <a name="l00551"></a>00551 <span class="keyword"> </span>{ <a class="code" href="group__joints.html#g88b176c70948c3f96e5c9173904b04fe" title="Get the joint anchor point, in world coordinates.">dJointGetPRAnchor</a> (_id, result); } | ||
567 | <a name="l00552"></a>00552 <span class="keywordtype">void</span> getAxis1 (dVector3 result)<span class="keyword"> const</span> | ||
568 | <a name="l00553"></a>00553 <span class="keyword"> </span>{ <a class="code" href="group__joints.html#g826424aac5023739bb13426df672ab32" title="Get the prismatic axis.">dJointGetPRAxis1</a> (_id, result); } | ||
569 | <a name="l00554"></a>00554 <span class="keywordtype">void</span> getAxis2 (dVector3 result)<span class="keyword"> const</span> | ||
570 | <a name="l00555"></a>00555 <span class="keyword"> </span>{ <a class="code" href="group__joints.html#g5f175ed66c5df1119a251fad8a51059d" title="Get the Rotoide axis.">dJointGetPRAxis2</a> (_id, result); } | ||
571 | <a name="l00556"></a>00556 | ||
572 | <a name="l00557"></a>00557 dReal getPosition()<span class="keyword"> const</span> | ||
573 | <a name="l00558"></a>00558 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#gd8b95871e93525f44badcdaf8e521da7" title="Get the PR linear position (i.e. the prismatic&#39;s extension).">dJointGetPRPosition</a> (_id); } | ||
574 | <a name="l00559"></a>00559 dReal getPositionRate()<span class="keyword"> const</span> | ||
575 | <a name="l00560"></a>00560 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#gc3a434069c8bf31ae5140e2bff3bbb26" title="Get the PR linear position&#39;s time derivative.">dJointGetPRPositionRate</a> (_id); } | ||
576 | <a name="l00561"></a>00561 | ||
577 | <a name="l00562"></a>00562 <span class="keywordtype">void</span> setParam (<span class="keywordtype">int</span> parameter, dReal value) | ||
578 | <a name="l00563"></a>00563 { <a class="code" href="group__joints.html#gc08a28659605f17307d563f45db0824b" title="set joint parameter">dJointSetPRParam</a> (_id, parameter, value); } | ||
579 | <a name="l00564"></a>00564 dReal getParam (<span class="keywordtype">int</span> parameter)<span class="keyword"> const</span> | ||
580 | <a name="l00565"></a>00565 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g968b868bd1598b24a3101a04320206c6" title="get joint parameter">dJointGetPRParam</a> (_id, parameter); } | ||
581 | <a name="l00566"></a>00566 }; | ||
582 | <a name="l00567"></a>00567 | ||
583 | <a name="l00568"></a>00568 | ||
584 | <a name="l00569"></a>00569 <span class="keyword">class </span>dFixedJoint : <span class="keyword">public</span> dJoint { | ||
585 | <a name="l00570"></a>00570 <span class="comment">// intentionally undefined, don't use these</span> | ||
586 | <a name="l00571"></a>00571 dFixedJoint (<span class="keyword">const</span> dFixedJoint &); | ||
587 | <a name="l00572"></a>00572 <span class="keywordtype">void</span> operator = (<span class="keyword">const</span> dFixedJoint &); | ||
588 | <a name="l00573"></a>00573 | ||
589 | <a name="l00574"></a>00574 <span class="keyword">public</span>: | ||
590 | <a name="l00575"></a>00575 dFixedJoint() { } | ||
591 | <a name="l00576"></a>00576 dFixedJoint (dWorldID world, dJointGroupID group=0) | ||
592 | <a name="l00577"></a>00577 { _id = <a class="code" href="group__joints.html#ge568995d03077e1acb13882a627dcf32" title="Create a new joint of the fixed type.">dJointCreateFixed</a> (world, group); } | ||
593 | <a name="l00578"></a>00578 | ||
594 | <a name="l00579"></a>00579 <span class="keywordtype">void</span> create (dWorldID world, dJointGroupID group=0) { | ||
595 | <a name="l00580"></a>00580 <span class="keywordflow">if</span> (_id) <a class="code" href="group__joints.html#g2187ccbcf51c951f680eb6c9a210801a" title="Destroy a joint.">dJointDestroy</a> (_id); | ||
596 | <a name="l00581"></a>00581 _id = <a class="code" href="group__joints.html#ge568995d03077e1acb13882a627dcf32" title="Create a new joint of the fixed type.">dJointCreateFixed</a> (world, group); | ||
597 | <a name="l00582"></a>00582 } | ||
598 | <a name="l00583"></a>00583 | ||
599 | <a name="l00584"></a>00584 <span class="keywordtype">void</span> <span class="keyword">set</span>() | ||
600 | <a name="l00585"></a>00585 { <a class="code" href="group__joints.html#g8051a8232b4232f7b0d0fd57a3932072" title="Call this on the fixed joint after it has been attached to remember the current desired...">dJointSetFixed</a> (_id); } | ||
601 | <a name="l00586"></a>00586 | ||
602 | <a name="l00587"></a>00587 <span class="keywordtype">void</span> setParam (<span class="keywordtype">int</span> parameter, dReal value) | ||
603 | <a name="l00588"></a>00588 { dJointSetFixedParam (_id, parameter, value); } | ||
604 | <a name="l00589"></a>00589 | ||
605 | <a name="l00590"></a>00590 dReal getParam (<span class="keywordtype">int</span> parameter)<span class="keyword"> const</span> | ||
606 | <a name="l00591"></a>00591 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#ge433a5eac5f8600d8e6325666c2e12c2" title="get joint parameter">dJointGetFixedParam</a> (_id, parameter); } | ||
607 | <a name="l00592"></a>00592 }; | ||
608 | <a name="l00593"></a>00593 | ||
609 | <a name="l00594"></a>00594 | ||
610 | <a name="l00595"></a>00595 <span class="keyword">class </span>dContactJoint : <span class="keyword">public</span> dJoint { | ||
611 | <a name="l00596"></a>00596 <span class="comment">// intentionally undefined, don't use these</span> | ||
612 | <a name="l00597"></a>00597 dContactJoint (<span class="keyword">const</span> dContactJoint &); | ||
613 | <a name="l00598"></a>00598 <span class="keywordtype">void</span> operator = (<span class="keyword">const</span> dContactJoint &); | ||
614 | <a name="l00599"></a>00599 | ||
615 | <a name="l00600"></a>00600 <span class="keyword">public</span>: | ||
616 | <a name="l00601"></a>00601 dContactJoint() { } | ||
617 | <a name="l00602"></a>00602 dContactJoint (dWorldID world, dJointGroupID group, dContact *contact) | ||
618 | <a name="l00603"></a>00603 { _id = <a class="code" href="group__joints.html#gfa5e1543239ba44ecbdc178ebc7c3cc4" title="Create a new joint of the contact type.">dJointCreateContact</a> (world, group, contact); } | ||
619 | <a name="l00604"></a>00604 | ||
620 | <a name="l00605"></a>00605 <span class="keywordtype">void</span> create (dWorldID world, dJointGroupID group, dContact *contact) { | ||
621 | <a name="l00606"></a>00606 <span class="keywordflow">if</span> (_id) <a class="code" href="group__joints.html#g2187ccbcf51c951f680eb6c9a210801a" title="Destroy a joint.">dJointDestroy</a> (_id); | ||
622 | <a name="l00607"></a>00607 _id = <a class="code" href="group__joints.html#gfa5e1543239ba44ecbdc178ebc7c3cc4" title="Create a new joint of the contact type.">dJointCreateContact</a> (world, group, contact); | ||
623 | <a name="l00608"></a>00608 } | ||
624 | <a name="l00609"></a>00609 }; | ||
625 | <a name="l00610"></a>00610 | ||
626 | <a name="l00611"></a>00611 | ||
627 | <a name="l00612"></a>00612 <span class="keyword">class </span>dNullJoint : <span class="keyword">public</span> dJoint { | ||
628 | <a name="l00613"></a>00613 <span class="comment">// intentionally undefined, don't use these</span> | ||
629 | <a name="l00614"></a>00614 dNullJoint (<span class="keyword">const</span> dNullJoint &); | ||
630 | <a name="l00615"></a>00615 <span class="keywordtype">void</span> operator = (<span class="keyword">const</span> dNullJoint &); | ||
631 | <a name="l00616"></a>00616 | ||
632 | <a name="l00617"></a>00617 <span class="keyword">public</span>: | ||
633 | <a name="l00618"></a>00618 dNullJoint() { } | ||
634 | <a name="l00619"></a>00619 dNullJoint (dWorldID world, dJointGroupID group=0) | ||
635 | <a name="l00620"></a>00620 { _id = dJointCreateNull (world, group); } | ||
636 | <a name="l00621"></a>00621 | ||
637 | <a name="l00622"></a>00622 <span class="keywordtype">void</span> create (dWorldID world, dJointGroupID group=0) { | ||
638 | <a name="l00623"></a>00623 <span class="keywordflow">if</span> (_id) <a class="code" href="group__joints.html#g2187ccbcf51c951f680eb6c9a210801a" title="Destroy a joint.">dJointDestroy</a> (_id); | ||
639 | <a name="l00624"></a>00624 _id = dJointCreateNull (world, group); | ||
640 | <a name="l00625"></a>00625 } | ||
641 | <a name="l00626"></a>00626 }; | ||
642 | <a name="l00627"></a>00627 | ||
643 | <a name="l00628"></a>00628 | ||
644 | <a name="l00629"></a>00629 <span class="keyword">class </span>dAMotorJoint : <span class="keyword">public</span> dJoint { | ||
645 | <a name="l00630"></a>00630 <span class="comment">// intentionally undefined, don't use these</span> | ||
646 | <a name="l00631"></a>00631 dAMotorJoint (<span class="keyword">const</span> dAMotorJoint &); | ||
647 | <a name="l00632"></a>00632 <span class="keywordtype">void</span> operator = (<span class="keyword">const</span> dAMotorJoint &); | ||
648 | <a name="l00633"></a>00633 | ||
649 | <a name="l00634"></a>00634 <span class="keyword">public</span>: | ||
650 | <a name="l00635"></a>00635 dAMotorJoint() { } | ||
651 | <a name="l00636"></a>00636 dAMotorJoint (dWorldID world, dJointGroupID group=0) | ||
652 | <a name="l00637"></a>00637 { _id = <a class="code" href="group__joints.html#gf23195ce77e12031393e591abd0e28e6" title="Create a new joint of the A-motor type.">dJointCreateAMotor</a> (world, group); } | ||
653 | <a name="l00638"></a>00638 | ||
654 | <a name="l00639"></a>00639 <span class="keywordtype">void</span> create (dWorldID world, dJointGroupID group=0) { | ||
655 | <a name="l00640"></a>00640 <span class="keywordflow">if</span> (_id) <a class="code" href="group__joints.html#g2187ccbcf51c951f680eb6c9a210801a" title="Destroy a joint.">dJointDestroy</a> (_id); | ||
656 | <a name="l00641"></a>00641 _id = <a class="code" href="group__joints.html#gf23195ce77e12031393e591abd0e28e6" title="Create a new joint of the A-motor type.">dJointCreateAMotor</a> (world, group); | ||
657 | <a name="l00642"></a>00642 } | ||
658 | <a name="l00643"></a>00643 | ||
659 | <a name="l00644"></a>00644 <span class="keywordtype">void</span> setMode (<span class="keywordtype">int</span> mode) | ||
660 | <a name="l00645"></a>00645 { <a class="code" href="group__joints.html#gb0a3a8527810717c62a2c68dc4dfa822" title="set mode">dJointSetAMotorMode</a> (_id, mode); } | ||
661 | <a name="l00646"></a>00646 <span class="keywordtype">int</span> getMode()<span class="keyword"> const</span> | ||
662 | <a name="l00647"></a>00647 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#gf2430c2062414bc28660bdc06a0d72d5" title="Get the angular motor mode.">dJointGetAMotorMode</a> (_id); } | ||
663 | <a name="l00648"></a>00648 | ||
664 | <a name="l00649"></a>00649 <span class="keywordtype">void</span> setNumAxes (<span class="keywordtype">int</span> num) | ||
665 | <a name="l00650"></a>00650 { <a class="code" href="group__joints.html#g1406f976045a1b7edffbb46bf626d04f" title="set the nr of axes">dJointSetAMotorNumAxes</a> (_id, num); } | ||
666 | <a name="l00651"></a>00651 <span class="keywordtype">int</span> getNumAxes()<span class="keyword"> const</span> | ||
667 | <a name="l00652"></a>00652 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g35f0392af69ece0d0c3ef7ed88b532bf" title="Get the number of angular axes that will be controlled by the AMotor.">dJointGetAMotorNumAxes</a> (_id); } | ||
668 | <a name="l00653"></a>00653 | ||
669 | <a name="l00654"></a>00654 <span class="keywordtype">void</span> setAxis (<span class="keywordtype">int</span> anum, <span class="keywordtype">int</span> rel, dReal x, dReal y, dReal z) | ||
670 | <a name="l00655"></a>00655 { <a class="code" href="group__joints.html#gbef7d92227b62e04b60eb9df02359603" title="set axis">dJointSetAMotorAxis</a> (_id, anum, rel, x, y, z); } | ||
671 | <a name="l00656"></a>00656 <span class="keywordtype">void</span> getAxis (<span class="keywordtype">int</span> anum, dVector3 result)<span class="keyword"> const</span> | ||
672 | <a name="l00657"></a>00657 <span class="keyword"> </span>{ <a class="code" href="group__joints.html#gef1af77cc19d81b24ad00025f3c9d5ec" title="Get the AMotor axes.">dJointGetAMotorAxis</a> (_id, anum, result); } | ||
673 | <a name="l00658"></a>00658 <span class="keywordtype">int</span> getAxisRel (<span class="keywordtype">int</span> anum)<span class="keyword"> const</span> | ||
674 | <a name="l00659"></a>00659 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g1887538374f044e22f9742650d14ae69" title="Get axis.">dJointGetAMotorAxisRel</a> (_id, anum); } | ||
675 | <a name="l00660"></a>00660 | ||
676 | <a name="l00661"></a>00661 <span class="keywordtype">void</span> setAngle (<span class="keywordtype">int</span> anum, dReal angle) | ||
677 | <a name="l00662"></a>00662 { <a class="code" href="group__joints.html#g17b2089e6512e22d71340befb40100d2" title="Tell the AMotor what the current angle is along axis anum.">dJointSetAMotorAngle</a> (_id, anum, angle); } | ||
678 | <a name="l00663"></a>00663 dReal getAngle (<span class="keywordtype">int</span> anum)<span class="keyword"> const</span> | ||
679 | <a name="l00664"></a>00664 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g3634444b00ac33a5f34a7af4fffda8b2" title="Get the current angle for axis.">dJointGetAMotorAngle</a> (_id, anum); } | ||
680 | <a name="l00665"></a>00665 dReal getAngleRate (<span class="keywordtype">int</span> anum) | ||
681 | <a name="l00666"></a>00666 { <span class="keywordflow">return</span> <a class="code" href="group__joints.html#ga65abc36177390330037299b689b70c7" title="Get the current angle rate for axis anum.">dJointGetAMotorAngleRate</a> (_id,anum); } | ||
682 | <a name="l00667"></a>00667 | ||
683 | <a name="l00668"></a>00668 <span class="keywordtype">void</span> setParam (<span class="keywordtype">int</span> parameter, dReal value) | ||
684 | <a name="l00669"></a>00669 { <a class="code" href="group__joints.html#gac3f00196ee0cdb772e00dc259ef639a" title="set joint parameter">dJointSetAMotorParam</a> (_id, parameter, value); } | ||
685 | <a name="l00670"></a>00670 dReal getParam (<span class="keywordtype">int</span> parameter)<span class="keyword"> const</span> | ||
686 | <a name="l00671"></a>00671 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#gfc4cd1046089baa4309d30ae7832d289" title="get joint parameter">dJointGetAMotorParam</a> (_id, parameter); } | ||
687 | <a name="l00672"></a>00672 | ||
688 | <a name="l00673"></a>00673 <span class="keywordtype">void</span> addTorques(dReal torque1, dReal torque2, dReal torque3) | ||
689 | <a name="l00674"></a>00674 { <a class="code" href="group__joints.html#g69d13d54516716020d2adb841699b77b" title="Applies torque0 about the AMotor&#39;s axis 0, torque1 about the AMotor&#39;s axis...">dJointAddAMotorTorques</a>(_id, torque1, torque2, torque3); } | ||
690 | <a name="l00675"></a>00675 }; | ||
691 | <a name="l00676"></a>00676 | ||
692 | <a name="l00677"></a>00677 | ||
693 | <a name="l00678"></a>00678 <span class="keyword">class </span>dLMotorJoint : <span class="keyword">public</span> dJoint { | ||
694 | <a name="l00679"></a>00679 <span class="comment">// intentionally undefined, don't use these</span> | ||
695 | <a name="l00680"></a>00680 dLMotorJoint (<span class="keyword">const</span> dLMotorJoint &); | ||
696 | <a name="l00681"></a>00681 <span class="keywordtype">void</span> operator = (<span class="keyword">const</span> dLMotorJoint &); | ||
697 | <a name="l00682"></a>00682 | ||
698 | <a name="l00683"></a>00683 <span class="keyword">public</span>: | ||
699 | <a name="l00684"></a>00684 dLMotorJoint() { } | ||
700 | <a name="l00685"></a>00685 dLMotorJoint (dWorldID world, dJointGroupID group=0) | ||
701 | <a name="l00686"></a>00686 { _id = <a class="code" href="group__joints.html#g21c8c99615269c5d9d3c57c674f6fd56" title="Create a new joint of the L-motor type.">dJointCreateLMotor</a> (world, group); } | ||
702 | <a name="l00687"></a>00687 | ||
703 | <a name="l00688"></a>00688 <span class="keywordtype">void</span> create (dWorldID world, dJointGroupID group=0) { | ||
704 | <a name="l00689"></a>00689 <span class="keywordflow">if</span> (_id) <a class="code" href="group__joints.html#g2187ccbcf51c951f680eb6c9a210801a" title="Destroy a joint.">dJointDestroy</a> (_id); | ||
705 | <a name="l00690"></a>00690 _id = <a class="code" href="group__joints.html#g21c8c99615269c5d9d3c57c674f6fd56" title="Create a new joint of the L-motor type.">dJointCreateLMotor</a> (world, group); | ||
706 | <a name="l00691"></a>00691 } | ||
707 | <a name="l00692"></a>00692 | ||
708 | <a name="l00693"></a>00693 <span class="keywordtype">void</span> setNumAxes (<span class="keywordtype">int</span> num) | ||
709 | <a name="l00694"></a>00694 { <a class="code" href="group__joints.html#gcbfb4014567d69010aba3024d9b7bccd" title="Set the number of axes that will be controlled by the LMotor.">dJointSetLMotorNumAxes</a> (_id, num); } | ||
710 | <a name="l00695"></a>00695 <span class="keywordtype">int</span> getNumAxes()<span class="keyword"> const</span> | ||
711 | <a name="l00696"></a>00696 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#g6d7557b5e94e0ee37561cadc5bf85cb7" title="Get nr of axes.">dJointGetLMotorNumAxes</a> (_id); } | ||
712 | <a name="l00697"></a>00697 | ||
713 | <a name="l00698"></a>00698 <span class="keywordtype">void</span> setAxis (<span class="keywordtype">int</span> anum, <span class="keywordtype">int</span> rel, dReal x, dReal y, dReal z) | ||
714 | <a name="l00699"></a>00699 { <a class="code" href="group__joints.html#g080b7739f5b2b37a798742cee0ef38a4" title="Set the AMotor axes.">dJointSetLMotorAxis</a> (_id, anum, rel, x, y, z); } | ||
715 | <a name="l00700"></a>00700 <span class="keywordtype">void</span> getAxis (<span class="keywordtype">int</span> anum, dVector3 result)<span class="keyword"> const</span> | ||
716 | <a name="l00701"></a>00701 <span class="keyword"> </span>{ <a class="code" href="group__joints.html#g4ef7e0ca633583e82d90679c8eb6d5c3" title="Get axis.">dJointGetLMotorAxis</a> (_id, anum, result); } | ||
717 | <a name="l00702"></a>00702 | ||
718 | <a name="l00703"></a>00703 <span class="keywordtype">void</span> setParam (<span class="keywordtype">int</span> parameter, dReal value) | ||
719 | <a name="l00704"></a>00704 { <a class="code" href="group__joints.html#g791bfa6e65d0c3dce99ca0bcd3beb8d6" title="set joint parameter">dJointSetLMotorParam</a> (_id, parameter, value); } | ||
720 | <a name="l00705"></a>00705 dReal getParam (<span class="keywordtype">int</span> parameter)<span class="keyword"> const</span> | ||
721 | <a name="l00706"></a>00706 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__joints.html#gcbc48fd61857e3843923166abf81a7a0" title="get joint parameter">dJointGetLMotorParam</a> (_id, parameter); } | ||
722 | <a name="l00707"></a>00707 }; | ||
723 | <a name="l00708"></a>00708 | ||
724 | <a name="l00709"></a>00709 | ||
725 | <a name="l00710"></a>00710 | ||
726 | <a name="l00711"></a>00711 <span class="preprocessor">#endif</span> | ||
727 | <a name="l00712"></a>00712 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
728 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
729 | <a href="http://www.doxygen.org/index.html"> | ||
730 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
731 | </body> | ||
732 | </html> | ||
diff --git a/libraries/ode-0.9/docs/odecpp__collision_8h-source.html b/libraries/ode-0.9/docs/odecpp__collision_8h-source.html new file mode 100644 index 0000000..f4943ba --- /dev/null +++ b/libraries/ode-0.9/docs/odecpp__collision_8h-source.html | |||
@@ -0,0 +1,366 @@ | |||
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: odecpp_collision.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>odecpp_collision.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00023"></a>00023 <span class="comment">/* C++ interface for new collision API */</span> | ||
39 | <a name="l00024"></a>00024 | ||
40 | <a name="l00025"></a>00025 | ||
41 | <a name="l00026"></a>00026 <span class="preprocessor">#ifndef _ODE_ODECPP_COLLISION_H_</span> | ||
42 | <a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define _ODE_ODECPP_COLLISION_H_</span> | ||
43 | <a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#ifdef __cplusplus</span> | ||
44 | <a name="l00029"></a>00029 <span class="preprocessor"></span> | ||
45 | <a name="l00030"></a>00030 <span class="preprocessor">#include <ode/error.h></span> | ||
46 | <a name="l00031"></a>00031 | ||
47 | <a name="l00032"></a>00032 | ||
48 | <a name="l00033"></a>00033 <span class="keyword">class </span>dGeom { | ||
49 | <a name="l00034"></a>00034 <span class="comment">// intentionally undefined, don't use these</span> | ||
50 | <a name="l00035"></a>00035 dGeom (dGeom &); | ||
51 | <a name="l00036"></a>00036 <span class="keywordtype">void</span> operator= (dGeom &); | ||
52 | <a name="l00037"></a>00037 | ||
53 | <a name="l00038"></a>00038 <span class="keyword">protected</span>: | ||
54 | <a name="l00039"></a>00039 dGeomID _id; | ||
55 | <a name="l00040"></a>00040 | ||
56 | <a name="l00041"></a>00041 <span class="keyword">public</span>: | ||
57 | <a name="l00042"></a>00042 dGeom() | ||
58 | <a name="l00043"></a>00043 { _id = 0; } | ||
59 | <a name="l00044"></a>00044 ~dGeom() | ||
60 | <a name="l00045"></a>00045 { <span class="keywordflow">if</span> (_id) <a class="code" href="group__collide.html#g96b9e7d3a7ca769b0c8f37eecfaf98c6" title="Destroy a geom, removing it from any space.">dGeomDestroy</a> (_id); } | ||
61 | <a name="l00046"></a>00046 | ||
62 | <a name="l00047"></a>00047 dGeomID id()<span class="keyword"> const</span> | ||
63 | <a name="l00048"></a>00048 <span class="keyword"> </span>{ <span class="keywordflow">return</span> _id; } | ||
64 | <a name="l00049"></a>00049 operator dGeomID()<span class="keyword"> const</span> | ||
65 | <a name="l00050"></a>00050 <span class="keyword"> </span>{ <span class="keywordflow">return</span> _id; } | ||
66 | <a name="l00051"></a>00051 | ||
67 | <a name="l00052"></a>00052 <span class="keywordtype">void</span> destroy() { | ||
68 | <a name="l00053"></a>00053 <span class="keywordflow">if</span> (_id) <a class="code" href="group__collide.html#g96b9e7d3a7ca769b0c8f37eecfaf98c6" title="Destroy a geom, removing it from any space.">dGeomDestroy</a> (_id); | ||
69 | <a name="l00054"></a>00054 _id = 0; | ||
70 | <a name="l00055"></a>00055 } | ||
71 | <a name="l00056"></a>00056 | ||
72 | <a name="l00057"></a>00057 <span class="keywordtype">int</span> getClass()<span class="keyword"> const</span> | ||
73 | <a name="l00058"></a>00058 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__collide.html#g07b5ed5b915f756f419a4a7ce69dc67e" title="Given a geom, this returns its class.">dGeomGetClass</a> (_id); } | ||
74 | <a name="l00059"></a>00059 | ||
75 | <a name="l00060"></a>00060 dSpaceID getSpace()<span class="keyword"> const</span> | ||
76 | <a name="l00061"></a>00061 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__collide.html#gfdc35eade2cbd0b6886ce957325d7c03" title="Query for the space containing a particular geom.">dGeomGetSpace</a> (_id); } | ||
77 | <a name="l00062"></a>00062 | ||
78 | <a name="l00063"></a>00063 <span class="keywordtype">void</span> setData (<span class="keywordtype">void</span> *data) | ||
79 | <a name="l00064"></a>00064 { <a class="code" href="group__collide.html#gf68eb443d5c66ab1aaa8a7d38d1dbc4f" title="Set the user-defined data pointer stored in the geom.">dGeomSetData</a> (_id,data); } | ||
80 | <a name="l00065"></a>00065 <span class="keywordtype">void</span> *getData()<span class="keyword"> const</span> | ||
81 | <a name="l00066"></a>00066 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__collide.html#gc1a185e22b136814fd3afc8469d98996" title="Get the user-defined data pointer stored in the geom.">dGeomGetData</a> (_id); } | ||
82 | <a name="l00067"></a>00067 | ||
83 | <a name="l00068"></a>00068 <span class="keywordtype">void</span> setBody (dBodyID b) | ||
84 | <a name="l00069"></a>00069 { <a class="code" href="group__collide.html#g97cad1194789477eac19fe364d986505" title="Set the body associated with a placeable geom.">dGeomSetBody</a> (_id,b); } | ||
85 | <a name="l00070"></a>00070 dBodyID getBody()<span class="keyword"> const</span> | ||
86 | <a name="l00071"></a>00071 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__collide.html#gd6cedf77fde0dddf751c5d42fcc8eebf" title="Get the body associated with a placeable geom.">dGeomGetBody</a> (_id); } | ||
87 | <a name="l00072"></a>00072 | ||
88 | <a name="l00073"></a>00073 <span class="keywordtype">void</span> setPosition (dReal x, dReal y, dReal z) | ||
89 | <a name="l00074"></a>00074 { <a class="code" href="group__collide.html#g71043b70a735e8f5451c3e13cef345fe" title="Set the position vector of a placeable geom.">dGeomSetPosition</a> (_id,x,y,z); } | ||
90 | <a name="l00075"></a>00075 <span class="keyword">const</span> dReal * getPosition()<span class="keyword"> const</span> | ||
91 | <a name="l00076"></a>00076 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__collide.html#g95b93f803880cac2619fe2635aa93ad8" title="Get the position vector of a placeable geom.">dGeomGetPosition</a> (_id); } | ||
92 | <a name="l00077"></a>00077 | ||
93 | <a name="l00078"></a>00078 <span class="keywordtype">void</span> setRotation (<span class="keyword">const</span> dMatrix3 R) | ||
94 | <a name="l00079"></a>00079 { <a class="code" href="group__collide.html#g76c510f4b7d5a036d8a36f2d60d670e5" title="Set the rotation matrix of a placeable geom.">dGeomSetRotation</a> (_id,R); } | ||
95 | <a name="l00080"></a>00080 <span class="keyword">const</span> dReal * getRotation()<span class="keyword"> const</span> | ||
96 | <a name="l00081"></a>00081 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__collide.html#g293b2264cefb12f9a6659cacc6a722f7" title="Get the rotation matrix of a placeable geom.">dGeomGetRotation</a> (_id); } | ||
97 | <a name="l00082"></a>00082 | ||
98 | <a name="l00083"></a>00083 <span class="keywordtype">void</span> setQuaternion (<span class="keyword">const</span> dQuaternion quat) | ||
99 | <a name="l00084"></a>00084 { <a class="code" href="group__collide.html#g989149d93162264d699444a57b045150" title="Set the rotation of a placeable geom.">dGeomSetQuaternion</a> (_id,quat); } | ||
100 | <a name="l00085"></a>00085 <span class="keywordtype">void</span> getQuaternion (dQuaternion quat)<span class="keyword"> const</span> | ||
101 | <a name="l00086"></a>00086 <span class="keyword"> </span>{ <a class="code" href="group__collide.html#g11ad7f0098639b06f4bcd2d681122842" title="Get the rotation quaternion of a placeable geom.">dGeomGetQuaternion</a> (_id,quat); } | ||
102 | <a name="l00087"></a>00087 | ||
103 | <a name="l00088"></a>00088 <span class="keywordtype">void</span> getAABB (dReal aabb[6])<span class="keyword"> const</span> | ||
104 | <a name="l00089"></a>00089 <span class="keyword"> </span>{ <a class="code" href="group__collide.html#g904e360ac6e9e85a05e67929990e5b72" title="Return the axis-aligned bounding box.">dGeomGetAABB</a> (_id, aabb); } | ||
105 | <a name="l00090"></a>00090 | ||
106 | <a name="l00091"></a>00091 <span class="keywordtype">int</span> isSpace() | ||
107 | <a name="l00092"></a>00092 { <span class="keywordflow">return</span> <a class="code" href="group__collide.html#ge5a58bdc78fb4f163a0e9c3ecabf64c9" title="Determing if a geom is a space.">dGeomIsSpace</a> (_id); } | ||
108 | <a name="l00093"></a>00093 | ||
109 | <a name="l00094"></a>00094 <span class="keywordtype">void</span> setCategoryBits (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> bits) | ||
110 | <a name="l00095"></a>00095 { <a class="code" href="group__collide.html#g80fd5741701eb48472521780d5e2f9b9" title="Set the &quot;category&quot; bitfield for the given geom.">dGeomSetCategoryBits</a> (_id, bits); } | ||
111 | <a name="l00096"></a>00096 <span class="keywordtype">void</span> setCollideBits (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> bits) | ||
112 | <a name="l00097"></a>00097 { <a class="code" href="group__collide.html#ga55b4de01a61be41668685857b78455d" title="Set the &quot;collide&quot; bitfield for the given geom.">dGeomSetCollideBits</a> (_id, bits); } | ||
113 | <a name="l00098"></a>00098 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> getCategoryBits() | ||
114 | <a name="l00099"></a>00099 { <span class="keywordflow">return</span> <a class="code" href="group__collide.html#gfb62d3493b6789382f65776ab931e78d" title="Get the &quot;category&quot; bitfield for the given geom.">dGeomGetCategoryBits</a> (_id); } | ||
115 | <a name="l00100"></a>00100 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> getCollideBits() | ||
116 | <a name="l00101"></a>00101 { <span class="keywordflow">return</span> <a class="code" href="group__collide.html#g5591e5c496a5a6f8b66dc57e03d0cd8d" title="Get the &quot;collide&quot; bitfield for the given geom.">dGeomGetCollideBits</a> (_id); } | ||
117 | <a name="l00102"></a>00102 | ||
118 | <a name="l00103"></a>00103 <span class="keywordtype">void</span> enable() | ||
119 | <a name="l00104"></a>00104 { <a class="code" href="group__collide.html#ga7c64b8fcae37ee9541208a0351f3d05" title="Enable a geom.">dGeomEnable</a> (_id); } | ||
120 | <a name="l00105"></a>00105 <span class="keywordtype">void</span> disable() | ||
121 | <a name="l00106"></a>00106 { <a class="code" href="group__collide.html#g6cb32b4161435fe491859680b463fc12" title="Disable a geom.">dGeomDisable</a> (_id); } | ||
122 | <a name="l00107"></a>00107 <span class="keywordtype">int</span> isEnabled() | ||
123 | <a name="l00108"></a>00108 { <span class="keywordflow">return</span> <a class="code" href="group__collide.html#g6533d33f870cf0fb6684ec05e5c0562e" title="Check to see if a geom is enabled.">dGeomIsEnabled</a> (_id); } | ||
124 | <a name="l00109"></a>00109 | ||
125 | <a name="l00110"></a>00110 <span class="keywordtype">void</span> collide2 (dGeomID g, <span class="keywordtype">void</span> *data, <a class="code" href="group__collide.html#g9f458413ace07fa9e3e7e52d6652ace0" title="User callback for geom-geom collision testing.">dNearCallback</a> *callback) | ||
126 | <a name="l00111"></a>00111 { <a class="code" href="group__collide.html#g72a6bb0b550d3e181f8b7a9be7179db5" title="Determines which geoms from one space may potentially intersect with geoms from another...">dSpaceCollide2</a> (_id,g,data,callback); } | ||
127 | <a name="l00112"></a>00112 }; | ||
128 | <a name="l00113"></a>00113 | ||
129 | <a name="l00114"></a>00114 | ||
130 | <a name="l00115"></a>00115 <span class="keyword">class </span>dSpace : <span class="keyword">public</span> dGeom { | ||
131 | <a name="l00116"></a>00116 <span class="comment">// intentionally undefined, don't use these</span> | ||
132 | <a name="l00117"></a>00117 dSpace (dSpace &); | ||
133 | <a name="l00118"></a>00118 <span class="keywordtype">void</span> operator= (dSpace &); | ||
134 | <a name="l00119"></a>00119 | ||
135 | <a name="l00120"></a>00120 <span class="keyword">protected</span>: | ||
136 | <a name="l00121"></a>00121 <span class="comment">// the default constructor is protected so that you</span> | ||
137 | <a name="l00122"></a>00122 <span class="comment">// can't instance this class. you must instance one</span> | ||
138 | <a name="l00123"></a>00123 <span class="comment">// of its subclasses instead.</span> | ||
139 | <a name="l00124"></a>00124 dSpace () { _id = 0; } | ||
140 | <a name="l00125"></a>00125 | ||
141 | <a name="l00126"></a>00126 <span class="keyword">public</span>: | ||
142 | <a name="l00127"></a>00127 dSpaceID id()<span class="keyword"> const</span> | ||
143 | <a name="l00128"></a>00128 <span class="keyword"> </span>{ <span class="keywordflow">return</span> (dSpaceID) _id; } | ||
144 | <a name="l00129"></a>00129 operator dSpaceID()<span class="keyword"> const</span> | ||
145 | <a name="l00130"></a>00130 <span class="keyword"> </span>{ <span class="keywordflow">return</span> (dSpaceID) _id; } | ||
146 | <a name="l00131"></a>00131 | ||
147 | <a name="l00132"></a>00132 <span class="keywordtype">void</span> setCleanup (<span class="keywordtype">int</span> mode) | ||
148 | <a name="l00133"></a>00133 { dSpaceSetCleanup (<span class="keywordtype">id</span>(), mode); } | ||
149 | <a name="l00134"></a>00134 <span class="keywordtype">int</span> getCleanup() | ||
150 | <a name="l00135"></a>00135 { <span class="keywordflow">return</span> dSpaceGetCleanup (<span class="keywordtype">id</span>()); } | ||
151 | <a name="l00136"></a>00136 | ||
152 | <a name="l00137"></a>00137 <span class="keywordtype">void</span> <span class="keyword">add</span> (dGeomID x) | ||
153 | <a name="l00138"></a>00138 { dSpaceAdd (<span class="keywordtype">id</span>(), x); } | ||
154 | <a name="l00139"></a>00139 <span class="keywordtype">void</span> <span class="keyword">remove</span> (dGeomID x) | ||
155 | <a name="l00140"></a>00140 { dSpaceRemove (<span class="keywordtype">id</span>(), x); } | ||
156 | <a name="l00141"></a>00141 <span class="keywordtype">int</span> query (dGeomID x) | ||
157 | <a name="l00142"></a>00142 { <span class="keywordflow">return</span> dSpaceQuery (<span class="keywordtype">id</span>(),x); } | ||
158 | <a name="l00143"></a>00143 | ||
159 | <a name="l00144"></a>00144 <span class="keywordtype">int</span> getNumGeoms() | ||
160 | <a name="l00145"></a>00145 { <span class="keywordflow">return</span> dSpaceGetNumGeoms (<span class="keywordtype">id</span>()); } | ||
161 | <a name="l00146"></a>00146 dGeomID getGeom (<span class="keywordtype">int</span> i) | ||
162 | <a name="l00147"></a>00147 { <span class="keywordflow">return</span> dSpaceGetGeom (<span class="keywordtype">id</span>(),i); } | ||
163 | <a name="l00148"></a>00148 | ||
164 | <a name="l00149"></a>00149 <span class="keywordtype">void</span> collide (<span class="keywordtype">void</span> *data, <a class="code" href="group__collide.html#g9f458413ace07fa9e3e7e52d6652ace0" title="User callback for geom-geom collision testing.">dNearCallback</a> *callback) | ||
165 | <a name="l00150"></a>00150 { <a class="code" href="group__collide.html#gfd185829b6940e2b3238517e1acd2fbb" title="Determines which pairs of geoms in a space may potentially intersect, and calls the...">dSpaceCollide</a> (<span class="keywordtype">id</span>(),data,callback); } | ||
166 | <a name="l00151"></a>00151 }; | ||
167 | <a name="l00152"></a>00152 | ||
168 | <a name="l00153"></a>00153 | ||
169 | <a name="l00154"></a>00154 <span class="keyword">class </span>dSimpleSpace : <span class="keyword">public</span> dSpace { | ||
170 | <a name="l00155"></a>00155 <span class="comment">// intentionally undefined, don't use these</span> | ||
171 | <a name="l00156"></a>00156 dSimpleSpace (dSimpleSpace &); | ||
172 | <a name="l00157"></a>00157 <span class="keywordtype">void</span> operator= (dSimpleSpace &); | ||
173 | <a name="l00158"></a>00158 | ||
174 | <a name="l00159"></a>00159 <span class="keyword">public</span>: | ||
175 | <a name="l00160"></a>00160 dSimpleSpace (dSpaceID space) | ||
176 | <a name="l00161"></a>00161 { _id = (dGeomID) dSimpleSpaceCreate (space); } | ||
177 | <a name="l00162"></a>00162 }; | ||
178 | <a name="l00163"></a>00163 | ||
179 | <a name="l00164"></a>00164 | ||
180 | <a name="l00165"></a>00165 <span class="keyword">class </span>dHashSpace : <span class="keyword">public</span> dSpace { | ||
181 | <a name="l00166"></a>00166 <span class="comment">// intentionally undefined, don't use these</span> | ||
182 | <a name="l00167"></a>00167 dHashSpace (dHashSpace &); | ||
183 | <a name="l00168"></a>00168 <span class="keywordtype">void</span> operator= (dHashSpace &); | ||
184 | <a name="l00169"></a>00169 | ||
185 | <a name="l00170"></a>00170 <span class="keyword">public</span>: | ||
186 | <a name="l00171"></a>00171 dHashSpace (dSpaceID space) | ||
187 | <a name="l00172"></a>00172 { _id = (dGeomID) dHashSpaceCreate (space); } | ||
188 | <a name="l00173"></a>00173 <span class="keywordtype">void</span> setLevels (<span class="keywordtype">int</span> minlevel, <span class="keywordtype">int</span> maxlevel) | ||
189 | <a name="l00174"></a>00174 { dHashSpaceSetLevels (<span class="keywordtype">id</span>(),minlevel,maxlevel); } | ||
190 | <a name="l00175"></a>00175 }; | ||
191 | <a name="l00176"></a>00176 | ||
192 | <a name="l00177"></a>00177 | ||
193 | <a name="l00178"></a>00178 <span class="keyword">class </span>dQuadTreeSpace : <span class="keyword">public</span> dSpace { | ||
194 | <a name="l00179"></a>00179 <span class="comment">// intentionally undefined, don't use these</span> | ||
195 | <a name="l00180"></a>00180 dQuadTreeSpace (dQuadTreeSpace &); | ||
196 | <a name="l00181"></a>00181 <span class="keywordtype">void</span> operator= (dQuadTreeSpace &); | ||
197 | <a name="l00182"></a>00182 | ||
198 | <a name="l00183"></a>00183 <span class="keyword">public</span>: | ||
199 | <a name="l00184"></a>00184 dQuadTreeSpace (dSpaceID space, dVector3 center, dVector3 extents, <span class="keywordtype">int</span> depth) | ||
200 | <a name="l00185"></a>00185 { _id = (dGeomID) dQuadTreeSpaceCreate (space,center,extents,depth); } | ||
201 | <a name="l00186"></a>00186 }; | ||
202 | <a name="l00187"></a>00187 | ||
203 | <a name="l00188"></a>00188 | ||
204 | <a name="l00189"></a>00189 <span class="keyword">class </span>dSphere : <span class="keyword">public</span> dGeom { | ||
205 | <a name="l00190"></a>00190 <span class="comment">// intentionally undefined, don't use these</span> | ||
206 | <a name="l00191"></a>00191 dSphere (dSphere &); | ||
207 | <a name="l00192"></a>00192 <span class="keywordtype">void</span> operator= (dSphere &); | ||
208 | <a name="l00193"></a>00193 | ||
209 | <a name="l00194"></a>00194 <span class="keyword">public</span>: | ||
210 | <a name="l00195"></a>00195 dSphere () { } | ||
211 | <a name="l00196"></a>00196 dSphere (dSpaceID space, dReal radius) | ||
212 | <a name="l00197"></a>00197 { _id = <a class="code" href="group__collide__sphere.html#g53c79c860638ca3600744a193da68474" title="Create a sphere geom of the given radius, and return its ID.">dCreateSphere</a> (space, radius); } | ||
213 | <a name="l00198"></a>00198 | ||
214 | <a name="l00199"></a>00199 <span class="keywordtype">void</span> create (dSpaceID space, dReal radius) { | ||
215 | <a name="l00200"></a>00200 <span class="keywordflow">if</span> (_id) <a class="code" href="group__collide.html#g96b9e7d3a7ca769b0c8f37eecfaf98c6" title="Destroy a geom, removing it from any space.">dGeomDestroy</a> (_id); | ||
216 | <a name="l00201"></a>00201 _id = <a class="code" href="group__collide__sphere.html#g53c79c860638ca3600744a193da68474" title="Create a sphere geom of the given radius, and return its ID.">dCreateSphere</a> (space, radius); | ||
217 | <a name="l00202"></a>00202 } | ||
218 | <a name="l00203"></a>00203 | ||
219 | <a name="l00204"></a>00204 <span class="keywordtype">void</span> setRadius (dReal radius) | ||
220 | <a name="l00205"></a>00205 { <a class="code" href="group__collide__sphere.html#g2341ae9b3b733571eff7a1857109f394" title="Set the radius of a sphere geom.">dGeomSphereSetRadius</a> (_id, radius); } | ||
221 | <a name="l00206"></a>00206 dReal getRadius()<span class="keyword"> const</span> | ||
222 | <a name="l00207"></a>00207 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="group__collide__sphere.html#g0e7f664deb9f557a6a24f93705b29fa9" title="Retrieves the radius of a sphere geom.">dGeomSphereGetRadius</a> (_id); } | ||
223 | <a name="l00208"></a>00208 }; | ||
224 | <a name="l00209"></a>00209 | ||
225 | <a name="l00210"></a>00210 | ||
226 | <a name="l00211"></a>00211 <span class="keyword">class </span>dBox : <span class="keyword">public</span> dGeom { | ||
227 | <a name="l00212"></a>00212 <span class="comment">// intentionally undefined, don't use these</span> | ||
228 | <a name="l00213"></a>00213 dBox (dBox &); | ||
229 | <a name="l00214"></a>00214 <span class="keywordtype">void</span> operator= (dBox &); | ||
230 | <a name="l00215"></a>00215 | ||
231 | <a name="l00216"></a>00216 <span class="keyword">public</span>: | ||
232 | <a name="l00217"></a>00217 dBox () { } | ||
233 | <a name="l00218"></a>00218 dBox (dSpaceID space, dReal lx, dReal ly, dReal lz) | ||
234 | <a name="l00219"></a>00219 { _id = <a class="code" href="group__collide__box.html#g3e3b0b249a8ccd40a9969e3a26548397" title="Create a box geom with the provided side lengths.">dCreateBox</a> (space,lx,ly,lz); } | ||
235 | <a name="l00220"></a>00220 | ||
236 | <a name="l00221"></a>00221 <span class="keywordtype">void</span> create (dSpaceID space, dReal lx, dReal ly, dReal lz) { | ||
237 | <a name="l00222"></a>00222 <span class="keywordflow">if</span> (_id) <a class="code" href="group__collide.html#g96b9e7d3a7ca769b0c8f37eecfaf98c6" title="Destroy a geom, removing it from any space.">dGeomDestroy</a> (_id); | ||
238 | <a name="l00223"></a>00223 _id = <a class="code" href="group__collide__box.html#g3e3b0b249a8ccd40a9969e3a26548397" title="Create a box geom with the provided side lengths.">dCreateBox</a> (space,lx,ly,lz); | ||
239 | <a name="l00224"></a>00224 } | ||
240 | <a name="l00225"></a>00225 | ||
241 | <a name="l00226"></a>00226 <span class="keywordtype">void</span> setLengths (dReal lx, dReal ly, dReal lz) | ||
242 | <a name="l00227"></a>00227 { <a class="code" href="group__collide__box.html#g4c7060780be9eaf74228565910168273" title="Set the side lengths of the given box.">dGeomBoxSetLengths</a> (_id, lx, ly, lz); } | ||
243 | <a name="l00228"></a>00228 <span class="keywordtype">void</span> getLengths (dVector3 result)<span class="keyword"> const</span> | ||
244 | <a name="l00229"></a>00229 <span class="keyword"> </span>{ <a class="code" href="group__collide__box.html#ge24d9264235d2487b2e2d52b2c62c879" title="Get the side lengths of a box.">dGeomBoxGetLengths</a> (_id,result); } | ||
245 | <a name="l00230"></a>00230 }; | ||
246 | <a name="l00231"></a>00231 | ||
247 | <a name="l00232"></a>00232 | ||
248 | <a name="l00233"></a>00233 <span class="keyword">class </span>dPlane : <span class="keyword">public</span> dGeom { | ||
249 | <a name="l00234"></a>00234 <span class="comment">// intentionally undefined, don't use these</span> | ||
250 | <a name="l00235"></a>00235 dPlane (dPlane &); | ||
251 | <a name="l00236"></a>00236 <span class="keywordtype">void</span> operator= (dPlane &); | ||
252 | <a name="l00237"></a>00237 | ||
253 | <a name="l00238"></a>00238 <span class="keyword">public</span>: | ||
254 | <a name="l00239"></a>00239 dPlane() { } | ||
255 | <a name="l00240"></a>00240 dPlane (dSpaceID space, dReal a, dReal b, dReal c, dReal d) | ||
256 | <a name="l00241"></a>00241 { _id = dCreatePlane (space,a,b,c,d); } | ||
257 | <a name="l00242"></a>00242 | ||
258 | <a name="l00243"></a>00243 <span class="keywordtype">void</span> create (dSpaceID space, dReal a, dReal b, dReal c, dReal d) { | ||
259 | <a name="l00244"></a>00244 <span class="keywordflow">if</span> (_id) <a class="code" href="group__collide.html#g96b9e7d3a7ca769b0c8f37eecfaf98c6" title="Destroy a geom, removing it from any space.">dGeomDestroy</a> (_id); | ||
260 | <a name="l00245"></a>00245 _id = dCreatePlane (space,a,b,c,d); | ||
261 | <a name="l00246"></a>00246 } | ||
262 | <a name="l00247"></a>00247 | ||
263 | <a name="l00248"></a>00248 <span class="keywordtype">void</span> setParams (dReal a, dReal b, dReal c, dReal d) | ||
264 | <a name="l00249"></a>00249 { dGeomPlaneSetParams (_id, a, b, c, d); } | ||
265 | <a name="l00250"></a>00250 <span class="keywordtype">void</span> getParams (dVector4 result)<span class="keyword"> const</span> | ||
266 | <a name="l00251"></a>00251 <span class="keyword"> </span>{ dGeomPlaneGetParams (_id,result); } | ||
267 | <a name="l00252"></a>00252 }; | ||
268 | <a name="l00253"></a>00253 | ||
269 | <a name="l00254"></a>00254 | ||
270 | <a name="l00255"></a>00255 <span class="keyword">class </span>dCapsule : <span class="keyword">public</span> dGeom { | ||
271 | <a name="l00256"></a>00256 <span class="comment">// intentionally undefined, don't use these</span> | ||
272 | <a name="l00257"></a>00257 dCapsule (dCapsule &); | ||
273 | <a name="l00258"></a>00258 <span class="keywordtype">void</span> operator= (dCapsule &); | ||
274 | <a name="l00259"></a>00259 | ||
275 | <a name="l00260"></a>00260 <span class="keyword">public</span>: | ||
276 | <a name="l00261"></a>00261 dCapsule() { } | ||
277 | <a name="l00262"></a>00262 dCapsule (dSpaceID space, dReal radius, dReal length) | ||
278 | <a name="l00263"></a>00263 { _id = dCreateCapsule (space,radius,length); } | ||
279 | <a name="l00264"></a>00264 | ||
280 | <a name="l00265"></a>00265 <span class="keywordtype">void</span> create (dSpaceID space, dReal radius, dReal length) { | ||
281 | <a name="l00266"></a>00266 <span class="keywordflow">if</span> (_id) <a class="code" href="group__collide.html#g96b9e7d3a7ca769b0c8f37eecfaf98c6" title="Destroy a geom, removing it from any space.">dGeomDestroy</a> (_id); | ||
282 | <a name="l00267"></a>00267 _id = dCreateCapsule (space,radius,length); | ||
283 | <a name="l00268"></a>00268 } | ||
284 | <a name="l00269"></a>00269 | ||
285 | <a name="l00270"></a>00270 <span class="keywordtype">void</span> setParams (dReal radius, dReal length) | ||
286 | <a name="l00271"></a>00271 { dGeomCapsuleSetParams (_id, radius, length); } | ||
287 | <a name="l00272"></a>00272 <span class="keywordtype">void</span> getParams (dReal *radius, dReal *length)<span class="keyword"> const</span> | ||
288 | <a name="l00273"></a>00273 <span class="keyword"> </span>{ dGeomCapsuleGetParams (_id,radius,length); } | ||
289 | <a name="l00274"></a>00274 }; | ||
290 | <a name="l00275"></a>00275 | ||
291 | <a name="l00276"></a>00276 | ||
292 | <a name="l00277"></a>00277 <span class="keyword">class </span>dRay : <span class="keyword">public</span> dGeom { | ||
293 | <a name="l00278"></a>00278 <span class="comment">// intentionally undefined, don't use these</span> | ||
294 | <a name="l00279"></a>00279 dRay (dRay &); | ||
295 | <a name="l00280"></a>00280 <span class="keywordtype">void</span> operator= (dRay &); | ||
296 | <a name="l00281"></a>00281 | ||
297 | <a name="l00282"></a>00282 <span class="keyword">public</span>: | ||
298 | <a name="l00283"></a>00283 dRay() { } | ||
299 | <a name="l00284"></a>00284 dRay (dSpaceID space, dReal length) | ||
300 | <a name="l00285"></a>00285 { _id = dCreateRay (space,length); } | ||
301 | <a name="l00286"></a>00286 | ||
302 | <a name="l00287"></a>00287 <span class="keywordtype">void</span> create (dSpaceID space, dReal length) { | ||
303 | <a name="l00288"></a>00288 <span class="keywordflow">if</span> (_id) <a class="code" href="group__collide.html#g96b9e7d3a7ca769b0c8f37eecfaf98c6" title="Destroy a geom, removing it from any space.">dGeomDestroy</a> (_id); | ||
304 | <a name="l00289"></a>00289 _id = dCreateRay (space,length); | ||
305 | <a name="l00290"></a>00290 } | ||
306 | <a name="l00291"></a>00291 | ||
307 | <a name="l00292"></a>00292 <span class="keywordtype">void</span> setLength (dReal length) | ||
308 | <a name="l00293"></a>00293 { dGeomRaySetLength (_id, length); } | ||
309 | <a name="l00294"></a>00294 dReal getLength() | ||
310 | <a name="l00295"></a>00295 { <span class="keywordflow">return</span> dGeomRayGetLength (_id); } | ||
311 | <a name="l00296"></a>00296 | ||
312 | <a name="l00297"></a>00297 <span class="keywordtype">void</span> <span class="keyword">set</span> (dReal px, dReal py, dReal pz, dReal dx, dReal dy, dReal dz) | ||
313 | <a name="l00298"></a>00298 { dGeomRaySet (_id, px, py, pz, dx, dy, dz); } | ||
314 | <a name="l00299"></a>00299 <span class="keywordtype">void</span> <span class="keyword">get</span> (dVector3 start, dVector3 dir) | ||
315 | <a name="l00300"></a>00300 { dGeomRayGet (_id, start, dir); } | ||
316 | <a name="l00301"></a>00301 | ||
317 | <a name="l00302"></a>00302 <span class="keywordtype">void</span> setParams (<span class="keywordtype">int</span> firstContact, <span class="keywordtype">int</span> backfaceCull) | ||
318 | <a name="l00303"></a>00303 { dGeomRaySetParams (_id, firstContact, backfaceCull); } | ||
319 | <a name="l00304"></a>00304 <span class="keywordtype">void</span> getParams (<span class="keywordtype">int</span> *firstContact, <span class="keywordtype">int</span> *backfaceCull) | ||
320 | <a name="l00305"></a>00305 { dGeomRayGetParams (_id, firstContact, backfaceCull); } | ||
321 | <a name="l00306"></a>00306 <span class="keywordtype">void</span> setClosestHit (<span class="keywordtype">int</span> closestHit) | ||
322 | <a name="l00307"></a>00307 { dGeomRaySetClosestHit (_id, closestHit); } | ||
323 | <a name="l00308"></a>00308 <span class="keywordtype">int</span> getClosestHit() | ||
324 | <a name="l00309"></a>00309 { <span class="keywordflow">return</span> dGeomRayGetClosestHit (_id); } | ||
325 | <a name="l00310"></a>00310 }; | ||
326 | <a name="l00311"></a>00311 | ||
327 | <a name="l00312"></a>00312 | ||
328 | <a name="l00313"></a>00313 <span class="keyword">class </span>dGeomTransform : <span class="keyword">public</span> dGeom { | ||
329 | <a name="l00314"></a>00314 <span class="comment">// intentionally undefined, don't use these</span> | ||
330 | <a name="l00315"></a>00315 dGeomTransform (dGeomTransform &); | ||
331 | <a name="l00316"></a>00316 <span class="keywordtype">void</span> operator= (dGeomTransform &); | ||
332 | <a name="l00317"></a>00317 | ||
333 | <a name="l00318"></a>00318 <span class="keyword">public</span>: | ||
334 | <a name="l00319"></a>00319 dGeomTransform() { } | ||
335 | <a name="l00320"></a>00320 dGeomTransform (dSpaceID space) | ||
336 | <a name="l00321"></a>00321 { _id = dCreateGeomTransform (space); } | ||
337 | <a name="l00322"></a>00322 | ||
338 | <a name="l00323"></a>00323 <span class="keywordtype">void</span> create (dSpaceID space=0) { | ||
339 | <a name="l00324"></a>00324 <span class="keywordflow">if</span> (_id) <a class="code" href="group__collide.html#g96b9e7d3a7ca769b0c8f37eecfaf98c6" title="Destroy a geom, removing it from any space.">dGeomDestroy</a> (_id); | ||
340 | <a name="l00325"></a>00325 _id = dCreateGeomTransform (space); | ||
341 | <a name="l00326"></a>00326 } | ||
342 | <a name="l00327"></a>00327 | ||
343 | <a name="l00328"></a>00328 <span class="keywordtype">void</span> setGeom (dGeomID geom) | ||
344 | <a name="l00329"></a>00329 { dGeomTransformSetGeom (_id, geom); } | ||
345 | <a name="l00330"></a>00330 dGeomID getGeom()<span class="keyword"> const</span> | ||
346 | <a name="l00331"></a>00331 <span class="keyword"> </span>{ <span class="keywordflow">return</span> dGeomTransformGetGeom (_id); } | ||
347 | <a name="l00332"></a>00332 | ||
348 | <a name="l00333"></a>00333 <span class="keywordtype">void</span> setCleanup (<span class="keywordtype">int</span> mode) | ||
349 | <a name="l00334"></a>00334 { dGeomTransformSetCleanup (_id,mode); } | ||
350 | <a name="l00335"></a>00335 <span class="keywordtype">int</span> getCleanup () | ||
351 | <a name="l00336"></a>00336 { <span class="keywordflow">return</span> dGeomTransformGetCleanup (_id); } | ||
352 | <a name="l00337"></a>00337 | ||
353 | <a name="l00338"></a>00338 <span class="keywordtype">void</span> setInfo (<span class="keywordtype">int</span> mode) | ||
354 | <a name="l00339"></a>00339 { dGeomTransformSetInfo (_id,mode); } | ||
355 | <a name="l00340"></a>00340 <span class="keywordtype">int</span> getInfo() | ||
356 | <a name="l00341"></a>00341 { <span class="keywordflow">return</span> dGeomTransformGetInfo (_id); } | ||
357 | <a name="l00342"></a>00342 }; | ||
358 | <a name="l00343"></a>00343 | ||
359 | <a name="l00344"></a>00344 | ||
360 | <a name="l00345"></a>00345 <span class="preprocessor">#endif</span> | ||
361 | <a name="l00346"></a>00346 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
362 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
363 | <a href="http://www.doxygen.org/index.html"> | ||
364 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
365 | </body> | ||
366 | </html> | ||
diff --git a/libraries/ode-0.9/docs/odemath_8h-source.html b/libraries/ode-0.9/docs/odemath_8h-source.html new file mode 100644 index 0000000..b330c60 --- /dev/null +++ b/libraries/ode-0.9/docs/odemath_8h-source.html | |||
@@ -0,0 +1,350 @@ | |||
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: odemath.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>odemath.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00023"></a>00023 <span class="preprocessor">#ifndef _ODE_ODEMATH_H_</span> | ||
39 | <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define _ODE_ODEMATH_H_</span> | ||
40 | <a name="l00025"></a>00025 <span class="preprocessor"></span> | ||
41 | <a name="l00026"></a>00026 <span class="preprocessor">#include <ode/common.h></span> | ||
42 | <a name="l00027"></a>00027 | ||
43 | <a name="l00028"></a>00028 <span class="preprocessor">#ifdef __GNUC__</span> | ||
44 | <a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define PURE_INLINE extern inline</span> | ||
45 | <a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#else</span> | ||
46 | <a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define PURE_INLINE inline</span> | ||
47 | <a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
48 | <a name="l00033"></a>00033 <span class="preprocessor"></span> | ||
49 | <a name="l00034"></a>00034 <span class="comment">/*</span> | ||
50 | <a name="l00035"></a>00035 <span class="comment"> * macro to access elements i,j in an NxM matrix A, independent of the</span> | ||
51 | <a name="l00036"></a>00036 <span class="comment"> * matrix storage convention.</span> | ||
52 | <a name="l00037"></a>00037 <span class="comment"> */</span> | ||
53 | <a name="l00038"></a>00038 <span class="preprocessor">#define dACCESS33(A,i,j) ((A)[(i)*4+(j)])</span> | ||
54 | <a name="l00039"></a>00039 <span class="preprocessor"></span> | ||
55 | <a name="l00040"></a>00040 <span class="comment">/*</span> | ||
56 | <a name="l00041"></a>00041 <span class="comment"> * Macro to test for valid floating point values</span> | ||
57 | <a name="l00042"></a>00042 <span class="comment"> */</span> | ||
58 | <a name="l00043"></a>00043 <span class="preprocessor">#define dVALIDVEC3(v) (!(dIsNan(v[0]) || dIsNan(v[1]) || dIsNan(v[2])))</span> | ||
59 | <a name="l00044"></a>00044 <span class="preprocessor"></span><span class="preprocessor">#define dVALIDVEC4(v) (!(dIsNan(v[0]) || dIsNan(v[1]) || dIsNan(v[2]) || dIsNan(v[3])))</span> | ||
60 | <a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#define dVALIDMAT3(m) (!(dIsNan(m[0]) || dIsNan(m[1]) || dIsNan(m[2]) || dIsNan(m[3]) || dIsNan(m[4]) || dIsNan(m[5]) || dIsNan(m[6]) || dIsNan(m[7]) || dIsNan(m[8]) || dIsNan(m[9]) || dIsNan(m[10]) || dIsNan(m[11])))</span> | ||
61 | <a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#define dVALIDMAT4(m) (!(dIsNan(m[0]) || dIsNan(m[1]) || dIsNan(m[2]) || dIsNan(m[3]) || dIsNan(m[4]) || dIsNan(m[5]) || dIsNan(m[6]) || dIsNan(m[7]) || dIsNan(m[8]) || dIsNan(m[9]) || dIsNan(m[10]) || dIsNan(m[11]) || dIsNan(m[12]) || dIsNan(m[13]) || dIsNan(m[14]) || dIsNan(m[15]) ))</span> | ||
62 | <a name="l00047"></a>00047 <span class="preprocessor"></span> | ||
63 | <a name="l00048"></a>00048 | ||
64 | <a name="l00049"></a>00049 | ||
65 | <a name="l00050"></a>00050 <span class="comment">/*</span> | ||
66 | <a name="l00051"></a>00051 <span class="comment"> * General purpose vector operations with other vectors or constants.</span> | ||
67 | <a name="l00052"></a>00052 <span class="comment"> */</span> | ||
68 | <a name="l00053"></a>00053 | ||
69 | <a name="l00054"></a>00054 <span class="preprocessor">#define dOP(a,op,b,c) \</span> | ||
70 | <a name="l00055"></a>00055 <span class="preprocessor"> (a)[0] = ((b)[0]) op ((c)[0]); \</span> | ||
71 | <a name="l00056"></a>00056 <span class="preprocessor"> (a)[1] = ((b)[1]) op ((c)[1]); \</span> | ||
72 | <a name="l00057"></a>00057 <span class="preprocessor"> (a)[2] = ((b)[2]) op ((c)[2]);</span> | ||
73 | <a name="l00058"></a>00058 <span class="preprocessor"></span><span class="preprocessor">#define dOPC(a,op,b,c) \</span> | ||
74 | <a name="l00059"></a>00059 <span class="preprocessor"> (a)[0] = ((b)[0]) op (c); \</span> | ||
75 | <a name="l00060"></a>00060 <span class="preprocessor"> (a)[1] = ((b)[1]) op (c); \</span> | ||
76 | <a name="l00061"></a>00061 <span class="preprocessor"> (a)[2] = ((b)[2]) op (c);</span> | ||
77 | <a name="l00062"></a>00062 <span class="preprocessor"></span><span class="preprocessor">#define dOPE(a,op,b) \</span> | ||
78 | <a name="l00063"></a>00063 <span class="preprocessor"> (a)[0] op ((b)[0]); \</span> | ||
79 | <a name="l00064"></a>00064 <span class="preprocessor"> (a)[1] op ((b)[1]); \</span> | ||
80 | <a name="l00065"></a>00065 <span class="preprocessor"> (a)[2] op ((b)[2]);</span> | ||
81 | <a name="l00066"></a>00066 <span class="preprocessor"></span><span class="preprocessor">#define dOPEC(a,op,c) \</span> | ||
82 | <a name="l00067"></a>00067 <span class="preprocessor"> (a)[0] op (c); \</span> | ||
83 | <a name="l00068"></a>00068 <span class="preprocessor"> (a)[1] op (c); \</span> | ||
84 | <a name="l00069"></a>00069 <span class="preprocessor"> (a)[2] op (c);</span> | ||
85 | <a name="l00070"></a>00070 <span class="preprocessor"></span> | ||
86 | <a name="l00071"></a>00071 | ||
87 | <a name="l00072"></a>00072 <span class="comment">/*</span> | ||
88 | <a name="l00073"></a>00073 <span class="comment"> * Length, and squared length helpers. dLENGTH returns the length of a dVector3.</span> | ||
89 | <a name="l00074"></a>00074 <span class="comment"> * dLENGTHSQUARED return the squared length of a dVector3.</span> | ||
90 | <a name="l00075"></a>00075 <span class="comment"> */</span> | ||
91 | <a name="l00076"></a>00076 | ||
92 | <a name="l00077"></a>00077 <span class="preprocessor">#define dLENGTHSQUARED(a) (((a)[0])*((a)[0]) + ((a)[1])*((a)[1]) + ((a)[2])*((a)[2]))</span> | ||
93 | <a name="l00078"></a>00078 <span class="preprocessor"></span> | ||
94 | <a name="l00079"></a>00079 <span class="preprocessor">#ifdef __cplusplus</span> | ||
95 | <a name="l00080"></a>00080 <span class="preprocessor"></span> | ||
96 | <a name="l00081"></a>00081 PURE_INLINE dReal dLENGTH (<span class="keyword">const</span> dReal *a) { <span class="keywordflow">return</span> dSqrt(dLENGTHSQUARED(a)); } | ||
97 | <a name="l00082"></a>00082 | ||
98 | <a name="l00083"></a>00083 <span class="preprocessor">#else</span> | ||
99 | <a name="l00084"></a>00084 <span class="preprocessor"></span> | ||
100 | <a name="l00085"></a>00085 <span class="preprocessor">#define dLENGTH(a) ( dSqrt( ((a)[0])*((a)[0]) + ((a)[1])*((a)[1]) + ((a)[2])*((a)[2]) ) )</span> | ||
101 | <a name="l00086"></a>00086 <span class="preprocessor"></span> | ||
102 | <a name="l00087"></a>00087 <span class="preprocessor">#endif </span><span class="comment">/* __cplusplus */</span> | ||
103 | <a name="l00088"></a>00088 | ||
104 | <a name="l00089"></a>00089 | ||
105 | <a name="l00090"></a>00090 | ||
106 | <a name="l00091"></a>00091 | ||
107 | <a name="l00092"></a>00092 | ||
108 | <a name="l00093"></a>00093 <span class="comment">/*</span> | ||
109 | <a name="l00094"></a>00094 <span class="comment"> * 3-way dot product. dDOTpq means that elements of `a' and `b' are spaced</span> | ||
110 | <a name="l00095"></a>00095 <span class="comment"> * p and q indexes apart respectively. dDOT() means dDOT11.</span> | ||
111 | <a name="l00096"></a>00096 <span class="comment"> * in C++ we could use function templates to get all the versions of these</span> | ||
112 | <a name="l00097"></a>00097 <span class="comment"> * functions - but on some compilers this will result in sub-optimal code.</span> | ||
113 | <a name="l00098"></a>00098 <span class="comment"> */</span> | ||
114 | <a name="l00099"></a>00099 | ||
115 | <a name="l00100"></a>00100 <span class="preprocessor">#define dDOTpq(a,b,p,q) ((a)[0]*(b)[0] + (a)[p]*(b)[q] + (a)[2*(p)]*(b)[2*(q)])</span> | ||
116 | <a name="l00101"></a>00101 <span class="preprocessor"></span> | ||
117 | <a name="l00102"></a>00102 <span class="preprocessor">#ifdef __cplusplus</span> | ||
118 | <a name="l00103"></a>00103 <span class="preprocessor"></span> | ||
119 | <a name="l00104"></a>00104 PURE_INLINE dReal dDOT (<span class="keyword">const</span> dReal *a, <span class="keyword">const</span> dReal *b) { <span class="keywordflow">return</span> dDOTpq(a,b,1,1); } | ||
120 | <a name="l00105"></a>00105 PURE_INLINE dReal dDOT13 (<span class="keyword">const</span> dReal *a, <span class="keyword">const</span> dReal *b) { <span class="keywordflow">return</span> dDOTpq(a,b,1,3); } | ||
121 | <a name="l00106"></a>00106 PURE_INLINE dReal dDOT31 (<span class="keyword">const</span> dReal *a, <span class="keyword">const</span> dReal *b) { <span class="keywordflow">return</span> dDOTpq(a,b,3,1); } | ||
122 | <a name="l00107"></a>00107 PURE_INLINE dReal dDOT33 (<span class="keyword">const</span> dReal *a, <span class="keyword">const</span> dReal *b) { <span class="keywordflow">return</span> dDOTpq(a,b,3,3); } | ||
123 | <a name="l00108"></a>00108 PURE_INLINE dReal dDOT14 (<span class="keyword">const</span> dReal *a, <span class="keyword">const</span> dReal *b) { <span class="keywordflow">return</span> dDOTpq(a,b,1,4); } | ||
124 | <a name="l00109"></a>00109 PURE_INLINE dReal dDOT41 (<span class="keyword">const</span> dReal *a, <span class="keyword">const</span> dReal *b) { <span class="keywordflow">return</span> dDOTpq(a,b,4,1); } | ||
125 | <a name="l00110"></a>00110 PURE_INLINE dReal dDOT44 (<span class="keyword">const</span> dReal *a, <span class="keyword">const</span> dReal *b) { <span class="keywordflow">return</span> dDOTpq(a,b,4,4); } | ||
126 | <a name="l00111"></a>00111 | ||
127 | <a name="l00112"></a>00112 <span class="preprocessor">#else</span> | ||
128 | <a name="l00113"></a>00113 <span class="preprocessor"></span> | ||
129 | <a name="l00114"></a>00114 <span class="preprocessor">#define dDOT(a,b) dDOTpq(a,b,1,1)</span> | ||
130 | <a name="l00115"></a>00115 <span class="preprocessor"></span><span class="preprocessor">#define dDOT13(a,b) dDOTpq(a,b,1,3)</span> | ||
131 | <a name="l00116"></a>00116 <span class="preprocessor"></span><span class="preprocessor">#define dDOT31(a,b) dDOTpq(a,b,3,1)</span> | ||
132 | <a name="l00117"></a>00117 <span class="preprocessor"></span><span class="preprocessor">#define dDOT33(a,b) dDOTpq(a,b,3,3)</span> | ||
133 | <a name="l00118"></a>00118 <span class="preprocessor"></span><span class="preprocessor">#define dDOT14(a,b) dDOTpq(a,b,1,4)</span> | ||
134 | <a name="l00119"></a>00119 <span class="preprocessor"></span><span class="preprocessor">#define dDOT41(a,b) dDOTpq(a,b,4,1)</span> | ||
135 | <a name="l00120"></a>00120 <span class="preprocessor"></span><span class="preprocessor">#define dDOT44(a,b) dDOTpq(a,b,4,4)</span> | ||
136 | <a name="l00121"></a>00121 <span class="preprocessor"></span> | ||
137 | <a name="l00122"></a>00122 <span class="preprocessor">#endif </span><span class="comment">/* __cplusplus */</span> | ||
138 | <a name="l00123"></a>00123 | ||
139 | <a name="l00124"></a>00124 | ||
140 | <a name="l00125"></a>00125 <span class="comment">/*</span> | ||
141 | <a name="l00126"></a>00126 <span class="comment"> * cross product, set a = b x c. dCROSSpqr means that elements of `a', `b'</span> | ||
142 | <a name="l00127"></a>00127 <span class="comment"> * and `c' are spaced p, q and r indexes apart respectively.</span> | ||
143 | <a name="l00128"></a>00128 <span class="comment"> * dCROSS() means dCROSS111. `op' is normally `=', but you can set it to</span> | ||
144 | <a name="l00129"></a>00129 <span class="comment"> * +=, -= etc to get other effects.</span> | ||
145 | <a name="l00130"></a>00130 <span class="comment"> */</span> | ||
146 | <a name="l00131"></a>00131 | ||
147 | <a name="l00132"></a>00132 <span class="preprocessor">#define dCROSS(a,op,b,c) \</span> | ||
148 | <a name="l00133"></a>00133 <span class="preprocessor">do { \</span> | ||
149 | <a name="l00134"></a>00134 <span class="preprocessor"> (a)[0] op ((b)[1]*(c)[2] - (b)[2]*(c)[1]); \</span> | ||
150 | <a name="l00135"></a>00135 <span class="preprocessor"> (a)[1] op ((b)[2]*(c)[0] - (b)[0]*(c)[2]); \</span> | ||
151 | <a name="l00136"></a>00136 <span class="preprocessor"> (a)[2] op ((b)[0]*(c)[1] - (b)[1]*(c)[0]); \</span> | ||
152 | <a name="l00137"></a>00137 <span class="preprocessor">} while(0)</span> | ||
153 | <a name="l00138"></a>00138 <span class="preprocessor"></span><span class="preprocessor">#define dCROSSpqr(a,op,b,c,p,q,r) \</span> | ||
154 | <a name="l00139"></a>00139 <span class="preprocessor">do { \</span> | ||
155 | <a name="l00140"></a>00140 <span class="preprocessor"> (a)[ 0] op ((b)[ q]*(c)[2*r] - (b)[2*q]*(c)[ r]); \</span> | ||
156 | <a name="l00141"></a>00141 <span class="preprocessor"> (a)[ p] op ((b)[2*q]*(c)[ 0] - (b)[ 0]*(c)[2*r]); \</span> | ||
157 | <a name="l00142"></a>00142 <span class="preprocessor"> (a)[2*p] op ((b)[ 0]*(c)[ r] - (b)[ q]*(c)[ 0]); \</span> | ||
158 | <a name="l00143"></a>00143 <span class="preprocessor">} while(0)</span> | ||
159 | <a name="l00144"></a>00144 <span class="preprocessor"></span><span class="preprocessor">#define dCROSS114(a,op,b,c) dCROSSpqr(a,op,b,c,1,1,4)</span> | ||
160 | <a name="l00145"></a>00145 <span class="preprocessor"></span><span class="preprocessor">#define dCROSS141(a,op,b,c) dCROSSpqr(a,op,b,c,1,4,1)</span> | ||
161 | <a name="l00146"></a>00146 <span class="preprocessor"></span><span class="preprocessor">#define dCROSS144(a,op,b,c) dCROSSpqr(a,op,b,c,1,4,4)</span> | ||
162 | <a name="l00147"></a>00147 <span class="preprocessor"></span><span class="preprocessor">#define dCROSS411(a,op,b,c) dCROSSpqr(a,op,b,c,4,1,1)</span> | ||
163 | <a name="l00148"></a>00148 <span class="preprocessor"></span><span class="preprocessor">#define dCROSS414(a,op,b,c) dCROSSpqr(a,op,b,c,4,1,4)</span> | ||
164 | <a name="l00149"></a>00149 <span class="preprocessor"></span><span class="preprocessor">#define dCROSS441(a,op,b,c) dCROSSpqr(a,op,b,c,4,4,1)</span> | ||
165 | <a name="l00150"></a>00150 <span class="preprocessor"></span><span class="preprocessor">#define dCROSS444(a,op,b,c) dCROSSpqr(a,op,b,c,4,4,4)</span> | ||
166 | <a name="l00151"></a>00151 <span class="preprocessor"></span> | ||
167 | <a name="l00152"></a>00152 | ||
168 | <a name="l00153"></a>00153 <span class="comment">/*</span> | ||
169 | <a name="l00154"></a>00154 <span class="comment"> * set a 3x3 submatrix of A to a matrix such that submatrix(A)*b = a x b.</span> | ||
170 | <a name="l00155"></a>00155 <span class="comment"> * A is stored by rows, and has `skip' elements per row. the matrix is</span> | ||
171 | <a name="l00156"></a>00156 <span class="comment"> * assumed to be already zero, so this does not write zero elements!</span> | ||
172 | <a name="l00157"></a>00157 <span class="comment"> * if (plus,minus) is (+,-) then a positive version will be written.</span> | ||
173 | <a name="l00158"></a>00158 <span class="comment"> * if (plus,minus) is (-,+) then a negative version will be written.</span> | ||
174 | <a name="l00159"></a>00159 <span class="comment"> */</span> | ||
175 | <a name="l00160"></a>00160 | ||
176 | <a name="l00161"></a>00161 <span class="preprocessor">#define dCROSSMAT(A,a,skip,plus,minus) \</span> | ||
177 | <a name="l00162"></a>00162 <span class="preprocessor">do { \</span> | ||
178 | <a name="l00163"></a>00163 <span class="preprocessor"> (A)[1] = minus (a)[2]; \</span> | ||
179 | <a name="l00164"></a>00164 <span class="preprocessor"> (A)[2] = plus (a)[1]; \</span> | ||
180 | <a name="l00165"></a>00165 <span class="preprocessor"> (A)[(skip)+0] = plus (a)[2]; \</span> | ||
181 | <a name="l00166"></a>00166 <span class="preprocessor"> (A)[(skip)+2] = minus (a)[0]; \</span> | ||
182 | <a name="l00167"></a>00167 <span class="preprocessor"> (A)[2*(skip)+0] = minus (a)[1]; \</span> | ||
183 | <a name="l00168"></a>00168 <span class="preprocessor"> (A)[2*(skip)+1] = plus (a)[0]; \</span> | ||
184 | <a name="l00169"></a>00169 <span class="preprocessor">} while(0)</span> | ||
185 | <a name="l00170"></a>00170 <span class="preprocessor"></span> | ||
186 | <a name="l00171"></a>00171 | ||
187 | <a name="l00172"></a>00172 <span class="comment">/*</span> | ||
188 | <a name="l00173"></a>00173 <span class="comment"> * compute the distance between two 3D-vectors</span> | ||
189 | <a name="l00174"></a>00174 <span class="comment"> */</span> | ||
190 | <a name="l00175"></a>00175 | ||
191 | <a name="l00176"></a>00176 <span class="preprocessor">#ifdef __cplusplus</span> | ||
192 | <a name="l00177"></a>00177 <span class="preprocessor"></span>PURE_INLINE dReal dDISTANCE (<span class="keyword">const</span> dVector3 a, <span class="keyword">const</span> dVector3 b) | ||
193 | <a name="l00178"></a>00178 { <span class="keywordflow">return</span> dSqrt( (a[0]-b[0])*(a[0]-b[0]) + (a[1]-b[1])*(a[1]-b[1]) + (a[2]-b[2])*(a[2]-b[2]) ); } | ||
194 | <a name="l00179"></a>00179 <span class="preprocessor">#else</span> | ||
195 | <a name="l00180"></a>00180 <span class="preprocessor"></span><span class="preprocessor">#define dDISTANCE(a,b) \</span> | ||
196 | <a name="l00181"></a>00181 <span class="preprocessor"> (dSqrt( ((a)[0]-(b)[0])*((a)[0]-(b)[0]) + ((a)[1]-(b)[1])*((a)[1]-(b)[1]) + ((a)[2]-(b)[2])*((a)[2]-(b)[2]) ))</span> | ||
197 | <a name="l00182"></a>00182 <span class="preprocessor"></span><span class="preprocessor">#endif</span> | ||
198 | <a name="l00183"></a>00183 <span class="preprocessor"></span> | ||
199 | <a name="l00184"></a>00184 | ||
200 | <a name="l00185"></a>00185 <span class="comment">/*</span> | ||
201 | <a name="l00186"></a>00186 <span class="comment"> * special case matrix multipication, with operator selection</span> | ||
202 | <a name="l00187"></a>00187 <span class="comment"> */</span> | ||
203 | <a name="l00188"></a>00188 | ||
204 | <a name="l00189"></a>00189 <span class="preprocessor">#define dMULTIPLYOP0_331(A,op,B,C) \</span> | ||
205 | <a name="l00190"></a>00190 <span class="preprocessor">do { \</span> | ||
206 | <a name="l00191"></a>00191 <span class="preprocessor"> (A)[0] op dDOT((B),(C)); \</span> | ||
207 | <a name="l00192"></a>00192 <span class="preprocessor"> (A)[1] op dDOT((B+4),(C)); \</span> | ||
208 | <a name="l00193"></a>00193 <span class="preprocessor"> (A)[2] op dDOT((B+8),(C)); \</span> | ||
209 | <a name="l00194"></a>00194 <span class="preprocessor">} while(0)</span> | ||
210 | <a name="l00195"></a>00195 <span class="preprocessor"></span><span class="preprocessor">#define dMULTIPLYOP1_331(A,op,B,C) \</span> | ||
211 | <a name="l00196"></a>00196 <span class="preprocessor">do { \</span> | ||
212 | <a name="l00197"></a>00197 <span class="preprocessor"> (A)[0] op dDOT41((B),(C)); \</span> | ||
213 | <a name="l00198"></a>00198 <span class="preprocessor"> (A)[1] op dDOT41((B+1),(C)); \</span> | ||
214 | <a name="l00199"></a>00199 <span class="preprocessor"> (A)[2] op dDOT41((B+2),(C)); \</span> | ||
215 | <a name="l00200"></a>00200 <span class="preprocessor">} while(0)</span> | ||
216 | <a name="l00201"></a>00201 <span class="preprocessor"></span><span class="preprocessor">#define dMULTIPLYOP0_133(A,op,B,C) \</span> | ||
217 | <a name="l00202"></a>00202 <span class="preprocessor">do { \</span> | ||
218 | <a name="l00203"></a>00203 <span class="preprocessor"> (A)[0] op dDOT14((B),(C)); \</span> | ||
219 | <a name="l00204"></a>00204 <span class="preprocessor"> (A)[1] op dDOT14((B),(C+1)); \</span> | ||
220 | <a name="l00205"></a>00205 <span class="preprocessor"> (A)[2] op dDOT14((B),(C+2)); \</span> | ||
221 | <a name="l00206"></a>00206 <span class="preprocessor">} while(0)</span> | ||
222 | <a name="l00207"></a>00207 <span class="preprocessor"></span><span class="preprocessor">#define dMULTIPLYOP0_333(A,op,B,C) \</span> | ||
223 | <a name="l00208"></a>00208 <span class="preprocessor">do { \</span> | ||
224 | <a name="l00209"></a>00209 <span class="preprocessor"> (A)[0] op dDOT14((B),(C)); \</span> | ||
225 | <a name="l00210"></a>00210 <span class="preprocessor"> (A)[1] op dDOT14((B),(C+1)); \</span> | ||
226 | <a name="l00211"></a>00211 <span class="preprocessor"> (A)[2] op dDOT14((B),(C+2)); \</span> | ||
227 | <a name="l00212"></a>00212 <span class="preprocessor"> (A)[4] op dDOT14((B+4),(C)); \</span> | ||
228 | <a name="l00213"></a>00213 <span class="preprocessor"> (A)[5] op dDOT14((B+4),(C+1)); \</span> | ||
229 | <a name="l00214"></a>00214 <span class="preprocessor"> (A)[6] op dDOT14((B+4),(C+2)); \</span> | ||
230 | <a name="l00215"></a>00215 <span class="preprocessor"> (A)[8] op dDOT14((B+8),(C)); \</span> | ||
231 | <a name="l00216"></a>00216 <span class="preprocessor"> (A)[9] op dDOT14((B+8),(C+1)); \</span> | ||
232 | <a name="l00217"></a>00217 <span class="preprocessor"> (A)[10] op dDOT14((B+8),(C+2)); \</span> | ||
233 | <a name="l00218"></a>00218 <span class="preprocessor">} while(0)</span> | ||
234 | <a name="l00219"></a>00219 <span class="preprocessor"></span><span class="preprocessor">#define dMULTIPLYOP1_333(A,op,B,C) \</span> | ||
235 | <a name="l00220"></a>00220 <span class="preprocessor">do { \</span> | ||
236 | <a name="l00221"></a>00221 <span class="preprocessor"> (A)[0] op dDOT44((B),(C)); \</span> | ||
237 | <a name="l00222"></a>00222 <span class="preprocessor"> (A)[1] op dDOT44((B),(C+1)); \</span> | ||
238 | <a name="l00223"></a>00223 <span class="preprocessor"> (A)[2] op dDOT44((B),(C+2)); \</span> | ||
239 | <a name="l00224"></a>00224 <span class="preprocessor"> (A)[4] op dDOT44((B+1),(C)); \</span> | ||
240 | <a name="l00225"></a>00225 <span class="preprocessor"> (A)[5] op dDOT44((B+1),(C+1)); \</span> | ||
241 | <a name="l00226"></a>00226 <span class="preprocessor"> (A)[6] op dDOT44((B+1),(C+2)); \</span> | ||
242 | <a name="l00227"></a>00227 <span class="preprocessor"> (A)[8] op dDOT44((B+2),(C)); \</span> | ||
243 | <a name="l00228"></a>00228 <span class="preprocessor"> (A)[9] op dDOT44((B+2),(C+1)); \</span> | ||
244 | <a name="l00229"></a>00229 <span class="preprocessor"> (A)[10] op dDOT44((B+2),(C+2)); \</span> | ||
245 | <a name="l00230"></a>00230 <span class="preprocessor">} while(0)</span> | ||
246 | <a name="l00231"></a>00231 <span class="preprocessor"></span><span class="preprocessor">#define dMULTIPLYOP2_333(A,op,B,C) \</span> | ||
247 | <a name="l00232"></a>00232 <span class="preprocessor">do { \</span> | ||
248 | <a name="l00233"></a>00233 <span class="preprocessor"> (A)[0] op dDOT((B),(C)); \</span> | ||
249 | <a name="l00234"></a>00234 <span class="preprocessor"> (A)[1] op dDOT((B),(C+4)); \</span> | ||
250 | <a name="l00235"></a>00235 <span class="preprocessor"> (A)[2] op dDOT((B),(C+8)); \</span> | ||
251 | <a name="l00236"></a>00236 <span class="preprocessor"> (A)[4] op dDOT((B+4),(C)); \</span> | ||
252 | <a name="l00237"></a>00237 <span class="preprocessor"> (A)[5] op dDOT((B+4),(C+4)); \</span> | ||
253 | <a name="l00238"></a>00238 <span class="preprocessor"> (A)[6] op dDOT((B+4),(C+8)); \</span> | ||
254 | <a name="l00239"></a>00239 <span class="preprocessor"> (A)[8] op dDOT((B+8),(C)); \</span> | ||
255 | <a name="l00240"></a>00240 <span class="preprocessor"> (A)[9] op dDOT((B+8),(C+4)); \</span> | ||
256 | <a name="l00241"></a>00241 <span class="preprocessor"> (A)[10] op dDOT((B+8),(C+8)); \</span> | ||
257 | <a name="l00242"></a>00242 <span class="preprocessor">} while(0)</span> | ||
258 | <a name="l00243"></a>00243 <span class="preprocessor"></span> | ||
259 | <a name="l00244"></a>00244 <span class="preprocessor">#ifdef __cplusplus</span> | ||
260 | <a name="l00245"></a>00245 <span class="preprocessor"></span> | ||
261 | <a name="l00246"></a>00246 <span class="preprocessor">#define DECL template <class TA, class TB, class TC> PURE_INLINE void</span> | ||
262 | <a name="l00247"></a>00247 <span class="preprocessor"></span> | ||
263 | <a name="l00248"></a>00248 DECL dMULTIPLY0_331(TA *A, <span class="keyword">const</span> TB *B, <span class="keyword">const</span> TC *C) { dMULTIPLYOP0_331(A,=,B,C); } | ||
264 | <a name="l00249"></a>00249 DECL dMULTIPLY1_331(TA *A, <span class="keyword">const</span> TB *B, <span class="keyword">const</span> TC *C) { dMULTIPLYOP1_331(A,=,B,C); } | ||
265 | <a name="l00250"></a>00250 DECL dMULTIPLY0_133(TA *A, <span class="keyword">const</span> TB *B, <span class="keyword">const</span> TC *C) { dMULTIPLYOP0_133(A,=,B,C); } | ||
266 | <a name="l00251"></a>00251 DECL dMULTIPLY0_333(TA *A, <span class="keyword">const</span> TB *B, <span class="keyword">const</span> TC *C) { dMULTIPLYOP0_333(A,=,B,C); } | ||
267 | <a name="l00252"></a>00252 DECL dMULTIPLY1_333(TA *A, <span class="keyword">const</span> TB *B, <span class="keyword">const</span> TC *C) { dMULTIPLYOP1_333(A,=,B,C); } | ||
268 | <a name="l00253"></a>00253 DECL dMULTIPLY2_333(TA *A, <span class="keyword">const</span> TB *B, <span class="keyword">const</span> TC *C) { dMULTIPLYOP2_333(A,=,B,C); } | ||
269 | <a name="l00254"></a>00254 | ||
270 | <a name="l00255"></a>00255 DECL dMULTIPLYADD0_331(TA *A, <span class="keyword">const</span> TB *B, <span class="keyword">const</span> TC *C) { dMULTIPLYOP0_331(A,+=,B,C); } | ||
271 | <a name="l00256"></a>00256 DECL dMULTIPLYADD1_331(TA *A, <span class="keyword">const</span> TB *B, <span class="keyword">const</span> TC *C) { dMULTIPLYOP1_331(A,+=,B,C); } | ||
272 | <a name="l00257"></a>00257 DECL dMULTIPLYADD0_133(TA *A, <span class="keyword">const</span> TB *B, <span class="keyword">const</span> TC *C) { dMULTIPLYOP0_133(A,+=,B,C); } | ||
273 | <a name="l00258"></a>00258 DECL dMULTIPLYADD0_333(TA *A, <span class="keyword">const</span> TB *B, <span class="keyword">const</span> TC *C) { dMULTIPLYOP0_333(A,+=,B,C); } | ||
274 | <a name="l00259"></a>00259 DECL dMULTIPLYADD1_333(TA *A, <span class="keyword">const</span> TB *B, <span class="keyword">const</span> TC *C) { dMULTIPLYOP1_333(A,+=,B,C); } | ||
275 | <a name="l00260"></a>00260 DECL dMULTIPLYADD2_333(TA *A, <span class="keyword">const</span> TB *B, <span class="keyword">const</span> TC *C) { dMULTIPLYOP2_333(A,+=,B,C); } | ||
276 | <a name="l00261"></a>00261 | ||
277 | <a name="l00262"></a>00262 <span class="preprocessor">#undef DECL</span> | ||
278 | <a name="l00263"></a>00263 <span class="preprocessor"></span> | ||
279 | <a name="l00264"></a>00264 <span class="preprocessor">#else</span> | ||
280 | <a name="l00265"></a>00265 <span class="preprocessor"></span> | ||
281 | <a name="l00266"></a>00266 <span class="preprocessor">#define dMULTIPLY0_331(A,B,C) dMULTIPLYOP0_331(A,=,B,C)</span> | ||
282 | <a name="l00267"></a>00267 <span class="preprocessor"></span><span class="preprocessor">#define dMULTIPLY1_331(A,B,C) dMULTIPLYOP1_331(A,=,B,C)</span> | ||
283 | <a name="l00268"></a>00268 <span class="preprocessor"></span><span class="preprocessor">#define dMULTIPLY0_133(A,B,C) dMULTIPLYOP0_133(A,=,B,C)</span> | ||
284 | <a name="l00269"></a>00269 <span class="preprocessor"></span><span class="preprocessor">#define dMULTIPLY0_333(A,B,C) dMULTIPLYOP0_333(A,=,B,C)</span> | ||
285 | <a name="l00270"></a>00270 <span class="preprocessor"></span><span class="preprocessor">#define dMULTIPLY1_333(A,B,C) dMULTIPLYOP1_333(A,=,B,C)</span> | ||
286 | <a name="l00271"></a>00271 <span class="preprocessor"></span><span class="preprocessor">#define dMULTIPLY2_333(A,B,C) dMULTIPLYOP2_333(A,=,B,C)</span> | ||
287 | <a name="l00272"></a>00272 <span class="preprocessor"></span> | ||
288 | <a name="l00273"></a>00273 <span class="preprocessor">#define dMULTIPLYADD0_331(A,B,C) dMULTIPLYOP0_331(A,+=,B,C)</span> | ||
289 | <a name="l00274"></a>00274 <span class="preprocessor"></span><span class="preprocessor">#define dMULTIPLYADD1_331(A,B,C) dMULTIPLYOP1_331(A,+=,B,C)</span> | ||
290 | <a name="l00275"></a>00275 <span class="preprocessor"></span><span class="preprocessor">#define dMULTIPLYADD0_133(A,B,C) dMULTIPLYOP0_133(A,+=,B,C)</span> | ||
291 | <a name="l00276"></a>00276 <span class="preprocessor"></span><span class="preprocessor">#define dMULTIPLYADD0_333(A,B,C) dMULTIPLYOP0_333(A,+=,B,C)</span> | ||
292 | <a name="l00277"></a>00277 <span class="preprocessor"></span><span class="preprocessor">#define dMULTIPLYADD1_333(A,B,C) dMULTIPLYOP1_333(A,+=,B,C)</span> | ||
293 | <a name="l00278"></a>00278 <span class="preprocessor"></span><span class="preprocessor">#define dMULTIPLYADD2_333(A,B,C) dMULTIPLYOP2_333(A,+=,B,C)</span> | ||
294 | <a name="l00279"></a>00279 <span class="preprocessor"></span> | ||
295 | <a name="l00280"></a>00280 <span class="preprocessor">#endif</span> | ||
296 | <a name="l00281"></a>00281 <span class="preprocessor"></span> | ||
297 | <a name="l00282"></a>00282 | ||
298 | <a name="l00283"></a>00283 <span class="preprocessor">#ifdef __cplusplus</span> | ||
299 | <a name="l00284"></a>00284 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | ||
300 | <a name="l00285"></a>00285 <span class="preprocessor">#endif</span> | ||
301 | <a name="l00286"></a>00286 <span class="preprocessor"></span> | ||
302 | <a name="l00287"></a>00287 <span class="comment">/*</span> | ||
303 | <a name="l00288"></a>00288 <span class="comment"> * normalize 3x1 and 4x1 vectors (i.e. scale them to unit length)</span> | ||
304 | <a name="l00289"></a>00289 <span class="comment"> */</span> | ||
305 | <a name="l00290"></a>00290 ODE_API <span class="keywordtype">int</span> dSafeNormalize3 (dVector3 a); | ||
306 | <a name="l00291"></a>00291 ODE_API <span class="keywordtype">int</span> dSafeNormalize4 (dVector4 a); | ||
307 | <a name="l00292"></a>00292 | ||
308 | <a name="l00293"></a>00293 <span class="comment">// For some reason demo_chain1.c does not understand "inline" keyword.</span> | ||
309 | <a name="l00294"></a>00294 <span class="keyword">static</span> __inline <span class="keywordtype">void</span> _dNormalize3(dVector3 a) | ||
310 | <a name="l00295"></a>00295 { | ||
311 | <a name="l00296"></a>00296 <span class="keywordtype">int</span> bNormalizationResult = dSafeNormalize3(a); | ||
312 | <a name="l00297"></a>00297 dIASSERT(bNormalizationResult); | ||
313 | <a name="l00298"></a>00298 dVARIABLEUSED(bNormalizationResult); | ||
314 | <a name="l00299"></a>00299 } | ||
315 | <a name="l00300"></a>00300 | ||
316 | <a name="l00301"></a>00301 <span class="keyword">static</span> __inline <span class="keywordtype">void</span> _dNormalize4(dVector4 a) | ||
317 | <a name="l00302"></a>00302 { | ||
318 | <a name="l00303"></a>00303 <span class="keywordtype">int</span> bNormalizationResult = dSafeNormalize4(a); | ||
319 | <a name="l00304"></a>00304 dIASSERT(bNormalizationResult); | ||
320 | <a name="l00305"></a>00305 dVARIABLEUSED(bNormalizationResult); | ||
321 | <a name="l00306"></a>00306 } | ||
322 | <a name="l00307"></a>00307 | ||
323 | <a name="l00308"></a>00308 <span class="comment">// For DLL export</span> | ||
324 | <a name="l00309"></a>00309 ODE_API <span class="keywordtype">void</span> dNormalize3 (dVector3 a); <span class="comment">// Potentially asserts on zero vec</span> | ||
325 | <a name="l00310"></a>00310 ODE_API <span class="keywordtype">void</span> dNormalize4 (dVector4 a); <span class="comment">// Potentially asserts on zero vec</span> | ||
326 | <a name="l00311"></a>00311 | ||
327 | <a name="l00312"></a>00312 <span class="comment">// For internal use</span> | ||
328 | <a name="l00313"></a>00313 <span class="preprocessor">#define dNormalize3(a) _dNormalize3(a)</span> | ||
329 | <a name="l00314"></a>00314 <span class="preprocessor"></span><span class="preprocessor">#define dNormalize4(a) _dNormalize4(a)</span> | ||
330 | <a name="l00315"></a>00315 <span class="preprocessor"></span> | ||
331 | <a name="l00316"></a>00316 <span class="comment">/*</span> | ||
332 | <a name="l00317"></a>00317 <span class="comment"> * given a unit length "normal" vector n, generate vectors p and q vectors</span> | ||
333 | <a name="l00318"></a>00318 <span class="comment"> * that are an orthonormal basis for the plane space perpendicular to n.</span> | ||
334 | <a name="l00319"></a>00319 <span class="comment"> * i.e. this makes p,q such that n,p,q are all perpendicular to each other.</span> | ||
335 | <a name="l00320"></a>00320 <span class="comment"> * q will equal n x p. if n is not unit length then p will be unit length but</span> | ||
336 | <a name="l00321"></a>00321 <span class="comment"> * q wont be.</span> | ||
337 | <a name="l00322"></a>00322 <span class="comment"> */</span> | ||
338 | <a name="l00323"></a>00323 | ||
339 | <a name="l00324"></a>00324 ODE_API <span class="keywordtype">void</span> dPlaneSpace (<span class="keyword">const</span> dVector3 n, dVector3 p, dVector3 q); | ||
340 | <a name="l00325"></a>00325 | ||
341 | <a name="l00326"></a>00326 <span class="preprocessor">#ifdef __cplusplus</span> | ||
342 | <a name="l00327"></a>00327 <span class="preprocessor"></span>} | ||
343 | <a name="l00328"></a>00328 <span class="preprocessor">#endif</span> | ||
344 | <a name="l00329"></a>00329 <span class="preprocessor"></span> | ||
345 | <a name="l00330"></a>00330 <span class="preprocessor">#endif</span> | ||
346 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
347 | <a href="http://www.doxygen.org/index.html"> | ||
348 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
349 | </body> | ||
350 | </html> | ||
diff --git a/libraries/ode-0.9/docs/rotation_8h-source.html b/libraries/ode-0.9/docs/rotation_8h-source.html new file mode 100644 index 0000000..54ca248 --- /dev/null +++ b/libraries/ode-0.9/docs/rotation_8h-source.html | |||
@@ -0,0 +1,90 @@ | |||
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: rotation.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>rotation.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00023"></a>00023 <span class="preprocessor">#ifndef _ODE_ROTATION_H_</span> | ||
39 | <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define _ODE_ROTATION_H_</span> | ||
40 | <a name="l00025"></a>00025 <span class="preprocessor"></span> | ||
41 | <a name="l00026"></a>00026 <span class="preprocessor">#include <ode/common.h></span> | ||
42 | <a name="l00027"></a>00027 <span class="preprocessor">#include <ode/compatibility.h></span> | ||
43 | <a name="l00028"></a>00028 | ||
44 | <a name="l00029"></a>00029 <span class="preprocessor">#ifdef __cplusplus</span> | ||
45 | <a name="l00030"></a>00030 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | ||
46 | <a name="l00031"></a>00031 <span class="preprocessor">#endif</span> | ||
47 | <a name="l00032"></a>00032 <span class="preprocessor"></span> | ||
48 | <a name="l00033"></a>00033 | ||
49 | <a name="l00034"></a>00034 ODE_API <span class="keywordtype">void</span> dRSetIdentity (dMatrix3 R); | ||
50 | <a name="l00035"></a>00035 | ||
51 | <a name="l00036"></a>00036 ODE_API <span class="keywordtype">void</span> dRFromAxisAndAngle (dMatrix3 R, dReal ax, dReal ay, dReal az, | ||
52 | <a name="l00037"></a>00037 dReal angle); | ||
53 | <a name="l00038"></a>00038 | ||
54 | <a name="l00039"></a>00039 ODE_API <span class="keywordtype">void</span> dRFromEulerAngles (dMatrix3 R, dReal phi, dReal theta, dReal psi); | ||
55 | <a name="l00040"></a>00040 | ||
56 | <a name="l00041"></a>00041 ODE_API <span class="keywordtype">void</span> dRFrom2Axes (dMatrix3 R, dReal ax, dReal ay, dReal az, | ||
57 | <a name="l00042"></a>00042 dReal bx, dReal by, dReal bz); | ||
58 | <a name="l00043"></a>00043 | ||
59 | <a name="l00044"></a>00044 ODE_API <span class="keywordtype">void</span> dRFromZAxis (dMatrix3 R, dReal ax, dReal ay, dReal az); | ||
60 | <a name="l00045"></a>00045 | ||
61 | <a name="l00046"></a>00046 ODE_API <span class="keywordtype">void</span> dQSetIdentity (dQuaternion q); | ||
62 | <a name="l00047"></a>00047 | ||
63 | <a name="l00048"></a>00048 ODE_API <span class="keywordtype">void</span> dQFromAxisAndAngle (dQuaternion q, dReal ax, dReal ay, dReal az, | ||
64 | <a name="l00049"></a>00049 dReal angle); | ||
65 | <a name="l00050"></a>00050 | ||
66 | <a name="l00051"></a>00051 <span class="comment">/* Quaternion multiplication, analogous to the matrix multiplication routines. */</span> | ||
67 | <a name="l00052"></a>00052 <span class="comment">/* qa = rotate by qc, then qb */</span> | ||
68 | <a name="l00053"></a>00053 ODE_API <span class="keywordtype">void</span> dQMultiply0 (dQuaternion qa, <span class="keyword">const</span> dQuaternion qb, <span class="keyword">const</span> dQuaternion qc); | ||
69 | <a name="l00054"></a>00054 <span class="comment">/* qa = rotate by qc, then by inverse of qb */</span> | ||
70 | <a name="l00055"></a>00055 ODE_API <span class="keywordtype">void</span> dQMultiply1 (dQuaternion qa, <span class="keyword">const</span> dQuaternion qb, <span class="keyword">const</span> dQuaternion qc); | ||
71 | <a name="l00056"></a>00056 <span class="comment">/* qa = rotate by inverse of qc, then by qb */</span> | ||
72 | <a name="l00057"></a>00057 ODE_API <span class="keywordtype">void</span> dQMultiply2 (dQuaternion qa, <span class="keyword">const</span> dQuaternion qb, <span class="keyword">const</span> dQuaternion qc); | ||
73 | <a name="l00058"></a>00058 <span class="comment">/* qa = rotate by inverse of qc, then by inverse of qb */</span> | ||
74 | <a name="l00059"></a>00059 ODE_API <span class="keywordtype">void</span> dQMultiply3 (dQuaternion qa, <span class="keyword">const</span> dQuaternion qb, <span class="keyword">const</span> dQuaternion qc); | ||
75 | <a name="l00060"></a>00060 | ||
76 | <a name="l00061"></a>00061 ODE_API <span class="keywordtype">void</span> dRfromQ (dMatrix3 R, <span class="keyword">const</span> dQuaternion q); | ||
77 | <a name="l00062"></a>00062 ODE_API <span class="keywordtype">void</span> dQfromR (dQuaternion q, <span class="keyword">const</span> dMatrix3 R); | ||
78 | <a name="l00063"></a>00063 ODE_API <span class="keywordtype">void</span> dDQfromW (dReal dq[4], <span class="keyword">const</span> dVector3 w, <span class="keyword">const</span> dQuaternion q); | ||
79 | <a name="l00064"></a>00064 | ||
80 | <a name="l00065"></a>00065 | ||
81 | <a name="l00066"></a>00066 <span class="preprocessor">#ifdef __cplusplus</span> | ||
82 | <a name="l00067"></a>00067 <span class="preprocessor"></span>} | ||
83 | <a name="l00068"></a>00068 <span class="preprocessor">#endif</span> | ||
84 | <a name="l00069"></a>00069 <span class="preprocessor"></span> | ||
85 | <a name="l00070"></a>00070 <span class="preprocessor">#endif</span> | ||
86 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
87 | <a href="http://www.doxygen.org/index.html"> | ||
88 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
89 | </body> | ||
90 | </html> | ||
diff --git a/libraries/ode-0.9/docs/structd_contact_geom.html b/libraries/ode-0.9/docs/structd_contact_geom.html new file mode 100644 index 0000000..9be3fca --- /dev/null +++ b/libraries/ode-0.9/docs/structd_contact_geom.html | |||
@@ -0,0 +1,70 @@ | |||
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: dContactGeom Struct Reference</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <div class="tabs"> | ||
17 | <ul> | ||
18 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
19 | <li><a href="functions.html"><span>Data Fields</span></a></li> | ||
20 | </ul> | ||
21 | </div> | ||
22 | <h1>dContactGeom Struct Reference<br> | ||
23 | <small> | ||
24 | [<a class="el" href="group__collide.html">Collision Detection</a>]</small> | ||
25 | </h1><!-- doxytag: class="dContactGeom" -->Describe the contact point between two geoms. | ||
26 | <a href="#_details">More...</a> | ||
27 | <p> | ||
28 | <code>#include <<a class="el" href="contact_8h-source.html">contact.h</a>></code> | ||
29 | <p> | ||
30 | <table border="0" cellpadding="0" cellspacing="0"> | ||
31 | <tr><td></td></tr> | ||
32 | <tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> | ||
33 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2fa7323ee3826d1f55c8cad6157e38a5"></a><!-- doxytag: member="dContactGeom::pos" ref="2fa7323ee3826d1f55c8cad6157e38a5" args="" --> | ||
34 | dVector3 </td><td class="memItemRight" valign="bottom"><a class="el" href="structd_contact_geom.html#2fa7323ee3826d1f55c8cad6157e38a5">pos</a></td></tr> | ||
35 | |||
36 | <tr><td class="mdescLeft"> </td><td class="mdescRight">contact position <br></td></tr> | ||
37 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7665d3379904821bbdb7b7d1028fcda3"></a><!-- doxytag: member="dContactGeom::normal" ref="7665d3379904821bbdb7b7d1028fcda3" args="" --> | ||
38 | dVector3 </td><td class="memItemRight" valign="bottom"><a class="el" href="structd_contact_geom.html#7665d3379904821bbdb7b7d1028fcda3">normal</a></td></tr> | ||
39 | |||
40 | <tr><td class="mdescLeft"> </td><td class="mdescRight">normal vector <br></td></tr> | ||
41 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="29c32c1cb4355186d4110b7abeb58bf0"></a><!-- doxytag: member="dContactGeom::depth" ref="29c32c1cb4355186d4110b7abeb58bf0" args="" --> | ||
42 | dReal </td><td class="memItemRight" valign="bottom"><a class="el" href="structd_contact_geom.html#29c32c1cb4355186d4110b7abeb58bf0">depth</a></td></tr> | ||
43 | |||
44 | <tr><td class="mdescLeft"> </td><td class="mdescRight">penetration depth <br></td></tr> | ||
45 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6049a3a67dba58f65a6ce15a4d9b4cfd"></a><!-- doxytag: member="dContactGeom::g1" ref="6049a3a67dba58f65a6ce15a4d9b4cfd" args="" --> | ||
46 | dGeomID </td><td class="memItemRight" valign="bottom"><b>g1</b></td></tr> | ||
47 | |||
48 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7dd16e7bbc0c5b5e17116c1e5179281b"></a><!-- doxytag: member="dContactGeom::g2" ref="7dd16e7bbc0c5b5e17116c1e5179281b" args="" --> | ||
49 | dGeomID </td><td class="memItemRight" valign="bottom"><a class="el" href="structd_contact_geom.html#7dd16e7bbc0c5b5e17116c1e5179281b">g2</a></td></tr> | ||
50 | |||
51 | <tr><td class="mdescLeft"> </td><td class="mdescRight">the colliding geoms <br></td></tr> | ||
52 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="10bb8b02cd842d19240e3b643469fb33"></a><!-- doxytag: member="dContactGeom::side1" ref="10bb8b02cd842d19240e3b643469fb33" args="" --> | ||
53 | int </td><td class="memItemRight" valign="bottom"><b>side1</b></td></tr> | ||
54 | |||
55 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7a8a080b98c12e0d1f52c86d2738552e"></a><!-- doxytag: member="dContactGeom::side2" ref="7a8a080b98c12e0d1f52c86d2738552e" args="" --> | ||
56 | int </td><td class="memItemRight" valign="bottom"><a class="el" href="structd_contact_geom.html#7a8a080b98c12e0d1f52c86d2738552e">side2</a></td></tr> | ||
57 | |||
58 | <tr><td class="mdescLeft"> </td><td class="mdescRight">(to be documented) <br></td></tr> | ||
59 | </table> | ||
60 | <hr><a name="_details"></a><h2>Detailed Description</h2> | ||
61 | Describe the contact point between two geoms. | ||
62 | <p> | ||
63 | If two bodies touch, or if a body touches a static feature in its environment, the contact is represented by one or more "contact points", described by <a class="el" href="structd_contact_geom.html" title="Describe the contact point between two geoms.">dContactGeom</a>.<p> | ||
64 | The convention is that if body 1 is moved along the normal vector by a distance depth (or equivalently if body 2 is moved the same distance in the opposite direction) then the contact depth will be reduced to zero. This means that the normal vector points "in" to body 1. <hr>The documentation for this struct was generated from the following file:<ul> | ||
65 | <li><a class="el" href="contact_8h-source.html">contact.h</a></ul> | ||
66 | <hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:52 2007 for Open Dynamics Engine by | ||
67 | <a href="http://www.doxygen.org/index.html"> | ||
68 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
69 | </body> | ||
70 | </html> | ||
diff --git a/libraries/ode-0.9/docs/structds_functions.html b/libraries/ode-0.9/docs/structds_functions.html new file mode 100644 index 0000000..6d5685a --- /dev/null +++ b/libraries/ode-0.9/docs/structds_functions.html | |||
@@ -0,0 +1,59 @@ | |||
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: dsFunctions Struct Reference</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <div class="tabs"> | ||
17 | <ul> | ||
18 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
19 | <li><a href="functions.html"><span>Data Fields</span></a></li> | ||
20 | </ul> | ||
21 | </div> | ||
22 | <h1>dsFunctions Struct Reference<br> | ||
23 | <small> | ||
24 | [<a class="el" href="group__drawstuff.html">DrawStuff</a>]</small> | ||
25 | </h1><!-- doxytag: class="dsFunctions" -->Set of functions to be used as callbacks by the simulation loop. | ||
26 | <a href="#_details">More...</a> | ||
27 | <p> | ||
28 | <code>#include <<a class="el" href="drawstuff_8h-source.html">drawstuff.h</a>></code> | ||
29 | <p> | ||
30 | <table border="0" cellpadding="0" cellspacing="0"> | ||
31 | <tr><td></td></tr> | ||
32 | <tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> | ||
33 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b9dd3fbba4366fad5531214cebb47d94"></a><!-- doxytag: member="dsFunctions::version" ref="b9dd3fbba4366fad5531214cebb47d94" args="" --> | ||
34 | int </td><td class="memItemRight" valign="bottom"><b>version</b></td></tr> | ||
35 | |||
36 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="22cef28f3bb9f83bc497a1343f4305d0"></a><!-- doxytag: member="dsFunctions::start" ref="22cef28f3bb9f83bc497a1343f4305d0" args=")()" --> | ||
37 | void(* </td><td class="memItemRight" valign="bottom"><b>start</b> )()</td></tr> | ||
38 | |||
39 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="232c4ad2d795826a52592b4267b5cbe9"></a><!-- doxytag: member="dsFunctions::step" ref="232c4ad2d795826a52592b4267b5cbe9" args=")(int pause)" --> | ||
40 | void(* </td><td class="memItemRight" valign="bottom"><b>step</b> )(int pause)</td></tr> | ||
41 | |||
42 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e9481850ebd8267a71764556cd454d9c"></a><!-- doxytag: member="dsFunctions::command" ref="e9481850ebd8267a71764556cd454d9c" args=")(int cmd)" --> | ||
43 | void(* </td><td class="memItemRight" valign="bottom"><b>command</b> )(int cmd)</td></tr> | ||
44 | |||
45 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0b6965c89af9af4b92243a611f8787b"></a><!-- doxytag: member="dsFunctions::stop" ref="a0b6965c89af9af4b92243a611f8787b" args=")()" --> | ||
46 | void(* </td><td class="memItemRight" valign="bottom"><b>stop</b> )()</td></tr> | ||
47 | |||
48 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="65706b30adf57fe5eefdf6e141d249dd"></a><!-- doxytag: member="dsFunctions::path_to_textures" ref="65706b30adf57fe5eefdf6e141d249dd" args="" --> | ||
49 | char * </td><td class="memItemRight" valign="bottom"><b>path_to_textures</b></td></tr> | ||
50 | |||
51 | </table> | ||
52 | <hr><a name="_details"></a><h2>Detailed Description</h2> | ||
53 | Set of functions to be used as callbacks by the simulation loop. <hr>The documentation for this struct was generated from the following file:<ul> | ||
54 | <li><a class="el" href="drawstuff_8h-source.html">drawstuff.h</a></ul> | ||
55 | <hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:52 2007 for Open Dynamics Engine by | ||
56 | <a href="http://www.doxygen.org/index.html"> | ||
57 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
58 | </body> | ||
59 | </html> | ||
diff --git a/libraries/ode-0.9/docs/tab_b.gif b/libraries/ode-0.9/docs/tab_b.gif new file mode 100644 index 0000000..0d62348 --- /dev/null +++ b/libraries/ode-0.9/docs/tab_b.gif | |||
Binary files differ | |||
diff --git a/libraries/ode-0.9/docs/tab_l.gif b/libraries/ode-0.9/docs/tab_l.gif new file mode 100644 index 0000000..9b1e633 --- /dev/null +++ b/libraries/ode-0.9/docs/tab_l.gif | |||
Binary files differ | |||
diff --git a/libraries/ode-0.9/docs/tab_r.gif b/libraries/ode-0.9/docs/tab_r.gif new file mode 100644 index 0000000..ce9dd9f --- /dev/null +++ b/libraries/ode-0.9/docs/tab_r.gif | |||
Binary files differ | |||
diff --git a/libraries/ode-0.9/docs/tabs.css b/libraries/ode-0.9/docs/tabs.css new file mode 100644 index 0000000..c37faaf --- /dev/null +++ b/libraries/ode-0.9/docs/tabs.css | |||
@@ -0,0 +1,102 @@ | |||
1 | /* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ | ||
2 | |||
3 | DIV.tabs | ||
4 | { | ||
5 | float : left; | ||
6 | width : 100%; | ||
7 | background : url("tab_b.gif") repeat-x bottom; | ||
8 | margin-bottom : 4px; | ||
9 | } | ||
10 | |||
11 | DIV.tabs UL | ||
12 | { | ||
13 | margin : 0px; | ||
14 | padding-left : 10px; | ||
15 | list-style : none; | ||
16 | } | ||
17 | |||
18 | DIV.tabs LI, DIV.tabs FORM | ||
19 | { | ||
20 | display : inline; | ||
21 | margin : 0px; | ||
22 | padding : 0px; | ||
23 | } | ||
24 | |||
25 | DIV.tabs FORM | ||
26 | { | ||
27 | float : right; | ||
28 | } | ||
29 | |||
30 | DIV.tabs A | ||
31 | { | ||
32 | float : left; | ||
33 | background : url("tab_r.gif") no-repeat right top; | ||
34 | border-bottom : 1px solid #84B0C7; | ||
35 | font-size : x-small; | ||
36 | font-weight : bold; | ||
37 | text-decoration : none; | ||
38 | } | ||
39 | |||
40 | DIV.tabs A:hover | ||
41 | { | ||
42 | background-position: 100% -150px; | ||
43 | } | ||
44 | |||
45 | DIV.tabs A:link, DIV.tabs A:visited, | ||
46 | DIV.tabs A:active, DIV.tabs A:hover | ||
47 | { | ||
48 | color: #1A419D; | ||
49 | } | ||
50 | |||
51 | DIV.tabs SPAN | ||
52 | { | ||
53 | float : left; | ||
54 | display : block; | ||
55 | background : url("tab_l.gif") no-repeat left top; | ||
56 | padding : 5px 9px; | ||
57 | white-space : nowrap; | ||
58 | } | ||
59 | |||
60 | DIV.tabs INPUT | ||
61 | { | ||
62 | float : right; | ||
63 | display : inline; | ||
64 | font-size : 1em; | ||
65 | } | ||
66 | |||
67 | DIV.tabs TD | ||
68 | { | ||
69 | font-size : x-small; | ||
70 | font-weight : bold; | ||
71 | text-decoration : none; | ||
72 | } | ||
73 | |||
74 | |||
75 | |||
76 | /* Commented Backslash Hack hides rule from IE5-Mac \*/ | ||
77 | DIV.tabs SPAN {float : none;} | ||
78 | /* End IE5-Mac hack */ | ||
79 | |||
80 | DIV.tabs A:hover SPAN | ||
81 | { | ||
82 | background-position: 0% -150px; | ||
83 | } | ||
84 | |||
85 | DIV.tabs LI.current A | ||
86 | { | ||
87 | background-position: 100% -150px; | ||
88 | border-width : 0px; | ||
89 | } | ||
90 | |||
91 | DIV.tabs LI.current SPAN | ||
92 | { | ||
93 | background-position: 0% -150px; | ||
94 | padding-bottom : 6px; | ||
95 | } | ||
96 | |||
97 | DIV.nav | ||
98 | { | ||
99 | background : none; | ||
100 | border : none; | ||
101 | border-bottom : 1px solid #84B0C7; | ||
102 | } | ||
diff --git a/libraries/ode-0.9/docs/timer_8h-source.html b/libraries/ode-0.9/docs/timer_8h-source.html new file mode 100644 index 0000000..3d0b1e6 --- /dev/null +++ b/libraries/ode-0.9/docs/timer_8h-source.html | |||
@@ -0,0 +1,96 @@ | |||
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: timer.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>timer.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00023"></a>00023 <span class="preprocessor">#ifndef _ODE_TIMER_H_</span> | ||
39 | <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define _ODE_TIMER_H_</span> | ||
40 | <a name="l00025"></a>00025 <span class="preprocessor"></span> | ||
41 | <a name="l00026"></a>00026 <span class="preprocessor">#include <ode/config.h></span> | ||
42 | <a name="l00027"></a>00027 | ||
43 | <a name="l00028"></a>00028 <span class="preprocessor">#ifdef __cplusplus</span> | ||
44 | <a name="l00029"></a>00029 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | ||
45 | <a name="l00030"></a>00030 <span class="preprocessor">#endif</span> | ||
46 | <a name="l00031"></a>00031 <span class="preprocessor"></span> | ||
47 | <a name="l00032"></a>00032 | ||
48 | <a name="l00033"></a>00033 <span class="comment">/* stop watch objects */</span> | ||
49 | <a name="l00034"></a>00034 | ||
50 | <a name="l00035"></a>00035 <span class="keyword">typedef</span> <span class="keyword">struct </span>dStopwatch { | ||
51 | <a name="l00036"></a>00036 <span class="keywordtype">double</span> time; <span class="comment">/* total clock count */</span> | ||
52 | <a name="l00037"></a>00037 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> cc[2]; <span class="comment">/* clock count since last `start' */</span> | ||
53 | <a name="l00038"></a>00038 } dStopwatch; | ||
54 | <a name="l00039"></a>00039 | ||
55 | <a name="l00040"></a>00040 ODE_API <span class="keywordtype">void</span> dStopwatchReset (dStopwatch *); | ||
56 | <a name="l00041"></a>00041 ODE_API <span class="keywordtype">void</span> dStopwatchStart (dStopwatch *); | ||
57 | <a name="l00042"></a>00042 ODE_API <span class="keywordtype">void</span> dStopwatchStop (dStopwatch *); | ||
58 | <a name="l00043"></a>00043 ODE_API <span class="keywordtype">double</span> dStopwatchTime (dStopwatch *); <span class="comment">/* returns total time in secs */</span> | ||
59 | <a name="l00044"></a>00044 | ||
60 | <a name="l00045"></a>00045 | ||
61 | <a name="l00046"></a>00046 <span class="comment">/* code timers */</span> | ||
62 | <a name="l00047"></a>00047 | ||
63 | <a name="l00048"></a>00048 ODE_API <span class="keywordtype">void</span> dTimerStart (<span class="keyword">const</span> <span class="keywordtype">char</span> *description); <span class="comment">/* pass a static string here */</span> | ||
64 | <a name="l00049"></a>00049 ODE_API <span class="keywordtype">void</span> dTimerNow (<span class="keyword">const</span> <span class="keywordtype">char</span> *description); <span class="comment">/* pass a static string here */</span> | ||
65 | <a name="l00050"></a>00050 ODE_API <span class="keywordtype">void</span> dTimerEnd(<span class="keywordtype">void</span>); | ||
66 | <a name="l00051"></a>00051 | ||
67 | <a name="l00052"></a>00052 <span class="comment">/* print out a timer report. if `average' is nonzero, print out the average</span> | ||
68 | <a name="l00053"></a>00053 <span class="comment"> * time for each slot (this is only meaningful if the same start-now-end</span> | ||
69 | <a name="l00054"></a>00054 <span class="comment"> * calls are being made repeatedly.</span> | ||
70 | <a name="l00055"></a>00055 <span class="comment"> */</span> | ||
71 | <a name="l00056"></a>00056 ODE_API <span class="keywordtype">void</span> dTimerReport (FILE *fout, <span class="keywordtype">int</span> average); | ||
72 | <a name="l00057"></a>00057 | ||
73 | <a name="l00058"></a>00058 | ||
74 | <a name="l00059"></a>00059 <span class="comment">/* resolution */</span> | ||
75 | <a name="l00060"></a>00060 | ||
76 | <a name="l00061"></a>00061 <span class="comment">/* returns the timer ticks per second implied by the timing hardware or API.</span> | ||
77 | <a name="l00062"></a>00062 <span class="comment"> * the actual timer resolution may not be this great.</span> | ||
78 | <a name="l00063"></a>00063 <span class="comment"> */</span> | ||
79 | <a name="l00064"></a>00064 ODE_API <span class="keywordtype">double</span> dTimerTicksPerSecond(<span class="keywordtype">void</span>); | ||
80 | <a name="l00065"></a>00065 | ||
81 | <a name="l00066"></a>00066 <span class="comment">/* returns an estimate of the actual timer resolution, in seconds. this may</span> | ||
82 | <a name="l00067"></a>00067 <span class="comment"> * be greater than 1/ticks_per_second.</span> | ||
83 | <a name="l00068"></a>00068 <span class="comment"> */</span> | ||
84 | <a name="l00069"></a>00069 ODE_API <span class="keywordtype">double</span> dTimerResolution(<span class="keywordtype">void</span>); | ||
85 | <a name="l00070"></a>00070 | ||
86 | <a name="l00071"></a>00071 | ||
87 | <a name="l00072"></a>00072 <span class="preprocessor">#ifdef __cplusplus</span> | ||
88 | <a name="l00073"></a>00073 <span class="preprocessor"></span>} | ||
89 | <a name="l00074"></a>00074 <span class="preprocessor">#endif</span> | ||
90 | <a name="l00075"></a>00075 <span class="preprocessor"></span> | ||
91 | <a name="l00076"></a>00076 <span class="preprocessor">#endif</span> | ||
92 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
93 | <a href="http://www.doxygen.org/index.html"> | ||
94 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
95 | </body> | ||
96 | </html> | ||
diff --git a/libraries/ode-0.9/docs/version_8h-source.html b/libraries/ode-0.9/docs/version_8h-source.html new file mode 100644 index 0000000..74430d1 --- /dev/null +++ b/libraries/ode-0.9/docs/version_8h-source.html | |||
@@ -0,0 +1,49 @@ | |||
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: version.h Source File</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 Page</span></a></li> | ||
11 | <li><a href="modules.html"><span>Modules</span></a></li> | ||
12 | <li><a href="annotated.html"><span>Data Structures</span></a></li> | ||
13 | <li class="current"><a href="files.html"><span>Files</span></a></li> | ||
14 | </ul> | ||
15 | </div> | ||
16 | <h1>version.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*************************************************************************</span> | ||
17 | <a name="l00002"></a>00002 <span class="comment"> * *</span> | ||
18 | <a name="l00003"></a>00003 <span class="comment"> * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. *</span> | ||
19 | <a name="l00004"></a>00004 <span class="comment"> * All rights reserved. Email: russ@q12.org Web: www.q12.org *</span> | ||
20 | <a name="l00005"></a>00005 <span class="comment"> * *</span> | ||
21 | <a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or *</span> | ||
22 | <a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of EITHER: *</span> | ||
23 | <a name="l00008"></a>00008 <span class="comment"> * (1) The GNU Lesser General Public License as published by the Free *</span> | ||
24 | <a name="l00009"></a>00009 <span class="comment"> * Software Foundation; either version 2.1 of the License, or (at *</span> | ||
25 | <a name="l00010"></a>00010 <span class="comment"> * your option) any later version. The text of the GNU Lesser *</span> | ||
26 | <a name="l00011"></a>00011 <span class="comment"> * General Public License is included with this library in the *</span> | ||
27 | <a name="l00012"></a>00012 <span class="comment"> * file LICENSE.TXT. *</span> | ||
28 | <a name="l00013"></a>00013 <span class="comment"> * (2) The BSD-style license that is included with this library in *</span> | ||
29 | <a name="l00014"></a>00014 <span class="comment"> * the file LICENSE-BSD.TXT. *</span> | ||
30 | <a name="l00015"></a>00015 <span class="comment"> * *</span> | ||
31 | <a name="l00016"></a>00016 <span class="comment"> * This library is distributed in the hope that it will be useful, *</span> | ||
32 | <a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> | ||
33 | <a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *</span> | ||
34 | <a name="l00019"></a>00019 <span class="comment"> * LICENSE.TXT and LICENSE-BSD.TXT for more details. *</span> | ||
35 | <a name="l00020"></a>00020 <span class="comment"> * *</span> | ||
36 | <a name="l00021"></a>00021 <span class="comment"> *************************************************************************/</span> | ||
37 | <a name="l00022"></a>00022 | ||
38 | <a name="l00023"></a>00023 <span class="preprocessor">#ifndef __VERSION_H</span> | ||
39 | <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define __VERSION_H</span> | ||
40 | <a name="l00025"></a>00025 <span class="preprocessor"></span> | ||
41 | <a name="l00026"></a>00026 <span class="comment">/* high byte is major version, low byte is minor version */</span> | ||
42 | <a name="l00027"></a>00027 <span class="preprocessor">#define DS_VERSION 0x0002</span> | ||
43 | <a name="l00028"></a>00028 <span class="preprocessor"></span> | ||
44 | <a name="l00029"></a>00029 <span class="preprocessor">#endif</span> | ||
45 | </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 12 08:36:51 2007 for Open Dynamics Engine by | ||
46 | <a href="http://www.doxygen.org/index.html"> | ||
47 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> | ||
48 | </body> | ||
49 | </html> | ||