+
+ public void addResource(Resource resource) {
+ double x, y;
+ if(nodes.isEmpty()) {
+ x = 0.0;
+ y = 0.0;
+ }
+ else {
+ double xMin=Double.POSITIVE_INFINITY, yMin=Double.POSITIVE_INFINITY;
+ double xMax=Double.NEGATIVE_INFINITY, yMax=Double.NEGATIVE_INFINITY;
+ for(Node node : nodes) {
+ xMin = Math.min(node.getMinX(), xMin);
+ yMin = Math.min(node.getMinY(), yMin);
+ xMax = Math.max(node.getMaxX(), xMax);
+ yMax = Math.max(node.getMaxY(), yMax);
+ }
+ x = xMin + (xMax - xMin) * random.nextDouble();
+ y = yMin + (yMax - yMin) * random.nextDouble();
+ }
+
+ addResource(x, y, resource);
+ repaint();
+ }