From 314e894c0d6ce2739344dcd1c94ae7770868a0f1 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期三, 28 五月 2025 14:51:16 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/utils/NavigateUtils.java | 21 +++++++++++++++++++-- 1 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/common/utils/NavigateUtils.java b/src/main/java/com/zy/common/utils/NavigateUtils.java index 22d5fab..bf19aa9 100644 --- a/src/main/java/com/zy/common/utils/NavigateUtils.java +++ b/src/main/java/com/zy/common/utils/NavigateUtils.java @@ -48,14 +48,17 @@ //鑾峰彇褰撳墠鑺傜偣璁$畻鐨勫眰楂橈紝骞惰祴鍊煎埌姣忎竴涓妭鐐逛腑 int lev = Utils.getLev(startPoint); + NavigateSolution solution = new NavigateSolution(mapType, lev, whiteList, shuttlePoints); + int[][] map = solution.map; //鍒濆鍖栧紑濮嬭妭鐐� NavigateNode start = new NavigateNode(startArr[0], startArr[1]); //寮�濮嬭妭鐐规棤鐖惰妭鐐� start.setFather(null); + start.setNodeValue(map[startArr[0]][startArr[1]]); NavigateNode end = new NavigateNode(endArr[0], endArr[1]); - NavigateSolution solution = new NavigateSolution(mapType, lev, whiteList, shuttlePoints); + end.setNodeValue(map[endArr[0]][endArr[1]]); //寮�濮嬭妭鐐癸紝涓嶇撼鍏ョ鐢ㄨ妭鐐瑰唴璁$畻 NavigateNode res_node = solution.astarSearchJava(start, end); @@ -118,14 +121,17 @@ //鑾峰彇褰撳墠鑺傜偣璁$畻鐨勫眰楂橈紝骞惰祴鍊煎埌姣忎竴涓妭鐐逛腑 int lev = Utils.getLev(startPoint); + NavigateSolution solution = new NavigateSolution(mapType, lev, whiteList, shuttlePoints); + int[][] map = solution.map; //鍒濆鍖栧紑濮嬭妭鐐� NavigateNode start = new NavigateNode(startArr[0], startArr[1]); + start.setNodeValue(map[startArr[0]][startArr[1]]); //寮�濮嬭妭鐐规棤鐖惰妭鐐� start.setFather(null); NavigateNode end = new NavigateNode(endArr[0], endArr[1]); - NavigateSolution solution = new NavigateSolution(mapType, lev, whiteList, shuttlePoints); + end.setNodeValue(map[endArr[0]][endArr[1]]); //寮�濮嬭妭鐐癸紝涓嶇撼鍏ョ鐢ㄨ妭鐐瑰唴璁$畻 String pathStr = solution.astarSearchPython(start, end, pythonCalcPath); @@ -420,6 +426,17 @@ return 0D; } + //妫�娴嬪簱浣嶈矾寰勬槸鍚﹀彲鐢�(鐢ㄤ簬搴撲綅鏄惁鍙Щ鍔ㄦ娴�) + public boolean checkLocPathIsAvailable(String startLocNo, String endLocNo) { + List<int[]> shuttlePoints = Utils.getShuttlePoints(0, Utils.getLev(startLocNo)); + //璁$畻搴撲綅鍒版彁鍗囨満搴撲綅锛岃矾寰勬槸鍚﹀彲鐢� + List<NavigateNode> nodeList = this.calc(startLocNo, endLocNo, NavigationMapType.DFX.id, shuttlePoints, null); + if (nodeList == null) { + return false; + } + return true; + } + public static void main(String[] args) { // //璁$畻璺緞 // List<NavigateNode> calc = calc("1000901", "1800201", NavigationMapType.NONE.id, null); -- Gitblit v1.9.1