pointAt method

  1. @override
(double, double) pointAt(
  1. AnyContour contour,
  2. int cornerIndex,
  3. double dPrev,
  4. double dNext,
  5. double angle,
)
override

Implementation

@override
(double, double) pointAt(
  AnyContour contour,
  int cornerIndex,
  double dPrev,
  double dNext,
  double angle,
) {
  if (!canBuild(contour, cornerIndex)) {
    return contour.sharpCornerPoint(cornerIndex, dPrev, dNext);
  }

  final sign = turnSign(contour, cornerIndex);
  final localN = sign * n;
  final localP = sign * p;
  final localAngle = _localAngleFromCommon(angle);

  final localX = dPrev + localN * math.cos(localAngle);
  final localY = dNext + localP * math.sin(localAngle);

  return contour.worldPointFromDistanceSpace(cornerIndex, localX, localY);
}