| 199 | } |
| 200 | |
| 201 | void Physics::cleanSimulation() { |
| 202 | for (auto &car : cars) { |
| 203 | dynamicsWorld->removeRigidBody(car->getVehicleRigidBody()); |
| 204 | } |
| 205 | for (auto &track_block : current_track->track_blocks) { |
| 206 | for (auto &road : track_block.track) { |
| 207 | dynamicsWorld->removeRigidBody(road.rigidBody); |
| 208 | delete road.rigidBody->getMotionState(); |
| 209 | delete road.rigidBody; |
| 210 | } |
| 211 | for (auto &object : track_block.objects) { |
| 212 | dynamicsWorld->removeRigidBody(object.rigidBody); |
| 213 | delete object.rigidBody->getMotionState(); |
| 214 | delete object.rigidBody; |
| 215 | } |
| 216 | for (auto &light : track_block.lights) { |
| 217 | dynamicsWorld->removeRigidBody(light.rigidBody); |
| 218 | delete light.rigidBody->getMotionState(); |
| 219 | delete light.rigidBody; |
| 220 | } |
| 221 | } |
| 222 | delete dynamicsWorld; |
| 223 | delete solver; |
| 224 | delete dispatcher; |
| 225 | delete collisionConfiguration; |
| 226 | delete broadphase; |
| 227 | } |
| 228 | |
| 229 | void Physics::registerTrack(const std::shared_ptr<ONFSTrack> &track) { |
| 230 | current_track = track; |
nothing calls this directly
no test coverage detected