private void button9_Click(object sender, EventArgs e) { if (!(dataModel.SelectedItem is PolygonHelper ph2)) { return; } var hull = DeepNest.getHull(ph2.TransformedNfp()); PolygonHelper ph = new PolygonHelper(); ph.Polygon = hull; var box = ph.BoundingBox().Value; PolygonHelper ph3 = new PolygonHelper(); ph3.Polygon = new NFP() { Points = new SvgPoint[] { new SvgPoint(box.Left, box.Top), new SvgPoint(box.Left, box.Bottom), new SvgPoint(box.Right, box.Bottom), new SvgPoint(box.Right, box.Top), } }; ph3.Name = "AABB"; dataModel.AddItem(ph3); }
private void button10_Click(object sender, EventArgs e) { if (!(dataModel.SelectedItem is PolygonHelper ph2)) { return; } var hull = DeepNest.getHull(new NFP() { Points = ph2.TransformedPoints().ToArray() }); PolygonHelper ph = new PolygonHelper(); ph.Polygon = hull; var mar = GeometryUtil.GetMinimumBox(hull.Points.Select(z => new Vector2d(z.X, z.Y)).ToArray()); PolygonHelper ph3 = new PolygonHelper(); ph3.Polygon = new NFP() { Points = mar.Select(z => new SvgPoint(z.X, z.Y)).ToArray() }; ph3.Name = "minRect"; dataModel.AddItem(ph3); }
private void button4_Click(object sender, EventArgs e) { if (!(dataModel.SelectedItem is PolygonHelper ph2)) { return; } var hull = DeepNest.getHull(new NFP() { Points = ph2.TransformedPoints() }); PolygonHelper ph = new PolygonHelper(); ph.Polygon = hull; ph.Name = "hull"; dataModel.AddItem(ph); }