Changeset 9599 for branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Shapes/CuboidPackingShape.cs
- Timestamp:
- 06/09/13 12:58:39 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Shapes/CuboidPackingShape.cs
r9596 r9599 57 57 58 58 public override bool EnclosesPoint(ThreeDimensionalPacking myPosition, ThreeDimensionalPacking checkedPoint) { 59 var c = new CuboidDiagonal(myPosition, this); 60 return (c.x1 <= checkedPoint.X && 61 c.x2 >= checkedPoint.X && 62 c.y1 <= checkedPoint.Y && 63 c.y2 >= checkedPoint.Y && 64 c.z1 <= checkedPoint.Z && 65 c.z2 >= checkedPoint.Z); 59 return (myPosition.X <= checkedPoint.X && 60 (myPosition.X + (myPosition.Rotated ? Depth : Width) - 1) >= checkedPoint.X && 61 myPosition.Y <= checkedPoint.Y && 62 (myPosition.Y + Height - 1) >= checkedPoint.Y && 63 myPosition.Z <= checkedPoint.Z && 64 (myPosition.Z + (myPosition.Rotated ? Width : Depth) - 1) >= checkedPoint.Z); 66 65 } 67 66 public override bool Encloses(ThreeDimensionalPacking checkedPosition, PackingShape<ThreeDimensionalPacking> checkedShape) { … … 87 86 } 88 87 private bool Overlaps(CuboidDiagonal c1, CuboidDiagonal c2) { 89 return !(c1.x1 > =c2.x2 ||90 c1.y1 > =c2.y2 ||91 c1.z1 > =c2.z2 ||92 c1.x2 < =c2.x1 ||93 c1.y2 < =c2.y1 ||94 c1.z2 < =c2.z1);88 return !(c1.x1 > c2.x2 || 89 c1.y1 > c2.y2 || 90 c1.z1 > c2.z2 || 91 c1.x2 < c2.x1 || 92 c1.y2 < c2.y1 || 93 c1.z2 < c2.z1); 95 94 } 96 95 … … 175 174 y1 = myPosition.Y; 176 175 z1 = myPosition.Z; 177 x2 = myPosition.X + (myPosition.Rotated ? myShape.Depth : myShape.Width) ;178 y2 = myPosition.Y + myShape.Height ;179 z2 = myPosition.Z + (myPosition.Rotated ? myShape.Width : myShape.Depth) ;176 x2 = myPosition.X + (myPosition.Rotated ? myShape.Depth : myShape.Width) - 1; 177 y2 = myPosition.Y + myShape.Height - 1; 178 z2 = myPosition.Z + (myPosition.Rotated ? myShape.Width : myShape.Depth) - 1; 180 179 } 181 180 }
Note: See TracChangeset
for help on using the changeset viewer.