41 lines
1.2 KiB
Markdown
41 lines
1.2 KiB
Markdown
|
|
# Bounds
|
||
|
|
|
||
|
|
轴对齐包围盒 (AABB),中心-范围表示。
|
||
|
|
|
||
|
|
**头文件:** `#include <XCEngine/Math/Bounds.h>`
|
||
|
|
|
||
|
|
**命名空间:** `XCEngine::Math`
|
||
|
|
|
||
|
|
## 结构体定义
|
||
|
|
|
||
|
|
```cpp
|
||
|
|
struct Bounds {
|
||
|
|
Vector3 center = Vector3::Zero();
|
||
|
|
Vector3 extents = Vector3::Zero();
|
||
|
|
};
|
||
|
|
```
|
||
|
|
|
||
|
|
## 构造函数
|
||
|
|
|
||
|
|
- `Bounds()` - 默认构造
|
||
|
|
- `Bounds(const Vector3& center, const Vector3& size)` - 从中心和大小构造
|
||
|
|
|
||
|
|
## 实例方法
|
||
|
|
|
||
|
|
| 方法 | 返回值 | 描述 |
|
||
|
|
|------|--------|------|
|
||
|
|
| [GetMin()](getmin.md) | `Vector3` | 最小点 |
|
||
|
|
| [GetMax()](getmax.md) | 最大点 |
|
||
|
|
| [SetMinMax(min, max)](setminmax.md) | `void` | 从最小/最大点设置 |
|
||
|
|
| [Contains(point)](contains.md) | `bool` | 点是否在盒内 |
|
||
|
|
| [Intersects(other)](intersects.md) | `bool` | 与另一个 Bounds 相交 |
|
||
|
|
| [Encapsulate(point)](encapsulate.md) | `void` | 扩展包含点 |
|
||
|
|
| [Encapsulate(bounds)](encapsulate-bounds.md) | `void` | 扩展包含另一个 Bounds |
|
||
|
|
| [Expand(amount)](expand.md) | `void` | 扩展包围盒 |
|
||
|
|
| [GetClosestPoint(point)](getclosestpoint.md) | `Vector3` | 盒上最接近的点 |
|
||
|
|
| [GetVolume()](getvolume.md) | `float` | 体积 |
|
||
|
|
|
||
|
|
## 相关文档
|
||
|
|
|
||
|
|
- [Math 模块总览](../math.md) - 返回 Math 模块总览
|