private IMoveableSection getSliceOfArea(double Area, SLiceType sliceType)
        {
            double ConvergenceTolerance    = this.A * 0.0001;
            double targetAreaDelta         = 0.0;
            double AxisLocationDistanceMin = 0.0;
            double AxisLocationDistanceMax = this.YMax - this.YMin;

            //Iterate until the slice area is as required
            targetArea = Area;
            if (sliceType == SLiceType.Bottom)
            {
                double SliceAxisOffsetFromTop = RootFinding.Brent(new FunctionOfOneVariable(BottomAreaDeltaCalculationFunction),
                                                                  AxisLocationDistanceMin, AxisLocationDistanceMax,
                                                                  ConvergenceTolerance, targetAreaDelta);
            }
            else
            {
                double SliceAxisOffsetFromTop = RootFinding.Brent(new FunctionOfOneVariable(TopAreaDeltaCalculationFunction),
                                                                  AxisLocationDistanceMin, AxisLocationDistanceMax,
                                                                  ConvergenceTolerance, targetAreaDelta);
            }
            return(cutSection); //the section was stored during the iteration
        }
        private IMoveableSection getSliceOfArea(double Area, SLiceType sliceType)
        {
            double ConvergenceTolerance = this.A * 0.0001;
            double targetAreaDelta = 0.0;
            double AxisLocationDistanceMin = 0.0;
            double AxisLocationDistanceMax = this.YMax - this.YMin;

            //Iterate until the slice area is as required
            targetArea = Area;
            if (sliceType == SLiceType.Bottom)
            {

                double SliceAxisOffsetFromTop = RootFinding.Brent(new FunctionOfOneVariable(BottomAreaDeltaCalculationFunction),
                    AxisLocationDistanceMin, AxisLocationDistanceMax,
                    ConvergenceTolerance, targetAreaDelta);
            }
            else
            {
                double SliceAxisOffsetFromTop = RootFinding.Brent(new FunctionOfOneVariable(TopAreaDeltaCalculationFunction),
                    AxisLocationDistanceMin, AxisLocationDistanceMax,
                    ConvergenceTolerance, targetAreaDelta);
            }
            return cutSection; //the section was stored during the iteration
        }