Interface IBroadPhase

Interface for objects tracking overlap of many AABBs.

Index

Methods

Methods

public CreateProxy(aabb: b2AABB, userData: any): b2DynamicTreeNode

Create a proxy with an initial AABB. Pairs are not reported until UpdatePairs is called.

Parameters

  • aabb: b2AABB

    Proxy Fat AABB.

  • userData: any

    User defined data.

Returns

b2DynamicTreeNode

Proxy created from aabb and userData.

public DestroyProxy(proxy: b2DynamicTreeNode)

Destroy a proxy. It is up to the client to remove any pairs.

Parameters

public GetFatAABB(proxy: b2DynamicTreeNode): b2AABB

Get the Fat AABB for a proxy.

Parameters

Returns

b2AABB

public GetProxyCount(): number

Get the number of proxies.

Returns

number

Number of proxies.

public GetUserData(proxy: b2DynamicTreeNode): any

Get user data from a proxy. Returns null if the proxy is invalid.

Parameters

Returns

any

Gets the user data from proxy, or null if the proxy is invalid.

public MoveProxy(proxy: b2DynamicTreeNode, aabb: b2AABB, displacement: b2Vec2)

Call MoveProxy as many times as you like, then when you are done call UpdatePairs to finalized the proxy pairs (for your time step).

Parameters

public Query(callback: (proxy: Box2D.Collision.b2DynamicTreeNode) => boolean, aabb: b2AABB)

Query an AABB for overlapping proxies. The callback is called for each proxy that overlaps the supplied AABB. The callback should match function signature fuction callback(proxy:b2DynamicTreeNode):Boolean and should return false to trigger premature termination.

Parameters

  • callback: (proxy: Box2D.Collision.b2DynamicTreeNode) => boolean

    Called for each proxy that overlaps the supplied AABB. param proxy Proxy overlapping the supplied AABB.

  • aabb: b2AABB

    Proxies are query for overlap on this AABB.

public RayCast(callback: (input: Box2D.Collision.b2RayCastInput, proxy: Box2D.Collision.b2DynamicTreeNode) => number, input: b2RayCastInput)

Ray-cast against the proxies in the tree. This relies on the callback to perform a exact ray-cast in the case were the proxy contains a shape. The callback also performs the any collision filtering. This has performance roughly equal to k log(n), where k is the number of collisions and n is the number of proxies in the tree.

Parameters

  • callback: (input: Box2D.Collision.b2RayCastInput, proxy: Box2D.Collision.b2DynamicTreeNode) => number

    Called for each proxy that is hit by the ray. param input Ray cast input data. param proxy The proxy hit by the ray cast. param return Return value is the new value for maxFraction.

  • input: b2RayCastInput

    Ray cast input data. Query all proxies along this ray cast.

public Rebalance(iterations: number)

Perform some iterations to re-balance the tree.

Parameters

  • iterations: number

    Number of rebalance iterations to perform.