Merge pull request #1535 from CuriousRubick/rubyBullet

no need to keep iterating if an object is found awake or unable to sleep
This commit is contained in:
erwincoumans
2018-01-26 11:56:47 -08:00
committed by GitHub
2 changed files with 6 additions and 10 deletions

View File

@@ -261,13 +261,11 @@ void btSimulationIslandManager::buildIslands(btDispatcher* dispatcher,btCollisio
btAssert((colObj0->getIslandTag() == islandId) || (colObj0->getIslandTag() == -1)); btAssert((colObj0->getIslandTag() == islandId) || (colObj0->getIslandTag() == -1));
if (colObj0->getIslandTag() == islandId) if (colObj0->getIslandTag() == islandId)
{ {
if (colObj0->getActivationState()== ACTIVE_TAG) if (colObj0->getActivationState()== ACTIVE_TAG ||
{ colObj0->getActivationState()== DISABLE_DEACTIVATION)
allSleeping = false;
}
if (colObj0->getActivationState()== DISABLE_DEACTIVATION)
{ {
allSleeping = false; allSleeping = false;
break;
} }
} }
} }

View File

@@ -314,13 +314,11 @@ void btSimulationIslandManagerMt::buildIslands( btDispatcher* dispatcher, btColl
btAssert((colObj0->getIslandTag() == islandId) || (colObj0->getIslandTag() == -1)); btAssert((colObj0->getIslandTag() == islandId) || (colObj0->getIslandTag() == -1));
if (colObj0->getIslandTag() == islandId) if (colObj0->getIslandTag() == islandId)
{ {
if (colObj0->getActivationState()== ACTIVE_TAG) if (colObj0->getActivationState()== ACTIVE_TAG ||
{ colObj0->getActivationState()== DISABLE_DEACTIVATION)
allSleeping = false;
}
if (colObj0->getActivationState()== DISABLE_DEACTIVATION)
{ {
allSleeping = false; allSleeping = false;
break;
} }
} }
} }