Fix Box documentation to accurately reflect AABB vs OBB behavior

- Updated box.md to clarify that Box uses OBB semantics for Contains
  but currently uses AABB for Intersects(Box)
- Updated intersects-box.md to document that it uses AABB algorithm
  instead of SAT, since the current implementation ignores transform
- Added notes explaining the current limitations of the Box implementation
This commit is contained in:
2026-03-19 00:52:04 +08:00
parent 6a952473ce
commit bd530dc8b1
2 changed files with 9 additions and 5 deletions

View File

@@ -1,6 +1,6 @@
# Box
带变换的有向包围盒 (OBB) 结构体。
带变换的包围盒结构体(支持 OBB 语义,取决于方法)
**头文件:** `#include <XCEngine/Math/Box.h>`
@@ -16,6 +16,8 @@ struct Box {
};
```
**注意:** `Contains` 方法会使用 `transform` 进行真正的 OBB 检测。`Intersects(Box)` 目前使用 AABB 简化算法,未考虑旋转。
## 构造函数
- `Box()` - 默认构造
@@ -27,9 +29,9 @@ struct Box {
|------|--------|------|
| [GetMin()](getmin.md) | `Vector3` | 局部空间最小点 |
| [GetMax()](getmax.md) | `Vector3` | 局部空间最大点 |
| [Contains(point)](contains.md) | `bool` | 点是否在盒内 |
| [Contains(point)](contains.md) | `bool` | 点是否在盒内(使用 transform |
| [Intersects(Sphere)](intersects.md) | `bool` | 与球体相交 |
| [Intersects(Box)](intersects-box.md) | `bool` | 与另一个 OBB 相交 |
| [Intersects(Box)](intersects-box.md) | `bool` | 与另一个盒相交AABB 检测) |
| [Intersects(Ray, t)](intersects-ray.md) | `bool` | 与射线相交 |
## 相关文档