diff options
Diffstat (limited to 'PhysX_3.4/Source/SimulationController/src/ScScene.cpp')
| -rw-r--r-- | PhysX_3.4/Source/SimulationController/src/ScScene.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/PhysX_3.4/Source/SimulationController/src/ScScene.cpp b/PhysX_3.4/Source/SimulationController/src/ScScene.cpp index 28945a12..47869390 100644 --- a/PhysX_3.4/Source/SimulationController/src/ScScene.cpp +++ b/PhysX_3.4/Source/SimulationController/src/ScScene.cpp @@ -23,7 +23,7 @@ // components in life support devices or systems without express written approval of // NVIDIA Corporation. // -// Copyright (c) 2008-2016 NVIDIA Corporation. All rights reserved. +// Copyright (c) 2008-2017 NVIDIA Corporation. All rights reserved. // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved. // Copyright (c) 2001-2004 NovodeX AG. All rights reserved. @@ -2238,6 +2238,7 @@ private: PX_NOCOPY(SpeculativeCCDContactDistanceArticulationUpdateTask) }; + void Sc::Scene::preRigidBodyNarrowPhase(PxBaseTask* continuation) { PX_PROFILE_ZONE("Scene.preNarrowPhase", getContextId()); @@ -5001,7 +5002,10 @@ void Sc::Scene::addBody(BodyCore& body, void*const *shapes, PxU32 nbShapes, size if (sim->getLowLevelBody().mCore->mFlags & PxRigidBodyFlag::eENABLE_SPECULATIVE_CCD) { if (sim->isArticulationLink()) - mSpeculativeCDDArticulationBitMap.growAndSet(sim->getNodeIndex().index()); + { + if (sim->getNodeIndex().isValid()) + mSpeculativeCDDArticulationBitMap.growAndSet(sim->getNodeIndex().index()); + } else mSpeculativeCCDRigidBodyBitMap.growAndSet(sim->getNodeIndex().index()); } |