sharpCornerPoint method

(double, double) sharpCornerPoint(
  1. int cornerIndex,
  2. double dPrev,
  3. double dNext
)

Implementation

(double, double) sharpCornerPoint(
    int cornerIndex, double dPrev, double dNext) {
  if (!isCornerParallel(cornerIndex)) {
    return worldPointFromDistanceSpace(cornerIndex, dPrev, dNext);
  }

  final prev = wrap(cornerIndex - 1);
  final x1 = pointX[cornerIndex] + sideInsideNormalX[prev] * dPrev;
  final y1 = pointY[cornerIndex] + sideInsideNormalY[prev] * dPrev;
  final x2 = pointX[cornerIndex] + sideInsideNormalX[cornerIndex] * dNext;
  final y2 = pointY[cornerIndex] + sideInsideNormalY[cornerIndex] * dNext;
  return ((x1 + x2) * 0.5, (y1 + y2) * 0.5);
}