MeshExplorer.IO.EpsImage.UpdateMetrics C# (CSharp) Method

UpdateMetrics() private method

private UpdateMetrics ( TriangleNet.Geometry.BoundingBox bounds ) : void
bounds TriangleNet.Geometry.BoundingBox
return void
        private void UpdateMetrics(BoundingBox bounds)
        {
            x_max = bounds.Xmax;
            x_min = bounds.Xmin;
            y_max = bounds.Ymax;
            y_min = bounds.Ymin;

            // Enlarge width 5% on each side
            x_scale = x_max - x_min;
            x_max = x_max + 0.05 * x_scale;
            x_min = x_min - 0.05 * x_scale;
            x_scale = x_max - x_min;

            // Enlarge height 5% on each side
            y_scale = y_max - y_min;
            y_max = y_max + 0.05 * y_scale;
            y_min = y_min - 0.05 * y_scale;
            y_scale = y_max - y_min;

            if (x_scale < y_scale)
            {
                int delta = (int)Math.Round((x_ps_max - x_ps_min) * (y_scale - x_scale) / (2.0 * y_scale));

                x_ps_max = x_ps_max - delta;
                x_ps_min = x_ps_min + delta;

                x_ps_max_clip = x_ps_max_clip - delta;
                x_ps_min_clip = x_ps_min_clip + delta;

                x_scale = y_scale;
            }
            else
            {
                int delta = (int)Math.Round((y_ps_max - y_ps_min) * (x_scale - y_scale) / (2.0 * x_scale));

                y_ps_max = y_ps_max - delta;
                y_ps_min = y_ps_min + delta;

                y_ps_max_clip = y_ps_max_clip - delta;
                y_ps_min_clip = y_ps_min_clip + delta;

                y_scale = x_scale;
            }
        }