用于宽阶段实现的基类
Constructors 构造器
new Broadphase(): Broadphase
Properties 特性
dirty: boolean
如果世界中的对象移动,则设置为true。
useBoundingBoxes: boolean
如果设置为true,则宽相位将使用边界框进行相交测试,否则将使用边界球体。
world: null | World
寻找碰撞的世界。
Methods 方法
aabbQuery(world: World, aabb: AABB, result: Body[]): Body[]
返回AABB中的所有实体。
world: World
aabb: AABB
result: Body[]
collisionPairs(world: World, p1: Body[], p2: Body[]): void
从世界上获取碰撞对
world: World
要搜索的世界
p1: Body[]
要用实体对象填充的空数组
p2: Body[]
要用实体对象填充的空数组
doBoundingBoxBroadphase(bodyA: Body, bodyB: Body, pairs1: Body[], pairs2: Body[]): void
检查两个实体的边界框是否相交。
bodyA: Body
bodyB: Body
pairs1: Body[]
pairs2: Body[]
doBoundingSphereBroadphase(bodyA: Body, bodyB: Body, pairs1: Body[], pairs2: Body[]): void
检查两个实体的边界球体是否相交。
bodyA: Body
bodyB: Body
pairs1: Body[]
如果相交,则bodyA附加到此数组
pairs2: Body[]
如果相交,则bodyB附加到此数组
intersectionTest(bodyA: Body, bodyB: Body, pairs1: Body[], pairs2: Body[]): void
检查两个实体的边界体积是否相交
bodyA: Body
bodyB: Body
pairs1: Body[]
pairs2: Body[]
makePairsUnique(pairs1: Body[], pairs2: Body[]): void
从配对数组中删除重复的配对。
pairs1: Body[]
pairs2: Body[]
needBroadphaseCollision(bodyA: Body, bodyB: Body): boolean
检查一对车身是否需要进行交叉测试。
bodyA: Body
bodyB: Body
setWorld(world: World): void
由子类别实施
world: World
boundingSphereCheck(bodyA: Body, bodyB: Body): boolean
检查两个实体的边界球体是否重叠。
bodyA: Body
bodyB: Body