public void MergeYBoundsInto(IPlotArea layer, IPhysicalBoundaries pb, PlotItemCollection coll) { if (!(pb is NumericalBoundaries)) { CoordinateTransformingStyleBase.MergeYBoundsInto(pb, coll); return; } NumericalBoundaries ybounds = (NumericalBoundaries)pb.Clone(); ybounds.Reset(); int nItems = 0; foreach (IGPlotItem pi in coll) { if (pi is IYBoundsHolder) { IYBoundsHolder ybpi = (IYBoundsHolder)pi; ybpi.MergeYBoundsInto(ybounds); } if (pi is G2DPlotItem) { nItems++; } } if (nItems == 0) { _yinc = 0; } else { _yinc = (ybounds.UpperBound - ybounds.LowerBound) / nItems; } int idx = 0; foreach (IGPlotItem pi in coll) { if (pi is IYBoundsHolder) { IYBoundsHolder ybpi = (IYBoundsHolder)pi; ybounds.Reset(); ybpi.MergeYBoundsInto(ybounds); ybounds.Shift(_yinc * idx); pb.Add(ybounds); } if (pi is G2DPlotItem) { idx++; } } }
public static void MergeYBoundsInto(IPhysicalBoundaries pb, PlotItemCollection coll) { foreach (IGPlotItem pi in coll) { if (pi is IYBoundsHolder) { IYBoundsHolder plotItem = (IYBoundsHolder)pi; plotItem.MergeYBoundsInto(pb); } } }
/// <summary> /// This sets the type of the item boundaries to the type of the owner layer /// </summary> /// <param name="plotitem">The plot item for which the boundary type should be set.</param> void WireBoundaryEvents(IGPlotItem plotitem) { if (plotitem is IXBoundsHolder) { IXBoundsHolder xholder = (IXBoundsHolder)plotitem; xholder.XBoundariesChanged += new BoundaryChangedHandler(this.EhXBoundaryChanged); } if (plotitem is IYBoundsHolder) { IYBoundsHolder yholder = (IYBoundsHolder)plotitem; yholder.YBoundariesChanged += new BoundaryChangedHandler(this.EhYBoundaryChanged); } }