using System; using FarseerPhysics.Dynamics; using Microsoft.Xna.Framework; namespace FarseerPhysics.Collision { public interface IBroadPhase { int ProxyCount { get; } void UpdatePairs(BroadphaseDelegate callback); bool TestOverlap(int proxyIdA, int proxyIdB); int AddProxy(ref FixtureProxy proxy); void RemoveProxy(int proxyId); void MoveProxy(int proxyId, ref AABB aabb, Vector2 displacement); FixtureProxy GetProxy(int proxyId); void TouchProxy(int proxyId); void GetFatAABB(int proxyId, out AABB aabb); void Query(Func callback, ref AABB aabb); void RayCast(Func callback, ref RayCastInput input); } }