protected final synchronized void checkPoints() { if (pointsDirty) { createPoints(); findCenter(); calculateRadius(); if (points == null) { return; } synchronized (points) { final int size = points.length; if (size > 0) { maxX = points[0]; maxY = points[1]; minX = points[0]; minY = points[1]; for (int i = 0; i < size / 2; i++) { maxX = MathUtils.max(points[i * 2], maxX); maxY = MathUtils.max(points[(i * 2) + 1], maxY); minX = MathUtils.min(points[i * 2], minX); minY = MathUtils.min(points[(i * 2) + 1], minY); } } pointsDirty = false; trianglesDirty = true; } } }