예제 #1
0
        internal void synchronize(IBroadPhase broadPhase, ref Transform transform1, ref Transform transform2)
        {
            if (proxyCount == 0)
            {
                return;
            }

            for (int i = 0; i < proxyCount; ++i)
            {
                FixtureProxy proxy = proxies[i];

                // Compute an AABB that covers the swept Shape (may miss some rotation effect).
                AABB aabb1, aabb2;
                shape.computeAABB(out aabb1, ref transform1, proxy.childIndex);
                shape.computeAABB(out aabb2, ref transform2, proxy.childIndex);

                proxy.AABB.combine(ref aabb1, ref aabb2);

                Vector2 displacement = transform2.p - transform1.p;

                broadPhase.moveProxy(proxy.proxyId, ref proxy.AABB, displacement);
            }
        }