@kq_npm/client3d_webgl_vue 4.1.0-beta → 4.1.2-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -515,6 +515,8 @@ __webpack_require__.d(__webpack_exports__, {
515
515
  "Kq3dLimitHeightAnalysisViewModel": function() { return /* reexport */ LimitHeightAnalysisViewModel; },
516
516
  "Kq3dMeasure": function() { return /* reexport */ Measure; },
517
517
  "Kq3dMeasureViewModel": function() { return /* reexport */ MeasureViewModel; },
518
+ "Kq3dModelExcavate": function() { return /* reexport */ ModelExcavate; },
519
+ "Kq3dModelExcavateViewModel": function() { return /* reexport */ ModelExcavateViewModel; },
518
520
  "Kq3dModelFilter": function() { return /* reexport */ ModelFilter; },
519
521
  "Kq3dModelFilterViewModel": function() { return /* reexport */ ModelFilterViewModel; },
520
522
  "Kq3dModelProfileAnalysis": function() { return /* reexport */ ModelProfileAnalysis; },
@@ -643,7 +645,7 @@ class DrawManager {
643
645
  //文字内容
644
646
  fontSize: 25,
645
647
  //文字大小
646
- fontFamily: 'Microsoft YaHei',
648
+ fontFamily: "Microsoft YaHei",
647
649
  color: "#ff0000" //文字颜色
648
650
  // opacity: 0.5, //文字颜色透明度
649
651
  // clampToGround: false //是否贴地
@@ -748,11 +750,11 @@ class DrawManager {
748
750
 
749
751
  let editFinishedEvent = this._drawHandler.editHandler.editFinished;
750
752
  this.editSelectedEvent.addEventListener(shape => {
751
- if (shape) this.addMouseEvent('move', 'label');
753
+ if (shape) this.addMouseEvent("move", "label");
752
754
  });
753
755
  editFinishedEvent.addEventListener(shape => {
754
756
  if (shape) {
755
- this.removeMouseEvent('move', 'label');
757
+ this.removeMouseEvent("move", "label");
756
758
  this._labelUpdateData && this._labelUpdateData();
757
759
  }
758
760
  }); // 关闭双击旋转交互
@@ -817,7 +819,7 @@ class DrawManager {
817
819
 
818
820
  getImageWithColor(imgUrl, color, width = 32, height = 32) {
819
821
  if (color) {
820
- var svgStr = window.atob(imgUrl.split(',')[1]);
822
+ var svgStr = window.atob(imgUrl.split(",")[1]);
821
823
  var regex = /#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})/g; // 修改svg颜色
822
824
 
823
825
  svgStr = svgStr.replace(regex, color); // 修改svg大小
@@ -1268,7 +1270,7 @@ class DrawManager {
1268
1270
  if (!primitive) return;
1269
1271
  let type = primitive._geoType;
1270
1272
 
1271
- if (primitive.type === 'text') {
1273
+ if (primitive.type === "text") {
1272
1274
  if (primitive.fontSize != style.fontSize) {
1273
1275
  // 修改样式弹窗的 offset
1274
1276
  if (this._stylePopup && this._stylePopup.show) {
@@ -1280,7 +1282,7 @@ class DrawManager {
1280
1282
  primitive.fontFamily = style.fontFamily;
1281
1283
  primitive.text = style.content;
1282
1284
  primitive.fillColor = Cesium.Color.fromCssColorString(style.color);
1283
- } else if (type === 'point') {
1285
+ } else if (type === "point") {
1284
1286
  if (primitive.height != style.iconSize[1]) {
1285
1287
  // 修改样式弹窗的 offset
1286
1288
  if (this._stylePopup && this._stylePopup.show) {
@@ -1291,14 +1293,14 @@ class DrawManager {
1291
1293
  primitive.image = this.getImageWithColor(style.iconUrl, style.color, style.iconSize[0], style.iconSize[1]);
1292
1294
  primitive.width = style.iconSize[0];
1293
1295
  primitive.height = style.iconSize[1];
1294
- } else if (type === 'polyline' || type === 'polygon') {
1296
+ } else if (type === "polyline" || type === "polygon") {
1295
1297
  if (style.weight != undefined) primitive.width = style.weight;
1296
1298
  if (style.color != undefined) primitive.color = Cesium.Color.fromCssColorString(style.color);
1297
1299
  if (style.dashArray != undefined) primitive.dashArray = style.dashArray;
1298
1300
  if (style.opacity != undefined) primitive.color = primitive.color.withAlpha(style.opacity);
1299
1301
  }
1300
1302
 
1301
- if (type === 'polygon') {
1303
+ if (type === "polygon") {
1302
1304
  primitive.fill = style.fill === undefined ? true : style.fill;
1303
1305
 
1304
1306
  if (primitive.fill) {
@@ -1312,18 +1314,18 @@ class DrawManager {
1312
1314
  }
1313
1315
 
1314
1316
  getShapeTypeById(id) {
1315
- let type = '';
1317
+ let type = "";
1316
1318
 
1317
1319
  let primitive = this._drawLayer.getById(id);
1318
1320
 
1319
1321
  if (primitive) {
1320
1322
  type = primitive.type;
1321
- if (type == 'marker') type = 'Marker';
1322
- if (type == 'polyline') type = 'Line';
1323
- if (type == 'polygon') type = 'Polygon';
1324
- if (type == 'rectangle') type = 'Rectangle';
1325
- if (type == 'circle') type = 'Circle';
1326
- if (type == 'text') type = 'Text';
1323
+ if (type == "marker") type = "Marker";
1324
+ if (type == "polyline") type = "Line";
1325
+ if (type == "polygon") type = "Polygon";
1326
+ if (type == "rectangle") type = "Rectangle";
1327
+ if (type == "circle") type = "Circle";
1328
+ if (type == "text") type = "Text";
1327
1329
  }
1328
1330
 
1329
1331
  return type;
@@ -1411,7 +1413,7 @@ class DrawManager {
1411
1413
  let shape = null;
1412
1414
 
1413
1415
  if (type == "Marker") {
1414
- shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.MARKER.type, '', {
1416
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.MARKER.type, "", {
1415
1417
  position: info.coordinate,
1416
1418
  disableDepthTestDistance: Number.POSITIVE_INFINITY,
1417
1419
  width: info.style.iconSize[0],
@@ -1419,7 +1421,7 @@ class DrawManager {
1419
1421
  image: this.getImageWithColor(info.style.iconUrl, info.style.color, info.style.iconSize[0], info.style.iconSize[1])
1420
1422
  });
1421
1423
  } else if (type == "Line") {
1422
- shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.POLYLINE.type, '', {
1424
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.POLYLINE.type, "", {
1423
1425
  controlPoints: info.coordinate,
1424
1426
  color: Cesium.Color.fromCssColorString(info.style.color).withAlpha(info.style.opacity),
1425
1427
  width: info.style.weight,
@@ -1427,7 +1429,7 @@ class DrawManager {
1427
1429
  clampToGround: true
1428
1430
  });
1429
1431
  } else if (type == "Polygon") {
1430
- shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.POLYGON.type, '', {
1432
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.POLYGON.type, "", {
1431
1433
  controlPoints: info.coordinate,
1432
1434
  color: Cesium.Color.fromCssColorString(info.style.color),
1433
1435
  width: info.style.weight,
@@ -1436,7 +1438,7 @@ class DrawManager {
1436
1438
  clampToGround: true
1437
1439
  });
1438
1440
  } else if (type == "Rectangle") {
1439
- shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.RECTANGLE.type, '', {
1441
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.RECTANGLE.type, "", {
1440
1442
  controlPoints: info.coordinate,
1441
1443
  color: Cesium.Color.fromCssColorString(info.style.color),
1442
1444
  width: info.style.weight,
@@ -1445,7 +1447,7 @@ class DrawManager {
1445
1447
  clampToGround: true
1446
1448
  });
1447
1449
  } else if (type == "Circle") {
1448
- shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.CIRCLE.type, '', {
1450
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.CIRCLE.type, "", {
1449
1451
  controlPoints: info.coordinate,
1450
1452
  color: Cesium.Color.fromCssColorString(info.style.color),
1451
1453
  width: info.style.weight,
@@ -1454,7 +1456,7 @@ class DrawManager {
1454
1456
  clampToGround: true
1455
1457
  });
1456
1458
  } else if (type == "Text") {
1457
- shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.TEXT.type, '', {
1459
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.TEXT.type, "", {
1458
1460
  latlng: info.coordinate,
1459
1461
  text: info.style.content,
1460
1462
  fontSize: info.style.fontSize,
@@ -1492,7 +1494,7 @@ class DrawManager {
1492
1494
 
1493
1495
 
1494
1496
  this.enableEdit(true);
1495
- this.addMouseEvent('click', 'label'); // 标注坐标修改回调事件
1497
+ this.addMouseEvent("click", "label"); // 标注坐标修改回调事件
1496
1498
 
1497
1499
  this._labelUpdateData = updateData;
1498
1500
  return layerList;
@@ -1510,7 +1512,7 @@ class DrawManager {
1510
1512
  coordinate = feature.geometry.coordinates;
1511
1513
  if (type === "MultiPoint") coordinate = coordinate[0];
1512
1514
  let position = Cesium.Cartesian3.fromDegrees(coordinate[0], coordinate[1]);
1513
- shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.MARKER.type, '', {
1515
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.MARKER.type, "", {
1514
1516
  position: position,
1515
1517
  disableDepthTestDistance: Number.POSITIVE_INFINITY,
1516
1518
  width: 32,
@@ -1527,7 +1529,7 @@ class DrawManager {
1527
1529
  coordinate.forEach(arr => {
1528
1530
  positions.push(Cesium.Cartesian3.fromDegrees(arr[0], arr[1]));
1529
1531
  });
1530
- shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.POLYLINE.type, '线', {
1532
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.POLYLINE.type, "线", {
1531
1533
  controlPoints: positions,
1532
1534
  color: Cesium.Color.fromCssColorString(style.color),
1533
1535
  width: style.weight,
@@ -1543,13 +1545,14 @@ class DrawManager {
1543
1545
  coordinate.forEach(arr => {
1544
1546
  positions.push(Cesium.Cartesian3.fromDegrees(arr[0], arr[1]));
1545
1547
  });
1546
- shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.POLYGON.type, '', {
1548
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.POLYGON.type, "", {
1547
1549
  controlPoints: positions,
1548
1550
  color: Cesium.Color.fromCssColorString(style.color),
1549
1551
  width: style.weight,
1550
1552
  fillColor: Cesium.Color.fromCssColorString(style.fillColor).withAlpha(style.fillOpacity),
1551
1553
  fill: true,
1552
- clampToGround: true
1554
+ clampToGround: true,
1555
+ material: this.getFillStyle(style.fillStyle)
1553
1556
  });
1554
1557
  break;
1555
1558
 
@@ -1564,8 +1567,7 @@ class DrawManager {
1564
1567
 
1565
1568
  if (isLocation) {
1566
1569
  setTimeout(() => {
1567
- this._drawHandler.startEdit(shape);
1568
-
1570
+ //this._drawHandler.startEdit(shape);
1569
1571
  let offset = new Cesium.HeadingPitchRange(0, Cesium.Math.toRadians(-90), 0);
1570
1572
 
1571
1573
  this._viewer.camera.flyToBoundingSphere(shape.boundingSphere, {
@@ -1642,8 +1644,8 @@ class DrawManager {
1642
1644
  let offsetY = -8;
1643
1645
 
1644
1646
  if (!clickPosition) {
1645
- if (shape.type == 'marker') offsetY -= shape.height * shape._scaleHeight;
1646
- if (shape.type == 'text') offsetY -= shape.fontSize;
1647
+ if (shape.type == "marker") offsetY -= shape.height * shape._scaleHeight;
1648
+ if (shape.type == "text") offsetY -= shape.fontSize;
1647
1649
  }
1648
1650
 
1649
1651
  this.destroyStylePopup();
@@ -1719,7 +1721,7 @@ class DrawManager {
1719
1721
  that._mouseHandlers[target].setInputAction(function (movement) {
1720
1722
  if (target == "label") {
1721
1723
  if (that._drawHandler.editHandler._pickedAnchor && that._drawHandler.editHandler._shapeObject) {
1722
- that.removeMouseEvent('move', 'label');
1724
+ that.removeMouseEvent("move", "label");
1723
1725
  that.destroyStylePopup();
1724
1726
  }
1725
1727
  }
@@ -1765,7 +1767,7 @@ class DrawManager {
1765
1767
 
1766
1768
  this._handler.setInputAction(function (movement) {
1767
1769
  // that.closePointPoup();
1768
- that.openPointPoup('1002', 'AAA'); // that.removePointAll();
1770
+ that.openPointPoup("1002", "AAA"); // that.removePointAll();
1769
1771
  //that.clearPointByIdCustom();
1770
1772
  }, Cesium.ScreenSpaceEventType.RIGHT_CLICK);
1771
1773
  }
@@ -1799,7 +1801,7 @@ class DrawManager {
1799
1801
  createPointPoup(entity) {
1800
1802
  if (this._htmlTag) this._htmlTag.destroy();
1801
1803
  this._htmlTag = new Cesium.Kq3dHtmlTag(this._viewer, {
1802
- html: '<div>' + entity.properties.id._value + '</div>',
1804
+ html: "<div>" + entity.properties.id._value + "</div>",
1803
1805
  position: entity.position,
1804
1806
  anchor: [0, -entity.properties.height._value],
1805
1807
  alignmentMode: 7
@@ -3636,7 +3638,8 @@ class ScenceViewViewModel extends (mitt_default()) {
3636
3638
  sceneModePicker: false,
3637
3639
  infoBox: false,
3638
3640
  languageStyle: this._lang.type == 'zh' ? 'zh-CN' : 'en',
3639
- navigationHelpButton: false
3641
+ navigationHelpButton: false,
3642
+ statusBar: true
3640
3643
  };
3641
3644
 
3642
3645
  for (var key in this._props.options) {
@@ -7400,6 +7403,20 @@ class MeasureViewModel {
7400
7403
  this._viewer.scene.globe.depthTestAgainstTerrain = true;
7401
7404
 
7402
7405
  this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.Coordinate);
7406
+ } //地形坡度测量
7407
+
7408
+
7409
+ terrainSlopeMeasure() {
7410
+ this._viewer.scene.globe.depthTestAgainstTerrain = true;
7411
+
7412
+ this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.TerrainSlope);
7413
+ } //场景坡度测量
7414
+
7415
+
7416
+ sceneSlopeMeasure() {
7417
+ this._viewer.scene.globe.depthTestAgainstTerrain = true;
7418
+
7419
+ this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.SceneSlope);
7403
7420
  } //结束测量
7404
7421
 
7405
7422
 
@@ -7721,12 +7738,18 @@ const Measurevue_type_script_setup_true_lang_js_default_ = {
7721
7738
  spaceDistance: res.distance ? res.distance.toFixed(2) : 0,
7722
7739
  horizontalDistance: res.hDistance ? res.hDistance.toFixed(2) : 0,
7723
7740
  verticalDistance: res.vDistance ? res.vDistance.toFixed(2) : 0,
7724
- angle: res.angle ? res.angle.toFixed(2) : 0
7741
+ angle: res.angle ? res.angle.toFixed(2).replace(/\.?0+$/, '') : 0
7725
7742
  };
7726
7743
  } else if (measureType.value === "area") {
7727
7744
  if (res && res.area) result.value = formatArea(res.area);
7728
- } else if (measureType.value === "azimuth") {
7729
- if (res && res.azimuth) result.value = formatAzimuth(res.azimuth);
7745
+ } else if (measureType.value === "azimuth" && res) {
7746
+ if (res.positions && res.positions.length > 0) {
7747
+ result.value = res.azimuth.toFixed(4) + " °";
7748
+ } else result.value = 0;
7749
+ } else if (measureType.value === "slope" && res) {
7750
+ if (res.positions && res.positions.length > 0) {
7751
+ result.value = res.slopeAngle.toFixed(2).replace(/\.?0+$/, '') + " °";
7752
+ } else result.value = 0;
7730
7753
  } else if (measureType.value === "coordinate") {
7731
7754
  if (res && res.coordinate) {
7732
7755
  result.value = {
@@ -7746,8 +7769,9 @@ const Measurevue_type_script_setup_true_lang_js_default_ = {
7746
7769
  });
7747
7770
  viewModel.activeEvent.addEventListener(function (active) {
7748
7771
  if (!active) {
7749
- if (measureType.value === "height" && result.value.angle === 0) return;
7750
7772
  isActive.value = null;
7773
+ if (measureType.value === "height" && result.value.angle === 0) return;
7774
+ if (measureType.value === "azimuth" && result.value === 0) return;
7751
7775
  isResult.value = true;
7752
7776
  }
7753
7777
  });
@@ -7800,11 +7824,6 @@ const Measurevue_type_script_setup_true_lang_js_default_ = {
7800
7824
 
7801
7825
  return area.toFixed(2) + " " + unit;
7802
7826
  }
7803
-
7804
- function formatAzimuth(azimuth) {
7805
- var unit = "°";
7806
- return azimuth.toFixed(4) + " " + unit;
7807
- }
7808
7827
  /**
7809
7828
  * @description 监听单位变化操作
7810
7829
  * @param {string} unit - 单位
@@ -7894,6 +7913,19 @@ const Measurevue_type_script_setup_true_lang_js_default_ = {
7894
7913
  viewModel.coordinateMeasure();
7895
7914
  break;
7896
7915
 
7916
+ case "azimuth":
7917
+ viewModel.azimuthMeasure();
7918
+ break;
7919
+
7920
+ case "slope":
7921
+ if (mode.value === "ground") {
7922
+ viewModel.terrainSlopeMeasure();
7923
+ } else if (mode.value === "model") {
7924
+ viewModel.sceneSlopeMeasure();
7925
+ }
7926
+
7927
+ break;
7928
+
7897
7929
  default:
7898
7930
  break;
7899
7931
  }
@@ -7914,7 +7946,6 @@ const Measurevue_type_script_setup_true_lang_js_default_ = {
7914
7946
  loadModeData,
7915
7947
  formatDistance,
7916
7948
  formatArea,
7917
- formatAzimuth,
7918
7949
  startMeasure,
7919
7950
  clearMeasure
7920
7951
  });
@@ -8019,7 +8050,25 @@ const Measurevue_type_script_setup_true_lang_js_default_ = {
8019
8050
  }, 8
8020
8051
  /* PROPS */
8021
8052
  , ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(mode) == 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_button, {
8022
- onClick: _cache[4] || (_cache[4] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withModifiers)($event => startMeasure('coordinate'), ["stop"])),
8053
+ onClick: _cache[4] || (_cache[4] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withModifiers)($event => startMeasure('azimuth'), ["stop"])),
8054
+ class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.normalizeClass)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(isActive) == 'azimuth' ? 'is-active' : null),
8055
+ title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).azimuth
8056
+ }, {
8057
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_icon, {
8058
+ size: 24
8059
+ }, {
8060
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(client_icons_vue_namespaceObject.IconAzimuthMeasure))]),
8061
+ _: 1
8062
+ /* STABLE */
8063
+
8064
+ })]),
8065
+ _: 1
8066
+ /* STABLE */
8067
+
8068
+ }, 8
8069
+ /* PROPS */
8070
+ , ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(mode) == 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_button, {
8071
+ onClick: _cache[5] || (_cache[5] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withModifiers)($event => startMeasure('coordinate'), ["stop"])),
8023
8072
  class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.normalizeClass)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(isActive) == 'coordinate' ? 'is-active' : null),
8024
8073
  title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).coordinate
8025
8074
  }, {
@@ -8036,7 +8085,25 @@ const Measurevue_type_script_setup_true_lang_js_default_ = {
8036
8085
 
8037
8086
  }, 8
8038
8087
  /* PROPS */
8039
- , ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(mode) == 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_button, {
8088
+ , ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(mode) == 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_button, {
8089
+ onClick: _cache[6] || (_cache[6] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withModifiers)($event => startMeasure('slope'), ["stop"])),
8090
+ class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.normalizeClass)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(isActive) == 'slope' ? 'is-active' : null),
8091
+ title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).slope
8092
+ }, {
8093
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_icon, {
8094
+ size: 24
8095
+ }, {
8096
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(client_icons_vue_namespaceObject.IconSlopeMeasure))]),
8097
+ _: 1
8098
+ /* STABLE */
8099
+
8100
+ })]),
8101
+ _: 1
8102
+ /* STABLE */
8103
+
8104
+ }, 8
8105
+ /* PROPS */
8106
+ , ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(mode) != 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_button, {
8040
8107
  type: "danger",
8041
8108
  plain: "",
8042
8109
  onClick: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withModifiers)(clearMeasure, ["stop"]),
@@ -8056,7 +8123,7 @@ const Measurevue_type_script_setup_true_lang_js_default_ = {
8056
8123
 
8057
8124
  }, 8
8058
8125
  /* PROPS */
8059
- , ["onClick", "title"])]), !!(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(isActive) ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementBlock)("div", Measurevue_type_script_setup_true_lang_js_hoisted_6, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_divider), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(measureType) === 'height' ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementBlock)("p", Measurevue_type_script_setup_true_lang_js_hoisted_7, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).measureTips1), 1
8126
+ , ["onClick", "title"])]), !!(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(isActive) ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementBlock)("div", Measurevue_type_script_setup_true_lang_js_hoisted_6, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_divider), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(measureType) === 'height' || (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(measureType) === 'azimuth' ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementBlock)("p", Measurevue_type_script_setup_true_lang_js_hoisted_7, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).measureTips1), 1
8060
8127
  /* TEXT */
8061
8128
  )) : ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementBlock)("p", Measurevue_type_script_setup_true_lang_js_hoisted_8, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).measureTips), 1
8062
8129
  /* TEXT */
@@ -8064,7 +8131,7 @@ const Measurevue_type_script_setup_true_lang_js_default_ = {
8064
8131
  /* TEXT */
8065
8132
  ), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_select, {
8066
8133
  modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(distanceUnit),
8067
- "onUpdate:modelValue": _cache[5] || (_cache[5] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.isRef)(distanceUnit) ? distanceUnit.value = $event : distanceUnit = $event),
8134
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.isRef)(distanceUnit) ? distanceUnit.value = $event : distanceUnit = $event),
8068
8135
  onChange: onChangeUnit
8069
8136
  }, {
8070
8137
  default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.openBlock)(true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementBlock)(external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.Fragment, null, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.renderList)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(distanceUnits), item => {
@@ -14166,6 +14233,544 @@ ScanEffect.install = (Vue, opts) => {
14166
14233
  };
14167
14234
 
14168
14235
 
14236
+ ;// CONCATENATED MODULE: ./src/webgl/modelexcavate/ModelExcavateViewModel.js
14237
+
14238
+ //模型开挖逻辑类
14239
+
14240
+ class ModelExcavateViewModel {
14241
+ //三维viewer对象
14242
+ //Box裁剪存储参数对象
14243
+ //绘制管理对象
14244
+ //绘制完成监听事件
14245
+ //Kq3dWallPrimitive
14246
+ constructor(scenceView, options) {
14247
+ _defineProperty(this, "_viewer", null);
14248
+
14249
+ _defineProperty(this, "_options", {});
14250
+
14251
+ _defineProperty(this, "_Kq3dTerrainExcavation", null);
14252
+
14253
+ _defineProperty(this, "_drawManager", null);
14254
+
14255
+ _defineProperty(this, "_removeEventListener", null);
14256
+
14257
+ _defineProperty(this, "_wallPrimitive", void 0);
14258
+
14259
+ _defineProperty(this, "entity0", null);
14260
+
14261
+ _defineProperty(this, "wall", null);
14262
+
14263
+ _defineProperty(this, "ratio", 0.01);
14264
+
14265
+ _defineProperty(this, "ii", 1);
14266
+
14267
+ _defineProperty(this, "scratchCartesian2", new window.Cesium.Cartesian3());
14268
+
14269
+ _defineProperty(this, "scratchCartesian3", new window.Cesium.Cartesian3());
14270
+
14271
+ _defineProperty(this, "scratchCartesian4", new window.Cesium.Cartesian3());
14272
+
14273
+ _defineProperty(this, "scratchCartesian5", new window.Cesium.Cartesian3());
14274
+
14275
+ _defineProperty(this, "scratchCartesian6", new window.Cesium.Cartesian3());
14276
+
14277
+ _defineProperty(this, "scratchCartesian7", new window.Cesium.Cartesian3());
14278
+
14279
+ _defineProperty(this, "intervalId", null);
14280
+
14281
+ _defineProperty(this, "g_flattenedPolygonTexture", null);
14282
+
14283
+ this._viewer = scenceView._viewer;
14284
+ this._options = options;
14285
+ this._drawManager = scenceView._drawManager;
14286
+ this._viewer.scene.globe.depthTestAgainstTerrain = true; //开启深度检测
14287
+
14288
+ let kq3dFlattenning = new window.Cesium.Kq3dFlattenning(this._viewer, {});
14289
+ this.g_flattenedPolygonTexture = kq3dFlattenning.createFlattenedPolygonTexture();
14290
+ var that = this;
14291
+ this._removeEventListener = this._drawManager.drawFinishedEvent.addEventListener(shape => {
14292
+ if (shape) {
14293
+ that._options.positions = shape._controlPoints;
14294
+ that.createDynamicExcavationEffect();
14295
+
14296
+ that._drawManager.clear();
14297
+ }
14298
+ });
14299
+ } // 创建开挖模型
14300
+
14301
+
14302
+ createDynamicExcavationEffect() {
14303
+ this._Kq3dTerrainExcavation && this._Kq3dTerrainExcavation.destroy();
14304
+ this._Kq3dTerrainExcavation = new window.Cesium.Kq3dTerrainExcavation({
14305
+ viewer: this._viewer,
14306
+ height: this._options.height,
14307
+ positions: this._options.positions,
14308
+ hasWall: false
14309
+ });
14310
+
14311
+ if (this._wallPrimitive) {
14312
+ this._viewer.scene.primitives.remove(this._wallPrimitive);
14313
+
14314
+ this._wallPrimitive = undefined;
14315
+ }
14316
+
14317
+ this._wallPrimitive = new window.Cesium.Kq3dWallPrimitive({
14318
+ viewer: this._viewer,
14319
+ height: this._options.height,
14320
+ positions: this._options.positions,
14321
+ elevationOnTerrain: false
14322
+ });
14323
+
14324
+ this._viewer.scene.primitives.add(this._wallPrimitive);
14325
+
14326
+ let that = this;
14327
+
14328
+ this._wallPrimitive._readyEvent.addEventListener(function (eventType) {
14329
+ if (eventType != "Ready") {
14330
+ return;
14331
+ }
14332
+
14333
+ that.intervalId = setInterval(function () {
14334
+ if (that.ii > 100) {
14335
+ if (that.entity0) {
14336
+ that._viewer.scene.primitives.remove(that.entity0);
14337
+
14338
+ that.entity0 = undefined;
14339
+ }
14340
+
14341
+ if (that.wall) {
14342
+ that._viewer.scene.primitives.remove(that.wall);
14343
+
14344
+ that.wall = undefined;
14345
+ }
14346
+
14347
+ clearInterval(that.intervalId);
14348
+ that.ii = 0;
14349
+ return;
14350
+ }
14351
+
14352
+ var carto2 = window.Cesium.Cartesian3.lerp(that._options.positions[0], that._options.positions[3], that.ratio * that.ii, that.scratchCartesian2);
14353
+ var carto3 = window.Cesium.Cartesian3.lerp(that._options.positions[1], that._options.positions[2], that.ratio * that.ii, that.scratchCartesian3);
14354
+
14355
+ if (that.entity0) {
14356
+ that._viewer.scene.primitives.remove(that.entity0);
14357
+
14358
+ that.entity0 = undefined;
14359
+ }
14360
+
14361
+ that.entity0 = that.createPolyline([carto2, carto3]);
14362
+ that.ii++;
14363
+ that.g_flattenedPolygonTexture.removeAllFlattenedPolygon();
14364
+ var myPolygon = window.Cesium.PolygonGeometry.fromPositions({
14365
+ positions: [that._options.positions[0], that._options.positions[1], carto3, carto2],
14366
+ height: window.Cesium.Cartographic.fromCartesian(that._options.positions[0]).height
14367
+ });
14368
+ that.g_flattenedPolygonTexture.addFlattenedPolygon(myPolygon);
14369
+ }, 100);
14370
+ });
14371
+ }
14372
+
14373
+ createPolyline(positions) {
14374
+ var material = window.Cesium.Material.fromType("Kq3dLightningMaterial", {});
14375
+
14376
+ if (this.wall) {
14377
+ this._viewer.scene.primitives.remove(this.wall);
14378
+
14379
+ this.wall = undefined;
14380
+ }
14381
+
14382
+ var geometryInstances = [];
14383
+ geometryInstances.push(new window.Cesium.GeometryInstance({
14384
+ geometry: new window.Cesium.WallGeometry({
14385
+ positions: positions,
14386
+ maximumHeights: [10, 10],
14387
+ minimumHeights: [-10, -10],
14388
+ vertexFormat: window.Cesium.VertexFormat.POSITION_NORMAL_AND_ST
14389
+ })
14390
+ }));
14391
+ this.wall = new window.Cesium.Primitive({
14392
+ geometryInstances: geometryInstances,
14393
+ appearance: new window.Cesium.MaterialAppearance({
14394
+ material: material
14395
+ })
14396
+ });
14397
+
14398
+ this._viewer.scene.primitives.add(this.wall);
14399
+
14400
+ var geo = new window.Cesium.GroundPolylineGeometry({
14401
+ positions: positions,
14402
+ width: 40.0,
14403
+ vertexFormat: window.Cesium.PolylineMaterialAppearance.VERTEX_FORMAT
14404
+ });
14405
+ var primitive = new window.Cesium.GroundPolylinePrimitive({
14406
+ asynchronous: false,
14407
+ classificationType: window.Cesium.ClassificationType.BOTH,
14408
+ geometryInstances: new window.Cesium.GeometryInstance({
14409
+ geometry: geo
14410
+ }),
14411
+ appearance: new window.Cesium.PolylineMaterialAppearance({
14412
+ material: material
14413
+ })
14414
+ });
14415
+ return this._viewer.scene.primitives.add(primitive);
14416
+ }
14417
+
14418
+ start() {
14419
+ // 判断是否添加了模型
14420
+ var flag = false;
14421
+ var models = this._viewer.scene.primitives._primitives;
14422
+
14423
+ for (let i = 0; i < models.length; i++) {
14424
+ if (models[i]._url) {
14425
+ models[i].enableFlattenning = true;
14426
+ models[i].flattenDiscard = true;
14427
+ this.g_flattenedPolygonTexture.attachTileset(models[i]);
14428
+ flag = true;
14429
+ }
14430
+ }
14431
+
14432
+ if (flag) {
14433
+ this.clear();
14434
+
14435
+ this._drawManager.startDraw("polygon", {
14436
+ clampToGround: true
14437
+ });
14438
+ } else {
14439
+ message({
14440
+ message: "请添加模型后绘制!",
14441
+ type: "warning"
14442
+ });
14443
+ }
14444
+ } // qi切换高度重新计算
14445
+
14446
+
14447
+ setHeight(val) {
14448
+ this._options.height = Number(val);
14449
+ } // 清除
14450
+
14451
+
14452
+ clear() {
14453
+ this._drawManager.stopDraw(); // 销毁地形开挖
14454
+
14455
+
14456
+ if (this.intervalId) {
14457
+ clearInterval(this.intervalId);
14458
+ this.ii = 0;
14459
+
14460
+ if (this.entity0) {
14461
+ this._viewer.scene.primitives.remove(this.entity0);
14462
+
14463
+ this.entity0 = undefined;
14464
+ }
14465
+
14466
+ if (this.wall) {
14467
+ this._viewer.scene.primitives.remove(this.wall);
14468
+
14469
+ this.wall = undefined;
14470
+ }
14471
+ }
14472
+
14473
+ this.Kq3dTerrainExcavation && this.Kq3dTerrainExcavation.destroy();
14474
+ this.g_flattenedPolygonTexture && this.g_flattenedPolygonTexture.removeAllFlattenedPolygon();
14475
+ } //销毁
14476
+
14477
+
14478
+ destroy() {
14479
+ this.clear();
14480
+ }
14481
+
14482
+ }
14483
+ ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/webgl/modelexcavate/ModelExcavate.vue?vue&type=script&setup=true&lang=js
14484
+
14485
+ const ModelExcavatevue_type_script_setup_true_lang_js_hoisted_1 = {
14486
+ class: "kq3d-model-excavate-box",
14487
+ ref: "ref_box"
14488
+ };
14489
+ const ModelExcavatevue_type_script_setup_true_lang_js_hoisted_2 = {
14490
+ class: "kq3d-model-excavate-span"
14491
+ };
14492
+ const ModelExcavatevue_type_script_setup_true_lang_js_hoisted_3 = {
14493
+ class: "kq3d-model-excavate-footer"
14494
+ };
14495
+
14496
+
14497
+
14498
+
14499
+
14500
+ //语言
14501
+
14502
+ const ModelExcavatevue_type_script_setup_true_lang_js_default_ = {
14503
+ name: "Kq3dModelExcavate"
14504
+ };
14505
+ /* harmony default export */ var ModelExcavatevue_type_script_setup_true_lang_js = (/*#__PURE__*/Object.assign(ModelExcavatevue_type_script_setup_true_lang_js_default_, {
14506
+ props: {
14507
+ //指定组件绑定的viewer对象的div的id
14508
+ mapTarget: String,
14509
+ // 设置参数
14510
+ settingParams: {
14511
+ type: Object
14512
+ },
14513
+ // 是否显示阴影效果
14514
+ showShadow: {
14515
+ type: Boolean,
14516
+ default: true
14517
+ },
14518
+
14519
+ /**
14520
+ * 例:"center","topLeft","topRight","bottomLeft","bottomRight", "topCenter", "bottomCenter" {top:'16px',left:'16px'}, {top:16,left:16}
14521
+ */
14522
+ position: [String, Object],
14523
+ // 是否生成HeaderTemp
14524
+ showHeaderTemp: {
14525
+ type: Boolean,
14526
+ default: false
14527
+ },
14528
+ // 是否折叠HeaderTemp,showHeaderTemp为true时生效
14529
+ isCollapseHeaderTemp: {
14530
+ type: Boolean,
14531
+ default: false
14532
+ },
14533
+ // HeaderTemp标题
14534
+ headerTempTitle: {
14535
+ type: String
14536
+ },
14537
+ // HeaderTemp图标
14538
+ headerTempIcon: {
14539
+ type: [Object, String],
14540
+ default: client_icons_vue_namespaceObject.IconModelExcavation
14541
+ },
14542
+ // HeaderTemp Title&Icon的位置
14543
+ isRight: {
14544
+ type: Boolean,
14545
+ default: true
14546
+ }
14547
+ },
14548
+
14549
+ setup(__props, {
14550
+ expose
14551
+ }) {
14552
+ const props = __props;
14553
+ let language = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.ref)({});
14554
+ let viewModel = null;
14555
+ let currentLang = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.ref)(""); // 获取组件传参
14556
+
14557
+ let formItem = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.reactive)({
14558
+ excavationDepth: props.settingParams && props.settingParams.excavationDepth || 20,
14559
+ // 地形开挖深度
14560
+ minExcavationDepth: props.settingParams && props.settingParams.minExcavationDepth || 0,
14561
+ // 地形开挖深度范围最小值
14562
+ maxExcavationDepth: props.settingParams && props.settingParams.maxExcavationDepth || 100 // 地形开挖深度范围最大值
14563
+
14564
+ }); // 组件容器Ref
14565
+
14566
+ let boxRef = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.ref)(null); // 生成组件默认header
14567
+
14568
+ let headerTemp = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.ref)();
14569
+ let headerTempRef = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.ref)(); // 国际化
14570
+
14571
+ let {
14572
+ locale,
14573
+ messages
14574
+ } = (0,vue_i18n_cjs_js_namespaceObject.useI18n)();
14575
+ let headerTempTitle = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.ref)(null);
14576
+ (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.watch)(() => locale.value, (newVal, oldVal) => {
14577
+ language.value = messages.value[newVal]["webgl"];
14578
+ headerTempTitle.value = language.value.modelExcavateTitle;
14579
+ });
14580
+ (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.onMounted)(() => {
14581
+ (0,util_namespaceObject.updatePosition)(boxRef.value, props);
14582
+ (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.watch)(() => props.position, (newVal, oldVal) => {
14583
+ (0,util_namespaceObject.updatePosition)(boxRef.value, props);
14584
+ });
14585
+ watchCreateHeaderTemp();
14586
+ (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.watch)(() => props.showHeaderTemp, (newVal, oldVal) => {
14587
+ watchCreateHeaderTemp();
14588
+ }); //父组件ScenceView初始化完成后执行
14589
+
14590
+ gis_utils_namespaceObject.utils.getWebMap(null, scenceView => {
14591
+ if (scenceView) {
14592
+ viewModel = new ModelExcavateViewModel(scenceView, {
14593
+ height: formItem.excavationDepth
14594
+ });
14595
+ }
14596
+ });
14597
+ });
14598
+ /**
14599
+ * @description 监听header生成
14600
+ */
14601
+
14602
+ const watchCreateHeaderTemp = () => {
14603
+ if (props.showHeaderTemp) {
14604
+ // 生成headerTemp
14605
+ headerTemp.value = (0,util_namespaceObject.createHeaderTemp)(boxRef.value, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.toRefs)(props), headerTempRef, headerTempTitle);
14606
+ }
14607
+ }; // 调整开挖深度
14608
+
14609
+
14610
+ function changeHeight() {
14611
+ viewModel && viewModel.setHeight(formItem.excavationDepth);
14612
+ } // 开始分析
14613
+
14614
+
14615
+ function startOperation() {
14616
+ viewModel && viewModel.start();
14617
+ } // 清除
14618
+
14619
+
14620
+ function clear() {
14621
+ viewModel && viewModel.clear();
14622
+ } // 销毁
14623
+
14624
+
14625
+ (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.onBeforeUnmount)(() => {
14626
+ viewModel && viewModel.destroy();
14627
+ });
14628
+ expose({
14629
+ clear
14630
+ });
14631
+ return (_ctx, _cache) => {
14632
+ const _component_kq_col = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.resolveComponent)("kq-col");
14633
+
14634
+ const _component_kq_slider = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.resolveComponent)("kq-slider");
14635
+
14636
+ const _component_kq_input_number = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.resolveComponent)("kq-input-number");
14637
+
14638
+ const _component_kq_row = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.resolveComponent)("kq-row");
14639
+
14640
+ const _component_kq_button = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.resolveComponent)("kq-button");
14641
+
14642
+ return (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementBlock)("section", {
14643
+ class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.normalizeClass)(["kq3d-model-excavate", {
14644
+ 'kq-box-shadow': __props.showShadow
14645
+ }]),
14646
+ ref_key: "boxRef",
14647
+ ref: boxRef
14648
+ }, [__props.showHeaderTemp ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createBlock)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.resolveDynamicComponent)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(headerTemp)), {
14649
+ key: 0,
14650
+ ref_key: "headerTempRef",
14651
+ ref: headerTempRef
14652
+ }, null, 512
14653
+ /* NEED_PATCH */
14654
+ )) : (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createCommentVNode)("v-if", true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementVNode)("div", ModelExcavatevue_type_script_setup_true_lang_js_hoisted_1, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_row, {
14655
+ gutter: 10
14656
+ }, {
14657
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_col, {
14658
+ span: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(currentLang) === 'zh' ? 7 : 10
14659
+ }, {
14660
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementVNode)("span", ModelExcavatevue_type_script_setup_true_lang_js_hoisted_2, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).excavationDepth), 1
14661
+ /* TEXT */
14662
+ )]),
14663
+ _: 1
14664
+ /* STABLE */
14665
+
14666
+ }, 8
14667
+ /* PROPS */
14668
+ , ["span"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_col, {
14669
+ span: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(currentLang) === 'zh' ? 11 : 8
14670
+ }, {
14671
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_slider, {
14672
+ modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(formItem).excavationDepth,
14673
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(formItem).excavationDepth = $event),
14674
+ step: 1,
14675
+ min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(formItem).minExcavationDepth,
14676
+ max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(formItem).maxExcavationDepth,
14677
+ onChange: _cache[1] || (_cache[1] = $event => changeHeight()),
14678
+ onClick: _cache[2] || (_cache[2] = $event => changeHeight())
14679
+ }, null, 8
14680
+ /* PROPS */
14681
+ , ["modelValue", "min", "max"])]),
14682
+ _: 1
14683
+ /* STABLE */
14684
+
14685
+ }, 8
14686
+ /* PROPS */
14687
+ , ["span"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_col, {
14688
+ span: 6,
14689
+ style: {
14690
+ "text-align": "end"
14691
+ }
14692
+ }, {
14693
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_input_number, {
14694
+ modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(formItem).excavationDepth,
14695
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(formItem).excavationDepth = $event),
14696
+ min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(formItem).minExcavationDepth,
14697
+ step: 1,
14698
+ max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(formItem).maxExcavationDepth,
14699
+ "controls-position": "right",
14700
+ onInput: _cache[4] || (_cache[4] = $event => changeHeight())
14701
+ }, null, 8
14702
+ /* PROPS */
14703
+ , ["modelValue", "min", "max"])]),
14704
+ _: 1
14705
+ /* STABLE */
14706
+
14707
+ })]),
14708
+ _: 1
14709
+ /* STABLE */
14710
+
14711
+ }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_row, {
14712
+ class: "kq3d-model-excavate-tip"
14713
+ }, {
14714
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementVNode)("p", null, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).skylineTips + '(' + (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).reverseDrawPolygon + ')'), 1
14715
+ /* TEXT */
14716
+ )]),
14717
+ _: 1
14718
+ /* STABLE */
14719
+
14720
+ }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createElementVNode)("div", ModelExcavatevue_type_script_setup_true_lang_js_hoisted_3, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_button, {
14721
+ onClick: _cache[5] || (_cache[5] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withModifiers)($event => startOperation(), ["stop"])),
14722
+ title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).startOperation,
14723
+ type: "primary"
14724
+ }, {
14725
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createTextVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).startOperation), 1
14726
+ /* TEXT */
14727
+ )]),
14728
+ _: 1
14729
+ /* STABLE */
14730
+
14731
+ }, 8
14732
+ /* PROPS */
14733
+ , ["title"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createVNode)(_component_kq_button, {
14734
+ onClick: _cache[6] || (_cache[6] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withModifiers)($event => clear(), ["stop"])),
14735
+ title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).clear
14736
+ }, {
14737
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.createTextVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_namespaceObject.unref)(language).clear), 1
14738
+ /* TEXT */
14739
+ )]),
14740
+ _: 1
14741
+ /* STABLE */
14742
+
14743
+ }, 8
14744
+ /* PROPS */
14745
+ , ["title"])])], 512
14746
+ /* NEED_PATCH */
14747
+ )], 2
14748
+ /* CLASS */
14749
+ );
14750
+ };
14751
+ }
14752
+
14753
+ }));
14754
+ ;// CONCATENATED MODULE: ./src/webgl/modelexcavate/ModelExcavate.vue?vue&type=script&setup=true&lang=js
14755
+
14756
+ ;// CONCATENATED MODULE: ./src/webgl/modelexcavate/ModelExcavate.vue
14757
+
14758
+
14759
+
14760
+ const ModelExcavate_exports_ = ModelExcavatevue_type_script_setup_true_lang_js;
14761
+
14762
+ /* harmony default export */ var ModelExcavate = (ModelExcavate_exports_);
14763
+ ;// CONCATENATED MODULE: ./src/webgl/modelexcavate/index.js
14764
+
14765
+
14766
+
14767
+
14768
+ ModelExcavate.install = (Vue, opts) => {
14769
+ init_js_default()(Vue, opts);
14770
+ Vue.component(ModelExcavate.name, ModelExcavate);
14771
+ };
14772
+
14773
+
14169
14774
  // EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js
