Add a lost contact pair (pair of colliders that are not in contact anymore)
| 218 | |
| 219 | // Add a lost contact pair (pair of colliders that are not in contact anymore) |
| 220 | void CollisionDetectionSystem::addLostContactPair(OverlappingPairs::OverlappingPair& overlappingPair) { |
| 221 | |
| 222 | const uint32 collider1Index = mCollidersComponents.getEntityIndex(overlappingPair.collider1); |
| 223 | const uint32 collider2Index = mCollidersComponents.getEntityIndex(overlappingPair.collider2); |
| 224 | |
| 225 | const Entity body1Entity = mCollidersComponents.mBodiesEntities[collider1Index]; |
| 226 | const Entity body2Entity = mCollidersComponents.mBodiesEntities[collider2Index]; |
| 227 | |
| 228 | const bool isCollider1Trigger = mCollidersComponents.mIsTrigger[collider1Index]; |
| 229 | const bool isCollider2Trigger = mCollidersComponents.mIsTrigger[collider2Index]; |
| 230 | const bool isTrigger = isCollider1Trigger || isCollider2Trigger; |
| 231 | |
| 232 | // Create a lost contact pair |
| 233 | ContactPair lostContactPair(overlappingPair.pairID, body1Entity, body2Entity, overlappingPair.collider1, overlappingPair.collider2, static_cast<uint32>(mLostContactPairs.size()), |
| 234 | true, isTrigger); |
| 235 | mLostContactPairs.add(lostContactPair); |
| 236 | } |
| 237 | |
| 238 | // Add a pair of bodies that cannot collide with each other |
| 239 | void CollisionDetectionSystem::addNoCollisionPair(Entity body1Entity, Entity body2Entity) { |
nothing calls this directly
no test coverage detected