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
00034 typedef void dNearCallback (void *data, dGeomID o1, dGeomID o2);
00035
00036
00037 ODE_API dSpaceID dSimpleSpaceCreate (dSpaceID space);
00038 ODE_API dSpaceID dHashSpaceCreate (dSpaceID space);
00039 ODE_API dSpaceID dQuadTreeSpaceCreate (dSpaceID space, dVector3 Center, dVector3 Extents, int Depth);
00040
00041 ODE_API void dSpaceDestroy (dSpaceID);
00042
00043 ODE_API void dHashSpaceSetLevels (dSpaceID space, int minlevel, int maxlevel);
00044 ODE_API void dHashSpaceGetLevels (dSpaceID space, int *minlevel, int *maxlevel);
00045
00046 ODE_API void dSpaceSetCleanup (dSpaceID space, int mode);
00047 ODE_API int dSpaceGetCleanup (dSpaceID space);
00048
00049 ODE_API void dSpaceAdd (dSpaceID, dGeomID);
00050 ODE_API void dSpaceRemove (dSpaceID, dGeomID);
00051 ODE_API int dSpaceQuery (dSpaceID, dGeomID);
00052 ODE_API void dSpaceClean (dSpaceID);
00053 ODE_API int dSpaceGetNumGeoms (dSpaceID);
00054 ODE_API dGeomID dSpaceGetGeom (dSpaceID, int i);
00055
00056
00057 #ifdef __cplusplus
00058 }
00059 #endif
00060
00061 #endif