14170
14775
  var injectStylesIntoStyleTag = __webpack_require__(379);
14171
14776
  var injectStylesIntoStyleTag_default = /*#__PURE__*/__webpack_require__.n(injectStylesIntoStyleTag);
@@ -32644,7 +33249,8 @@ class StatusBarViewModel {
32644
33249
  _defineProperty(this, "_viewer", null);
32645
33250
 
32646
33251
  viewer.statusBar.show = true;
32647
- viewer.statusBar.readyPromise.then(() => {
33252
+ let callback = viewer.statusBar.readyPromise.then || viewer.statusBar.readyPromise.resolve;
33253
+ callback(() => {
32648
33254
  // viewer.statusBar.container.style.bottom = "16px";
32649
33255
  //viewer.statusBar.container.parentElement.style.right = "0px!important";
32650
33256
  // console.log(viewer.statusBar.container.parentElement.style.right);
@@ -35463,7 +36069,7 @@ class SceneSetViewModel {
35463
36069
  break;
35464
36070
 
35465
36071
  case "fps":
35466
- open = this._viewer.scene.debugShowFramesPerSecound;
36072
+ open = this._viewer.scene.debugShowFramesPerSecond;
35467
36073
  break;
35468
36074
 
35469
36075
  case "deep":
@@ -38950,6 +39556,9 @@ GeologicalBodyAnalysis.install = (Vue, opts) => {
38950
39556
  // 扫描线
38951
39557
 
38952
39558
 
39559
+ // 模型开挖
39560
+
39561
+
38953
39562
 
38954
39563
 
38955
39564
 
@@ -39048,7 +39657,8 @@ const webglComponents = {
39048
39657
  Kq3dGeologicalBodyAnalysis: GeologicalBodyAnalysis,
39049
39658
  Kq3dLimitHeightAnalysis: LimitHeightAnalysis,
39050
39659
  Kq3dTerrainProfileAnalysis: TerrainProfileAnalysis,
39051
- Kq3dScanEffect: ScanEffect
39660
+ Kq3dScanEffect: ScanEffect,
39661
+ Kq3dModelExcavate: ModelExcavate
39052
39662
  }; // 全局引入
39053
39663
 
39054
39664
  const install = function (Vue, opts = {}) {