- // render
- if (changeColor)
- g2d.setColor(newColor);
- g2d.fill(toDraw);
-
- // Reset settings
- if (changeColor)
- g2d.setColor(oldColor);
- if (oaaHint != null)
- g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, aaHint);
+ if (!hidden && nodeSize > 0.0) {
+ Object oaaHint = null;
+ Object aaHint = g2d.getRenderingHint(RenderingHints.KEY_ANTIALIASING);
+ if (aaHint != RenderingHints.VALUE_ANTIALIAS_OFF) {
+ oaaHint = aaHint;
+ g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
+ }
+
+ Color oldColor = g2d.getColor();
+ Color newColor = dynamicColor != null ? dynamicColor : color;
+ boolean changeColor = !oldColor.equals(newColor);
+
+ double scaleRecip = viewScaleRecip * nodeSize;
+
+ Rectangle2D toDraw = rect = DistrictNetworkNodeUtils.calculateDrawnGeometry(p, hover ? HOVERED : NORMAL, rect, scaleRecip);
+
+ if (NodeUtil.isSelected(this, 1)) {
+ changeColor = true;
+ g2d.setColor(SELECTION_COLOR);
+ BasicStroke ss = GeometryUtils.scaleStroke(STROKE, (float)viewScaleRecip);
+ g2d.setStroke(ss);
+ g2d.draw(toDraw);
+ }
+
+ // render
+ if (changeColor)
+ g2d.setColor(newColor);
+ g2d.fill(toDraw);
+
+ // Reset settings
+ if (changeColor)
+ g2d.setColor(oldColor);
+ if (oaaHint != null)
+ g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, aaHint);
+ }