/** Ensure that the pointList holds n points. */ private void updatePointsArray(int n) { GeoPoint[] oldPoints = points; int oldPointsLength = oldPoints == null ? 0 : oldPoints.length; // System.out.println("update points: " + n + " old length: " + oldPointsLength); // new points points = new GeoPoint[n]; // reuse old points for (int i = 0; i < oldPointsLength; i++) { if (i < points.length) { // reuse old point points[i] = oldPoints[i]; } else { removePoint(oldPoints[i]); } } // create new points if needed for (int i = oldPointsLength; i < points.length; i++) { GeoPoint newPoint = new GeoPoint(cons); newPoint.setCoords(0, 0, 1); // set defined newPoint.setParentAlgorithm(this); newPoint.setEuclidianVisible(true); newPoint.setAuxiliaryObject(true); points[i] = newPoint; } }