示例#1
0
        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);
        }
示例#2
0
 public CollisionObject GetOverlappingObject(int index)
 {
     return(CollisionObject.GetManaged(btGhostObject_getOverlappingObject(_native, index)));
 }
示例#3
0
 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);
 }