Options
All
  • Public
  • Public/Protected
  • All
Menu

A dynamic tree arranges data in a binary tree to accelerate queries such as volume queries and ray casts. Leafs are proxies with an AABB. In the tree we expand the proxy AABB by b2_fatAABBFactor so that the proxy AABB is bigger than the client object. This allows the client object to move by small amounts without triggering a tree update. Nodes are pooled.

Hierarchy

  • b2DynamicTree

Index

Constructors

Methods

  • Get user data from a proxy. Returns null if the proxy is invalid. Cast to your type on return.

    Parameters

    Returns any

    User data for proxy or null if proxy is invalid.

  • Move a proxy with a swept AABB. If the proxy has moved outside of its fattened AABB, then the proxy is removed from the tree and re-inserted. Otherwise the function returns immediately.

    Parameters

    Returns boolean

  • 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.

    aabb

    Proxies are query for overlap on this AABB.

    Parameters

    Returns 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.

    Parameters

    Returns void

  • Rebalance(iterations: number): void
  • Perform some iterations to re-balance the tree.

    Parameters

    • iterations: number

      Number of rebalance iterations to perform.

    Returns void

Generated using TypeDoc