Versions in this module Expand all Collapse all v0 v0.1.0 Nov 6, 2026 Changes in this version + var ErrInvalidCellSize = errors.New("spatial: invalid cell size") + type Hash struct + func NewHash[K comparable, T geom.Number](cellSize T) *Hash[K, T] + func (h *Hash[K, T]) All() iter.Seq2[K, geom.Box[T]] + func (h *Hash[K, T]) AppendPairs(dst []Pair[K]) []Pair[K] + func (h *Hash[K, T]) AppendQueryBox(dst []K, box geom.Box[T]) []K + func (h *Hash[K, T]) AppendQueryPoint(dst []K, point geom.Point[T]) []K + func (h *Hash[K, T]) AppendQueryRay(dst []K, ray geom.Ray[T]) []K + func (h *Hash[K, T]) AppendQuerySegment(dst []K, segment geom.Segment[T]) []K + func (h *Hash[K, T]) CellSize() T + func (h *Hash[K, T]) Clear() + func (h *Hash[K, T]) Delete(key K) + func (h *Hash[K, T]) Get(key K) (geom.Box[T], bool) + func (h *Hash[K, T]) Len() int + func (h *Hash[K, T]) Pairs() []Pair[K] + func (h *Hash[K, T]) QueryBox(box geom.Box[T]) []K + func (h *Hash[K, T]) QueryPoint(point geom.Point[T]) []K + func (h *Hash[K, T]) QueryRay(ray geom.Ray[T]) iter.Seq[K] + func (h *Hash[K, T]) QuerySegment(segment geom.Segment[T]) iter.Seq[K] + func (h *Hash[K, T]) Set(key K, box geom.Box[T]) + type Pair struct + A K + B K