Changeset 14048 for branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.2D/3.3/PackingPosition.cs
- Timestamp:
- 07/12/16 19:54:35 (8 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.2D/3.3/PackingPosition.cs
r14047 r14048 20 20 #endregion 21 21 22 using System.Text;23 22 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 24 23 using HeuristicLab.Core; 25 24 using HeuristicLab.Common; 26 using HeuristicLab.Problems.BinPacking;27 25 28 26 namespace HeuristicLab.Problems.BinPacking2D { 29 [Item(" Two Dimensional Packing", "Represents a packing-position associated with a two dimensional packing-problem.")]27 [Item("Packing Position (2d)", "Represents a packing-position associated with a two dimensional packing-problem.")] 30 28 [StorableClass] 31 // TwoDimensionalPackingis an immutable class (and handled as value type concerning Equals and GetHashCode())32 public class TwoDimensionalPacking : PackingDimensions{29 // PackingPosition is an immutable class (and handled as value type concerning Equals and GetHashCode()) 30 public class PackingPosition : BinPacking.PackingPosition { 33 31 [Storable] 34 32 private readonly int x; … … 40 38 41 39 [StorableConstructor] 42 protected TwoDimensionalPacking(bool deserializing) : base(deserializing) { }43 protected TwoDimensionalPacking(TwoDimensionalPackingoriginal, Cloner cloner)40 protected PackingPosition(bool deserializing) : base(deserializing) { } 41 protected PackingPosition(PackingPosition original, Cloner cloner) 44 42 : base(original, cloner) { 45 43 x = original.X; … … 47 45 } 48 46 49 public TwoDimensionalPacking(int assignedBin, int x, int y, bool rotated = false)47 public PackingPosition(int assignedBin, int x, int y, bool rotated = false) 50 48 : base(assignedBin, rotated) { 51 49 this.x = x; … … 54 52 55 53 public override IDeepCloneable Clone(Cloner cloner) { 56 return new TwoDimensionalPacking(this, cloner);54 return new PackingPosition(this, cloner); 57 55 } 58 56 … … 62 60 63 61 public override bool Equals(object obj) { 64 var other = obj as TwoDimensionalPacking;62 var other = obj as PackingPosition; 65 63 if (other != null) 66 64 return (other.X == this.X && other.Y == this.Y && base.Equals(other)); … … 72 70 } 73 71 74 public static TwoDimensionalPacking MoveLeft(TwoDimensionalPackingoriginal) {75 return new TwoDimensionalPacking(original.AssignedBin, original.X - 1, original.Y, original.Rotated);72 public static PackingPosition MoveLeft(PackingPosition original) { 73 return new PackingPosition(original.AssignedBin, original.X - 1, original.Y, original.Rotated); 76 74 } 77 public static TwoDimensionalPacking MoveDown(TwoDimensionalPackingoriginal) {78 return new TwoDimensionalPacking(original.AssignedBin, original.X, original.Y - 1, original.Rotated);75 public static PackingPosition MoveDown(PackingPosition original) { 76 return new PackingPosition(original.AssignedBin, original.X, original.Y - 1, original.Rotated); 79 77 } 80 78 81 public static TwoDimensionalPacking MoveRight(TwoDimensionalPackingoriginal) {82 return new TwoDimensionalPacking(original.AssignedBin, original.X + 1, original.Y, original.Rotated);79 public static PackingPosition MoveRight(PackingPosition original) { 80 return new PackingPosition(original.AssignedBin, original.X + 1, original.Y, original.Rotated); 83 81 } 84 public static TwoDimensionalPacking MoveUp(TwoDimensionalPackingoriginal) {85 return new TwoDimensionalPacking(original.AssignedBin, original.X, original.Y + 1, original.Rotated);82 public static PackingPosition MoveUp(PackingPosition original) { 83 return new PackingPosition(original.AssignedBin, original.X, original.Y + 1, original.Rotated); 86 84 } 87 85
Note: See TracChangeset
for help on using the changeset viewer.