History

Merge branch 'master' of https://github.com/highfidelity/hifi into team-teaching

ZappoMan committed 11 years ago

Commit 20ceb722 parents 8a1e07f 16e571038 files · +686 −279Browse files

Showing the changes to interface/src/Application.cpp (1 of 38 files). Show all

Unified · Split

interface/src/Application.cpp+14−1
@@ -693,6 +693,10 @@ Application::~Application() { · 692 unmodified lines
693 // stop the glWidget frame timer so it doesn't call paintGL693 // stop the glWidget frame timer so it doesn't call paintGL
694 _glWidget->stopFrameTimer();694 _glWidget->stopFrameTimer();
695 695
696 // remove avatars from physics engine
697 DependencyManager::get<AvatarManager>()->clearOtherAvatars();
698 _physicsEngine.deleteObjects(DependencyManager::get<AvatarManager>()->getObjectsToDelete());
699
696 DependencyManager::destroy<OffscreenUi>();700 DependencyManager::destroy<OffscreenUi>();
697 DependencyManager::destroy<AvatarManager>();701 DependencyManager::destroy<AvatarManager>();
698 DependencyManager::destroy<AnimationCache>();702 DependencyManager::destroy<AnimationCache>();
@@ -2166,7 +2170,7 @@ void Application::init() { · 1467 unmodified lines
2166 _physicsEngine.init();2170 _physicsEngine.init();
2167 2171
2168 EntityTree* tree = _entities.getTree();2172 EntityTree* tree = _entities.getTree();
2169 _entitySimulation.init(tree, &_physicsEngine, &_shapeManager, &_entityEditSender);2173 _entitySimulation.init(tree, &_physicsEngine, &_entityEditSender);
2170 tree->setSimulation(&_entitySimulation);2174 tree->setSimulation(&_entitySimulation);
2171 2175
2172 auto entityScriptingInterface = DependencyManager::get<EntityScriptingInterface>();2176 auto entityScriptingInterface = DependencyManager::get<EntityScriptingInterface>();
@@ -2486,12 +2490,21 @@ void Application::update(float deltaTime) { · 313 unmodified lines
2486 _physicsEngine.changeObjects(_entitySimulation.getObjectsToChange());2490 _physicsEngine.changeObjects(_entitySimulation.getObjectsToChange());
2487 _entitySimulation.unlock();2491 _entitySimulation.unlock();
2488 2492
2493 AvatarManager* avatarManager = DependencyManager::get<AvatarManager>().data();
2494 _physicsEngine.deleteObjects(avatarManager->getObjectsToDelete());
2495 _physicsEngine.addObjects(avatarManager->getObjectsToAdd());
2496 _physicsEngine.changeObjects(avatarManager->getObjectsToChange());
2497
2489 _physicsEngine.stepSimulation();2498 _physicsEngine.stepSimulation();
2490 2499
2491 if (_physicsEngine.hasOutgoingChanges()) {2500 if (_physicsEngine.hasOutgoingChanges()) {
2492 _entitySimulation.lock();2501 _entitySimulation.lock();
2493 _entitySimulation.handleOutgoingChanges(_physicsEngine.getOutgoingChanges(), _physicsEngine.getSessionID());2502 _entitySimulation.handleOutgoingChanges(_physicsEngine.getOutgoingChanges(), _physicsEngine.getSessionID());
2494 _entitySimulation.unlock();2503 _entitySimulation.unlock();
2504
2505 avatarManager->handleOutgoingChanges(_physicsEngine.getOutgoingChanges());
2506 avatarManager->handleCollisionEvents(_physicsEngine.getCollisionEvents());
2507
2495 _physicsEngine.dumpStatsIfNecessary();2508 _physicsEngine.dumpStatsIfNecessary();
2496 }2509 }
2497 }2510 }