Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/12/16 20:03:45 (8 years ago)
Author:
gkronber
Message:

#1966: simplified class names

Location:
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3
Files:
13 edited
3 moved

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/BinPacking3D.cs

    r14048 r14049  
    3030  [Item("BinPacking3D", "Represents a single-bin packing for a 3D bin-packing problem.")]
    3131  [StorableClass]
    32   public class BinPacking3D : BinPacking<PackingPosition, CuboidPackingShape, CuboidPackingItem> {
    33 
    34     public BinPacking3D(CuboidPackingShape binMeasures)
     32  public class BinPacking3D : BinPacking<PackingPosition, PackingShape, PackingItem> {
     33
     34    public BinPacking3D(PackingShape binMeasures)
    3535      : base(binMeasures) {
    3636      ExtremePoints = new SortedSet<PackingPosition>(new EPComparer3D());
     
    4848    }
    4949
    50     protected override void GenerateNewExtremePointsForNewItem(CuboidPackingItem newItem, PackingPosition position) {
     50    protected override void GenerateNewExtremePointsForNewItem(PackingItem newItem, PackingPosition position) {
    5151      int newWidth = position.Rotated ? newItem.Depth : newItem.Width;
    5252      int newDepth = position.Rotated ? newItem.Width : newItem.Depth;
     
    146146    }
    147147
    148     public override PackingPosition FindExtremePointForItem(CuboidPackingItem measures, bool rotated, bool stackingConstraints) {
    149 
    150       CuboidPackingItem item = new CuboidPackingItem(
     148    public override PackingPosition FindExtremePointForItem(PackingItem measures, bool rotated, bool stackingConstraints) {
     149
     150      PackingItem item = new PackingItem(
    151151        rotated ? measures.Depth : measures.Width,
    152152        measures.Height,
     
    170170    }
    171171
    172     public override PackingPosition FindPositionBySliding(CuboidPackingItem measures, bool rotated) {
     172    public override PackingPosition FindPositionBySliding(PackingItem measures, bool rotated) {
    173173      //Starting-position at upper right corner (=left bottom point of item-rectangle is at position item.width,item.height)
    174174      PackingPosition currentPosition = new PackingPosition(0,
     
    197197    }
    198198
    199     public override void SlidingBasedPacking(ref List<int> sequence, ItemList<CuboidPackingItem> itemMeasures) {
     199    public override void SlidingBasedPacking(ref List<int> sequence, ItemList<PackingItem> itemMeasures) {
    200200      var temp = new List<int>(sequence);
    201201      for (int i = 0; i < temp.Count; i++) {
     
    208208      }
    209209    }
    210     public override void SlidingBasedPacking(ref List<int> sequence, ItemList<CuboidPackingItem> itemMeasures, Dictionary<int, bool> rotationArray) {
     210    public override void SlidingBasedPacking(ref List<int> sequence, ItemList<PackingItem> itemMeasures, Dictionary<int, bool> rotationArray) {
    211211      var temp = new List<int>(sequence);
    212212      for (int i = 0; i < temp.Count; i++) {
     
    219219      }
    220220    }
    221     public override void ExtremePointBasedPacking(ref List<int> sequence, ItemList<CuboidPackingItem> itemMeasures, bool stackingConstraints) {
     221    public override void ExtremePointBasedPacking(ref List<int> sequence, ItemList<PackingItem> itemMeasures, bool stackingConstraints) {
    222222      var temp = new List<int>(sequence);
    223223      foreach (int itemID in temp) {
     
    230230      }
    231231    }
    232     public override void ExtremePointBasedPacking(ref List<int> sequence, ItemList<CuboidPackingItem> itemMeasures, bool stackingConstraints, Dictionary<int, bool> rotationArray) {
     232    public override void ExtremePointBasedPacking(ref List<int> sequence, ItemList<PackingItem> itemMeasures, bool stackingConstraints, Dictionary<int, bool> rotationArray) {
    233233      var temp = new List<int>(sequence);
    234234      foreach (int itemID in temp) {
     
    271271      return shortestSide;
    272272    }
    273     public override bool IsStaticStable(CuboidPackingItem item, PackingPosition position) {
     273    public override bool IsStaticStable(PackingItem item, PackingPosition position) {
    274274      //Static stability is given, if item is placed on the ground
    275275      if (position.Y == 0)
     
    314314    }
    315315
    316     public bool IsSupportedByAtLeastOnePoint(CuboidPackingItem item, PackingPosition position) {
     316    public bool IsSupportedByAtLeastOnePoint(PackingItem item, PackingPosition position) {
    317317      if (position.Y == 0)
    318318        return true;
     
    326326      return false;
    327327    }
    328     public bool IsWeightSupported(CuboidPackingItem item, PackingPosition ep) {
     328    public bool IsWeightSupported(PackingItem item, PackingPosition ep) {
    329329      if (ep.Y == 0)
    330330        return true;
     
    345345      }
    346346    }
    347     protected override void AddNewItemToOccupationLayers(int itemID, CuboidPackingItem measures, PackingPosition position) {
     347    protected override void AddNewItemToOccupationLayers(int itemID, PackingItem measures, PackingPosition position) {
    348348      int z1 = position.Z / 10;
    349349      int z2 = (position.Z + (position.Rotated ? measures.Width : measures.Depth)) / 10;
     
    355355      return OccupationLayers[position.Z / 10];
    356356    }
    357     protected override List<int> GetLayerItemIDs(CuboidPackingItem measures, PackingPosition position) {
     357    protected override List<int> GetLayerItemIDs(PackingItem measures, PackingPosition position) {
    358358      List<int> result = new List<int>();
    359359      int z1 = position.Z / 10;
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/Decoders/DBL/DeepestBottomLeftGroupingVectorDecoder.cs

    r14048 r14049  
    3131  [Item("Identical bin, three dimensional, GroupingVector-decoder", "<Description missing...>")]
    3232  [StorableClass]
    33   public class DeepestBottomLeftGroupingVectorDecoder : PackingSolutionDecoder<PackingPosition, CuboidPackingShape, CuboidPackingItem>, I3DGVDecoder {
     33  public class DeepestBottomLeftGroupingVectorDecoder : PackingSolutionDecoder<PackingPosition, PackingShape, PackingItem>, I3DGVDecoder {
    3434    public DeepestBottomLeftGroupingVectorDecoder() : base() {}
    3535    [StorableConstructor]
     
    4242    }
    4343
    44     public override PackingPlan<PackingPosition, CuboidPackingShape, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingShape binMeasures, ItemList<CuboidPackingItem> itemMeasures) {
     44    public override PackingPlan<PackingPosition, PackingShape, PackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, PackingShape binMeasures, ItemList<PackingItem> itemMeasures) {
    4545      var solution = encodedSolution as GroupingVectorEncoding;
    4646      if (solution == null) throw new InvalidOperationException("Encoding is not of type GroupingVector");
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/Decoders/DBL/DeepestBottomLeftMultiComponentVectorDecoder.cs

    r14048 r14049  
    3131  [Item("Identical bin, three dimensional, MultiComponentVector-decoder", "<Description missing...>")]
    3232  [StorableClass]
    33   public class DeepestBottomLeftMultiComponentVectorDecoder : PackingSolutionDecoder<PackingPosition, CuboidPackingShape, CuboidPackingItem>, I3DMCVDecoder {
     33  public class DeepestBottomLeftMultiComponentVectorDecoder : PackingSolutionDecoder<PackingPosition, PackingShape, PackingItem>, I3DMCVDecoder {
    3434    public DeepestBottomLeftMultiComponentVectorDecoder() : base() { }
    3535    [StorableConstructor]
     
    4242    }
    4343
    44     public override PackingPlan<PackingPosition, CuboidPackingShape, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingShape binMeasures, ItemList<CuboidPackingItem> itemMeasures) {
     44    public override PackingPlan<PackingPosition, PackingShape, PackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, PackingShape binMeasures, ItemList<PackingItem> itemMeasures) {
    4545      var solution = encodedSolution as MultiComponentVectorEncoding;
    4646      if (solution == null) throw new InvalidOperationException("Encoding is not of type MultiComponent Vector");
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/Decoders/DBL/DeepestBottomLeftPackingSequenceDecoder.cs

    r14048 r14049  
    3131  [Item("Identical bin, three dimensional, PackingSequence-decoder", "<Description missing...>")]
    3232  [StorableClass]
    33   public class DeepestBottomLeftPackingSequenceDecoder : PackingSolutionDecoder<PackingPosition, CuboidPackingShape, CuboidPackingItem>, I3DPSDecoder {
     33  public class DeepestBottomLeftPackingSequenceDecoder : PackingSolutionDecoder<PackingPosition, PackingShape, PackingItem>, I3DPSDecoder {
    3434    public DeepestBottomLeftPackingSequenceDecoder(): base() {}
    3535    [StorableConstructor]
     
    4242    }
    4343
    44     public override PackingPlan<PackingPosition, CuboidPackingShape, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingShape binMeasures, ItemList<CuboidPackingItem> itemMeasures) {
     44    public override PackingPlan<PackingPosition, PackingShape, PackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, PackingShape binMeasures, ItemList<PackingItem> itemMeasures) {
    4545      var solution = encodedSolution as PackingSequenceEncoding;
    4646      if (solution == null) throw new InvalidOperationException("Encoding is not of type PackingSequence");
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/Decoders/EP/ExtremePointGroupingVectorDecoder3D.cs

    r14048 r14049  
    3131  [Item("Identical bin, three dimensional, extreme points based decoder for the GroupingVector encoding.", "<Description missing...>")]
    3232  [StorableClass]
    33   public class ExtremePointGroupingVectorDecoder3D : PackingSolutionDecoder<PackingPosition, CuboidPackingShape, CuboidPackingItem>, I3DGVDecoder {
     33  public class ExtremePointGroupingVectorDecoder3D : PackingSolutionDecoder<PackingPosition, PackingShape, PackingItem>, I3DGVDecoder {
    3434    public ExtremePointGroupingVectorDecoder3D() : base() { }
    3535    [StorableConstructor]
     
    4242    }
    4343
    44     public static PackingPlan<PackingPosition, CuboidPackingShape, CuboidPackingItem> Decode(GroupingVectorEncoding solution, CuboidPackingShape binMeasures, ItemList<CuboidPackingItem> itemMeasures, bool stackingConstraints) {
     44    public static PackingPlan<PackingPosition, PackingShape, PackingItem> Decode(GroupingVectorEncoding solution, PackingShape binMeasures, ItemList<PackingItem> itemMeasures, bool stackingConstraints) {
    4545      Solution result = new Solution(binMeasures, true, stackingConstraints);
    4646      result.Pack(solution, itemMeasures);
     
    4848    }
    4949
    50     public override PackingPlan<PackingPosition, CuboidPackingShape, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingShape binMeasures, ItemList<CuboidPackingItem> itemMeasures) {
     50    public override PackingPlan<PackingPosition, PackingShape, PackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, PackingShape binMeasures, ItemList<PackingItem> itemMeasures) {
    5151      var solution = encodedSolution as GroupingVectorEncoding;
    5252      if (solution == null) throw new InvalidOperationException("Encoding is not of type GroupingVector");
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/Decoders/EP/ExtremePointMultiComponentVectorDecoder3D.cs

    r14048 r14049  
    3131  [Item("Identical bin, three dimensional, extreme points based decoder for the MultiComponentVector encoding.", "<Description missing...>")]
    3232  [StorableClass]
    33   public class ExtremePointMultiComponentVectorDecoder3D : PackingSolutionDecoder<PackingPosition, CuboidPackingShape, CuboidPackingItem>, I3DMCVDecoder {
     33  public class ExtremePointMultiComponentVectorDecoder3D : PackingSolutionDecoder<PackingPosition, PackingShape, PackingItem>, I3DMCVDecoder {
    3434    public ExtremePointMultiComponentVectorDecoder3D () : base() { }
    3535    [StorableConstructor]
     
    4242    }
    4343
    44     public static PackingPlan<PackingPosition, CuboidPackingShape, CuboidPackingItem> Decode(MultiComponentVectorEncoding solution, CuboidPackingShape binMeasures, ItemList<CuboidPackingItem> itemMeasures, bool stackingConstraints) {
     44    public static PackingPlan<PackingPosition, PackingShape, PackingItem> Decode(MultiComponentVectorEncoding solution, PackingShape binMeasures, ItemList<PackingItem> itemMeasures, bool stackingConstraints) {
    4545      Solution result = new Solution(binMeasures, true, stackingConstraints);
    4646      result.Pack(solution, itemMeasures);
     
    4848    }
    4949
    50     public override PackingPlan<PackingPosition, CuboidPackingShape, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingShape binMeasures, ItemList<CuboidPackingItem> itemMeasures) {
     50    public override PackingPlan<PackingPosition, PackingShape, PackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, PackingShape binMeasures, ItemList<PackingItem> itemMeasures) {
    5151      var solution = encodedSolution as MultiComponentVectorEncoding;
    5252      if (solution == null) throw new InvalidOperationException("Encoding is not of type MultiComponentVector");
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/Decoders/EP/ExtremePointPackingSequenceDecoder3D.cs

    r14048 r14049  
    3232  [Item("Identical bin, three dimensional, extreme points based decoder for the PackingSequence encoding.", "<Description missing...>")]
    3333  [StorableClass]
    34   public class ExtremePointPackingSequenceDecoder3D : PackingSolutionDecoder<PackingPosition, CuboidPackingShape, CuboidPackingItem>, I3DPSDecoder {
     34  public class ExtremePointPackingSequenceDecoder3D : PackingSolutionDecoder<PackingPosition, PackingShape, PackingItem>, I3DPSDecoder {
    3535    public ExtremePointPackingSequenceDecoder3D () : base() {}
    3636    [StorableConstructor]
     
    4444
    4545
    46     public override PackingPlan<PackingPosition, CuboidPackingShape, CuboidPackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, CuboidPackingShape binMeasures, ItemList<CuboidPackingItem> itemMeasures) {
     46    public override PackingPlan<PackingPosition, PackingShape, PackingItem> CreatePackingPlanFromEncoding(IItem encodedSolution, PackingShape binMeasures, ItemList<PackingItem> itemMeasures) {
    4747      var solution = encodedSolution as PackingSequenceEncoding;
    4848      if (solution == null) throw new InvalidOperationException("Encoding is not of type PackingSequence");
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/HeuristicLab.Problems.BinPacking3D-3.3.csproj

    r14048 r14049  
    159159  <ItemGroup>
    160160    <Compile Include="BinPacking3D.cs" />
    161     <Compile Include="CuboidIdenticalBinPackingProblem.cs" />
    162     <Compile Include="CuboidPackingItem.cs" />
    163     <Compile Include="CuboidPackingShape.cs" />
    164161    <Compile Include="DecoderInterfaces\I3DGVDecoder.cs" />
    165162    <Compile Include="DecoderInterfaces\I3DMCVDecoder.cs" />
     
    175172    <Compile Include="MoveEvaluators\PackingMoveEvaluator3DMCV.cs" />
    176173    <Compile Include="MoveEvaluators\PackingMoveEvaluator3DPS.cs" />
     174    <Compile Include="PackingItem.cs" />
    177175    <Compile Include="PackingPosition.cs" />
    178176    <Compile Include="PackingRatioCuboidIdenticalBinEvaluator.cs" />
     177    <Compile Include="PackingShape.cs" />
    179178    <Compile Include="Plugin.cs" />
     179    <Compile Include="Problem.cs" />
    180180    <Compile Include="Properties\AssemblyInfo.cs" />
    181181    <Compile Include="Solution.cs" />
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/MoveEvaluators/PackingMoveEvaluator3DGV.cs

    r14048 r14049  
    3030  [Item("GroupingVectorMoveEvaluator3D", "Class for evaluating packing moves for 3dimensional problems.")]
    3131  [StorableClass]
    32   public class PackingMoveEvaluator3DGV : PackingMoveEvaluator<PackingPosition, CuboidPackingShape, CuboidPackingItem>, ISingleObjectiveMoveEvaluator, IGroupingVectorMoveOperator, I3DOperator {
     32  public class PackingMoveEvaluator3DGV : PackingMoveEvaluator<PackingPosition, PackingShape, PackingItem>, ISingleObjectiveMoveEvaluator, IGroupingVectorMoveOperator, I3DOperator {
    3333    [StorableConstructor]
    3434    protected PackingMoveEvaluator3DGV(bool deserializing) : base(deserializing) { }
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/MoveEvaluators/PackingMoveEvaluator3DMCV.cs

    r14048 r14049  
    3030  [Item("MultiComponentVectorMoveEvaluator3D", "Class for evaluating packing moves for 3dimensional problems.")]
    3131  [StorableClass]
    32   public class PackingMoveEvaluator3DMCV : PackingMoveEvaluator<PackingPosition, CuboidPackingShape, CuboidPackingItem>, ISingleObjectiveMoveEvaluator, IMultiComponentVectorMoveOperator, I3DOperator {
     32  public class PackingMoveEvaluator3DMCV : PackingMoveEvaluator<PackingPosition, PackingShape, PackingItem>, ISingleObjectiveMoveEvaluator, IMultiComponentVectorMoveOperator, I3DOperator {
    3333    [StorableConstructor]
    3434    protected PackingMoveEvaluator3DMCV(bool deserializing) : base(deserializing) { }
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/MoveEvaluators/PackingMoveEvaluator3DPS.cs

    r14048 r14049  
    3030  [Item("PackingSequenceMoveEvaluator3D", "Class for evaluating packing moves for 3dimensional problems.")]
    3131  [StorableClass]
    32   public class PackingMoveEvaluator3DPS : PackingMoveEvaluator<PackingPosition, CuboidPackingShape, CuboidPackingItem>, ISingleObjectiveMoveEvaluator, IPackingSequenceMoveOperator, I3DOperator {
     32  public class PackingMoveEvaluator3DPS : PackingMoveEvaluator<PackingPosition, PackingShape, PackingItem>, ISingleObjectiveMoveEvaluator, IPackingSequenceMoveOperator, I3DOperator {
    3333    [StorableConstructor]
    3434    protected PackingMoveEvaluator3DPS(bool deserializing) : base(deserializing) { }
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/PackingItem.cs

    r14048 r14049  
    2828
    2929namespace HeuristicLab.Problems.BinPacking3D {
    30   [Item("CuboidPackingItem", "Represents a cuboidic packing-item for bin-packing problems.")]
     30  [Item("PackingItem (3d)", "Represents a cuboidic packing-item for bin-packing problems.")]
    3131  [StorableClass]
    32   public class CuboidPackingItem : CuboidPackingShape, IPackingItem {
    33     public IValueParameter<CuboidPackingShape> TargetBinParameter {
    34       get { return (IValueParameter<CuboidPackingShape>)Parameters["TargetBin"]; }
     32  public class PackingItem : PackingShape, IPackingItem {
     33    public IValueParameter<PackingShape> TargetBinParameter {
     34      get { return (IValueParameter<PackingShape>)Parameters["TargetBin"]; }
    3535    }
    3636    public IFixedValueParameter<DoubleValue> WeightParameter {
     
    4141    }
    4242
    43     public CuboidPackingShape TargetBin {
     43    public PackingShape TargetBin {
    4444      get { return TargetBinParameter.Value; }
    4545      set { TargetBinParameter.Value = value; }
     
    6161
    6262    [StorableConstructor]
    63     protected CuboidPackingItem(bool deserializing) : base(deserializing) { }
    64     protected CuboidPackingItem(CuboidPackingItem original, Cloner cloner)
     63    protected PackingItem(bool deserializing) : base(deserializing) { }
     64    protected PackingItem(PackingItem original, Cloner cloner)
    6565      : base(original, cloner) {
    6666      RegisterEvents();
    6767    }
    68     public CuboidPackingItem()
     68    public PackingItem()
    6969      : base() {
    70       Parameters.Add(new ValueParameter<CuboidPackingShape>("TargetBin"));
     70      Parameters.Add(new ValueParameter<PackingShape>("TargetBin"));
    7171      Parameters.Add(new FixedValueParameter<DoubleValue>("Weight"));
    7272      Parameters.Add(new FixedValueParameter<IntValue>("Material"));
     
    7575    }
    7676
    77     public CuboidPackingItem(int width, int height, int depth, CuboidPackingShape targetBin, double weight, int material)
     77    public PackingItem(int width, int height, int depth, PackingShape targetBin, double weight, int material)
    7878      : this() {
    7979      this.Width = width;
     
    8282      this.Weight = weight;
    8383      this.Material = material;
    84       this.TargetBin = (CuboidPackingShape)targetBin.Clone();
     84      this.TargetBin = (PackingShape)targetBin.Clone();
    8585    }
    8686
    87     public CuboidPackingItem(int width, int height, int depth, CuboidPackingShape targetBin)
     87    public PackingItem(int width, int height, int depth, PackingShape targetBin)
    8888      : this() {
    8989      this.Width = width;
    9090      this.Height = height;
    9191      this.Depth = depth;
    92       this.TargetBin = (CuboidPackingShape)targetBin.Clone();
     92      this.TargetBin = (PackingShape)targetBin.Clone();
    9393    }
    9494
     
    9999
    100100    public override IDeepCloneable Clone(Cloner cloner) {
    101       return new CuboidPackingItem(this, cloner);
     101      return new PackingItem(this, cloner);
    102102    }
    103103
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/PackingRatioCuboidIdenticalBinEvaluator.cs

    r14048 r14049  
    2828  [Item("Packing-Ratio Cuboid Identical-Bin Evaluator", "Represents an evaluation-algorithm for cuboid-shaped bin-packing problems with identical bins which calculates the ratio between packed and unpacked space. Found in Falkenauer:1996")]
    2929  [StorableClass]
    30   public class PackingRatioCuboidIdenticalBinEvaluator : PackingRatioRegularIdenticalBinEvaluator<PackingPosition, CuboidPackingShape, CuboidPackingItem> {
     30  public class PackingRatioCuboidIdenticalBinEvaluator : PackingRatioRegularIdenticalBinEvaluator<PackingPosition, PackingShape, PackingItem> {
    3131
    3232    [StorableConstructor]
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/PackingShape.cs

    r14048 r14049  
    2929
    3030namespace HeuristicLab.Problems.BinPacking3D {
    31   [Item("CuboidPackingShape", "Represents the cuboid measures (width, height, depth) of a three-dimensional cuboidic bin-packing object.")]
     31  [Item("PackingShape (3d)", "Represents the cuboid measures (width, height, depth) of a three-dimensional cuboidic bin-packing object.")]
    3232  [StorableClass]
    33   public class CuboidPackingShape : PackingShape<PackingPosition>, IComparable<CuboidPackingShape> {
     33  public class PackingShape : PackingShape<PackingPosition>, IComparable<PackingShape> {
    3434    public IFixedValueParameter<IntValue> HeightParameter {
    3535      get { return (IFixedValueParameter<IntValue>)Parameters["Height"]; }
     
    5858
    5959    [StorableConstructor]
    60     protected CuboidPackingShape(bool deserializing) : base(deserializing) { }
    61     protected CuboidPackingShape(CuboidPackingShape original, Cloner cloner)
     60    protected PackingShape(bool deserializing) : base(deserializing) { }
     61    protected PackingShape(PackingShape original, Cloner cloner)
    6262      : base(original, cloner) {
    6363      RegisterEvents();
    6464    }
    65     public CuboidPackingShape()
     65    public PackingShape()
    6666      : base() {
    6767      Parameters.Add(new FixedValueParameter<IntValue>("Width"));
     
    7272    }
    7373
    74     public CuboidPackingShape(int width, int height, int depth)
     74    public PackingShape(int width, int height, int depth)
    7575      : this() {
    7676      this.Width = width;
     
    8080
    8181    public override IDeepCloneable Clone(Cloner cloner) {
    82       return new CuboidPackingShape(this, cloner);
     82      return new PackingShape(this, cloner);
    8383    }
    8484
     
    101101    #region IComparable Members
    102102
    103     public int CompareTo(CuboidPackingShape other) {
     103    public int CompareTo(PackingShape other) {
    104104      //Using "Clustered-Area-Height"-comparison as descr
    105105
     
    114114
    115115    public override int CompareTo(object obj) {
    116       var other = (CuboidPackingShape)obj;
     116      var other = (PackingShape)obj;
    117117      if (other != null) return CompareTo(other);
    118118      else throw new ArgumentException(string.Format("Cannot compare with object {0}", obj), "obj");
     
    128128      public int y2;
    129129      public int z2;
    130       public CuboidDiagonal(CuboidPackingShape myShape) : this(new PackingPosition(0, 0, 0, 0), myShape) { }
    131       public CuboidDiagonal(PackingPosition myPosition, CuboidPackingShape myShape) {
     130      public CuboidDiagonal(PackingShape myShape) : this(new PackingPosition(0, 0, 0, 0), myShape) { }
     131      public CuboidDiagonal(PackingPosition myPosition, PackingShape myShape) {
    132132        x1 = myPosition.X;
    133133        y1 = myPosition.Y;
     
    153153    }
    154154    public override bool Encloses(PackingPosition checkedPosition, PackingShape<PackingPosition> checkedShape) {
    155       return Encloses(checkedPosition, (CuboidPackingShape)checkedShape);
     155      return Encloses(checkedPosition, (PackingShape)checkedShape);
    156156    }
    157     private bool Encloses(PackingPosition checkedPosition, CuboidPackingShape checkedShape) {
     157    private bool Encloses(PackingPosition checkedPosition, PackingShape checkedShape) {
    158158      return Encloses(new CuboidDiagonal(this), new CuboidDiagonal(checkedPosition, checkedShape));
    159159    }
     
    168168
    169169    public override bool Overlaps(PackingPosition myPosition, PackingPosition checkedPosition, PackingShape<PackingPosition> checkedShape) {
    170       return Overlaps(myPosition, checkedPosition, (CuboidPackingShape)checkedShape);
     170      return Overlaps(myPosition, checkedPosition, (PackingShape)checkedShape);
    171171    }
    172     private bool Overlaps(PackingPosition myPosition, PackingPosition checkedPosition, CuboidPackingShape checkedShape) {
     172    private bool Overlaps(PackingPosition myPosition, PackingPosition checkedPosition, PackingShape checkedShape) {
    173173      return Overlaps(new CuboidDiagonal(myPosition, this), new CuboidDiagonal(checkedPosition, checkedShape));
    174174    }
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/Problem.cs

    r14048 r14049  
    3838  [Creatable(CreatableAttribute.Categories.CombinatorialProblems, Priority = 310)]
    3939  // TODO don't support generic BPPData but only 3d BPPData
    40   public class CuboidIdenticalBinPackingProblem : BinPackingProblem<PackingPosition, CuboidPackingShape, CuboidPackingItem>, IProblemInstanceConsumer<BPPData>, IProblemInstanceExporter<BPPData> {
     40  public class Problem : Problem<PackingPosition, PackingShape, PackingItem>, IProblemInstanceConsumer<BPPData>, IProblemInstanceExporter<BPPData> {
    4141
    4242
     
    9494
    9595    [StorableConstructor]
    96     protected CuboidIdenticalBinPackingProblem(bool deserializing) : base(deserializing) { }
    97     protected CuboidIdenticalBinPackingProblem(CuboidIdenticalBinPackingProblem original, Cloner cloner)
     96    protected Problem(bool deserializing) : base(deserializing) { }
     97    protected Problem(Problem original, Cloner cloner)
    9898      : base(original, cloner) {
    9999    }
    100100    public override IDeepCloneable Clone(Cloner cloner) {
    101       return new CuboidIdenticalBinPackingProblem(this, cloner);
     101      return new Problem(this, cloner);
    102102    }
    103     public CuboidIdenticalBinPackingProblem() : base(
    104       new PackingPlanEvaluationAlgorithm<Permutation, PackingPosition, CuboidPackingShape, CuboidPackingItem>()) {
     103    public Problem() : base(
     104      new PackingPlanEvaluationAlgorithm<Permutation, PackingPosition, PackingShape, PackingItem>()) {
    105105    }
    106106
     
    109109    public void Load(BPPData data) {
    110110      var realData = data as RealBPPData;
    111       var binData = new CuboidPackingShape(data.BinMeasures[0], data.BinMeasures[1], data.BinMeasures[2]);
     111      var binData = new PackingShape(data.BinMeasures[0], data.BinMeasures[1], data.BinMeasures[2]);
    112112
    113       var itemData = new ItemList<CuboidPackingItem>(data.Items);
     113      var itemData = new ItemList<PackingItem>(data.Items);
    114114      for (int j = 0; j < data.Items; j++) {
    115         var bin = new CuboidPackingShape(data.BinMeasures[0], data.BinMeasures[1], data.BinMeasures[2]);
    116         var item = new CuboidPackingItem(data.ItemMeasures[j][0], data.ItemMeasures[j][1], data.ItemMeasures[j][2], bin);
     115        var bin = new PackingShape(data.BinMeasures[0], data.BinMeasures[1], data.BinMeasures[2]);
     116        var item = new PackingItem(data.ItemMeasures[j][0], data.ItemMeasures[j][1], data.ItemMeasures[j][2], bin);
    117117        if (realData != null) {
    118118          item.Weight = realData.ItemWeights[j];
  • branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking.3D/3.3/Solution.cs

    r14048 r14049  
    77  [Item("Bin Packing Solution (3d)", "Represents a solution for a 3D bin packing problem.")]
    88  [StorableClass]
    9   public class Solution : PackingPlan<PackingPosition, CuboidPackingShape, CuboidPackingItem> {
    10     public Solution(CuboidPackingShape binMeasures) : this(binMeasures, false, false) { }
    11     public Solution(CuboidPackingShape binMeasures, bool useExtremePoints, bool stackingConstraints) : base(binMeasures, useExtremePoints, stackingConstraints) { }
     9  public class Solution : PackingPlan<PackingPosition, PackingShape, PackingItem> {
     10    public Solution(PackingShape binMeasures) : this(binMeasures, false, false) { }
     11    public Solution(PackingShape binMeasures, bool useExtremePoints, bool stackingConstraints) : base(binMeasures, useExtremePoints, stackingConstraints) { }
    1212    [StorableConstructor]
    1313    protected Solution(bool deserializing) : base(deserializing) { }
     
    1818      return new Solution(this, cloner);
    1919    }
    20     public override BinPacking<PackingPosition, CuboidPackingShape, CuboidPackingItem> NewBinPacking() {
     20    public override BinPacking<PackingPosition, PackingShape, PackingItem> NewBinPacking() {
    2121      return new BinPacking3D(BinMeasures);
    2222    }
Note: See TracChangeset for help on using the changeset viewer.