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> |
---|