QuadTree<E> class
A spatial data structure for efficient 2D range queries and collision detection
This QuadTree implementation is optimized for dynamic node insertion/removal and provides O(log n) average case performance for spatial queries.
Constructors
Properties
- bounds → Rect
-
The boundary rectangle of this quadrant
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- isLeaf → bool
-
Whether this quadrant is a leaf (contains nodes directly)
no setter
- isSubdivided → bool
-
Whether this quadrant has been subdivided
no setter
- level → int
-
The maximum depth of this quadrant in the tree
final
- nodeCount → int
-
Returns the total number of nodes in this QuadTree
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
clear(
) → void - Clears all nodes from the QuadTree
-
getNodesInBounds(
Rect queryBounds, Size nodeSize) → List< Node< E> > - Returns all nodes within the specified rectangular bounds
-
getNodesInRange(
Offset center, double radius, Size nodeSize) → List< Node< E> > - Returns all nodes within the specified circular range
-
getOverlappingNodes(
Node< E> targetNode, Size nodeSize) → List<Node< E> > - Returns all nodes that potentially overlap with the given node
-
getStats(
) → QuadTreeStats - Returns statistics about the QuadTree structure
-
insert(
Node< E> node, Size nodeSize) → bool - Inserts a node into the QuadTree
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
remove(
Node< E> node, Size nodeSize) → bool - Removes a node from the QuadTree
-
toString(
) → String -
A string representation of this object.
inherited
-
updateNode(
Node< E> node, Size nodeSize, Offset oldPosition) → bool - Updates a node's position in the QuadTree
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited