INNER CODE UNIT · C++
gjk
vectozavr/3dzavr · engine/World.cpp:62
std::pair<bool, Simplex> gjk = rigidObj1->checkGJKCollision(rigidObj2);
if (!gjk.first) {
return; // no collision
}
CollisionPoint epa = rigidObj1->EPA(gjk.second, rigidObj2);
RigidObject::SolveCollision(epa, rigidObj1, rigidObj2);
if (rigidObj1->collisionCallBack() != nullptr) {
rigidObj1->collisionCallBack()(epa, rigidObj1, rigidObj2);
}
if (rigidObj2->collisionCallBack() != nullptr) {
rigidObj2->collisionCallBack()(epa, rigidObj2, rigidObj1);
}
}