Map _getDotPos(int dotsAm, Size size) { Map off = {}; var width = size.width / 2; var height = size.height / 2; int add = 0; int h = _getHighInputConnections(); for (int i = 0; i < dotsAm; i++) { if ((i + 1) != h) { double x = cos(2 * pi * (i - add) / (dotsAm - add)) * _circleRad + width; double y = sin(2 * pi * (i - add) / (dotsAm - add)) * _circleRad + height; off[i + 1] = Offset(x, y); } else if ((i + 1) == h) { off[i + 1] = Offset(width + 2, height - 2); add = 1; h = 0; } else { print("GetDotPos error"); } } return off; }