Files
LuaCsForBarotraumaEP/Libraries/Farseer Physics Engine 3.5/Collision/IBroadPhase.cs
2020-03-04 13:04:10 +01:00

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);
}
}