+ @Override\r
+ protected boolean hitTest(MouseEvent event) {\r
+ if (!super.hitTest(event))\r
+ return false;\r
+\r
+ Point2D pos = NodeUtil.worldToLocal(this, event.controlPosition, new Point2D.Double());\r
+ double tolerance = 0.5;\r
+ // TODO: change tolerance based on zoom level\r
+\r
+ for (IG2DNode child : getSortedNodes()) {\r
+ if (child instanceof RouteGraphNode) {\r
+ RouteGraphNode rgn = (RouteGraphNode) child;\r
+ RouteGraph rg = rgn.getRouteGraph();\r
+ Object pick = rg.pickLine(pos.getX(), pos.getY(), tolerance);\r
+ if (pick != null)\r
+ return true;\r
+ }\r
+ }\r
+ return false;\r
+ }\r
+\r