Files
XCEngine/docs/api/math/bounds/encapsulate.md
2026-03-20 02:35:15 +08:00

947 B
Raw Blame History

Bounds::Encapsulate

void Encapsulate(const Vector3& point)
void Encapsulate(const Bounds& bounds)

扩展包围盒以包含指定的点或另一个 Bounds。调用后包围盒的 min/max 将被更新以确保目标被完全包含。

参数:

  • point - 要包含的点
  • bounds - 要包含的 Bounds

返回: void

线程安全:

复杂度: O(1)

示例:

#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.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'

相关文档