Box2D.Collision.Collision.GetPointStates C# (CSharp) Метод

GetPointStates() публичный статический Метод

Compute the point states given two manifolds. The states pertain to the transition from manifold1 to manifold2. So state1 is either persist or remove while state2 is either add or persist.
public static GetPointStates ( PointState state1, PointState state2, Manifold manifold1, Manifold manifold2 ) : void
state1 PointState
state2 PointState
manifold1 Manifold
manifold2 Manifold
Результат void
        public static void GetPointStates(PointState[] state1, PointState[] state2, Manifold manifold1, Manifold manifold2)
        {
            for (int i = 0; i < Settings.MAX_MANIFOLD_POINTS; i++)
            {
                state1[i] = PointState.NullState;
                state2[i] = PointState.NullState;
            }

            // Detect persists and removes.
            for (int i = 0; i < manifold1.PointCount; i++)
            {
                ContactID id = manifold1.Points[i].Id;

                state1[i] = PointState.RemoveState;

                for (int j = 0; j < manifold2.PointCount; j++)
                {
                    if (manifold2.Points[j].Id.IsEqual(id))
                    {
                        state1[i] = PointState.PersistState;
                        break;
                    }
                }
            }

            // Detect persists and adds
            for (int i = 0; i < manifold2.PointCount; i++)
            {
                ContactID id = manifold2.Points[i].Id;

                state2[i] = PointState.AddState;

                for (int j = 0; j < manifold1.PointCount; j++)
                {
                    if (manifold1.Points[j].Id.IsEqual(id))
                    {
                        state2[i] = PointState.PersistState;
                        break;
                    }
                }
            }
        }