//! If you don't want to consider collisions where the bodies are joined by a constraint, override NeedsCollision: /*! However, if you use a CollisionObject for #body instead of a RigidBody, * then this is unnecessary—CheckCollideWithOverride isn't available */ public override bool NeedsCollision(BroadphaseProxy proxy) { // superclass will check CollisionFilterGroup and CollisionFilterMask if (!base.NeedsCollision(proxy)) return false; // if passed filters, may also want to avoid contacts between constraints return body.CheckCollideWithOverride(proxy.ClientObject as CollisionObject); }
public unsafe static void SetAabbForceUpdate(this DbvtBroadphase obj, BroadphaseProxy absproxy, ref OpenTK.Vector3 aabbMin, ref OpenTK.Vector3 aabbMax, Dispatcher __unnamed3) { fixed (OpenTK.Vector3* aabbMinPtr = &aabbMin) { fixed (OpenTK.Vector3* aabbMaxPtr = &aabbMax) { obj.SetAabbForceUpdate(absproxy, ref *(BulletSharp.Math.Vector3*)aabbMinPtr, ref *(BulletSharp.Math.Vector3*)aabbMaxPtr, __unnamed3); } } }
public unsafe static void GetAabb(this BroadphaseInterface obj, BroadphaseProxy proxy, out OpenTK.Vector3 aabbMin, out OpenTK.Vector3 aabbMax) { fixed (OpenTK.Vector3* aabbMinPtr = &aabbMin) { fixed (OpenTK.Vector3* aabbMaxPtr = &aabbMax) { obj.GetAabb(proxy, out *(BulletSharp.Math.Vector3*)aabbMinPtr, out *(BulletSharp.Math.Vector3*)aabbMaxPtr); } } }
public unsafe static void SetAabb(this BroadphaseInterface obj, BroadphaseProxy proxy, ref OpenTK.Vector3 aabbMin, ref OpenTK.Vector3 aabbMax, Dispatcher dispatcher) { fixed (OpenTK.Vector3* aabbMinPtr = &aabbMin) { fixed (OpenTK.Vector3* aabbMaxPtr = &aabbMax) { obj.SetAabb(proxy, ref *(BulletSharp.Math.Vector3*)aabbMinPtr, ref *(BulletSharp.Math.Vector3*)aabbMaxPtr, dispatcher); } } }
public void AddOverlappingObjectInternal(BroadphaseProxy otherProxy, BroadphaseProxy thisProxy) { btGhostObject_addOverlappingObjectInternal2(_native, otherProxy._native, thisProxy._native); }
public override void RemoveOverlappingPairsContainingProxy(BroadphaseProxy proxy0, Dispatcher dispatcher) { btOverlappingPairCallback_removeOverlappingPairsContainingProxy(_native, proxy0._native, dispatcher._native); }
public BroadphasePair FindPair(BroadphaseProxy proxy0, BroadphaseProxy proxy1) { return new BroadphasePair(btOverlappingPairCache_findPair(_native, proxy0._native, proxy1._native)); }
public bool NeedsBroadphaseCollision(BroadphaseProxy proxy0, BroadphaseProxy proxy1) { return(btSortedOverlappingPairCache_needsBroadphaseCollision(_native, proxy0._native, proxy1._native)); }
public abstract void RemoveOverlappingPairsContainingProxy(BroadphaseProxy proxy0, Dispatcher dispatcher);
private bool NeedBroadphaseCollisionUnmanaged(IntPtr proxy0, IntPtr proxy1) { return(NeedBroadphaseCollision(BroadphaseProxy.GetManaged(proxy0), BroadphaseProxy.GetManaged(proxy1))); }
public void SetNewBroadphaseProxy(BroadphaseProxy broadphaseProxy) { btRigidBody_setNewBroadphaseProxy(_native, broadphaseProxy._native); }
public void RemoveOverlappingObjectInternal(BroadphaseProxy otherProxy, Dispatcher dispatcher, BroadphaseProxy thisProxy = null) { btGhostObject_removeOverlappingObjectInternal(Native, otherProxy.Native, dispatcher.Native, (thisProxy != null) ? thisProxy.Native : IntPtr.Zero); }
public void AddOverlappingObjectInternal(BroadphaseProxy otherProxy, BroadphaseProxy thisProxy = null) { btGhostObject_addOverlappingObjectInternal(Native, otherProxy.Native, (thisProxy != null) ? thisProxy.Native : IntPtr.Zero); }
public abstract IntPtr RemoveOverlappingPair(BroadphaseProxy proxy0, BroadphaseProxy proxy1, Dispatcher dispatcher);
/* protected OverlappingPairCallback() { _native = btOverlappingPairCallbackWrapper_new(); } */ public abstract BroadphasePair AddOverlappingPair(BroadphaseProxy proxy0, BroadphaseProxy proxy1);
bool TestAabbOverlap(BroadphaseProxy proxy0, BroadphaseProxy proxy1) { return btAxisSweep3_testAabbOverlap(_native, proxy0._native, proxy1._native); }
public void DestroyProxy(BroadphaseProxy proxy, Dispatcher dispatcher) { btBroadphaseInterface_destroyProxy(_native, proxy._native, dispatcher._native); }
private bool ProcessUnmanaged(IntPtr proxy) { return(Process(BroadphaseProxy.GetManaged(proxy))); }
public void GetAabb(BroadphaseProxy proxy, out Vector3 aabbMin, out Vector3 aabbMax) { btBroadphaseInterface_getAabb(_native, proxy._native, out aabbMin, out aabbMax); }
/* * protected OverlappingPairCallback() * { * _native = btOverlappingPairCallbackWrapper_new(); * } */ public abstract BroadphasePair AddOverlappingPair(BroadphaseProxy proxy0, BroadphaseProxy proxy1);
public void SetAabb(BroadphaseProxy proxy, Vector3 aabbMin, Vector3 aabbMax, Dispatcher dispatcher) { SetAabbRef(proxy, ref aabbMin, ref aabbMax, dispatcher); }
public void CleanProxyFromPairs(BroadphaseProxy proxy, Dispatcher dispatcher) { btOverlappingPairCache_cleanProxyFromPairs(_native, proxy._native, dispatcher._native); }
public void SetAabbRef(BroadphaseProxy proxy, ref Vector3 aabbMin, ref Vector3 aabbMax, Dispatcher dispatcher) { btBroadphaseInterface_setAabb(_native, proxy._native, ref aabbMin, ref aabbMax, dispatcher._native); }
public override IntPtr RemoveOverlappingPair(BroadphaseProxy proxy0, BroadphaseProxy proxy1, Dispatcher dispatcher) { return(btOverlappingPairCallback_removeOverlappingPair(_native, proxy0._native, proxy1._native, dispatcher._native)); }
public abstract bool Process(BroadphaseProxy proxy);
public override BroadphasePair AddOverlappingPair(BroadphaseProxy proxy0, BroadphaseProxy proxy1) { return new BroadphasePair(btOverlappingPairCallback_addOverlappingPair(_native, proxy0._native, proxy1._native)); }
public virtual bool NeedsCollision(BroadphaseProxy proxy0) { return(btCollisionWorld_ContactResultCallbackWrapper_needsCollision(Native, proxy0.Native)); }
public void RemoveOverlappingObjectInternal(BroadphaseProxy otherProxy, Dispatcher dispatcher, BroadphaseProxy thisProxy) { btGhostObject_removeOverlappingObjectInternal2(_native, otherProxy._native, dispatcher._native, thisProxy._native); }
public bool NeedBroadphaseCollision(BroadphaseProxy proxy0, BroadphaseProxy proxy1) { return(btOverlapFilterCallback_needBroadphaseCollision(_native, proxy0._native, proxy1._native)); }
public void UnQuantize(BroadphaseProxy proxy, out Vector3 aabbMin, out Vector3 aabbMax) { btAxisSweep3_unQuantize(Native, proxy.Native, out aabbMin, out aabbMax); }
void UnQuantize(BroadphaseProxy proxy, Vector3 aabbMin, Vector3 aabbMax) { btAxisSweep3_unQuantize(_native, proxy._native, out aabbMin, out aabbMax); }
public override BroadphasePair AddOverlappingPair(BroadphaseProxy proxy0, BroadphaseProxy proxy1) { return null; }
public override IntPtr RemoveOverlappingPair(BroadphaseProxy proxy0, BroadphaseProxy proxy1, Dispatcher dispatcher) { return IntPtr.Zero; }
public abstract bool NeedBroadphaseCollision(BroadphaseProxy proxy0, BroadphaseProxy proxy1);
public override void RemoveOverlappingPairsContainingProxy(BroadphaseProxy proxy0, Dispatcher dispatcher) { throw new NotImplementedException(); }
public override bool Process(BroadphaseProxy proxy) { return true; }
public BroadphasePair FindPair(BroadphaseProxy proxy0, BroadphaseProxy proxy1) { return(new BroadphasePair(btOverlappingPairCache_findPair(_native, proxy0._native, proxy1._native))); }
public virtual bool NeedsCollision(BroadphaseProxy proxy0) { return btCollisionWorld_RayResultCallbackWrapper_needsCollision(_native, proxy0._native); }
public override BroadphasePair AddOverlappingPair(BroadphaseProxy proxy0, BroadphaseProxy proxy1) { return(new BroadphasePair(btOverlappingPairCallback_addOverlappingPair(_native, proxy0._native, proxy1._native))); }
public void SetAabbForceUpdate(BroadphaseProxy absproxy, Vector3 aabbMin, Vector3 aabbMax, Dispatcher __unnamed3) { btDbvtBroadphase_setAabbForceUpdate(_native, absproxy._native, ref aabbMin, ref aabbMax, __unnamed3._native); }
public bool NeedsBroadphaseCollision(BroadphaseProxy proxy0, BroadphaseProxy proxy1) { return(btHashedOverlappingPairCache_needsBroadphaseCollision(Native, proxy0.Native, proxy1.Native)); }
public bool NeedsBroadphaseCollision(BroadphaseProxy proxy0, BroadphaseProxy proxy1) { return btSortedOverlappingPairCache_needsBroadphaseCollision(_native, proxy0._native, proxy1._native); }
public void SetNewBroadphaseProxy(BroadphaseProxy broadphaseProxy) { btRigidBody_setNewBroadphaseProxy(Native, broadphaseProxy.Native); }
public override IntPtr RemoveOverlappingPair(BroadphaseProxy proxy0, BroadphaseProxy proxy1, Dispatcher dispatcher) { return btOverlappingPairCallback_removeOverlappingPair(_native, proxy0._native, proxy1._native, dispatcher._native); }
public bool TestAabbOverlap(BroadphaseProxy proxy0, BroadphaseProxy proxy1) { return btSimpleBroadphase_testAabbOverlap(_native, proxy0._native, proxy1._native); }
public bool NeedBroadphaseCollision(BroadphaseProxy proxy0, BroadphaseProxy proxy1) { return btOverlapFilterCallback_needBroadphaseCollision(_native, proxy0._native, proxy1._native); }
bool TestAabbOverlap(BroadphaseProxy proxy0, BroadphaseProxy proxy1) { return(btAxisSweep3_testAabbOverlap(_native, proxy0._native, proxy1._native)); }
public static void SetAabbMin(this BroadphaseProxy obj, OpenTK.Vector3 value) { SetAabbMin(obj, ref value); }