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:
25
docs/api/math/frustum/contains-bounds.md
Normal file
25
docs/api/math/frustum/contains-bounds.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Frustum::Contains (bounds)
|
||||
|
||||
```cpp
|
||||
bool Contains(const Bounds& bounds) const
|
||||
```
|
||||
|
||||
检测轴对齐包围盒是否完全在视锥体内。
|
||||
|
||||
**参数:**
|
||||
- `bounds` - 要检测的轴对齐包围盒
|
||||
|
||||
**返回:** `bool` - Bounds 完全在视锥内返回 true
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
Frustum frustum = camera.CalculateFrustum();
|
||||
Bounds objectBounds = object.GetWorldBounds();
|
||||
if (frustum.Contains(objectBounds)) {
|
||||
// 包围盒完全在视锥内,需要渲染
|
||||
Render(object);
|
||||
}
|
||||
```
|
||||
24
docs/api/math/frustum/contains-point.md
Normal file
24
docs/api/math/frustum/contains-point.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Frustum::Contains (point)
|
||||
|
||||
```cpp
|
||||
bool Contains(const Vector3& point) const
|
||||
```
|
||||
|
||||
检测点是否在视锥体内。
|
||||
|
||||
**参数:**
|
||||
- `point` - 要检测的世界空间点
|
||||
|
||||
**返回:** `bool` - 点在视锥内返回 true
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
Frustum frustum = camera.CalculateFrustum();
|
||||
Vector3 point = object.GetPosition();
|
||||
if (frustum.Contains(point)) {
|
||||
// 点在视锥内
|
||||
}
|
||||
```
|
||||
24
docs/api/math/frustum/contains-sphere.md
Normal file
24
docs/api/math/frustum/contains-sphere.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Frustum::Contains (sphere)
|
||||
|
||||
```cpp
|
||||
bool Contains(const Sphere& sphere) const
|
||||
```
|
||||
|
||||
检测球体是否完全在视锥体内。
|
||||
|
||||
**参数:**
|
||||
- `sphere` - 要检测的球体
|
||||
|
||||
**返回:** `bool` - 球体完全在视锥内返回 true
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
Frustum frustum = camera.CalculateFrustum();
|
||||
Sphere collider = object.GetBoundingSphere();
|
||||
if (frustum.Contains(collider)) {
|
||||
// 球体完全在视锥内
|
||||
}
|
||||
```
|
||||
45
docs/api/math/frustum/frustum.md
Normal file
45
docs/api/math/frustum/frustum.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# Frustum
|
||||
|
||||
视锥体,用于视锥剔除。
|
||||
|
||||
**头文件:** `#include <XCEngine/Math/Frustum.h>`
|
||||
|
||||
**命名空间:** `XCEngine::Math`
|
||||
|
||||
## 类定义
|
||||
|
||||
```cpp
|
||||
class Frustum {
|
||||
public:
|
||||
Plane planes[6];
|
||||
|
||||
enum class PlaneIndex {
|
||||
Left = 0,
|
||||
Right = 1,
|
||||
Bottom = 2,
|
||||
Top = 3,
|
||||
Near = 4,
|
||||
Far = 5
|
||||
};
|
||||
|
||||
bool Contains(const Vector3& point) const;
|
||||
bool Contains(const Sphere& sphere) const;
|
||||
bool Contains(const Bounds& bounds) const;
|
||||
bool Intersects(const Bounds& bounds) const;
|
||||
bool Intersects(const Sphere& sphere) const;
|
||||
};
|
||||
```
|
||||
|
||||
## 实例方法
|
||||
|
||||
| 方法 | 返回值 | 描述 |
|
||||
|------|--------|------|
|
||||
| [Contains(point)](contains-point.md) | `bool` | 点是否在视锥内 |
|
||||
| [Contains(sphere)](contains-sphere.md) | `bool` | 球体是否完全在视锥内 |
|
||||
| [Contains(bounds)](contains-bounds.md) | `bool` | Bounds 是否完全在视锥内 |
|
||||
| [Intersects(bounds)](intersects-bounds.md) | `bool` | Bounds 是否与视锥相交 |
|
||||
| [Intersects(sphere)](intersects-sphere.md) | `bool` | 球体是否与视锥相交 |
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [Math 模块总览](../math.md) - 返回 Math 模块总览
|
||||
26
docs/api/math/frustum/intersects-bounds.md
Normal file
26
docs/api/math/frustum/intersects-bounds.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# Frustum::Intersects (bounds)
|
||||
|
||||
```cpp
|
||||
bool Intersects(const Bounds& bounds) const
|
||||
```
|
||||
|
||||
检测轴对齐包围盒是否与视锥体相交。
|
||||
|
||||
**参数:**
|
||||
- `bounds` - 要检测的轴对齐包围盒
|
||||
|
||||
**返回:** `bool` - 与视锥相交返回 true
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
Frustum frustum = camera.CalculateFrustum();
|
||||
for (const auto& object : sceneObjects) {
|
||||
if (frustum.Intersects(object.bounds)) {
|
||||
// 物体与视锥相交,需要渲染
|
||||
Render(object);
|
||||
}
|
||||
}
|
||||
```
|
||||
25
docs/api/math/frustum/intersects-sphere.md
Normal file
25
docs/api/math/frustum/intersects-sphere.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Frustum::Intersects (sphere)
|
||||
|
||||
```cpp
|
||||
bool Intersects(const Sphere& sphere) const
|
||||
```
|
||||
|
||||
检测球体是否与视锥体相交。
|
||||
|
||||
**参数:**
|
||||
- `sphere` - 要检测的球体
|
||||
|
||||
**返回:** `bool` - 与视锥相交返回 true
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
Frustum frustum = camera.CalculateFrustum();
|
||||
Sphere collider = object.GetBoundingSphere();
|
||||
if (frustum.Intersects(collider)) {
|
||||
// 球体与视锥相交
|
||||
Render(object);
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user