Exemplo n.º 1
0
        public void PackItem(int itemID, TItem item, TPos position)
        {
            Items[itemID]     = item;
            Positions[itemID] = position;
            ExtremePoints.Remove(position);
            foreach (int id in Items.Select(x => x.Key))
            {
                GenerateNewExtremePointsForNewItem(Items[id], Positions[id]);
            }

            AddNewItemToOccupationLayers(itemID, item, position);
        }
        public override void PackItem(int itemID, PackingItem item, PackingPosition position)
        {
            // base call is deliberately omitted, because UpdateResidualSpace needs to be fitted in before
            Items[itemID]     = item;
            Positions[itemID] = position;
            ExtremePoints.Remove(position);
            ResidualSpace.Remove(position);
            UpdateResidualSpace(item, position);
            foreach (int id in Items.Select(x => x.Key))
            {
                GenerateNewExtremePointsForNewItem(Items[id], Positions[id]);
            }

            AddNewItemToOccupationLayers(itemID, item, position);
        }