39 lines
990 B
Markdown
39 lines
990 B
Markdown
# Bounds::Expand
|
|
|
|
```cpp
|
|
void Expand(float amount)
|
|
void Expand(const Vector3& amount)
|
|
```
|
|
|
|
扩展包围盒。输入值会被除以 2 后添加到 extents 上(标量扩展时,每个轴的 extents 增加 `amount * 0.5f`,即实际尺寸增加 `amount`;向量扩展时,各分量分别处理)。
|
|
|
|
**参数:**
|
|
- `amount` - 扩展量(标量时各方向均匀扩展,向量时各分量分别扩展)
|
|
|
|
**返回:** `void`
|
|
|
|
**线程安全:** ✅
|
|
|
|
**复杂度:** O(1)
|
|
|
|
**示例:**
|
|
|
|
```cpp
|
|
#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);
|
|
// 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
|
|
```
|
|
|
|
## 相关文档
|
|
|
|
- [Bounds](bounds.md) - 返回类总览
|
|
- [Encapsulate](encapsulate.md) - 扩展以包含点或 Bounds
|