public void MergeXBoundsInto(IPlotArea layer, IPhysicalBoundaries pb, PlotItemCollection coll) { if (!(pb is NumericalBoundaries)) { CoordinateTransformingStyleBase.MergeXBoundsInto(pb, coll); return; } NumericalBoundaries xbounds = (NumericalBoundaries)pb.Clone(); xbounds.Reset(); int nItems = 0; foreach (IGPlotItem pi in coll) { if (pi is IXBoundsHolder) { IXBoundsHolder xbpi = (IXBoundsHolder)pi; xbpi.MergeXBoundsInto(xbounds); } if (pi is G2DPlotItem) { nItems++; } } if (nItems == 0) { _xinc = 0; } else { _xinc = (xbounds.UpperBound - xbounds.LowerBound) / nItems; } int idx = 0; foreach (IGPlotItem pi in coll) { if (pi is IXBoundsHolder) { IXBoundsHolder xbpi = (IXBoundsHolder)pi; xbounds.Reset(); xbpi.MergeXBoundsInto(xbounds); xbounds.Shift(_xinc * idx); pb.Add(xbounds); } if (pi is G2DPlotItem) { idx++; } } }
public void MergeXBoundsInto(IPlotArea layer, IPhysicalBoundaries pb, PlotItemCollection coll) { CoordinateTransformingStyleBase.MergeXBoundsInto(pb, coll); }