DVDoug\BoxPacker\VolumePacker::tryAndStackItemsIntoSpace PHP Метод

tryAndStackItemsIntoSpace() защищенный Метод

Figure out if we can stack the next item vertically on top of this rather than side by side Used when we've packed a tall item, and have just put a shorter one next to it
protected tryAndStackItemsIntoSpace ( ItemList $packedItems, integer $maxWidth, integer $maxLength, integer $maxDepth )
$packedItems ItemList
$maxWidth integer
$maxLength integer
$maxDepth integer
    protected function tryAndStackItemsIntoSpace(ItemList $packedItems, $maxWidth, $maxLength, $maxDepth)
    {
        while (!$this->items->isEmpty() && $this->remainingWeight >= $this->items->top()->getWeight()) {
            $stackedItem = $this->findBestOrientation($this->items->top(), null, null, $maxWidth, $maxLength, $maxDepth);
            if ($stackedItem) {
                $this->remainingWeight -= $this->items->top()->getWeight();
                $maxDepth -= $stackedItem->getDepth();
                $packedItems->insert($this->items->extract());
            } else {
                break;
            }
        }
    }