Fix 30+ broken cross-references in docs/api/math/: - viewport: viewport-getaspectratio/getrect -> getaspectratio/getrect - matrix4: ../color/operator-mul -> operator_mul, operator-index -> operator_index - matrix4/get-*: gettranslation/getscale/getrotation -> get-translation/-scale/-rotation - vector3 operator links: operator_*_assign -> operator-*-assign - vector3 operator links: operator_sub/add -> operator-sub/add - vector3 operator-eq/neq: swap mutual references to use hyphen naming - vector4: ../plane/constructor-default -> constructor_default - Linter fixes: aabb and rectint relative paths corrected
47 lines
1.3 KiB
Markdown
47 lines
1.3 KiB
Markdown
# AABB / OBB
|
|
|
|
**命名空间**: `XCEngine::Math`
|
|
|
|
**类型**: `struct`
|
|
|
|
**头文件**: `XCEngine/Math/AABB.h`
|
|
|
|
**描述**: 轴对齐包围盒 (AABB) 和有向包围盒 (OBB)
|
|
|
|
## 概述
|
|
|
|
`AABB` 在 Math 库中通过 `Bounds` 类型实现。OBB 是可以任意方向旋转的包围盒。
|
|
|
|
## AABB
|
|
|
|
`AABB` 在 Math 库中通过 `Bounds` 类型实现,参见 [./bounds/bounds.md](../bounds/bounds.md)。
|
|
|
|
## OBB - 有向包围盒
|
|
|
|
OBB 是可以任意方向旋转的包围盒。
|
|
|
|
## 结构体成员
|
|
|
|
| 成员 | 类型 | 描述 |
|
|
|------|------|------|
|
|
| `center` | `Vector3` | OBB 中心点 |
|
|
| `extents` | `Vector3` | 从中心到每个面的距离 |
|
|
| `transform` | `Matrix4` | 变换矩阵 |
|
|
|
|
## 公共方法
|
|
|
|
| 方法 | 描述 |
|
|
|------|------|
|
|
| `OBB()` | 默认构造 |
|
|
| `OBB(const Vector3& center, const Vector3& extents)` | 从中心和半长构造 |
|
|
| [GetAxis](obb-getaxis.md) | 获取局部轴 |
|
|
| [GetMin](obb-getmin.md) | 局部空间最小点 |
|
|
| [GetMax](obb-getmax.md) | 局部空间最大点 |
|
|
| [Contains](obb-contains.md) | 点是否在 OBB 内 |
|
|
| [Intersects(OBB)](intersects-obb.md) | 与另一个 OBB 相交 |
|
|
| [Intersects(Sphere)](intersects-sphere.md) | 与球体相交 |
|
|
|
|
## 相关文档
|
|
|
|
- [Bounds](../bounds/bounds.md) - 轴对齐包围盒
|
|
- [Math 模块总览](../math.md) |