public TileGeometry opposite() {
		switch (this) {
		case NORTH:
			return SOUTH;
		case SOUTH:
			return NORTH;
		case EAST:
			return WEST;
		case WEST:
			return EAST;
		case CENTER:
		default:
			throw new UnsupportedOperationException();
		}
	}