import org.simantics.district.network.ModelledCRS;
import org.simantics.district.network.ui.adapters.DistrictNetworkVertex;
+import org.simantics.scenegraph.INode;
import org.simantics.scenegraph.ISelectionPainterNode;
import org.simantics.scenegraph.g2d.G2DNode;
+import org.simantics.scenegraph.g2d.G2DParentNode;
+import org.simantics.scenegraph.g2d.nodes.SVGNode;
import org.simantics.scenegraph.utils.GeometryUtils;
import org.simantics.scenegraph.utils.NodeUtil;
-public class DistrictNetworkVertexNode extends G2DNode implements ISelectionPainterNode {
+public class DistrictNetworkVertexNode extends G2DParentNode implements ISelectionPainterNode {
//private static final Logger LOGGER = LoggerFactory.getLogger(DistrictNetworkVertexNode.class);
if (changeColor)
g2d.setColor(newColor);
g2d.fill(toDraw);
-
+
// Reset settings
if (changeColor)
g2d.setColor(oldColor);
if (oaaHint != null)
- g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, aaHint);
+ g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, aaHint);
+
+ // Render SVG symbol
+ for (INode nn : getNodes()) {
+ ((G2DNode)nn).setTransform(new AffineTransform(toDraw.getWidth(), 0.0, 0.0, toDraw.getHeight(), toDraw.getCenterX(), toDraw.getCenterY()));
+ ((G2DNode)nn).render(g2d);
+ }
+
if (ot != null)
g2d.setTransform(ot);
}
return color;
}
+ @PropertySetter(value = "SVG")
+ public void setSVG(String value) {
+ for (INode nn : this.getNodes())
+ if (nn instanceof SVGNode)
+ ((SVGNode)nn).setData(value);
+ }
+
+
@PropertySetter(value = "size")
public void setSize(Double size) {
boolean changed = false;