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);
        }