C# Class Box2D.Collision.Broadphase.BroadPhase

The broad-phase is used for computing pairs and performing volume queries and ray casts. This broad-phase does not persist pairs. Instead, this reports potentially new pairs. It is up to the client to consume the new pairs and to track subsequent overlap.
Inheritance: TreeCallback
Show file Open project: gerich-home/box2dnet Class Usage Examples

Public Methods

Method Description
BroadPhase ( ) : System
CreateProxy ( AABB aabb, object userData ) : int

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

DestroyProxy ( int proxyId ) : void

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

DrawTree ( DebugDraw argDraw ) : void
GetFatAABB ( int proxyId ) : AABB
GetUserData ( int proxyId ) : object
MoveProxy ( int proxyId, AABB aabb, Vec2 displacement ) : void

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

Query ( ITreeCallback callback, AABB aabb ) : void

Query an AABB for overlapping proxies. The callback class is called for each proxy that overlaps the supplied AABB.

Raycast ( ITreeRayCastCallback callback, RayCastInput input ) : void

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.

TestOverlap ( int proxyIdA, int proxyIdB ) : bool
TouchProxy ( int proxyId ) : void
TreeCallback ( int proxyId ) : bool

This is called from DynamicTree::query when we are gathering pairs.

UpdatePairs ( IPairCallback callback ) : void

Update the pairs. This results in pair callbacks. This can only add pairs.

Protected Methods

Method Description
BufferMove ( int proxyId ) : void
UnbufferMove ( int proxyId ) : void

Method Details

BroadPhase() public method

public BroadPhase ( ) : System
return System

BufferMove() protected method

protected BufferMove ( int proxyId ) : void
proxyId int
return void

CreateProxy() public method

Create a proxy with an initial AABB. Pairs are not reported until updatePairs is called.
public CreateProxy ( AABB aabb, object userData ) : int
aabb AABB
userData object
return int

DestroyProxy() public method

Destroy a proxy. It is up to the client to remove any pairs.
public DestroyProxy ( int proxyId ) : void
proxyId int
return void

DrawTree() public method

public DrawTree ( DebugDraw argDraw ) : void
argDraw Box2D.Callbacks.DebugDraw
return void

GetFatAABB() public method

public GetFatAABB ( int proxyId ) : AABB
proxyId int
return AABB

GetUserData() public method

public GetUserData ( int proxyId ) : object
proxyId int
return object

MoveProxy() public method

Call MoveProxy as many times as you like, then when you are done call UpdatePairs to finalized the proxy pairs (for your time step).
public MoveProxy ( int proxyId, AABB aabb, Vec2 displacement ) : void
proxyId int
aabb AABB
displacement Box2D.Common.Vec2
return void

Query() public method

Query an AABB for overlapping proxies. The callback class is called for each proxy that overlaps the supplied AABB.
public Query ( ITreeCallback callback, AABB aabb ) : void
callback ITreeCallback
aabb AABB
return void

Raycast() public method

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.
public Raycast ( ITreeRayCastCallback callback, RayCastInput input ) : void
callback ITreeRayCastCallback a callback class that is called for each proxy that is hit by the ray.
input RayCastInput the ray-cast input data. The ray extends from p1 to p1 + maxFraction * (p2 - p1).
return void

TestOverlap() public method

public TestOverlap ( int proxyIdA, int proxyIdB ) : bool
proxyIdA int
proxyIdB int
return bool

TouchProxy() public method

public TouchProxy ( int proxyId ) : void
proxyId int
return void

TreeCallback() public method

This is called from DynamicTree::query when we are gathering pairs.
public TreeCallback ( int proxyId ) : bool
proxyId int
return bool

UnbufferMove() protected method

protected UnbufferMove ( int proxyId ) : void
proxyId int
return void

UpdatePairs() public method

Update the pairs. This results in pair callbacks. This can only add pairs.
public UpdatePairs ( IPairCallback callback ) : void
callback IPairCallback
return void