From 0fc62ab3d5d038235b328d91cda0192a34617fb9 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 19 五月 2025 20:17:30 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/NavigateNode.java | 21 ++++++++++++++++++---
1 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/NavigateNode.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/NavigateNode.java
index 266287b..92e0c82 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/NavigateNode.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/NavigateNode.java
@@ -2,15 +2,21 @@
import lombok.Data;
+import java.io.Serializable;
+import java.util.Optional;
+
/**
* A*瀵昏矾绠楁硶Node鑺傜偣
*/
@Data
-public class NavigateNode implements Comparable<NavigateNode>{
+public class NavigateNode implements Comparable<NavigateNode>, Cloneable, Serializable {
+
+ private static final long serialVersionUID = 1L;
private int x;//鍧愭爣x
private int y;//鍧愭爣y
private int z;//鍧愭爣z(楂樺害)
+ private Integer lastDistance;//姝ユ暟
private int F;//缁煎悎鑺辫垂鐨勬鏁�
private int G;//宸茬粡鑺辫垂鐨勬鏁�
private int H;//灏嗚鑺辫垂鐨勬鏁�
@@ -29,8 +35,8 @@
public void init_node(NavigateNode father, NavigateNode end) {
this.Father = father;
if (this.Father != null) {
- //璧拌繃鐨勬鏁扮瓑浜庣埗鑺傜偣璧拌繃鐨勬鏁板姞涓�
- this.G = father.G + 1;
+ //璧拌繃鐨勬鏁扮瓑浜庣埗鑺傜偣璧拌繃鐨勬鏁板姞鏈�鏂版鏁�
+ this.G = father.G + Optional.ofNullable(this.lastDistance).orElse(0);
} else { //鐖惰妭鐐逛负绌轰唬琛ㄥ畠鏄涓�涓粨鐐�
this.G = 0;
}
@@ -46,4 +52,13 @@
return Integer.compare(this.F, o.F);
}
+ @Override
+ public NavigateNode clone() {
+ try {
+ return (NavigateNode) super.clone();
+ } catch (CloneNotSupportedException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
}
--
Gitblit v1.9.1