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

39 lines
990 B
Markdown
Raw Normal View History

# Bounds::Expand
```cpp
void Expand(float amount)
void Expand(const Vector3& amount)
```
2026-03-20 02:35:15 +08:00
扩展包围盒。输入值会被除以 2 后添加到 extents 上(标量扩展时,每个轴的 extents 增加 `amount * 0.5f`,即实际尺寸增加 `amount`;向量扩展时,各分量分别处理)。
**参数:**
2026-03-20 02:35:15 +08:00
- `amount` - 扩展量(标量时各方向均匀扩展,向量时各分量分别扩展)
**返回:** `void`
**线程安全:** ✅
**复杂度:** O(1)
**示例:**
```cpp
2026-03-20 02:35:15 +08:00
#include <XCEngine/Math/Bounds.h>
#include <XCEngine/Math/Vector3.h>
using namespace XCEngine::Math;
Bounds bounds(Vector3(0.0f, 0.0f, 0.0f), Vector3(2.0f, 2.0f, 2.0f));
bounds.Expand(1.0f);
2026-03-20 02:35:15 +08:00
// extents becomes (2.0, 2.0, 2.0), size increased by 1 in each direction
bounds.Expand(Vector3(1.0f, 0.0f, 0.0f));
// extents becomes (2.5, 2.0, 2.0), only x extended
```
2026-03-20 02:35:15 +08:00
## 相关文档
- [Bounds](bounds.md) - 返回类总览
- [Encapsulate](encapsulate.md) - 扩展以包含点或 Bounds