Example #1
0
bool World::makeCollision(const b2Fixture& fix, Collision& c) const
{
	if (!mBounds) return false;
	if (fix.GetBody() != mBounds) return false;

	if (fix.GetUserData() == BOUNDS_LEFT_PTR) c.setToWorldBounds(Collision::LEFT);
	else if (fix.GetUserData() == BOUNDS_TOP_PTR) c.setToWorldBounds(Collision::TOP);
	else if (fix.GetUserData() == BOUNDS_RIGHT_PTR) c.setToWorldBounds(Collision::RIGHT);
	else if (fix.GetUserData() == BOUNDS_BOTTOM_PTR) c.setToWorldBounds(Collision::BOTTOM);
	else return false;

	return true;
}
Example #2
0
 float2 Pos() { return B2ToFloat2(fixture->GetBody()->GetPosition()); }
Example #3
0
 ~PhysicsObject() {
     auto body = fixture->GetBody();
     body->DestroyFixture(fixture);
     if (!body->GetFixtureList()) world->DestroyBody(body);
     if (particle_contacts) delete particle_contacts;
 }