39 lines
1.0 KiB
C#
39 lines
1.0 KiB
C#
/* Original source Farseer Physics Engine:
|
|
* Copyright (c) 2014 Ian Qvist, http://farseerphysics.codeplex.com
|
|
* Microsoft Permissive License (Ms-PL) v1.1
|
|
*/
|
|
|
|
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 AABB aabb);
|
|
|
|
void RemoveProxy(int proxyId);
|
|
|
|
void MoveProxy(int proxyId, ref AABB aabb, Vector2 displacement);
|
|
|
|
void SetProxy(int proxyId, ref FixtureProxy proxy);
|
|
|
|
FixtureProxy GetProxy(int proxyId);
|
|
|
|
void TouchProxy(int proxyId);
|
|
|
|
void GetFatAABB(int proxyId, out AABB aabb);
|
|
|
|
void Query(Func<int, bool> callback, ref AABB aabb);
|
|
|
|
void RayCast(Func<RayCastInput, FixtureProxy, float> callback, ref RayCastInput input, Category collisionCategory = Category.All);
|
|
|
|
void ShiftOrigin(Vector2 newOrigin);
|
|
}
|
|
} |