import java.awt.RenderingHints;
import java.awt.Stroke;
import java.awt.geom.AffineTransform;
+import java.awt.geom.Path2D;
+import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
+import org.simantics.district.network.ModelledCRS;
+import org.simantics.district.network.ontology.DistrictNetworkResource;
import org.simantics.district.network.ui.DistrictNetworkEdge;
import org.simantics.scenegraph.g2d.G2DNode;
import org.simantics.scenegraph.utils.GeometryUtils;
private DistrictNetworkEdge edge;
private Rectangle2D bounds;
- private Stroke stroke = new BasicStroke(2);
+ private static final Stroke STROKE = new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);
private boolean scaleStroke = true;
+ private Color color;
+
@Override
public void init() {
}
Object aaHint = g2d.getRenderingHint(RenderingHints.KEY_ANTIALIASING);
- g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
+ g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
Color oldColor = g2d.getColor();
BasicStroke oldStroke = (BasicStroke) g2d.getStroke();
// g2d.fill(selectionShape);
// }
//
- g2d.setColor(Color.BLUE);
- if (stroke != null) {
- if (scaleStroke && stroke instanceof BasicStroke) {
- BasicStroke bs = GeometryUtils.scaleStroke(stroke, (float) (1.0 / GeometryUtils.getScale(g2d.getTransform())));
+ g2d.setColor(color);
+ if (STROKE != null) {
+ if (scaleStroke && STROKE instanceof BasicStroke) {
+ BasicStroke bs = GeometryUtils.scaleStroke(STROKE, (float) (1.0 / GeometryUtils.getScale(g2d.getTransform())));
g2d.setStroke(bs);
} else {
- g2d.setStroke(stroke);
+ g2d.setStroke(STROKE);
}
}
// render
g2d.draw(edge.getPath());
-
+
// Reset
g2d.setStroke(oldStroke);
g2d.setColor(oldColor);
if (ot != null)
g2d.setTransform(ot);
}
-
+
private boolean isSelected() {
return NodeUtil.isSelected(this, 1);
}
updateBounds();
}
+ public void setColor(Color color) {
+ this.color = color;
+ }
+
+ public Color getColor() {
+ return color;
+ }
+
}