DrawAABB() public static method

public static DrawAABB ( AABB aabb, Color c ) : void
aabb Box2DX.Collision.AABB
c Box2DX.Dynamics.Color
return void
Exemplo n.º 1
0
        public override void Step(Settings settings)
        {
            //B2_NOT_USED(settings);

            if (_automated == true)
            {
                int actionCount = Box2DXMath.Max(1, k_actorCount >> 2);

                for (int i = 0; i < actionCount; ++i)
                {
                    Action();
                }
            }

            _broadPhase.Commit();

            for (int i = 0; i < k_actorCount; ++i)
            {
                Actor actor = _actors[i];
                if (actor.proxyId == PairManager.NullProxy)
                {
                    continue;
                }

                Color c = new Color();
                switch (actor.overlapCount)
                {
                case 0:
                    c.R = 0.9f; c.G = 0.9f; c.B = 0.9f;
                    break;

                case 1:
                    c.R = 0.6f; c.G = 0.9f; c.B = 0.6f;
                    break;

                default:
                    c.R = 0.9f; c.G = 0.6f; c.B = 0.6f;
                    break;
                }

                OpenGLDebugDraw.DrawAABB(actor.aabb, c);
            }

            StringBuilder strBld = new StringBuilder();

            strBld.AppendFormat("overlaps = {0}, exact = {1}, diff = {2}",
                                new object[] { _overlapCount, _overlapCountExact, _overlapCount - _overlapCountExact });
            OpenGLDebugDraw.DrawString(5, 30, strBld.ToString());
            Validate();

            ++_stepCount;
        }