public void visit(List<Node> nodes) { Node lastN = null; for (Node n : nodes) { if (lastN == null) { lastN = n; continue; } if (n.isDrawable() && isSegmentVisible(lastN, n)) { drawSegment(lastN, n, severity.getColor()); } lastN = n; } }
List<MyWaySegment> getWaySegments(Way w) { List<MyWaySegment> ret = new ArrayList<>(); if (!w.isUsable() || w.hasKey("barrier") || w.hasTag("natural", "cliff")) return ret; int size = w.getNodesCount(); if (size < 2) return ret; for (int i = 1; i < size; ++i) { if (i < size - 1) { addNode(w.getNode(i), middlenodes); } Node a = w.getNode(i - 1); Node b = w.getNode(i); if (a.isDrawable() && b.isDrawable()) { MyWaySegment ws = new MyWaySegment(w, a, b); if (ws.isBoundary || ws.isAbandoned) { continue; } ret.add(ws); } } return ret; }