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;
   }
 }
Example #2
0
  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;
  }