aboutsummaryrefslogtreecommitdiff
path: root/PhysX_3.4/Source/SimulationController/src/ScRigidSim.cpp
diff options
context:
space:
mode:
authorSheikh Dawood Abdul Ajees <[email protected]>2017-09-15 15:41:57 -0500
committerSheikh Dawood Abdul Ajees <[email protected]>2017-09-15 15:41:57 -0500
commitd1c812f1162e5fdb13c215792725b2591d7428f5 (patch)
tree407056c45c7e9320c48fca6a3697d81a061c4ea0 /PhysX_3.4/Source/SimulationController/src/ScRigidSim.cpp
parentPhysX 3.4, APEX 1.4 patch release @22121272 (diff)
downloadphysx-3.4-d1c812f1162e5fdb13c215792725b2591d7428f5.tar.xz
physx-3.4-d1c812f1162e5fdb13c215792725b2591d7428f5.zip
PhysX 3.4.1, APEX 1.4.1 Release @22845541v3.4.1
Diffstat (limited to 'PhysX_3.4/Source/SimulationController/src/ScRigidSim.cpp')
-rw-r--r--PhysX_3.4/Source/SimulationController/src/ScRigidSim.cpp25
1 files changed, 22 insertions, 3 deletions
diff --git a/PhysX_3.4/Source/SimulationController/src/ScRigidSim.cpp b/PhysX_3.4/Source/SimulationController/src/ScRigidSim.cpp
index dd4829bd..573f7bb1 100644
--- a/PhysX_3.4/Source/SimulationController/src/ScRigidSim.cpp
+++ b/PhysX_3.4/Source/SimulationController/src/ScRigidSim.cpp
@@ -68,12 +68,31 @@ Sc::RigidSim::~RigidSim()
scScene.getRigidIDTracker().releaseID(mRigidId);
}
+bool notifyActorInteractionsOfTransformChange(Sc::ActorSim& actor);
void Sc::RigidSim::notifyShapesOfTransformChange()
{
- for(ElementSim* e = getElements_(); e!=0; e = e->mNextInActor)
+ if(0)
{
- if(e->getElementType() == ElementType::eSHAPE)
- static_cast<Sc::ShapeSim*>(e)->onVolumeOrTransformChange(true);
+ for(ElementSim* e = getElements_(); e!=0; e = e->mNextInActor)
+ {
+ if(e->getElementType() == ElementType::eSHAPE)
+ static_cast<Sc::ShapeSim*>(e)->onVolumeOrTransformChange(true);
+ }
+ }
+ else
+ {
+ const bool isDynamic = notifyActorInteractionsOfTransformChange(*this);
+
+ ElementSim* current = getElements_();
+ while(current)
+ {
+ if(current->getElementType() == ElementType::eSHAPE)
+ {
+ ShapeSim* sim = static_cast<ShapeSim*>(current);
+ sim->markBoundsForUpdate(false, isDynamic);
+ }
+ current = current->mNextInActor;
+ }
}
}