QuadTree

object QuadTree
Companion:
class
trait Sum
trait Mirror
class Object
trait Matchable
class Any

Type members

Classlikes

final case class QuadBranch[T](bounds: BoundingBox, a: QuadTree[T], b: QuadTree[T], c: QuadTree[T], d: QuadTree[T]) extends QuadTree[T]
Companion:
object
object QuadBranch
Companion:
class
final case class QuadEmpty[T](bounds: BoundingBox) extends QuadTree[T]
final case class QuadLeaf[T](bounds: BoundingBox, exactPosition: Vertex, value: T) extends QuadTree[T]

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from:
Mirror

The name of the type

The name of the type

Inherited from:
Mirror

Value members

Concrete methods

def apply[T](elements: (T, Vertex)*): QuadTree[T]
def apply[T](elements: Batch[(T, Vertex)]): QuadTree[T]
def empty[T](width: Double, height: Double): QuadTree[T]
def empty[T](gridSize: Vertex): QuadTree[T]
def fetchElementAt[T](quadTree: QuadTree[T], vertex: Vertex)(using CanEqual[T, T]): Option[T]
def findClosestTo[T](quadTree: QuadTree[T], vertex: Vertex, p: T => Boolean)(using CanEqual[T, T]): Option[T]
def findClosestTo[T](quadTree: QuadTree[T], vertex: Vertex)(using CanEqual[T, T]): Option[T]
def findClosestToWithPosition[T](quadTree: QuadTree[T], vertex: Vertex, p: T => Boolean)(using CanEqual[T, T]): Option[(Vertex, T)]
def findClosestToWithPosition[T](quadTree: QuadTree[T], vertex: Vertex)(using CanEqual[T, T]): Option[(Vertex, T)]
def insertElementAt[T](vertex: Vertex, quadTree: QuadTree[T], element: T): QuadTree[T]
def prune[T](quadTree: QuadTree[T]): QuadTree[T]
def removeElement[T](quadTree: QuadTree[T], vertex: Vertex): QuadTree[T]
def searchByBoundingBox[T](quadTree: QuadTree[T], boundingBox: BoundingBox, p: T => Boolean)(using CanEqual[T, T]): Batch[T]
def searchByBoundingBox[T](quadTree: QuadTree[T], boundingBox: BoundingBox)(using CanEqual[T, T]): Batch[T]
def searchByBoundingBoxWithPosition[T](quadTree: QuadTree[T], boundingBox: BoundingBox, p: T => Boolean)(using CanEqual[T, T]): Batch[(Vertex, T)]
def searchByBoundingBoxWithPosition[T](quadTree: QuadTree[T], boundingBox: BoundingBox)(using CanEqual[T, T]): Batch[(Vertex, T)]
def searchByLine[T](quadTree: QuadTree[T], lineSegment: LineSegment, p: T => Boolean)(using CanEqual[T, T]): Batch[T]
def searchByLine[T](quadTree: QuadTree[T], lineSegment: LineSegment)(using CanEqual[T, T]): Batch[T]
def searchByLine[T](quadTree: QuadTree[T], start: Vertex, end: Vertex, p: T => Boolean)(using CanEqual[T, T]): Batch[T]
def searchByLine[T](quadTree: QuadTree[T], start: Vertex, end: Vertex)(using CanEqual[T, T]): Batch[T]
def searchByLineWithPosition[T](quadTree: QuadTree[T], lineSegment: LineSegment, p: T => Boolean)(using CanEqual[T, T]): Batch[(Vertex, T)]
def searchByLineWithPosition[T](quadTree: QuadTree[T], lineSegment: LineSegment)(using CanEqual[T, T]): Batch[(Vertex, T)]
def searchByLineWithPosition[T](quadTree: QuadTree[T], start: Vertex, end: Vertex, p: T => Boolean)(using CanEqual[T, T]): Batch[(Vertex, T)]
def searchByLineWithPosition[T](quadTree: QuadTree[T], start: Vertex, end: Vertex)(using CanEqual[T, T]): Batch[(Vertex, T)]
def toBatch[T](quadTree: QuadTree[T], p: T => Boolean)(using CanEqual[T, T]): Batch[T]
def toBatchWithPosition[T](quadTree: QuadTree[T], p: T => Boolean)(using CanEqual[T, T]): Batch[(Vertex, T)]

Givens

Givens

given derived$CanEqual[T_$_L, T_$_R](implicit x$0: CanEqual[T_$_L, T_$_R]): CanEqual[QuadTree[T_$_L], QuadTree[T_$_R]]
given given_CanEqual_Batch_Batch[T](using CanEqual[T, T]): CanEqual[Batch[QuadTree[T]], Batch[QuadTree[T]]]
given given_CanEqual_Option_Option[T](using CanEqual[T, T]): CanEqual[Option[QuadTree[T]], Option[QuadTree[T]]]