- Timestamp:
- 08/04/17 23:45:08 (7 years ago)
- Location:
- branches/2817-BinPackingSpeedup/HeuristicLab.Problems.BinPacking.Views/3.3
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2817-BinPackingSpeedup/HeuristicLab.Problems.BinPacking.Views/3.3/Container3DView.xaml
r15167 r15307 32 32 Focusable="true" 33 33 > 34 <Grid> 35 <Border BorderThickness="1" Background="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"> 36 <Viewport3D Name="viewport3D1" > 34 <Grid Margin="0,0,-64,-57"> 35 <CheckBox Name="showExtremePointsCheckBox" Content="Show extreme points" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="10,6,0,0" Unchecked="showExtremePointsCheckBoxOnUnchecked" Checked="showExtremePointsCheckBoxOnChecked"/> 36 <Border BorderThickness="1" Background="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" Margin="0,30,0,0"> 37 <Viewport3D Name="viewport3D1" Margin="0,-1,0,0" > 37 38 <Viewport3D.Camera> 38 39 <PerspectiveCamera x:Name="camMain" Position="0.5 8 8" LookDirection="0 -1 -1"> <!-- camera position for design time--> -
branches/2817-BinPackingSpeedup/HeuristicLab.Problems.BinPacking.Views/3.3/Container3DView.xaml.cs
r15306 r15307 55 55 private double startAngleY; 56 56 private int selectedItemKey; 57 private bool showExtremePoints; 57 58 58 59 private BinPacking<BinPacking3D.PackingPosition, PackingShape, PackingItem> packing; … … 155 156 } 156 157 157 // draw extreme-points 158 foreach (var ep in packing.ExtremePoints) { 159 var epModel = new GeometryModel3D { Geometry = new MeshGeometry3D(), Material = new DiffuseMaterial() { Brush = new SolidColorBrush(Colors.Red) } }; 160 AddSolidCube((MeshGeometry3D)epModel.Geometry, ep.X, ep.Y, ep.Z, 10, 10, 10); 161 modelGroup.Children.Add(epModel); 158 if (showExtremePoints) { 159 // draw extreme-points 160 var maxMag = (int)Math.Log10(Math.Max(packing.BinShape.Depth, Math.Max(packing.BinShape.Height, packing.BinShape.Width))); 161 var cubeSize = (int)Math.Max(Math.Pow(10, maxMag - 2), 1); 162 foreach (var ep in packing.ExtremePoints) { 163 var epModel = new GeometryModel3D { Geometry = new MeshGeometry3D(), Material = new DiffuseMaterial() { Brush = new SolidColorBrush(Colors.Red) } }; 164 AddSolidCube((MeshGeometry3D)epModel.Geometry, ep.X, ep.Y, ep.Z, cubeSize, cubeSize, cubeSize); 165 modelGroup.Children.Add(epModel); 166 } 162 167 } 163 168 … … 229 234 private void Container3DView_OnMouseEnter(object sender, MouseEventArgs e) { 230 235 Focus(); // for mouse wheel events 236 } 237 private void showExtremePointsCheckBoxOnChecked(object sender, RoutedEventArgs e) { 238 showExtremePoints = true; 239 UpdateVisualization(); 240 } 241 private void showExtremePointsCheckBoxOnUnchecked(object sender, RoutedEventArgs e) { 242 showExtremePoints = false; 243 UpdateVisualization(); 231 244 } 232 245 … … 471 484 } 472 485 #endregion 473 474 486 } 475 487 }
Note: See TracChangeset
for help on using the changeset viewer.