import org.simantics.scenegraph.INode;
import org.simantics.scenegraph.NodeException;
import org.simantics.scenegraph.ParentNode;
import org.simantics.scenegraph.g2d.G2DNode;
import org.simantics.scenegraph.INode;
import org.simantics.scenegraph.NodeException;
import org.simantics.scenegraph.ParentNode;
import org.simantics.scenegraph.g2d.G2DNode;
import org.simantics.scenegraph.g2d.nodes.spatial.RTreeNode;
import org.simantics.scenegraph.profile.common.ProfileVariables;
import org.simantics.scenegraph.utils.DPIUtil;
import org.simantics.scenegraph.g2d.nodes.spatial.RTreeNode;
import org.simantics.scenegraph.profile.common.ProfileVariables;
import org.simantics.scenegraph.utils.DPIUtil;
public static final String NODE_KEY = "DISTRICT_NETWORK_HOVER_INFO";
private static final int PAD = 15;
private List<Tuple3> labels;
public static final String NODE_KEY = "DISTRICT_NETWORK_HOVER_INFO";
private static final int PAD = 15;
private List<Tuple3> labels;
@Override
public void render(Graphics2D g) {
ParentNode<?> root = (ParentNode<?>) NodeUtil.getNearestParentOfType(this, RTreeNode.class);
@Override
public void render(Graphics2D g) {
ParentNode<?> root = (ParentNode<?>) NodeUtil.getNearestParentOfType(this, RTreeNode.class);
g.translate(mousePosition.getX(), mousePosition.getY());
//g.translate(origin.getX(), origin.getY());
g.translate(mousePosition.getX(), mousePosition.getY());
//g.translate(origin.getX(), origin.getY());
((DeferredRenderingNode)existing).setZIndex(Integer.MAX_VALUE);
} else {
throw new NodeException("Cannot claim child node for non-parent-node " + child);
((DeferredRenderingNode)existing).setZIndex(Integer.MAX_VALUE);
} else {
throw new NodeException("Cannot claim child node for non-parent-node " + child);