|
|
|
@ -545,6 +545,24 @@ public class TerrainQuad extends Node implements Terrain { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* TerrainQuad caches neighbours for faster LOD checks. |
|
|
|
|
* Sometimes you might want to reset this cache (for instance in TerrainGrid) |
|
|
|
|
*/ |
|
|
|
|
protected void resetCachedNeighbours() { |
|
|
|
|
if (children != null) { |
|
|
|
|
for (int x = children.size(); --x >= 0;) { |
|
|
|
|
Spatial child = children.get(x); |
|
|
|
|
if (child instanceof TerrainQuad) { |
|
|
|
|
((TerrainQuad) child).resetCachedNeighbours(); |
|
|
|
|
} else if (child instanceof TerrainPatch) { |
|
|
|
|
TerrainPatch patch = (TerrainPatch) child; |
|
|
|
|
patch.searchedForNeighboursAlready = false; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Find any neighbours that should have their edges seamed because another neighbour |
|
|
|
|
* changed its LOD to a greater value (less detailed) |
|
|
|
|