[gs-longan](../README.md) / BoundingBox

# Class: BoundingBox

轴对齐包围盒工具（单精度）

包含包围盒的初始化、扩展、查询等常用操作，包围盒使用 [minX,minY,minZ,maxX,maxY,maxZ] 的表示。

## Table of contents

### Constructors

- [constructor](BoundingBox.md#constructor)

### Methods

- [center](BoundingBox.md#center)
- [extend](BoundingBox.md#extend)
- [extendByPoint](BoundingBox.md#extendbypoint)
- [from](BoundingBox.md#from)
- [from1](BoundingBox.md#from1)
- [isIntersecting](BoundingBox.md#isintersecting)
- [isNull](BoundingBox.md#isnull)
- [isPointIn](BoundingBox.md#ispointin)
- [max](BoundingBox.md#max)
- [min](BoundingBox.md#min)
- [radius](BoundingBox.md#radius)
- [setNull](BoundingBox.md#setnull)

## Constructors

### constructor

• **new BoundingBox**(): [`BoundingBox`](BoundingBox.md)

#### Returns

[`BoundingBox`](BoundingBox.md)

## Methods

### center

▸ **center**(`bb`): `Float32Array`

返回包围盒中心点

#### Parameters

| Name | Type |
| :------ | :------ |
| `bb` | `Float32Array` |

#### Returns

`Float32Array`

___

### extend

▸ **extend**(`bb`, `b`): `void`

将包围盒 b 合并到 bb 中（就地修改 bb）

#### Parameters

| Name | Type |
| :------ | :------ |
| `bb` | `Float32Array` |
| `b` | `Float32Array` |

#### Returns

`void`

___

### extendByPoint

▸ **extendByPoint**(`bb`, `pt`): `void`

将单点扩展到包围盒中（就地修改 bb）

#### Parameters

| Name | Type |
| :------ | :------ |
| `bb` | `Float32Array` |
| `pt` | `Float32Array` |

#### Returns

`void`

___

### from

▸ **from**(`points`): `Float32Array`

根据点集合创建包围盒

#### Parameters

| Name | Type |
| :------ | :------ |
| `points` | `Float32Array`[] |

#### Returns

`Float32Array`

___

### from1

▸ **from1**(`points`): `Float32Array`

根据点集合创建包围盒

#### Parameters

| Name | Type |
| :------ | :------ |
| `points` | `Float32Array` |

#### Returns

`Float32Array`

___

### isIntersecting

▸ **isIntersecting**(`bb1`, `bb2`): `boolean`

判断包围盒是否相交

#### Parameters

| Name | Type |
| :------ | :------ |
| `bb1` | `Float32Array` |
| `bb2` | `Float32Array` |

#### Returns

`boolean`

___

### isNull

▸ **isNull**(`bb`): `boolean`

#### Parameters

| Name | Type |
| :------ | :------ |
| `bb` | `Float32Array` |

#### Returns

`boolean`

___

### isPointIn

▸ **isPointIn**(`p`, `bb`): `boolean`

判断点是否在包围盒内（考虑容差）

#### Parameters

| Name | Type |
| :------ | :------ |
| `p` | `Float32Array` |
| `bb` | `Float32Array` |

#### Returns

`boolean`

___

### max

▸ **max**(`bb`): `Float32Array`

返回包围盒最大点

#### Parameters

| Name | Type |
| :------ | :------ |
| `bb` | `Float32Array` |

#### Returns

`Float32Array`

___

### min

▸ **min**(`bb`): `Float32Array`

返回包围盒最小点

#### Parameters

| Name | Type |
| :------ | :------ |
| `bb` | `Float32Array` |

#### Returns

`Float32Array`

___

### radius

▸ **radius**(`bb`): `number`

返回包围盒外接球的半径

#### Parameters

| Name | Type |
| :------ | :------ |
| `bb` | `Float32Array` |

#### Returns

`number`

___

### setNull

▸ **setNull**(`bb`): `void`

将包围盒设置为“空”状态（便于后续 extend 操作）

#### Parameters

| Name | Type |
| :------ | :------ |
| `bb` | `Float32Array` |

#### Returns

`void`
