|
@@ -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: {
|