Bladeren bron

倾斜摄影压平删除

lkk 9 maanden geleden
bovenliggende
commit
f38ef7cf80
1 gewijzigde bestanden met toevoegingen van 24 en 45 verwijderingen
  1. 24 45
      src/components/3DAnalysis/Smashing/Smashing.vue

+ 24 - 45
src/components/3DAnalysis/Smashing/Smashing.vue

@@ -14,11 +14,6 @@
           Resource.clear
         }}</el-button>
       </div>
-      <!-- <el-select v-model="value" placeholder="请选择对象">
-        <el-option v-for="(item, index) in options" :key="index" :label="item.name" :value="item"
-          @click.native="test(item)">
-        </el-option>
-      </el-select> -->
     </div>
   </div>
 </template>
@@ -37,11 +32,6 @@ export default {
       //存储压平数据名称
       flattenNames: [],
       handlerTemp: null,
-      options: [],
-      value: "",
-      // primitive:undefined
-      testLay: undefined,
-      nameStr: "",
     };
   },
   computed: {
@@ -53,20 +43,9 @@ export default {
     },
   },
   beforeDestroy() {},
-  mounted() {
-    // store.state.S3MList.forEach((s) => {
-    //   s.forEach((i) => {
-    //     this.options.push(i);
-    //   });
-    // });
-  },
+  mounted() {},
   methods: {
-    test(val) {
-      // console.log("woshi", val);
-      this.testLay = val;
-      this.value = val.name;
-      viewer.flyTo(val);
-    },
+    //压平测试方法
     tempTest() {
       let pos = [
         109.61859827027874, 18.321966806715164, -1.2607129544892512,
@@ -75,12 +54,15 @@ export default {
         109.62015920613872, 18.29884447877476, -0.8767527547718837,
       ];
       let aaa = store.state.tempLatData[0];
+      this.flattenNames = [];
       //遍历所有s3m图层,设置压平
       for (var i = 0; i < aaa.length; i++) {
+        let nameStr = "flatten" + new Date().getTime();
         aaa[i].addFlattenRegion({
           position: pos,
-          name: "flatten" + Cesium.createGuid(),
+          name: nameStr,
         });
+        this.flattenNames.push(nameStr);
       }
     },
     createSmashing() {
@@ -89,17 +71,6 @@ export default {
       let tooltip = createTooltip(document.body);
 
       that.clear();
-      // let handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
-      // handler.setInputAction((event) => {
-      //   var pickObj = viewer.scene.pick(event.position);
-      //   var position = viewer.scene.pickPosition(event.position);
-      //   var cartographic = Cesium.Cartographic.fromCartesian(position);
-      //   console.log(event, "event", pickObj,position);
-      //   if (!position) {
-      //     position = Cesium.Cartesian3.fromDegrees(0, 0, 0);
-      //   }
-      // }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
-
       if (that.handler_Cut_fill == null) {
         that.handler_Cut_fill = new Cesium.DrawHandler(
           viewer,
@@ -162,13 +133,17 @@ export default {
           }
         }
         viewer.scene.globe.removeAllExcavationRegion();
-        let aaa = store.state.tempLatData[0];
+        let s3mLayers = store.state.tempLatData[0];
         //遍历所有s3m图层,设置压平
-        for (var i = 0; i < aaa.length; i++) {
-          aaa[i].addFlattenRegion({
+        for (var i = 0; i < s3mLayers.length; i++) {
+          let nameStr = "flatten" + new Date().getTime(); //创建唯一名称
+          //倾斜影像压平处理
+          s3mLayers[i].addFlattenRegion({
             position: positions,
-            name: "flatten" + Cesium.createGuid(),
+            name: nameStr,
           });
+          //推送压平实体名称
+          this.flattenNames.push(nameStr);
         }
         positions = [];
         that.handler_Cut_fill.polygon.show = false;
@@ -187,12 +162,16 @@ export default {
         that.value = "";
       }
 
-      // if (store.state.flattenNames.length) {
-      //   store.state.flattenNames.forEach((el) => {
-      //     that.testLay.removeFlattenRegion("flatten" + el);
-      //   });
-      //   store.state.flattenNames = [];
-      // }
+      if (this.flattenNames.length) {
+        //图层数据
+        let layersData = store.state.tempLatData[0];
+        //遍历所有s3m图层,删除压平
+        for (var i = 0; i < layersData.length; i++) {
+          layersData[i].removeFlattenRegion(this.flattenNames[i]);
+          this.flattenNames.push(nameStr);
+        }
+        this.flattenNames = [];
+      }
     },
   },
   watch: {