/**
* @brief Determines which pairs of geoms in a space may potentially intersect,
* and calls the callback function for each candidate pair.
*
* @param space The space to test.
*
* @param data 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.
*
* @param callback A callback function is of type @ref dNearCallback.
*
* @remarks 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.
*
* @remarks dSpaceCollide() 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.
*
* @sa dSpaceCollide2
* @ingroup collide
*/
ODE_API void dSpaceCollide (dSpaceID space, void *data, dNearCallback *callback);
/**
* @brief Step the world.
*
* 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.
*
* Failure result status means that the memory allocation has failed for operation.
* In such a case all the objects remain in unchanged state and simulation can be
* retried as soon as more memory is available.
*
* @param w The world to be stepped
* @param stepsize The number of seconds that the simulation has to advance.
* @returns 1 for success and 0 for failure
*
* @ingroup world
*/
ODE_API int dWorldStep (dWorldID w, dReal stepsize);
/**
* @brief Empty a joint group.
* @ingroup joints
*
* All joints in the joint group will be destroyed,
* but the joint group itself will not be destroyed.
*/
ODE_API void dJointGroupEmpty (dJointGroupID);