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