aboutsummaryrefslogtreecommitdiff
path: root/PhysX_3.4/Source/LowLevelAABB/src/BpBroadPhaseMBP.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'PhysX_3.4/Source/LowLevelAABB/src/BpBroadPhaseMBP.cpp')
-rw-r--r--PhysX_3.4/Source/LowLevelAABB/src/BpBroadPhaseMBP.cpp36
1 files changed, 24 insertions, 12 deletions
diff --git a/PhysX_3.4/Source/LowLevelAABB/src/BpBroadPhaseMBP.cpp b/PhysX_3.4/Source/LowLevelAABB/src/BpBroadPhaseMBP.cpp
index c43c20cb..313e27f3 100644
--- a/PhysX_3.4/Source/LowLevelAABB/src/BpBroadPhaseMBP.cpp
+++ b/PhysX_3.4/Source/LowLevelAABB/src/BpBroadPhaseMBP.cpp
@@ -3336,20 +3336,22 @@ void BroadPhaseMBP::update(const PxU32 numCpuTasks, PxcScratchAllocator* scratch
setUpdateData(updateData);
- mMBPPostUpdateWorkTask.setScratchAllocator(scratchAllocator);
- mMBPUpdateWorkTask.setScratchAllocator(scratchAllocator);
-
- mMBPPostUpdateWorkTask.setBroadphase(this);
- mMBPUpdateWorkTask.setBroadphase(this);
-
- mMBPPostUpdateWorkTask.setNumCpuTasks(numCpuTasks);
- mMBPUpdateWorkTask.setNumCpuTasks(numCpuTasks);
+ if(1)
+ {
+ update();
+ postUpdate();
+ }
+ else
+ {
+ mMBPPostUpdateWorkTask.set(this, scratchAllocator, numCpuTasks);
+ mMBPUpdateWorkTask.set(this, scratchAllocator, numCpuTasks);
- mMBPPostUpdateWorkTask.setContinuation(continuation);
- mMBPUpdateWorkTask.setContinuation(&mMBPPostUpdateWorkTask);
+ mMBPPostUpdateWorkTask.setContinuation(continuation);
+ mMBPUpdateWorkTask.setContinuation(&mMBPPostUpdateWorkTask);
- mMBPPostUpdateWorkTask.removeReference();
- mMBPUpdateWorkTask.removeReference();
+ mMBPPostUpdateWorkTask.removeReference();
+ mMBPUpdateWorkTask.removeReference();
+ }
}
static PX_FORCE_INLINE void computeMBPBounds(MBP_AABB& aabb, const PxBounds3* PX_RESTRICT boundsXYZ, const PxReal* PX_RESTRICT contactDistances, const BpHandle index)
@@ -3413,6 +3415,16 @@ static PX_FORCE_INLINE void computeMBPBounds(MBP_AABB& aabb, const PxBounds3* PX
#endif*/
}
+void MBPUpdateWorkTask::runInternal()
+{
+ mMBP->update();
+}
+
+void MBPPostUpdateWorkTask::runInternal()
+{
+ mMBP->postUpdate();
+}
+
void BroadPhaseMBP::removeObjects(const BroadPhaseUpdateData& updateData)
{
const BpHandle* PX_RESTRICT removed = updateData.getRemovedHandles();