protected override BinPacking3D CreatePacking(
   Solution partialSolution,
   ref IList<int> remainingIDs, IList<PackingItem> items, bool useStackingConstraints) {
   var bp = new BinPacking3D(partialSolution.BinShape);
   bp.ExtremePointBasedPacking(ref remainingIDs, items, useStackingConstraints);
   return bp;
 }
 protected override PackingPosition FindPositionForItem(BinPacking3D bp, PackingItem item, bool useStackingConstraints) {
   return bp.FindExtremePointForItem(item, rotated: false, stackingConstraints: useStackingConstraints);
 }
 protected override PackingPosition FindPositionForItem(BinPacking3D bp, PackingItem item, bool useStackingConstraints) {
   return bp.FindPositionBySliding(item, rotated: false);
 }