int AABB::contains(State & state, b2AABB * object){ AABB * interfaceAABB = state.getInterface<AABB>("LuaBox2D_AABB"); b2AABB * other = interfaceAABB->get(1); if (other != nullptr){ state.stack->push<bool>(object->Contains(*other)); return 1; }else{ return 0; } }
int World::queryAABB(State & state, b2World * object){ if (state.stack->is<LUA_TUSERDATA>(1) && state.stack->is<LUA_TUSERDATA>(2)){ QueryCallback * interfaceQueryCallback = state.getInterface<QueryCallback>("LuaBox2D_QueryCallback"); AABB * interfaceAABB = state.getInterface<AABB>("LuaBox2D_AABB"); LuaBox2DQueryCallback * callback = interfaceQueryCallback->get(1); b2AABB * aabb = interfaceAABB->get(2); if (callback != nullptr && aabb != nullptr){ object->QueryAABB(callback, *aabb); } } return 0; }
int AABB::combine(State & state, b2AABB * object){ AABB * interfaceAABB = state.getInterface<AABB>("LuaBox2D_AABB"); b2AABB * a = interfaceAABB->get(1); b2AABB * b = interfaceAABB->get(2); if (a != nullptr){ if (b != nullptr){ object->Combine(*a); }else{ object->Combine(*a, *b); } } return 0; }