Tao.Ode SDK Documentation

Ode.dSpaceCollide2 Method 

This function is similar to dSpaceCollide, except that it is passed two geoms (or spaces) as arguments. It calls the callback for all potentially intersecting pairs that contain one geom from o1 and one geom from o2. The exact behavior depends on the types of o1 and o2: If one argument is a non-space geom and the other is a space, the callback is called with all potential intersections between the geom and the objects in the space. If both o1 and o2 are spaces then this calls the callback for all potentially intersecting pairs that contain one geom from o1 and one geom from o2. The algorithm that is used depends on what kinds of spaces are being collided. If no optimized algorithm can be selected then this function will resort to one of the following two strategies: 1. All the geoms in o1 are tested one-by-one against o2. 2. All the geoms in o2 are tested one-by-one against o1. The strategy used may depend on a number of rules, but in general the space with less objects has its geoms examined one-by-one. - If both arguments are the same space, this is equivalent to calling dSpaceCollide on that space. - If both arguments are non-space geoms, this simply calls the callback once with these arguments. If this function is given a space and an geom X in that same space, this case is not treated specially. In this case the callback will always be called with the pair (X,X), because an objects always intersects with itself. The user may either test for this case and ignore it, or just pass the pair (X,X) to dCollide (which will be guaranteed to return 0).

[Visual Basic]
Public Shared Sub dSpaceCollide2( _
   ByVal o1 As IntPtr, _
   ByVal o2 As IntPtr, _
   ByVal data As IntPtr, _
   ByVal callback As dNearCallback _
)
[C#]
public static void dSpaceCollide2(
   IntPtr o1,
   IntPtr o2,
   IntPtr data,
   dNearCallback callback
);

Parameters

o1
A dGeomID
o2
A dGeomID
data
An IntPtr
callback
A dNearCallback

See Also

Ode Class | Tao.Ode Namespace