fix: improve doc link navigation and tree display
- Fix link resolution with proper relative/absolute path handling - Improve link styling with underline decoration - Hide leaf nodes from tree, only show directories - Fix log file path for packaged app
This commit is contained in:
43
docs/api/math/aabb/aabb.md
Normal file
43
docs/api/math/aabb/aabb.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# AABB / OBB
|
||||
|
||||
轴对齐包围盒 (AABB) 和有向包围盒 (OBB)。
|
||||
|
||||
**头文件:** `#include <XCEngine/Math/AABB.h>`
|
||||
|
||||
**命名空间:** `XCEngine::Math`
|
||||
|
||||
## AABB
|
||||
|
||||
`AABB` 在 Math 库中通过 `Bounds` 类型实现,参见 [./bounds/bounds.md](../bounds/bounds.md)。
|
||||
|
||||
## OBB - 有向包围盒
|
||||
|
||||
OBB 是可以任意方向旋转的包围盒。
|
||||
|
||||
```cpp
|
||||
struct OBB {
|
||||
Vector3 center;
|
||||
Vector3 extents;
|
||||
Matrix4 transform;
|
||||
};
|
||||
```
|
||||
|
||||
### 构造函数
|
||||
|
||||
- `OBB()` - 默认构造
|
||||
- `OBB(const Vector3& center, const Vector3& extents)` - 从中心和半长构造
|
||||
|
||||
### 实例方法
|
||||
|
||||
| 方法 | 返回值 | 描述 |
|
||||
|------|--------|------|
|
||||
| [GetAxis(index)](getaxis.md) | `Vector3` | 获取局部轴(index 必须是 0、1 或 2) |
|
||||
| [GetMin()](../box/getmin.md) | `Vector3` | 局部空间最小点 |
|
||||
| [GetMax()](../box/getmax.md) | `Vector3` | 局部空间最大点 |
|
||||
| [Contains(point)](../box/contains.md) | `bool` | 点是否在 OBB 内 |
|
||||
| [Intersects(OBB)](intersects-obb.md) | `bool` | 与另一个 OBB 相交 |
|
||||
| [Intersects(Sphere)](intersects-sphere.md) | `bool` | 与球体相交 |
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [Math 模块总览](../math.md) - 返回 Math 模块总览
|
||||
23
docs/api/math/aabb/getaxis.md
Normal file
23
docs/api/math/aabb/getaxis.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# OBB::GetAxis
|
||||
|
||||
```cpp
|
||||
Vector3 GetAxis(int index) const
|
||||
```
|
||||
|
||||
获取 OBB 的局部坐标轴。
|
||||
|
||||
**参数:**
|
||||
- `index` - 轴索引(0=X轴, 1=Y轴, 2=Z轴)
|
||||
|
||||
**返回:** `Vector3` - 对应轴的方向向量
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
OBB obb = ...;
|
||||
Vector3 xAxis = obb.GetAxis(0); // 局部 X 轴
|
||||
Vector3 yAxis = obb.GetAxis(1); // 局部 Y 轴
|
||||
Vector3 zAxis = obb.GetAxis(2); // 局部 Z 轴
|
||||
```
|
||||
24
docs/api/math/aabb/intersects-obb.md
Normal file
24
docs/api/math/aabb/intersects-obb.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# OBB::Intersects (OBB)
|
||||
|
||||
```cpp
|
||||
bool Intersects(const OBB& other) const
|
||||
```
|
||||
|
||||
检测两个 OBB 是否相交(使用 SAT 分离轴定理)。
|
||||
|
||||
**参数:**
|
||||
- `other` - 另一个 OBB
|
||||
|
||||
**返回:** `bool` - true 表示相交
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
OBB obbA = ...;
|
||||
OBB obbB = ...;
|
||||
if (obbA.Intersects(obbB)) {
|
||||
// 两个有向包围盒相交
|
||||
}
|
||||
```
|
||||
24
docs/api/math/aabb/intersects-sphere.md
Normal file
24
docs/api/math/aabb/intersects-sphere.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# OBB::Intersects (Sphere)
|
||||
|
||||
```cpp
|
||||
bool Intersects(const Sphere& sphere) const
|
||||
```
|
||||
|
||||
检测 OBB 是否与球体相交。
|
||||
|
||||
**参数:**
|
||||
- `sphere` - 要检测的球体
|
||||
|
||||
**返回:** `bool` - true 表示相交
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
OBB obb = ...;
|
||||
Sphere sphere = ...;
|
||||
if (obb.Intersects(sphere)) {
|
||||
// OBB 与球体相交
|
||||
}
|
||||
```
|
||||
20
docs/api/math/aabb/obb-contains.md
Normal file
20
docs/api/math/aabb/obb-contains.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# OBB::Contains
|
||||
|
||||
```cpp
|
||||
bool Contains(const Vector3& point) const
|
||||
```
|
||||
|
||||
检测点是否在 OBB 内。
|
||||
|
||||
**参数:**
|
||||
- `point` - 要检测的点
|
||||
|
||||
**返回:** `bool` - true 表示点在 OBB 内
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
if (obb.Contains(point)) { /* inside */ }
|
||||
```
|
||||
20
docs/api/math/aabb/obb-getaxis.md
Normal file
20
docs/api/math/aabb/obb-getaxis.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# OBB::GetAxis
|
||||
|
||||
```cpp
|
||||
Vector3 GetAxis(int index) const
|
||||
```
|
||||
|
||||
获取 OBB 的局部轴。
|
||||
|
||||
**参数:**
|
||||
- `index` - 轴索引 (0=X, 1=Y, 2=Z)
|
||||
|
||||
**返回:** `Vector3` - 对应的局部轴
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
Vector3 xAxis = obb.GetAxis(0);
|
||||
```
|
||||
17
docs/api/math/aabb/obb-getmax.md
Normal file
17
docs/api/math/aabb/obb-getmax.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# OBB::GetMax
|
||||
|
||||
```cpp
|
||||
Vector3 GetMax() const
|
||||
```
|
||||
|
||||
获取局部空间最大点。
|
||||
|
||||
**返回:** `Vector3` - center + extents
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
Vector3 max = obb.GetMax();
|
||||
```
|
||||
17
docs/api/math/aabb/obb-getmin.md
Normal file
17
docs/api/math/aabb/obb-getmin.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# OBB::GetMin
|
||||
|
||||
```cpp
|
||||
Vector3 GetMin() const
|
||||
```
|
||||
|
||||
获取局部空间最小点。
|
||||
|
||||
**返回:** `Vector3` - center - extents
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
Vector3 min = obb.GetMin();
|
||||
```
|
||||
25
docs/api/math/aabb/obb-intersects-obb.md
Normal file
25
docs/api/math/aabb/obb-intersects-obb.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# OBB::Intersects(OBB)
|
||||
|
||||
```cpp
|
||||
bool Intersects(const OBB& other) const;
|
||||
```
|
||||
|
||||
判断两个 OBB 是否相交(SAT 分离轴定理)。
|
||||
|
||||
**返回:** 两包围盒是否相交
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
OBB a(centerA, extentsA);
|
||||
OBB b(centerB, extentsB);
|
||||
if (a.Intersects(b)) {
|
||||
// 两包围盒相交
|
||||
}
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [AABB 总览](aabb.md) - 返回 AABB 概览
|
||||
28
docs/api/math/aabb/obb-intersects-sphere.md
Normal file
28
docs/api/math/aabb/obb-intersects-sphere.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# OBB::Intersects(Sphere)
|
||||
|
||||
```cpp
|
||||
bool Intersects(const Sphere& sphere) const;
|
||||
```
|
||||
|
||||
判断 OBB 与球体是否相交。
|
||||
|
||||
**参数:**
|
||||
- `sphere` - 球体
|
||||
|
||||
**返回:** OBB 与球体是否相交
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
OBB obb(center, extents);
|
||||
Sphere s(sphereCenter, radius);
|
||||
if (obb.Intersects(s)) {
|
||||
// OBB 与球体相交
|
||||
}
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [AABB 总览](aabb.md) - 返回 AABB 概览
|
||||
Reference in New Issue
Block a user