MCPcopy Create free account
hub / github.com/SpartanJ/eepp / addCollisionHandler

Method addCollisionHandler

src/modules/physics/src/eepp/physics/space.cpp:539–551  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

537}
538
539void Space::addCollisionHandler( const CollisionHandler& handler ) {
540 cpHashValue hash = CP_HASH_PAIR( handler.a, handler.b );
541
542 cpCollisionBeginFunc f1 = ( handler.begin ) ? &RecieverCollisionBeginFunc : NULL;
543 cpCollisionPreSolveFunc f2 = ( handler.preSolve ) ? &RecieverCollisionPreSolveFunc : NULL;
544 cpCollisionPostSolveFunc f3 = ( handler.postSolve ) ? &RecieverCollisionPostSolve : NULL;
545 cpCollisionSeparateFunc f4 = ( handler.separate ) ? &RecieverCollisionSeparateFunc : NULL;
546
547 cpSpaceAddCollisionHandler( mSpace, handler.a, handler.b, f1, f2, f3, f4, (void*)hash );
548
549 mCollisions.erase( hash );
550 mCollisions[hash] = handler;
551}
552
553void Space::removeCollisionHandler( cpCollisionType a, cpCollisionType b ) {
554 cpSpaceRemoveCollisionHandler( mSpace, a, b );

Callers 3

demo2CreateMethod · 0.80
demo3CreateFunction · 0.80
demo4CreateFunction · 0.80

Calls 1

eraseMethod · 0.45

Tested by 1

demo2CreateMethod · 0.64