| | |
| | | } |
| | | |
| | | /** |
| | | * 寻址 ===>> A* |
| | | * 寻址 ===>> A Star |
| | | */ |
| | | public synchronized List<String> checkoutPath(String agvNo, Code startCode, Code endCode |
| | | , Boolean lock, List<String> whiteList, List<String> blackList) { |
| | |
| | | ArrayList<NavigateNode> navigateNodes = new ArrayList<>(); |
| | | |
| | | // 渲染 |
| | | NavigateNode parentNode = null;//当前循环上一节点,用于拐点计算 |
| | | NavigateNode parentNode = null; // 当前循环上一节点,用于拐点计算 |
| | | while (finishNode != null) { |
| | | navigateNodes.add(finishNode); |
| | | |
| | |
| | | |
| | | Collections.reverse(navigateNodes); |
| | | |
| | | //将每个节点里面的fatherNode至为null(方便后续计算时父节点过多导致显示的节点太多) |
| | | for (NavigateNode navigateNode : navigateNodes) { |
| | | //父节点设置为null,不影响计算结果,不影响后续操作。 |
| | | //此操作仅为后续排查处理提供视觉方便。 |
| | | navigateNode.setParent(null); |
| | | } |
| | | // for (NavigateNode navigateNode : navigateNodes) { |
| | | // navigateNode.setParent(null); |
| | | // } |
| | | |
| | | return navigateNodes.stream().map(NavigateNode::getCodeData).collect(Collectors.toList()); |
| | | } |