From d58d5e1baf9390d4119f48c4af3fbcf308da10a3 Mon Sep 17 00:00:00 2001
From: 826220679@qq.com <826220679@qq.com>
Date: 星期六, 27 十二月 2025 22:46:10 +0800
Subject: [PATCH] 进一步优化了异形无障碍物路径规划算法

---
 src/set/Setsys.java |   32 ++++++++++++++++++++++++--------
 1 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/src/set/Setsys.java b/src/set/Setsys.java
index a3d9262..ebdccbc 100644
--- a/src/set/Setsys.java
+++ b/src/set/Setsys.java
@@ -15,6 +15,7 @@
     private int idleTrailDurationSeconds = DEFAULT_IDLE_TRAIL_DURATION_SECONDS;
     private boolean boundaryLengthVisible = false;  // 榛樿鍏抽棴鏄剧ず杈圭晫璺濈
     private boolean measurementModeEnabled = false;  // 榛樿鍏抽棴娴嬮噺妯″紡
+    private boolean manualBoundaryDrawingMode = false;  // 榛樿鍏抽棴鎵嬪姩缁樺埗杈圭晫妯″紡
     
     private static final String PROPERTIES_FILE = "set.properties";
 
@@ -104,6 +105,14 @@
     public void setMeasurementModeEnabled(boolean enabled) {
         this.measurementModeEnabled = enabled;
     }
+    
+    public boolean isManualBoundaryDrawingMode() {
+        return manualBoundaryDrawingMode;
+    }
+    
+    public void setManualBoundaryDrawingMode(boolean enabled) {
+        this.manualBoundaryDrawingMode = enabled;
+    }
 
     /**
      * 鍒濆鍖栨柟娉� - 浠巔roperties鏂囦欢璇诲彇鏁版嵁
@@ -126,6 +135,8 @@
             this.boundaryLengthVisible = "true".equalsIgnoreCase(boundaryLengthVisibleStr);
             String measurementModeEnabledStr = props.getProperty("measurementModeEnabled");
             this.measurementModeEnabled = "true".equalsIgnoreCase(measurementModeEnabledStr);
+            String manualBoundaryDrawingModeStr = props.getProperty("manualBoundaryDrawingMode");
+            this.manualBoundaryDrawingMode = "true".equalsIgnoreCase(manualBoundaryDrawingModeStr);
                         
         } catch (FileNotFoundException e) {           
             // 鏂囦欢涓嶅瓨鍦ㄦ椂锛岃缃墍鏈夊睘鎬т负null
@@ -173,6 +184,9 @@
             case "measurementModeEnabled":
                 this.measurementModeEnabled = "true".equalsIgnoreCase(value);
                 break;
+            case "manualBoundaryDrawingMode":
+                this.manualBoundaryDrawingMode = "true".equalsIgnoreCase(value);
+                break;
             case "mapScale":
                 // mapScale涓嶉渶瑕佸湪鍐呭瓨涓瓨鍌紝鐩存帴鏇存柊鍒版枃浠�
                 break;
@@ -243,20 +257,22 @@
         this.idleTrailDurationSeconds = DEFAULT_IDLE_TRAIL_DURATION_SECONDS;
         this.boundaryLengthVisible = false;  // 榛樿鍏抽棴
         this.measurementModeEnabled = false;  // 榛樿鍏抽棴娴嬮噺妯″紡
+        this.manualBoundaryDrawingMode = false;  // 榛樿鍏抽棴鎵嬪姩缁樺埗杈圭晫妯″紡
     }
 
     /**
      * 鏄剧ず褰撳墠鎵�鏈夊睘鎬у��
      */
     public void displayProperties() {
-        System.out.println("褰撳墠灞炴�у��:");
-        System.out.println("mowerId: " + (mowerId != null ? mowerId : "鏈缃�"));
-        System.out.println("cuttingWidth: " + (cuttingWidth != null ? cuttingWidth : "鏈缃�"));
-        System.out.println("simCardNumber: " + (simCardNumber != null ? simCardNumber : "鏈缃�"));
-    System.out.println("handheldMarkerId: " + (handheldMarkerId != null ? handheldMarkerId : "鏈缃�"));
-        System.out.println("firmwareVersion: " + (firmwareVersion != null ? firmwareVersion : "鏈缃�"));
-        System.out.println("appVersion: " + (appVersion != null ? appVersion : "鏈缃�"));
-        System.out.println("idleTrailDurationSeconds: " + idleTrailDurationSeconds);
+        // 鏄剧ず灞炴�у姛鑳藉凡绂佺敤
+    }
+
+    /**
+     * 鑾峰彇鍓茶崏鏈虹紪鍙�
+     * @return 鍓茶崏鏈虹紪鍙�
+     */
+    public static String getMowerIdValue() {
+        return getPropertyValue("mowerId");
     }
 
     // 鏍规嵁set.properties涓殑閿悕鑾峰彇瀵瑰簲鐨勫�硷紝娌℃湁鎴栦负-1鏃惰繑鍥瀗ull

--
Gitblit v1.10.0