Interface BroadPhaseStrategy

All Known Implementing Classes:
DynamicTree

public interface BroadPhaseStrategy
  • Method Details

    • createProxy

      int createProxy(AABB aabb, java.lang.Object userData)
      Create a proxy. Provide a tight fitting AABB and a userData pointer.
      Parameters:
      aabb -
      userData -
      Returns:
    • destroyProxy

      void destroyProxy(int proxyId)
      Destroy a proxy
      Parameters:
      proxyId -
    • moveProxy

      boolean moveProxy(int proxyId, AABB aabb, Vec2 displacement)
      Move a proxy with a swepted 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.
      Returns:
      true if the proxy was re-inserted.
    • getUserData

      java.lang.Object getUserData(int proxyId)
    • getFatAABB

      AABB getFatAABB(int proxyId)
    • query

      void query(TreeCallback callback, AABB aabb)
      Query an AABB for overlapping proxies. The callback class is called for each proxy that overlaps the supplied AABB.
      Parameters:
      callback -
      araabbgAABB -
    • raycast

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

      int computeHeight()
      Compute the height of the tree.
    • getHeight

      int getHeight()
      Compute the height of the binary tree in O(N) time. Should not be called often.
      Returns:
    • getMaxBalance

      int getMaxBalance()
      Get the maximum balance of an node in the tree. The balance is the difference in height of the two children of a node.
      Returns:
    • getAreaRatio

      float getAreaRatio()
      Get the ratio of the sum of the node areas to the root area.
      Returns:
    • getInsertionCount

      int getInsertionCount()
    • drawTree

      void drawTree(DebugDraw draw)