MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / prepCollision

Method prepCollision

Engine/source/T3D/tsStatic.cpp:515–551  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

513}
514
515void TSStatic::prepCollision()
516{
517 // Let the client know that the collision was updated
518 setMaskBits(UpdateCollisionMask);
519
520 // Allow the ShapeInstance to prep its collision if it hasn't already
521 if (mShapeInstance)
522 mShapeInstance->prepCollision();
523
524 // Cleanup any old collision data
525 mCollisionDetails.clear();
526 mDecalDetails.clear();
527 mDecalDetailsPtr = 0;
528 mLOSDetails.clear();
529 mConvexList->nukeList();
530
531 if (mCollisionType == CollisionMesh || mCollisionType == VisibleMesh)
532 {
533 mShape->findColDetails(mCollisionType == VisibleMesh, &mCollisionDetails, &mLOSDetails);
534 if (mDecalType == mCollisionType)
535 {
536 mDecalDetailsPtr = &mCollisionDetails;
537 }
538 else if (mDecalType == CollisionMesh || mDecalType == VisibleMesh)
539 {
540 mShape->findColDetails(mDecalType == VisibleMesh, &mDecalDetails, 0);
541 mDecalDetailsPtr = &mDecalDetails;
542 }
543 }
544 else if (mDecalType == CollisionMesh || mDecalType == VisibleMesh)
545 {
546 mShape->findColDetails(mDecalType == VisibleMesh, &mDecalDetails, 0);
547 mDecalDetailsPtr = &mDecalDetails;
548 }
549
550 _updatePhysics();
551}
552
553void TSStatic::_updatePhysics()
554{

Callers 1

_getShapeInstanceMethod · 0.45

Calls 3

nukeListMethod · 0.80
findColDetailsMethod · 0.80
clearMethod · 0.45

Tested by

no test coverage detected