public bool AllowContactGeneration(int workerIndex, CollidablePair pair, int childIndexA, int childIndexB)
 {
     return(CollisionGroup.AllowDetection(CollisionGroups[childIndexA].Filter, CollisionGroups[childIndexB].Filter));
 }
 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));
 }
 public bool ConfigureContactManifold <TManifold>(int workerIndex, CollidablePair pair, ref TManifold manifold,
                                                  out PairMaterialProperties pairMaterial) where TManifold : struct, IContactManifold <TManifold>
 {
     CreateMaterial(out pairMaterial);
     return(CollisionGroup.AllowCollision(CollisionGroups[pair.A.Handle].Filter, CollisionGroups[pair.B.Handle].Filter));
 }