Class PointKDTree
Public
Represents a collection of GraphNodes.
It allows for fast lookups of the closest node to a point.
Inner Types
Public Methods
Add
(node)
Add the node to the tree.
Public
GetInRange
(point, sqrRadius, buffer)
Add all nodes within a squared distance of the point to the buffer.
Public
GetNearest
(point, constraint, distanceSqr)
Closest node to the point which satisfies the constraint and is at most at the given distance.
Public
GetNearestConnection
(point, constraint, maximumSqrConnectionLength)
Closest node to the point which satisfies the constraint.
Public
PointKDTree
()
Public
Rebuild
(nodes, start, end)
Rebuild the tree starting with all nodes in the array between index start (inclusive) and end (exclusive)
Public
Public Static Variables
LeafArraySize
Public
Static
LeafSize
Public
Static
Private/Protected Members
Add
(point, index, depth=0)
Private
Build
(index, nodes, start, end)
Private
CollectAndClear
(index, buffer)
Private
EnsureSize
(index)
Private
GetInRangeInternal
(index, point, sqrRadius, buffer)
Private
GetNearestConnectionInternal
(index, point, constraint, best, bestSqrDist, distanceThresholdOffset)
Private
GetNearestInternal
(index, point, constraint, best, bestSqrDist)
Private
GetOrCreateList
()
Private
MaxAllowedSize
(numNodes, depth)
Private
Static
Rebalance
(index)
Private
Size
(index)
Private
arrayCache
Private
Readonly
comparers
Private
Static
Readonly
largeList
Private
Readonly
numNodes
Private
tree
Private