00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _ODE_COLLISION_SPACE_H_
00024 #define _ODE_COLLISION_SPACE_H_
00025
00026 #include <ode/common.h>
00027
00028 #ifdef __cplusplus
00029 extern "C" {
00030 #endif
00031
00032 struct dContactGeom;
00033
00049 typedef void dNearCallback (void *data, dGeomID o1, dGeomID o2);
00050
00051
00052 ODE_API dSpaceID dSimpleSpaceCreate (dSpaceID space);
00053 ODE_API dSpaceID dHashSpaceCreate (dSpaceID space);
00054 ODE_API dSpaceID dQuadTreeSpaceCreate (dSpaceID space, dVector3 Center, dVector3 Extents, int Depth);
00055
00056 ODE_API void dSpaceDestroy (dSpaceID);
00057
00058 ODE_API void dHashSpaceSetLevels (dSpaceID space, int minlevel, int maxlevel);
00059 ODE_API void dHashSpaceGetLevels (dSpaceID space, int *minlevel, int *maxlevel);
00060
00061 ODE_API void dSpaceSetCleanup (dSpaceID space, int mode);
00062 ODE_API int dSpaceGetCleanup (dSpaceID space);
00063
00064 ODE_API void dSpaceAdd (dSpaceID, dGeomID);
00065 ODE_API void dSpaceRemove (dSpaceID, dGeomID);
00066 ODE_API int dSpaceQuery (dSpaceID, dGeomID);
00067 ODE_API void dSpaceClean (dSpaceID);
00068 ODE_API int dSpaceGetNumGeoms (dSpaceID);
00069 ODE_API dGeomID dSpaceGetGeom (dSpaceID, int i);
00070
00071
00072 #ifdef __cplusplus
00073 }
00074 #endif
00075
00076 #endif