Changeset 15241 for trunk/sources/HeuristicLab.Problems.BinPacking/3.3/3D
- Timestamp:
- 07/14/17 00:04:58 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.BinPacking/3.3/3D/BinPacking3D.cs
r15230 r15241 33 33 public class BinPacking3D : BinPacking<PackingPosition, PackingShape, PackingItem> { 34 34 35 [Storable] 36 public Dictionary<PackingPosition, Tuple<int, int, int>> ResidualSpace { get; protected set; } 37 35 38 public BinPacking3D(PackingShape binShape) 36 39 : base(binShape) { 37 ExtremePoints = new SortedSet<PackingPosition>();38 40 ResidualSpace = new Dictionary<PackingPosition, Tuple<int,int,int>>(); 39 41 AddExtremePoint(binShape.Origin); … … 44 46 protected BinPacking3D(BinPacking3D original, Cloner cloner) 45 47 : base(original, cloner) { 46 this.ExtremePoints = new SortedSet<PackingPosition>(original.ExtremePoints.Select(p => cloner.Clone(p)));47 48 this.ResidualSpace = new Dictionary<PackingPosition, Tuple<int, int, int>>(); 48 49 foreach (var o in original.ResidualSpace) … … 51 52 public override IDeepCloneable Clone(Cloner cloner) { 52 53 return new BinPacking3D(this, cloner); 54 } 55 56 57 [StorableHook(HookType.AfterDeserialization)] 58 private void AfterDeserialization() { 59 // BackwardsCompatibility3.3 60 #region Backwards compatible code, remove with 3.4 61 if (ResidualSpace == null) 62 ResidualSpace = new Dictionary<PackingPosition, Tuple<int, int, int>>(); 63 #endregion 64 } 65 66 public override void PackItem(int itemID, PackingItem item, PackingPosition position) { 67 ResidualSpace.Remove(position); 68 base.PackItem(itemID, item, position); 53 69 } 54 70
Note: See TracChangeset
for help on using the changeset viewer.