clear method
void
clear()
Clears the QuadTree and resets all properties.
Implementation
void clear() {
// Break the references between nodes and quadrants and clear the nodes
final queue = Queue<QuadTree$Node?>()..add(_root);
while (queue.isNotEmpty) {
final node = queue.removeFirst();
if (node == null) continue;
if (node.subdivided) {
queue
..add(node._northWest)
..add(node._northEast)
..add(node._southWest)
..add(node._southEast);
}
node
.._dirty = false
.._length = 0
.._subdivided = false
.._northWest = null
.._northEast = null
.._southWest = null
.._southEast = null
.._ids.clear();
}
_root = null;
// Clear nodes
_nodesCount = 0;
_recycledNodesCount = 0;
_nodes = List<QuadTree$Node?>.filled(_reserved, null, growable: false);
_recycledNodes = Uint32List(_reserved);
// Clear objects
_length = 0;
_nextObjectId = 0;
_recycledIdsCount = 0;
_objects = Float32List(_reserved * _objectSize);
_recycledIds = Uint32List(_reserved);
_id2node = Uint32List(_reserved);
}