cleanup: QuadTree
This commit is contained in:
parent
f2e1b33db5
commit
1e34a823b3
@ -27,9 +27,9 @@ public abstract class QuadTreeIndex<T> {
|
|||||||
root.parent = root;
|
root.parent = root;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void checkIndex(int x, int y, int z) {
|
static void checkIndex(int x, int y, int max) {
|
||||||
if (x < 0 || x >= 1 << z || y < 0 || y >= 1 << z) {
|
if (x < 0 || x >= max || y < 0 || y >= max) {
|
||||||
throw new IllegalArgumentException("invalid position " + x + '/' + y + '/' + z);
|
throw new IllegalArgumentException("invalid position " + x + '/' + y + '/' + (max >> 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,7 +39,7 @@ public abstract class QuadTreeIndex<T> {
|
|||||||
|
|
||||||
public QuadTree<T> add(int x, int y, int z) {
|
public QuadTree<T> add(int x, int y, int z) {
|
||||||
|
|
||||||
checkIndex(x, y, z);
|
checkIndex(x, y, 1 << z);
|
||||||
|
|
||||||
QuadTree<T> leaf = root;
|
QuadTree<T> leaf = root;
|
||||||
|
|
||||||
@ -107,7 +107,7 @@ public abstract class QuadTreeIndex<T> {
|
|||||||
|
|
||||||
public T getTile(int x, int y, int z) {
|
public T getTile(int x, int y, int z) {
|
||||||
|
|
||||||
checkIndex(x, y, z);
|
checkIndex(x, y, 1 << z);
|
||||||
|
|
||||||
QuadTree<T> leaf = root;
|
QuadTree<T> leaf = root;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user