Exemplo n.º 1
0
	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;
		}
	}
Exemplo n.º 2
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;
	}
Exemplo n.º 3
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;
	}