BoundingBox

BoundingBox

用于存储包围盒信息的类

Members

readonly vectors : Vector3[]

获取表示局部空间中包围盒的8个向量

readonly center : Vector3

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

readonly centerWorld : Vector3

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

readonly extendSize : Vector3

获取本地空间中的扩展大小

readonly extendSizeWorld : Vector3

获取世界空间中的扩展大小

readonly directions : Vector3[]

获取OBB(对象包围盒)方向

readonly vectorsWorld : Vector3[]

获取表示世界空间中包围盒的8个向量

readonly minimumWorld : Vector3

获取世界空间中的最小向量

readonly maximumWorld : Vector3

获取世界空间中的最大向量

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) → BoundingBox

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

getWorldMatrix() → DeepImmutable<Matrix>

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

isInFrustum(frustumPlanes) → boolean

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

isCompletelyInFrustum(frustumPlanes) → boolean

测试包围盒是否完全位于frustum平面内
Name Type Description
frustumPlanes Array<DeepImmutable<Plane>> 要测试的frustum平面

intersectsPoint(point) → boolean

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

intersectsSphere(sphere) → boolean

测试包围盒是否与包围球相交
Name Type Description
sphere DeepImmutable<BoundingSphere> 要测试的球体

intersectsMinMax(min,max) → boolean

测试包围盒是否与由最小和最大向量 的框相交
Name Type Description
min DeepImmutable<Vector3> 最小向量
max DeepImmutable<Vector3> 最大向量

staticIntersects(box0,box1) → boolean

测试两个包围盒是否相交
Name Type Description
box0 DeepImmutable<BoundingBox> 要测试的第一个框
box1 DeepImmutable<BoundingBox> 要测试的第二个框

staticIntersectsSphere(minPoint,maxPoint,sphereCenter,sphereRadius) → boolean

测试由最小/最大向量 的包围盒是否与球体相交
Name Type Description
minPoint DeepImmutable<Vector3> 包围盒的最小向量
maxPoint DeepImmutable<Vector3> 包围盒的最大向量
sphereCenter DeepImmutable<Vector3> 球体中心
sphereRadius number 球体半径

staticIsCompletelyInFrustum(boundingVectors,frustumPlanes) → boolean

测试由8个向量 的包围盒是否完全位于frustum平面内
Name Type Description
boundingVectors Array<DeepImmutable<Vector3>> 一个由8个向量组成的数组,表示一个包围盒
frustumPlanes Array<DeepImmutable<Plane>> 要测试的frustum平面

staticIsInFrustum(boundingVectors,frustumPlanes) → boolean

测试用8个向量 的包围盒是否与frustum平面相交
Name Type Description
boundingVectors Array<DeepImmutable<Vector3>> 一个由8个向量组成的数组,表示一个包围盒
frustumPlanes Array<DeepImmutable<Plane>> 要测试的frustum平面