void physicalZoneFind(SceneObject* obj, void *key) { PROFILE_SCOPE( physicalZoneFind ); ContainerQueryInfo *info = static_cast<ContainerQueryInfo*>(key); PhysicalZone* pz = dynamic_cast<PhysicalZone*>(obj); AssertFatal(pz != NULL, "Error, not a physical zone!"); if (pz == NULL || pz->testBox(info->box) == false) return; if (pz->isActive()) { info->gravityScale *= pz->getGravityMod(); info->airResistanceScale *= pz->getAirResistanceMod(); info->appliedForce += pz->getForce(); } }
void physicalZoneFind(SceneObject* obj, void *key) { PROFILE_SCOPE( physicalZoneFind ); ContainerQueryInfo *info = static_cast<ContainerQueryInfo*>(key); PhysicalZone* pz = dynamic_cast<PhysicalZone*>(obj); AssertFatal(pz != NULL, "Error, not a physical zone!"); if (pz == NULL || pz->testBox(info->box) == false) return; if (pz->isActive()) { info->gravityScale *= pz->getGravityMod(); // AFX CODE BLOCK (enhanced-physical-zone) << Point3F center; info->box.getCenter(¢er); info->appliedForce += pz->getForce(¢er); /* ORIGINAL CODE info->appliedForce += pz->getForce(); */ // AFX CODE BLOCK (enhanced-physical-zone) >> } }