calculateAdaptiveStep method

double calculateAdaptiveStep(
  1. double currentScaleValue
)

Implementation

double calculateAdaptiveStep(double currentScaleValue) {
  final rawStep = 80 / currentScaleValue;
  final magnitude = pow(10, (log(rawStep) / ln10).floor()).toDouble();
  final remainder = rawStep / magnitude;
  if (remainder < 1.5) return magnitude;
  if (remainder < 3.5) return 2 * magnitude;
  if (remainder < 7.5) return 5 * magnitude;
  return 10 * magnitude;
}