Changeset 14048 for branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.2D/3.3/RectangularPackingShape.cs
- Timestamp:
- 07/12/16 19:54:35 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.2D/3.3/RectangularPackingShape.cs
r14046 r14048 32 32 [Item("RectangularPackingShape", "Represents the rectangular measures (width, height) of a two-dimensional bin-packing object.")] 33 33 [StorableClass] 34 public class RectangularPackingShape : PackingShape< TwoDimensionalPacking>, IComparable<RectangularPackingShape> {34 public class RectangularPackingShape : PackingShape<PackingPosition>, IComparable<RectangularPackingShape> { 35 35 public int Height { 36 36 get { return ((IFixedValueParameter<IntValue>)Parameters["Height"]).Value.Value; } … … 86 86 87 87 #region Helpers 88 public override TwoDimensionalPacking Origin { get { return new TwoDimensionalPacking(0, 0, 0); } }88 public override PackingPosition Origin { get { return new PackingPosition(0, 0, 0); } } 89 89 public override int Volume { get { return Height * Width; } } 90 90 91 public override bool EnclosesPoint( TwoDimensionalPacking myPosition, TwoDimensionalPackingcheckedPoint) {91 public override bool EnclosesPoint(PackingPosition myPosition, PackingPosition checkedPoint) { 92 92 return (myPosition.X <= checkedPoint.X && 93 93 (myPosition.X + (myPosition.Rotated ? Height : Width) - 1) >= checkedPoint.X && … … 95 95 (myPosition.Y + (myPosition.Rotated ? Width : Height) - 1) >= checkedPoint.Y); 96 96 } 97 public override bool Encloses( TwoDimensionalPacking checkedPosition, PackingShape<TwoDimensionalPacking> checkedShape) {97 public override bool Encloses(PackingPosition checkedPosition, PackingShape<PackingPosition> checkedShape) { 98 98 return Encloses(checkedPosition, (RectangularPackingShape)checkedShape); 99 99 } 100 private bool Encloses( TwoDimensionalPackingcheckedPosition, RectangularPackingShape checkedShape) {100 private bool Encloses(PackingPosition checkedPosition, RectangularPackingShape checkedShape) { 101 101 return Encloses(new RectangleDiagonal(this), new RectangleDiagonal(checkedPosition, checkedShape)); 102 102 } … … 108 108 } 109 109 110 public override bool Overlaps( TwoDimensionalPacking myPosition, TwoDimensionalPacking checkedPosition, PackingShape<TwoDimensionalPacking> checkedShape) {110 public override bool Overlaps(PackingPosition myPosition, PackingPosition checkedPosition, PackingShape<PackingPosition> checkedShape) { 111 111 return Overlaps(myPosition, checkedPosition, (RectangularPackingShape)checkedShape); 112 112 } 113 private bool Overlaps( TwoDimensionalPacking myPosition, TwoDimensionalPackingcheckedPosition, RectangularPackingShape checkedShape) {113 private bool Overlaps(PackingPosition myPosition, PackingPosition checkedPosition, RectangularPackingShape checkedShape) { 114 114 return Overlaps(new RectangleDiagonal(myPosition, this), new RectangleDiagonal(checkedPosition, checkedShape)); 115 115 } … … 136 136 public int x2; 137 137 public int y2; 138 public RectangleDiagonal(RectangularPackingShape myShape) : this(new TwoDimensionalPacking(0, 0, 0), myShape) { }139 public RectangleDiagonal( TwoDimensionalPackingmyPosition, RectangularPackingShape myShape) {138 public RectangleDiagonal(RectangularPackingShape myShape) : this(new PackingPosition(0, 0, 0), myShape) { } 139 public RectangleDiagonal(PackingPosition myPosition, RectangularPackingShape myShape) { 140 140 x1 = myPosition.X; 141 141 y1 = myPosition.Y;
Note: See TracChangeset
for help on using the changeset viewer.