/// <summary>
        ///     This is the method that actually does the work.
        /// </summary>
        /// <param name="da">The DA object is used to retrieve from inputs and store in outputs.</param>
        protected override void SolveInstance(IGH_DataAccess da)
        {
            double     w   = 0;
            double     h   = 0;
            const bool _ms = true;

            if (!da.GetData(0, ref h))
            {
                return;
            }
            if ((!da.GetData(1, ref w)))
            {
                return;
            }
            //if ((!DA.GetData(2, ref MS))) return;

            if (h <= 0)
            {
                return;
            }
            if (w <= 0)
            {
                return;
            }

            var sheet = new RhinoNestKernel.Nesting.RhinoNestSheet(w, h)
            {
                MultiSheet = _ms
            };

            da.SetData(0, sheet);
        }
        /// <summary>
        ///     This is the method that actually does the work.
        /// </summary>
        /// <param name="da">The DA object is used to retrieve from inputs and store in outputs.</param>
        protected override void SolveInstance(IGH_DataAccess da)
        {
            double w = 0;
            double h = 0;
            const bool _ms = true;

            if (!da.GetData(0, ref h)) return;
            if ((!da.GetData(1, ref w))) return;
            //if ((!DA.GetData(2, ref MS))) return;

            if (h <= 0) return;
            if (w <= 0) return;

            var sheet = new RhinoNestKernel.Nesting.RhinoNestSheet(w, h) { MultiSheet = _ms };
            da.SetData(0, sheet);
        }
        /// <summary>
        ///     This is the method that actually does the work.
        /// </summary>
        /// <param name="da">The DA object is used to retrieve from inputs and store in outputs.</param>
        protected override void SolveInstance(IGH_DataAccess da)
        {
            Curve curve = null;
            const bool _ms = true;
            if (!da.GetData(0, ref curve)) return;
            //if (!(DA.GetData(1, ref MS))) return;

            if (curve == null) return;

            BoundingBox boundingBox = curve.GetBoundingBox(true);

            double w = Math.Abs(boundingBox.Max.X - boundingBox.Min.X);
            double h = Math.Abs(boundingBox.Max.Y - boundingBox.Min.Y);

            if (h <= 0) return;
            if (w <= 0) return;

            var sheet = new RhinoNestKernel.Nesting.RhinoNestSheet(w, h) { MultiSheet = _ms };
            da.SetData(0, sheet);
        }
        /// <summary>
        ///     This is the method that actually does the work.
        /// </summary>
        /// <param name="da">The DA object is used to retrieve from inputs and store in outputs.</param>
        protected override void SolveInstance(IGH_DataAccess da)
        {
            Curve      curve = null;
            const bool _ms   = true;

            if (!da.GetData(0, ref curve))
            {
                return;
            }
            //if (!(DA.GetData(1, ref MS))) return;

            if (curve == null)
            {
                return;
            }

            BoundingBox boundingBox = curve.GetBoundingBox(true);

            double w = Math.Abs(boundingBox.Max.X - boundingBox.Min.X);
            double h = Math.Abs(boundingBox.Max.Y - boundingBox.Min.Y);

            if (h <= 0)
            {
                return;
            }
            if (w <= 0)
            {
                return;
            }

            var sheet = new RhinoNestKernel.Nesting.RhinoNestSheet(w, h)
            {
                MultiSheet = _ms
            };

            da.SetData(0, sheet);
        }