private final int computeNextXAndProgress() { int x = (int) Math.ceil(.5f * currentY + currentX) + centerX; currentX++; if (currentX > currentLineHalfWidth) { // next line currentY++; currentLineHalfWidth = circle.getHalfLineWidth(currentY); currentX = -currentLineHalfWidth; } return x; }
public MapCircleIterator(MapCircle circle) { this.circle = circle; radius = circle.getRadius(); currentY = -(int) (radius / MapCircle.Y_SCALE); currentLineHalfWidth = circle.getHalfLineWidth(currentY); currentX = -currentLineHalfWidth; centerX = circle.getCenterX(); centerY = circle.getCenterY(); }