package org.simantics.district.network.ui.adapters;
+import java.awt.Color;
+import java.awt.geom.AffineTransform;
import java.awt.geom.Rectangle2D;
import java.util.Collection;
import java.util.Collections;
DNEdgeInternalSize.INSTANCE,
DNEdgeSceneGraph.INSTANCE,
DNEdgeConnectionHandler.INSTANCE,
- SimpleElementLayers.INSTANCE
+ SimpleElementLayers.INSTANCE,
+ DistrictNetworkAdditionalColor.INSTANCE
).setId(DistrictNetworkEdgeElement.class.getSimpleName());
static final class DNEdgeSceneGraph implements SceneGraph {
node = parent.addNode(ElementUtils.generateNodeId(edgeElement), DistrictNetworkEdgeNode.class);
edgeElement.setHint(KEY_DN_EDGE_NODE, node);
}
+
+ node.setColor(ElementUtils.getAdditionalColor(edgeElement, Color.BLUE));
+
node.setDNEdge(edge);
+ AffineTransform at = ElementUtils.getTransform(edgeElement);
+ if (at != null)
+ node.setTransform(at);
}
}
if (size == null)
size = new Rectangle2D.Double();
if (edge != null)
- edge.getBounds(size);
+ size.setFrame(DistrictNetworkEdgeNode.calculatePath(edge).getBounds2D());
else
LOGGER.debug("Element {} does not have edge!", e);
return size;
}
-
}
static class DNEdgeConnectionHandler implements ConnectionHandler {