diff options
| author | Sheikh Dawood Abdul Ajees <[email protected]> | 2018-01-26 19:43:03 -0600 |
|---|---|---|
| committer | Sheikh Dawood Abdul Ajees <[email protected]> | 2018-01-26 19:43:03 -0600 |
| commit | b6db9a56548cd1c41bee309e721d76ea2c9320da (patch) | |
| tree | 1f0436b187db50c21e576b4f4d491530113c91bc /PhysX_3.4/Source/SimulationController | |
| parent | PhysX 3.4.1, APEX 1.4.1 Release @23307153 (diff) | |
| download | physx-3.4-b6db9a56548cd1c41bee309e721d76ea2c9320da.tar.xz physx-3.4-b6db9a56548cd1c41bee309e721d76ea2c9320da.zip | |
PhysX 3.4, APEX 1.4 patch release @23472123
Diffstat (limited to 'PhysX_3.4/Source/SimulationController')
4 files changed, 6 insertions, 7 deletions
diff --git a/PhysX_3.4/Source/SimulationController/include/ScScene.h b/PhysX_3.4/Source/SimulationController/include/ScScene.h index d6306d46..3513864b 100644 --- a/PhysX_3.4/Source/SimulationController/include/ScScene.h +++ b/PhysX_3.4/Source/SimulationController/include/ScScene.h @@ -225,7 +225,7 @@ namespace Sc // PT: TODO: revisit the need for a virtual interface struct SqBoundsSync { - virtual void sync(const Sq::PrunerHandle* handles, const PxU32* indices, const PxBounds3* bounds, PxU32 count) = 0; + virtual void sync(const Sq::PrunerHandle* handles, const PxU32* indices, const PxBounds3* bounds, PxU32 count, const Cm::BitMap& dirtyShapeSimMap) = 0; virtual ~SqBoundsSync() {} }; diff --git a/PhysX_3.4/Source/SimulationController/src/ScScene.cpp b/PhysX_3.4/Source/SimulationController/src/ScScene.cpp index 2099b86d..6519f7fa 100644 --- a/PhysX_3.4/Source/SimulationController/src/ScScene.cpp +++ b/PhysX_3.4/Source/SimulationController/src/ScScene.cpp @@ -3662,7 +3662,7 @@ void Sc::Scene::postReportsCleanup() void Sc::Scene::syncSceneQueryBounds(SqBoundsSync& sync, SqRefFinder& finder) { - mSqBoundsManager->syncBounds(sync, finder, mBoundsArray->begin(), getContextId()); + mSqBoundsManager->syncBounds(sync, finder, mBoundsArray->begin(), getContextId(), mDirtyShapeSimMap); } // Let the particle systems do some preparations before doing the "real" stuff. diff --git a/PhysX_3.4/Source/SimulationController/src/ScSqBoundsManager.cpp b/PhysX_3.4/Source/SimulationController/src/ScSqBoundsManager.cpp index 77763939..7d2d692c 100644 --- a/PhysX_3.4/Source/SimulationController/src/ScSqBoundsManager.cpp +++ b/PhysX_3.4/Source/SimulationController/src/ScSqBoundsManager.cpp @@ -84,7 +84,7 @@ void SqBoundsManager::removeShape(ShapeSim& shape) mBoundsIndices.popBack(); } -void SqBoundsManager::syncBounds(SqBoundsSync& sync, SqRefFinder& finder, const PxBounds3* bounds, PxU64 contextID) +void SqBoundsManager::syncBounds(SqBoundsSync& sync, SqRefFinder& finder, const PxBounds3* bounds, PxU64 contextID, const Cm::BitMap& dirtyShapeSimMap) { PX_PROFILE_ZONE("Sim.sceneQuerySyncBounds", contextID); PX_UNUSED(contextID); @@ -109,5 +109,5 @@ void SqBoundsManager::syncBounds(SqBoundsSync& sync, SqRefFinder& finder, const } mRefless.clear(); - sync.sync(mRefs.begin(), mBoundsIndices.begin(), bounds, mShapes.size()); + sync.sync(mRefs.begin(), mBoundsIndices.begin(), bounds, mShapes.size(), dirtyShapeSimMap); } diff --git a/PhysX_3.4/Source/SimulationController/src/ScSqBoundsManager.h b/PhysX_3.4/Source/SimulationController/src/ScSqBoundsManager.h index 276a7a43..a1b80b4b 100644 --- a/PhysX_3.4/Source/SimulationController/src/ScSqBoundsManager.h +++ b/PhysX_3.4/Source/SimulationController/src/ScSqBoundsManager.h @@ -35,11 +35,10 @@ #include "PsArray.h" #include "PsUserAllocated.h" #include "PsHashSet.h" -//#include "SqPruner.h" +#include "CmBitMap.h" namespace physx { - namespace Sq { typedef PxU32 PrunerHandle; // PT: we should get this from SqPruner.h but it cannot be included from here @@ -59,7 +58,7 @@ public: void addShape(ShapeSim& shape); void removeShape(ShapeSim& shape); - void syncBounds(SqBoundsSync& sync, SqRefFinder& finder, const PxBounds3* bounds, PxU64 contextID); + void syncBounds(SqBoundsSync& sync, SqRefFinder& finder, const PxBounds3* bounds, PxU64 contextID, const Cm::BitMap& dirtyShapeSimMap); private: |