Skip to content

@simversus/yjvis


@simversus/yjvis / math / QuadTree

Class: QuadTree

Defined in: math/QuadTree.ts:19

四叉树类 用于空间索引和查询

Constructors

Constructor

new QuadTree(rect, maxLevel, maxCount, level): QuadTree

Defined in: math/QuadTree.ts:35

构造函数

Parameters

rect

QuadTreeRect

区域范围

maxLevel

number = 2

最大深度,默认 2

maxCount

number = 10

每个节点最大容纳对象数,默认 10

level

number = 0

当前深度,默认 0

Returns

QuadTree

Methods

add()

add(rect): void

Defined in: math/QuadTree.ts:97

添加对象到四叉树

Parameters

rect

QuadTreeRect

对象区域

Returns

void


divide()

divide(): void

Defined in: math/QuadTree.ts:115

分割当前节点

Returns

void


getExistedNodes()

getExistedNodes(rect): QuadTree[]

Defined in: math/QuadTree.ts:69

获取给定区域所在的子节点

Parameters

rect

QuadTreeRect

区域

Returns

QuadTree[]

子节点数组


getObjects()

getObjects(out): QuadTreeRect[]

Defined in: math/QuadTree.ts:134

获取所有对象

Parameters

out

QuadTreeRect[] = []

输出结果数组

Returns

QuadTreeRect[]

结果数组


search(rect, out): QuadTreeRect[]

Defined in: math/QuadTree.ts:48

搜索与给定区域重叠的对象

Parameters

rect

QuadTreeRect

搜索区域

out

QuadTreeRect[] = []

输出结果数组

Returns

QuadTreeRect[]

结果数组