Files
XCEngine/docs/api/math/obb/obb.md
ssdfasd b414bc5326 refactor(docs): Fix broken links across multiple modules
Fixed broken references:
- texture-import-settings: Fix 16 files referencing wrong overview filename
- math/rectint: Fix 9 method links (rectint-* → get*, contains, intersects)
- rhi/opengl/device: Fix 8 cross-references (opengl-* → */**)
- resources/mesh: Fix meshsection and vertexattribute links
- rhi/d3d12/sampler: Fix RHISampler reference path
- math/vector3: Fix projectonplane → project-on-plane
- rhi/opengl/command-list: Remove broken ClearFlag enum ref
- rhi/opengl/device: Create 2 new method docs (MakeContextCurrent, GetNativeContext)
- rhi/device: Fix device-info types reference

All 0 broken references remaining.
2026-03-26 02:41:00 +08:00

1.5 KiB
Raw Blame History

OBB

命名空间: XCEngine::Math

类型: struct

头文件: XCEngine/Core/Math/AABB.h

描述: 定向包围盒,支持任意方向旋转的盒状包围体

概述

OBBOriented Bounding Box是一种包围盒类型与轴对齐包围盒AABB不同OBB 可以任意旋转因此能够更紧凑地包围复杂形状的对象。OBB 由一个中心点、半长向量extents和一个变换矩阵组成变换矩阵定义了盒子的朝向。

OBB 常用于碰撞检测、剔除运算和物理模拟等场景。

公共方法

方法 描述
GetAxis 获取指定索引处的局部轴方向
GetMin 获取包围盒最小顶点
GetMax 获取包围盒最大顶点
Contains 检测点是否在包围盒内
Intersects 检测与另一个 OBB 是否相交
Intersects 检测与球体是否相交

使用示例

#include <XCEngine/Core/Math/AABB.h>
#include <XCEngine/Core/Math/Vector3.h>
#include <XCEngine/Core/Math/Matrix4.h>

using namespace XCEngine::Math;

OBB obb(Vector3(0.0f, 0.0f, 0.0f), Vector3(1.0f, 0.5f, 1.0f));

Vector3 point(0.5f, 0.25f, 0.5f);
if (obb.Contains(point)) {
}

Vector3 axis = obb.GetAxis(0);
Vector3 min = obb.GetMin();
Vector3 max = obb.GetMax();

相关文档