public void OnChildPairCompleted(int pairId, int childA, int childB, ref ConvexContactManifold manifold) { //If you need to do any processing on a child manifold before it goes back to a nonconvex processing pass, this is the place to do it. //Convex-convex pairs won't invoke this function at all. }
public bool ConfigureContactManifold(int workerIndex, CollidablePair pair, int childIndexA, int childIndexB, ref ConvexContactManifold manifold) { return(true); }
private static unsafe void ComputeMeshSpaceContacts(ref ConvexContactManifold manifold, in Matrix3x3 inverseMeshOrientation, bool requiresFlip, Vector3 *meshSpaceContacts, out Vector3 meshSpaceNormal)
public bool ConfigureContactManifold(int workerIndex, CollidablePair pair, int childIndexA, int childIndexB, ref ConvexContactManifold manifold) { if (manifold.Count > 0) { Console.WriteLine($"SUBPAIR: {pair.A} child {childIndexA} versus {pair.B} child {childIndexB}"); } return(true); }
public unsafe void OnChildCompleted <TCallbacks>(ref PairContinuation report, ref ConvexContactManifold manifold, ref CollisionBatcher <TCallbacks> batcher) where TCallbacks : struct, ICollisionCallbacks { Inner.OnChildCompleted(ref report, ref manifold, ref batcher); }
public unsafe void OnChildPairCompleted(int pairId, int childA, int childB, ref ConvexContactManifold manifold) { }
public bool ConfigureContactManifold(int workerIndex, CollidablePair pair, int childIndexA, int childIndexB, ref ConvexContactManifold manifold) { BepuPhysicsComponent A = getFromReference(pair.A); BepuPhysicsComponent B = getFromReference(pair.B); if (((uint)A.CanCollideWith & (uint)B.CollisionGroup) != 0) { RecordContact(A, B, ref manifold); return(!A.GhostBody && !B.GhostBody); } return(false); }
static unsafe void RemoveIfOutsideBounds(ref ConvexContactManifold manifold, ref int contactIndex, in Vector3 meshSpaceContact, in BoundingBox queryBounds)
public bool ConfigureContactManifold(int workerIndex, CollidablePair pair, int childIndexA, int childIndexB, ref ConvexContactManifold manifold) { return(CollisionGroup.AllowCollision(CollisionGroups[pair.A.Handle].Filter, CollisionGroups[pair.B.Handle].Filter)); }