hyades.physics.Physics.UpdateBitmask C# (CSharp) Method

UpdateBitmask() public method

public UpdateBitmask ( Body body ) : void
body Body
return void
        public void UpdateBitmask(Body body)
        {
            BoundingSquare box = body.aabb;

            int minX = (int)Math.Floor((box.min.X - aabb.min.X) / cell.X);
            int maxX = (int)Math.Floor((box.max.X - aabb.min.X) / cell.X);

            if (minX < 0) { minX = 0; } else if (minX > 32) { minX = 32; }
            if (maxX < 0) { maxX = 0; } else if (maxX > 32) { maxX = 32; }

            int minY = (int)Math.Floor((box.min.Y - aabb.min.Y) / cell.Y);
            int maxY = (int)Math.Floor((box.max.Y - aabb.min.Y) / cell.Y);

            if (minY < 0) { minY = 0; } else if (minY > 32) { minY = 32; }
            if (maxY < 0) { maxY = 0; } else if (maxY > 32) { maxY = 32; }

            body.bitmaskx.clear();
            for (int i = minX; i <= maxX; i++)
                body.bitmaskx.setOn(i);

            body.bitmasky.clear();
            for (int i = minY; i <= maxY; i++)
                body.bitmasky.setOn(i);
        }