Files
XCSDD/docs/api/math/box/box.md
ssdfasd 58a83f445a 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
2026-03-19 12:44:08 +08:00

1.3 KiB
Raw Blame History

Box

带变换的包围盒结构体(支持 OBB 语义,取决于方法)。

头文件: #include <XCEngine/Math/Box.h>

命名空间: XCEngine::Math

结构体定义

struct Box {
    Vector3 center = Vector3::Zero();
    Vector3 extents = Vector3::Zero();
    Matrix4x4 transform = Matrix4x4::Identity();
};

成员:

  • center - 包围盒中心点
  • extents - 包围盒半长(各轴向的半径)
  • transform - 变换矩阵(用于 OBB 检测)

注意: Contains 方法会使用 transform 进行真正的 OBB 检测。Intersects(Box) 目前使用 AABB 简化算法,未考虑旋转。

构造函数

  • Box() - 默认构造
  • Box(const Vector3& center, const Vector3& extents) - 从中心和半长构造

实例方法

方法 返回值 描述
GetMin() Vector3 局部空间最小点
GetMax() Vector3 局部空间最大点
Contains(point) bool 点是否在盒内(使用 transform
Intersects(Sphere) bool 与球体相交
Intersects(Box) bool 与另一个盒相交AABB 检测)
Intersects(Ray, t) bool 与射线相交

相关文档