[Box2D] Callback when body/fixture clicked

What is the best way to find out if a body or fixture was clicked?

I have this QueryAABB thing setup to simply print “here” when I click on a body, however it seems to be well…very inaccurate.

I can click practically 500 pixels to the right of my body and it says I have clicked on it, anyone got an idea if I am doing this wrong?

	@Override
	public boolean touchDown(int screenX, int screenY, int pointer, int button) {
		Vector3 touchPos = new Vector3(screenX, screenY, 0);
		universe.game.b2dCam.unproject(touchPos);
		universe.bFactory.getWorld().QueryAABB(new QueryCallback() {
			
			@Override
			public boolean reportFixture(Fixture fixture) {
				System.out.println("here");
				return false;
			}
		}, touchPos.x - 1, touchPos.y - 1, touchPos.x + 1, touchPos.y + 1);
		return true;
	}

Give your body an intersect function (ofcourse don’t forget to translate its w=width and h=height to the desired lengths);
Create a class for example which holds your body and give it this function.

public boolean intersects(float x, float y){
	Vector2 pos = body.getPosition();
	if( (pos.x - w/2 < x && pos.x + w/2 > x) && (pos.y - h/2 < y && pos.y + h/2 > y) ){
		return true;
	}
	return false;
}

And its as easy as …

if(Car.intersects(mouse.x, mouse.y){}

Nice and simple, this will suffice until ofc there are too many entities on screen. Thanks.