assertions in remove physical

This commit is contained in:
Dave Schuyler 2006-03-07 04:25:44 +00:00
parent 9a647cf23f
commit f8c00270d3

View File

@ -106,6 +106,7 @@ remove_angular_force(AngularForce *f) {
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
void PhysicsManager:: void PhysicsManager::
remove_physical(Physical *p) { remove_physical(Physical *p) {
nassertv(this);
nassertv(p); nassertv(p);
pvector< Physical * >::iterator found; pvector< Physical * >::iterator found;
@ -113,8 +114,11 @@ remove_physical(Physical *p) {
if (found == _physicals.end()) { if (found == _physicals.end()) {
return; return;
} }
nassertv(*found == p);
nassertv(p->_physics_manager != (PhysicsManager *) NULL);
p->_physics_manager = (PhysicsManager *) NULL; p->_physics_manager = (PhysicsManager *) NULL;
_physicals.erase(found); _physicals.erase(found);
nassertv(_physicals.end() == find(_physicals.begin(), _physicals.end(), p));
} }
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////