Exemplo n.º 1
0
 public void IntersectAABBs(AbstractCollider colliderA, List <AbstractCollider> candidates, List <AbstractCollider> containedBy, List <AbstractCollider> intersect, List <AbstractCollider> depenetrate)
 {
     foreach (AbstractCollider colliderB in candidates)
     {
         if (colliderA != colliderB && Collide.Intersects(colliderA.aabb, colliderB.aabb))
         {
             intersect?.Add(colliderB);
             containedBy?.Add(colliderB);
             depenetrate?.Add(colliderB);
         }
     }
 }
Exemplo n.º 2
0
        public void FindIntersections(AbstractCollider colliderA, List<AbstractCollider> candidates, HashSet<AbstractCollider> intersectionsA)
        {
            foreach (AbstractCollider colliderB in candidates)
            {
                ColliderPair pair = new ColliderPair(colliderA, colliderB);

                if (!checkedPairs.Contains(pair) && Collide.Intersects(colliderA, colliderB))
                {
                    checkedPairs.Add(pair);
                    intersectionsA.Add(colliderB);
                    intersections[colliderB].Add(colliderB);
                }
            }
        }