From 75b9ebdf49c6fe06623278a64aed87cc523c46df Mon Sep 17 00:00:00 2001
From: wulitaotao <547306458@qq.com>
Date: 星期三, 22 二月 2023 09:39:11 +0800
Subject: [PATCH] 通视分析、地形整平、坡度分析

---
 src/views/Synthesis/index.vue    |    3 +
 public/index.html                |    3 +
 src/views/Synthesis/LeftMenu.vue |   58 ++++++++++++++--------------
 public/globle/globle.js          |   20 ++++++++++
 4 files changed, 55 insertions(+), 29 deletions(-)

diff --git a/public/globle/globle.js b/public/globle/globle.js
new file mode 100644
index 0000000..5023da2
--- /dev/null
+++ b/public/globle/globle.js
@@ -0,0 +1,20 @@
+window.PDelevationTool = null; //鍧″害鍒嗘瀽
+window.DXTerrainFlattening = null; //鍦板舰鍘嬪钩
+window.TSExcavation = null; //閫氳鍒嗘瀽
+
+function ClearAlayse() {
+  if (window.PDelevationTool != null) {
+    window.PDelevationTool.type = "none";
+    window.PDelevationTool.render();
+    window.PDelevationTool = null;
+  }
+
+  if (window.DXTerrainFlattening != null) {
+    DXTerrainFlattening.remove();
+    DXTerrainFlattening = null;
+  }
+  if (window.TSExcavation != null) {
+    window.TSExcavation.deleteObject();
+    window.TSExcavation = null;
+  }
+}
diff --git a/public/index.html b/public/index.html
index 7a800e2..a798435 100644
--- a/public/index.html
+++ b/public/index.html
@@ -25,6 +25,9 @@
   <script src="./config/config.js"></script>
   <script src="./config/rsa.min.js"></script>
   <script src="./config/rollups.js"></script>
+  <script src="./globle/globle.js"></script>
+
+
 
   <style>
     .esriControlsBR {
diff --git a/src/views/Synthesis/LeftMenu.vue b/src/views/Synthesis/LeftMenu.vue
index eb6449d..d35ccab 100644
--- a/src/views/Synthesis/LeftMenu.vue
+++ b/src/views/Synthesis/LeftMenu.vue
@@ -35,6 +35,7 @@
 </template>
 
 <script>
+
 import { transform } from 'ol/proj';
 import mapinfo from '../Tools/mapinfo.vue';
 import maplayer from '../Tools/maplayer.vue';
@@ -410,7 +411,6 @@
   methods: {
     //浜岀礆鑿滃崟鐐瑰嚮鍒囨崲
     setChangeTwoMenu(res) {
-
       this.$store.state.mapMenuBoolean = false;
       this.$store.state.mapMenuBoxFlag = null;
       this.$store.state.mapPopBoolean = false;
@@ -446,6 +446,9 @@
       this.showTwoMenuFlag = res.id;
 
       switch (val) {
+
+        
+
         case 'a': //鍥惧眰绠$悊
 
           this.setCoverage(res.id);
@@ -1111,12 +1114,14 @@
           break;
         case 'd2':
           that.isslopeFlag = !that.isslopeFlag;
+          window.PDelevationTool= new SmartEarth.ElevationTool(sgworld);//鍏ㄥ眬鍙橀噺
           if (that.isslopeFlag == true) {
-            elevationTool.type = 'slope';
+            PDelevationTool.type = 'slope';
+            PDelevationTool.tf = this.checked;
           } else {
-            elevationTool.type = 'none';
+            PDelevationTool.type = 'none';
           }
-          elevationTool.render();
+          PDelevationTool.render();
           break;
         case 'd3':
           var value = {
@@ -1199,28 +1204,23 @@
           }
           break;
         case 'd10':
-          if (window.TerrainFlattening) {
-            window.TerrainFlattening.remove();
-            window.TerrainFlattening = null;
-          } else {
-            sgworld.Creator.createSimpleGraphic(
-              'polygon',
-              {
-                clampToGround: true,
-              },
-              function (entity) {
-                var positions = entity.polygon.hierarchy.getValue().positions;
-                sgworld.Creator.SimpleGraphic.remove(entity.id);
-                window.TerrainFlattening =
-                  sgworld.Creator.createTerrainModifier(
-                    '鍦板舰鍘嬪钩',
-                    positions,
-                    10,
-                    {}
-                  );
-              }
-            );
+        
+          if(window.DXTerrainFlattening!=null){
+            DXTerrainFlattening.remove();
           }
+          sgworld.Creator.createSimpleGraphic(
+                'polygon',
+                {
+                    clampToGround: true,
+                },
+                function (entity) {
+                    let   positions = entity.polygon.hierarchy.getValue().positions;
+                    console.log(positions);
+                    sgworld.Creator.SimpleGraphic.remove(entity.id);
+                    
+                    window.DXTerrainFlattening = sgworld.Creator.createTerrainModifier("鍦板舰鍘嬪钩", positions, 10, {});
+                }
+            );
           break;
 
         case 'd11':
@@ -1237,11 +1237,11 @@
           break;
 
         case "d12":
-          if (window.Excavation) {
-            window.Excavation.deleteObject()
-            window.Excavation = null
+          if (window.TSExcavation!=null) {
+            window.TSExcavation.deleteObject()
+            window.TSExcavation = null
           } else {
-            window.Excavation = sgworld.Analysis.createSightLine({
+            window.TSExcavation = sgworld.Analysis.createSightLine({
               type: "default",
             })
           }
diff --git a/src/views/Synthesis/index.vue b/src/views/Synthesis/index.vue
index deddc49..f27906c 100644
--- a/src/views/Synthesis/index.vue
+++ b/src/views/Synthesis/index.vue
@@ -128,6 +128,9 @@
   methods: {
     //宸︿晶鑿滃崟婊戝姩鏄鹃殣
     setMenuChange(res) {
+      //娓呴櫎鍒嗘瀽妯″潡鐨勫叏灞�鍙橀噺
+      ClearAlayse();
+
       switch (res.id) {
 
         case 1:

--
Gitblit v1.9.3