BoundingSphere

BoundingSphere

用于存储包围球信息的类

Members

readonly center : Vector3

获取局部空间中包围球的中心

radius : number

局部空间中边界球的半径

readonly centerWorld : Vector3

获取世界空间中包围球的中心

radiusWorld : number

世界空间中包围球的半径

readonly minimum : Vector3

获取局部空间中的最小向量

readonly maximum : Vector3

获取局部空间中的最大向量

Methods

constructor(min,max,worldMatrix)

创建新的包围球
Name Type Description
min DeepImmutable<Vector3> 最小向量(在局部空间中)
max DeepImmutable<Vector3> 最大向量(在局部空间中)
worldMatrix DeepImmutable<Matrix> optional新的世界矩阵

reConstruct(min,max,worldMatrix)

从头开始重新创建整个包围球,就好像我们在原地调用构造函数一样
Name Type Description
min DeepImmutable<Vector3> 新的最小向量(在局部空间中)
max DeepImmutable<Vector3> 新的最大向量(在局部空间中)
worldMatrix DeepImmutable<Matrix> optional新的世界矩阵

scale(factor) → BoundingSphere

通过应用比例因子缩放当前包围球
Name Type Description
factor number 比例因子

getWorldMatrix() → DeepImmutable<Matrix>

获取包围盒的世界矩阵@returns 返回一个矩阵

isInFrustum(frustumPlanes) → boolean

测试包围球是否与frustum平面相交
Name Type Description
frustumPlanes Array<DeepImmutable<Plane>> 要测试的frustum平面

isCenterInFrustum(frustumPlanes) → boolean

测试包围球中心是否位于frustum平面之间。用于快速包含。
Name Type Description
frustumPlanes Array<DeepImmutable<Plane>> 要测试的frustum平面

intersectsPoint(point) → boolean

测试点是否位于包围球内
Name Type Description
point DeepImmutable<Vector3> 要测试的点

staticIntersects(sphere0,sphere1) → boolean

检查两个球体是否相交
Name Type Description
sphere0 DeepImmutable<BoundingSphere> 球体0
sphere1 DeepImmutable<BoundingSphere> 球体1