Files
XCEngine/docs/api/math/bounds/encapsulate.md

41 lines
957 B
Markdown
Raw Normal View History

# Bounds::Encapsulate
```cpp
void Encapsulate(const Vector3& point)
void Encapsulate(const Bounds& bounds)
```
2026-03-20 02:35:15 +08:00
扩展包围盒以包含指定的点或另一个 Bounds。调用后包围盒的 min/max 将被更新以确保目标被完全包含。
**参数:**
- `point` - 要包含的点
- `bounds` - 要包含的 Bounds
2026-03-20 02:35:15 +08:00
**返回:** `void`
**线程安全:** ✅
**复杂度:** O(1)
**示例:**
```cpp
#include <XCEngine/Core/Math/Bounds.h>
#include <XCEngine/Core/Math/Vector3.h>
2026-03-20 02:35:15 +08:00
using namespace XCEngine::Math;
Bounds bounds(Vector3(0.0f, 0.0f, 0.0f), Vector3(2.0f, 2.0f, 2.0f));
bounds.Encapsulate(Vector3(10.0f, 0.0f, 0.0f));
// bounds now spans from (-1,-1,-1) to (10,1,1)
Bounds other(Vector3(5.0f, 5.0f, 5.0f), Vector3(1.0f, 1.0f, 1.0f));
bounds.Encapsulate(other);
// bounds now contains both original bounds and 'other'
```
2026-03-20 02:35:15 +08:00
## 相关文档
- [Bounds](bounds.md) - 返回类总览
- [Expand](expand.md) - 均匀扩展包围盒