/// <summary> /// Generates the visible labels. /// </summary> /// <param name="axis">The axis.</param> internal static void GenerateVisibleLabels3D(ChartAxis axis, object minimum, object maximum, object actualInterval) { double interval = axis.VisibleInterval; var range = axis.VisibleRange; double position; if ((minimum != null && maximum != null && actualInterval != null) || axis.EdgeLabelsVisibilityMode == EdgeLabelsVisibilityMode.AlwaysVisible || (axis.EdgeLabelsVisibilityMode == EdgeLabelsVisibilityMode.Visible)) { position = range.Start; } else { position = range.Start - (range.Start % interval); } for (; position <= axis.VisibleRange.End; position += interval) { if (axis.VisibleRange.Inside(position)) { axis.VisibleLabels.Add(new ChartAxisLabel(position, axis.GetLabelContent(position), position)); } if (axis.smallTicksRequired) { axis.AddSmallTicksPoint(position); } } #if NETFX_CORE if (((maximum != null && range.End.Equals((TimeSpan.Parse(maximum.ToString())).TotalMilliseconds)) || axis.EdgeLabelsVisibilityMode == EdgeLabelsVisibilityMode.AlwaysVisible || (axis.EdgeLabelsVisibilityMode == EdgeLabelsVisibilityMode.Visible)) && !range.End.Equals(position - interval)) #else if (((maximum != null && range.End.Equals(((TimeSpan)maximum).TotalMilliseconds)) || axis.EdgeLabelsVisibilityMode == EdgeLabelsVisibilityMode.AlwaysVisible || (axis.EdgeLabelsVisibilityMode == EdgeLabelsVisibilityMode.Visible)) && !range.End.Equals(position - interval)) #endif { axis.VisibleLabels.Add(new ChartAxisLabel(range.End, axis.GetLabelContent(range.End), range.End)); } }
/// <summary> /// Method implementation for Generate Labels in ChartAxis3D /// </summary> /// <param name="axis">The axis.</param> /// <param name="maximum">The maximum.</param> /// <param name="minimum">The minimum.</param> /// <param name="actualInterval">The actual interval.</param> internal static void GenerateVisibleLabels3D(ChartAxis axis, object minimum, object maximum, object actualInterval, double logBase) { double interval = axis.VisibleInterval; double position; if ((minimum != null && maximum != null && actualInterval != null) || axis.EdgeLabelsVisibilityMode == EdgeLabelsVisibilityMode.AlwaysVisible || (axis.EdgeLabelsVisibilityMode == EdgeLabelsVisibilityMode.Visible)) { position = axis.VisibleRange.Start; } else { position = axis.VisibleRange.Start - (axis.VisibleRange.Start % axis.ActualInterval); } for (; position <= axis.VisibleRange.End; position += interval) { if (axis.VisibleRange.Inside(position)) { axis.VisibleLabels.Add(new ChartAxisLabel(position, axis.GetLabelContent(Math.Pow(logBase, position)), position)); } if (axis.smallTicksRequired) { axis.AddSmallTicksPoint(position, (axis as LogarithmicAxis3D).LogarithmicBase); } } if (((maximum != null && axis.VisibleRange.End.Equals(maximum)) || axis.EdgeLabelsVisibilityMode == EdgeLabelsVisibilityMode.AlwaysVisible || (axis.EdgeLabelsVisibilityMode == EdgeLabelsVisibilityMode.Visible)) && !axis.VisibleRange.End.Equals(position - interval)) { axis.VisibleLabels.Add(new ChartAxisLabel(axis.VisibleRange.End, axis.GetLabelContent(Math.Pow(logBase, axis.VisibleRange.End)), axis.VisibleRange.End)); } }