invertDistance method

  1. @override
double invertDistance(
  1. double canvasDistance, [
  2. Dim? dim
])
override

Inverts a distance in canvas to abstract distance.

Implementation

@override
double invertDistance(double canvasDistance, [Dim? dim]) {
  // The radius in angle calculation is approximately the middle radius.
  final a = canvasDistance / ((startRadius + endRadius) * 2);
  final r = canvasDistance / (endRadius - startRadius).abs();
  if (dim == Dim.x) {
    return transposed ? r : a;
  } else if (dim == Dim.y) {
    return transposed ? a : r;
  } else {
    return (a + r) / 2;
  }
}