Changeset 15705 for branches/2817-BinPackingSpeedup/HeuristicLab.Problems.BinPacking/3.3/3D/PackingItem.cs
- Timestamp:
- 02/01/18 12:21:34 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2817-BinPackingSpeedup/HeuristicLab.Problems.BinPacking/3.3/3D/PackingItem.cs
r15646 r15705 26 26 using HeuristicLab.Parameters; 27 27 using HeuristicLab.Problems.BinPacking; 28 using HeuristicLab.Problems.BinPacking3D.Material; 28 29 29 30 namespace HeuristicLab.Problems.BinPacking3D { … … 40 41 get { return (IFixedValueParameter<DoubleValue>)Parameters["Weight"]; } 41 42 } 42 public IFixedValueParameter<IntValue> MaterialParameter {43 get { return (IFixedValueParameter<IntValue>)Parameters[" Material"]; }43 public IFixedValueParameter<IntValue> LayerParameter { 44 get { return (IFixedValueParameter<IntValue>)Parameters["Layer"]; } 44 45 } 45 46 … … 54 55 } 55 56 56 public int Material { 57 get { return MaterialParameter.Value.Value; } 58 set { MaterialParameter.Value.Value = value; } 59 } 60 57 public int Layer { 58 get { return LayerParameter.Value.Value; } 59 set { LayerParameter.Value.Value = value; } 60 } 61 62 #region Material 63 public IFixedValueParameter<EnumValue<MaterialType>> MaterialBottomParameter { 64 get { return (IFixedValueParameter<EnumValue<MaterialType>>)Parameters["MaterialBottom"]; } 65 } 66 public MaterialType MaterialBottom { 67 get { return MaterialBottomParameter.Value.Value; } 68 set { MaterialBottomParameter.Value.Value = value; } 69 } 70 71 public IFixedValueParameter<EnumValue<MaterialType>> MaterialTopParameter { 72 get { return (IFixedValueParameter<EnumValue<MaterialType>>)Parameters["MaterialTop"]; } 73 } 74 public MaterialType MaterialTop { 75 get { return MaterialTopParameter.Value.Value; } 76 set { MaterialTopParameter.Value.Value = value; } 77 } 78 #endregion 61 79 62 80 public IFixedValueParameter<DoubleValue> SupportedWeightParameter { … … 277 295 278 296 public bool SupportsStacking(IPackingItem other) { 279 return ((other. Material < this.Material) || (other.Material.Equals(this.Material) && other.Weight <= this.Weight));297 return ((other.Layer < this.Layer) || (other.Layer.Equals(this.Layer) && other.Weight <= this.Weight)); 280 298 } 281 299 #endregion … … 292 310 Parameters.Add(new ValueParameter<PackingShape>("TargetBin")); 293 311 Parameters.Add(new FixedValueParameter<DoubleValue>("Weight")); 294 Parameters.Add(new FixedValueParameter<IntValue>("Material")); 295 296 Parameters.Add(new FixedValueParameter<DoubleValue>("SupportedWeight")); 312 Parameters.Add(new FixedValueParameter<IntValue>("Layer")); 313 314 315 Parameters.Add(new FixedValueParameter<EnumValue<MaterialType>>("MaterialTop")); 316 Parameters.Add(new FixedValueParameter<EnumValue<MaterialType>>("MaterialBottom")); 317 318 Parameters.Add(new FixedValueParameter<DoubleValue>("SupportedWeight")); 297 319 298 320 Parameters.Add(new FixedValueParameter<BoolValue>("RotateEnabled")); … … 319 341 } 320 342 321 public PackingItem(int width, int height, int depth, PackingShape targetBin, double weight, int material)343 public PackingItem(int width, int height, int depth, PackingShape targetBin, double weight, int layer) 322 344 : this(width, height, depth, targetBin) { 323 345 this.Weight = weight; 324 this. Material = material;346 this.Layer = layer; 325 347 } 326 348 … … 333 355 TargetBin = (PackingShape)packingItem.TargetBin.Clone(); 334 356 Weight = packingItem.Weight; 335 Material = packingItem.Material;357 Layer = packingItem.Layer; 336 358 Rotated = packingItem.Rotated; 337 359 Tilted = packingItem.Tilted; 338 360 IsStackabel = packingItem.IsStackabel; 361 MaterialTop = packingItem.MaterialTop; 362 MaterialBottom = packingItem.MaterialBottom; 339 363 340 364 LoadSecuringDepth = packingItem.LoadSecuringDepth; … … 355 379 // NOTE: only because of ToString override 356 380 WeightParameter.Value.ValueChanged += (sender, args) => OnToStringChanged(); 357 MaterialParameter.Value.ValueChanged += (sender, args) => OnToStringChanged();381 LayerParameter.Value.ValueChanged += (sender, args) => OnToStringChanged(); 358 382 359 383 // target bin does not occur in ToString() … … 361 385 362 386 public override string ToString() { 363 return string.Format("CuboidPackingItem ({0}, {1}, {2}; weight={3}, mat={4})", this.Width, this.Height, this.Depth, this.Weight, this.Material);387 return string.Format("CuboidPackingItem ({0}, {1}, {2}; weight={3}, layer={4})", this.Width, this.Height, this.Depth, this.Weight, this.Layer); 364 388 } 365 389
Note: See TracChangeset
for help on using the changeset viewer.