split

package
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 26, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DHConnelly

func DHConnelly(c *cache.C, data map[id.ID]hyperrectangle.R, n node.N, m node.N)

DHConnelly implements the leaf node splitting function as used in github.com/dhconnelly/rtreego.

N.B.: The rtreego implementation considers a minimum leaf size; this is not a feature we support, and therefore the (minimal) corresponding logic in rtreego which takes this into consideration is not implemented here.

func GuttmanLinear

func GuttmanLinear(c *cache.C, data map[id.ID]hyperrectangle.R, n node.N, m node.N)

GuttmanLinear implements the linear split algorithm as defined in Guttman 1984, section 3.5.3.

Here, n is the source (i.e. full) node, and m is the destination (empty) node.

N.B.: This will leave the nodes n and m in an inconsistent state. The caller will be responsible for updating the bounding box of these leaves via node.SetAABB().

Types

type S

type S func(c *cache.C, data map[id.ID]hyperrectangle.R, n node.N, m node.N)

S will move objects from an overly-full source node n into an empty node m. This function will not validate the leaf nodes (i.e. set AABB).

The source node tracks exactly c.LeafSize() + 1 objects.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL