internal static BroadphaseProxy GetManaged(IntPtr native) { if (native == IntPtr.Zero) { return null; } IntPtr clientObjectPtr = btBroadphaseProxy_getClientObject(native); if (clientObjectPtr != IntPtr.Zero) { CollisionObject clientObject = CollisionObject.GetManaged(clientObjectPtr); return clientObject.BroadphaseHandle; } throw new InvalidOperationException("Unknown broadphase proxy!"); //return new BroadphaseProxy(native); }
public CollisionObject GetOverlappingObject(int index) { return(CollisionObject.GetManaged(btGhostObject_getOverlappingObject(_native, index))); }
private static bool ContactProcessedUnmanaged(IntPtr cp, IntPtr body0, IntPtr body1) { _contactProcessed.Invoke(new ManifoldPoint(cp, true), CollisionObject.GetManaged(body0), CollisionObject.GetManaged(body1)); return(false); }
public static MultiBodyLinkCollider Upcast(CollisionObject colObj) { return(CollisionObject.GetManaged(btMultiBodyLinkCollider_upcast(colObj._native)) as MultiBodyLinkCollider); }