diff options
Diffstat (limited to 'PhysX_3.4/Source/LowLevel')
4 files changed, 4 insertions, 33 deletions
diff --git a/PhysX_3.4/Source/LowLevel/API/include/PxvDynamics.h b/PhysX_3.4/Source/LowLevel/API/include/PxvDynamics.h index b5fb6918..afad09d3 100644 --- a/PhysX_3.4/Source/LowLevel/API/include/PxvDynamics.h +++ b/PhysX_3.4/Source/LowLevel/API/include/PxvDynamics.h @@ -66,8 +66,8 @@ struct PxsRigidCore // accordingly. //================================================================================================== - PxsRigidCore() : mFlags(0), mIdtBody2Actor(0) {} - PxsRigidCore(const PxEMPTY) : mFlags(PxEmpty) {} + PxsRigidCore() : mFlags(0), mIdtBody2Actor(0), solverIterationCounts(0) {} + PxsRigidCore(const PxEMPTY) : mFlags(PxEmpty) {} PX_ALIGN_PREFIX(16) PxTransform body2World PX_ALIGN_SUFFIX(16); diff --git a/PhysX_3.4/Source/LowLevel/common/include/pipeline/PxcNpThreadContext.h b/PhysX_3.4/Source/LowLevel/common/include/pipeline/PxcNpThreadContext.h index a6eb2cf3..8453ca48 100644 --- a/PhysX_3.4/Source/LowLevel/common/include/pipeline/PxcNpThreadContext.h +++ b/PhysX_3.4/Source/LowLevel/common/include/pipeline/PxcNpThreadContext.h @@ -48,11 +48,6 @@ namespace physx class PxsTransformCache; class PxsMaterialManager; -namespace Bp -{ - class AABBManagerImpl; -} - namespace Sc { class BodySim; diff --git a/PhysX_3.4/Source/LowLevel/software/include/PxsContext.h b/PhysX_3.4/Source/LowLevel/software/include/PxsContext.h index bfa86ec3..e196323e 100644 --- a/PhysX_3.4/Source/LowLevel/software/include/PxsContext.h +++ b/PhysX_3.4/Source/LowLevel/software/include/PxsContext.h @@ -74,11 +74,6 @@ namespace Cm class FlushPool; } -namespace Bp -{ - class AABBManagerImpl; -} - namespace IG { class SimpleIslandManager; diff --git a/PhysX_3.4/Source/LowLevel/software/src/PxsCCD.cpp b/PhysX_3.4/Source/LowLevel/software/src/PxsCCD.cpp index 61d2b9d6..8d1b1220 100644 --- a/PhysX_3.4/Source/LowLevel/software/src/PxsCCD.cpp +++ b/PhysX_3.4/Source/LowLevel/software/src/PxsCCD.cpp @@ -555,19 +555,8 @@ bool PxsCCDPair::sweepAdvanceToToi(PxReal dt, bool clipTrajectoryToToi) //If the TOI < 1.f. If not, this hit happens after this frame or at the very end of the frame. Either way, next frame can handle it if (thisPair->mMinToi < 1.0f) { - if(thisPair->mCm->getWorkUnit().flags & PxcNpWorkUnitFlag::eDISABLE_RESPONSE) + if(thisPair->mCm->getWorkUnit().flags & PxcNpWorkUnitFlag::eDISABLE_RESPONSE || thisPair->mMaxImpulse == 0.f) { - //This is a contact which has response disabled. We just step the bodies and return true but don't respond. - if(atom0) - { - atom0->advancePrevPoseToToi(thisPair->mMinToi); - atom0->advanceToToi(thisPair->mMinToi, dt, false); - } - if(atom1) - { - atom1->advancePrevPoseToToi(thisPair->mMinToi); - atom1->advanceToToi(thisPair->mMinToi, dt, false); - } //Don't mark pass as done on either body return true; } @@ -1059,14 +1048,6 @@ public: mCCDContext->runCCDModifiableContact(point, 1, pair.mCCDShape0->mShapeCore, pair.mCCDShape1->mShapeCore, pair.mCCDShape0->mRigidCore, pair.mCCDShape1->mRigidCore, pair.mBa0, pair.mBa1); - //If the maxImpulse is 0, we return to the beginning of the loop, knowing that the application did not want an interaction - //between the pair. - if(point->maxImpulse == 0.f) - { - pair.mMinToi = PX_MAX_REAL; - continue; - } - if ((patch->internalFlags & PxContactPatch::eHAS_MAX_IMPULSE)) pair.mMaxImpulse = point->maxImpulse; @@ -1128,7 +1109,7 @@ public: } //If we disabled response, we don't need to resweep at all - if(!mDisableResweep && !(pair.mCm->getWorkUnit().flags & PxcNpWorkUnitFlag::eDISABLE_RESPONSE)) + if(!mDisableResweep && !(pair.mCm->getWorkUnit().flags & PxcNpWorkUnitFlag::eDISABLE_RESPONSE) && pair.mMaxImpulse != 0.f) { void* a0 = pair.mBa0 == NULL ? NULL : reinterpret_cast<void*>(pair.mBa0); void* a1 = pair.mBa1 == NULL ? NULL : reinterpret_cast<void*>(pair.mBa1); |