threading/: - Rename 19 camelCase method files to hyphenated names - task-system: createtaskgroup→create-task-group, etc. - tasksystemconfig: enabletaskprofiling→enable-task-profiling, etc. - thread: getcurrentid→get-current-id, etc. - task: addref→add-ref, getid→get-id, etc. math/: - Rename underscore operator files to hyphenated - vector3: operator_add→operator-add, etc. - matrix4: gettranslation→get-translation, etc. - vector4: tovector3→to-vector3, constructor_vector3→constructor-vector3 - sphere: sphere_constructor→sphere-constructor, etc. memory/: - Remove duplicate memorymanager/ folder (kept manager/ which was correct) core/: - filewriter: Consolidate ctor-default.md and ctor-file.md into constructor.md - Rename dtor.md→destructor.md debug/: - filelogsink: Rename construct.md→constructor.md, ~filelogsink.md→destructor.md All overview pages updated with new file references.
1.4 KiB
1.4 KiB
Sphere
命名空间: XCEngine::Math
类型: struct
头文件: XCEngine/Math/Sphere.h
描述: 球体,用于碰撞检测和范围查询
概述
Sphere 是三维空间中的球体结构体,包含一个中心点 center 和半径 radius。主要用于碰撞检测和范围查询等几何计算场景。
结构体成员
| 成员 | 类型 | 描述 | 默认值 |
|---|---|---|---|
center |
Vector3 |
球体中心点 | Vector3::Zero() |
radius |
float |
球体半径 | 0.0f |
公共方法
| 方法 | 描述 | 线程安全 | 复杂度 |
|---|---|---|---|
Sphere() |
默认构造,零初始化 | ✅ | O(1) |
Sphere(const Vector3&, float) |
从中心和半径构造球体 | ✅ | O(1) |
Contains |
检测点是否在球体内 | ✅ | O(1) |
Intersects |
检测两个球体是否相交 | ✅ | O(1) |
使用示例
#include <XCEngine/Math/Sphere.h>
#include <XCEngine/Math/Vector3.h>
using namespace XCEngine::Math;
Sphere sphere(Vector3(0.0f, 0.0f, 0.0f), 1.0f);
Vector3 point(0.5f, 0.5f, 0.0f);
if (sphere.Contains(point)) {
// point is inside the sphere
}
Sphere other(Vector3(1.5f, 0.0f, 0.0f), 1.0f);
if (sphere.Intersects(other)) {
// spheres intersect
}
相关文档
- Math 模块总览 - Math 模块总览