Fixed bug

This commit is contained in:
rdb 2008-10-09 17:22:12 +00:00
parent 2b94b2ff26
commit 5023050fbb

View File

@ -29,6 +29,7 @@ int OdeSpace::contact_ids[128];
OdeSpace::
OdeSpace(dSpaceID id) :
_id(id) {
my_world = NULL;
}
OdeSpace::
@ -104,11 +105,16 @@ set_auto_collide_joint_group(OdeJointGroup &joint_group)
int OdeSpace::
autoCollide()
{
OdeSpace::contactCount = 0;
_collide_space = this;
_collide_world = my_world;
dSpaceCollide(_id, this, &autoCallback);
return OdeSpace::contactCount;
if (my_world == NULL) {
odespace_cat.error() << "No collide world has been set!\n";
return 0;
} else {
OdeSpace::contactCount = 0;
_collide_space = this;
_collide_world = my_world;
dSpaceCollide(_id, this, &autoCallback);
return OdeSpace::contactCount;
}
}
double OdeSpace::
@ -155,6 +161,7 @@ autoCallback(void *data, dGeomID o1, dGeomID o2)
int surface1 = _collide_space->get_surface_type(o1);
int surface2 = _collide_space->get_surface_type(o2);
nassertv(_collide_world != NULL);
sSurfaceParams collide_params;
collide_params = _collide_world->get_surface(surface1, surface2);