@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.
@@ -16519,6 +16519,20 @@ class MeasureViewModel {
16519
16519
  this._viewer.scene.globe.depthTestAgainstTerrain = true;
16520
16520
 
16521
16521
  this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.Coordinate);
16522
+ } //地形坡度测量
16523
+
16524
+
16525
+ terrainSlopeMeasure() {
16526
+ this._viewer.scene.globe.depthTestAgainstTerrain = true;
16527
+
16528
+ this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.TerrainSlope);
16529
+ } //场景坡度测量
16530
+
16531
+
16532
+ sceneSlopeMeasure() {
16533
+ this._viewer.scene.globe.depthTestAgainstTerrain = true;
16534
+
16535
+ this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.SceneSlope);
16522
16536
  } //结束测量
16523
16537
 
16524
16538
 
@@ -16870,12 +16884,18 @@ const __default__ = {
16870
16884
  spaceDistance: res.distance ? res.distance.toFixed(2) : 0,
16871
16885
  horizontalDistance: res.hDistance ? res.hDistance.toFixed(2) : 0,
16872
16886
  verticalDistance: res.vDistance ? res.vDistance.toFixed(2) : 0,
16873
- angle: res.angle ? res.angle.toFixed(2) : 0
16887
+ angle: res.angle ? res.angle.toFixed(2).replace(/\.?0+$/, '') : 0
16874
16888
  };
16875
16889
  } else if (measureType.value === "area") {
16876
16890
  if (res && res.area) result.value = formatArea(res.area);
16877
- } else if (measureType.value === "azimuth") {
16878
- if (res && res.azimuth) result.value = formatAzimuth(res.azimuth);
16891
+ } else if (measureType.value === "azimuth" && res) {
16892
+ if (res.positions && res.positions.length > 0) {
16893
+ result.value = res.azimuth.toFixed(4) + " °";
16894
+ } else result.value = 0;
16895
+ } else if (measureType.value === "slope" && res) {
16896
+ if (res.positions && res.positions.length > 0) {
16897
+ result.value = res.slopeAngle.toFixed(2).replace(/\.?0+$/, '') + " °";
16898
+ } else result.value = 0;
16879
16899
  } else if (measureType.value === "coordinate") {
16880
16900
  if (res && res.coordinate) {
16881
16901
  result.value = {
@@ -16895,8 +16915,9 @@ const __default__ = {
16895
16915
  });
16896
16916
  viewModel.activeEvent.addEventListener(function (active) {
16897
16917
  if (!active) {
16898
- if (measureType.value === "height" && result.value.angle === 0) return;
16899
16918
  isActive.value = null;
16919
+ if (measureType.value === "height" && result.value.angle === 0) return;
16920
+ if (measureType.value === "azimuth" && result.value === 0) return;
16900
16921
  isResult.value = true;
16901
16922
  }
16902
16923
  });
@@ -16949,11 +16970,6 @@ const __default__ = {
16949
16970
 
16950
16971
  return area.toFixed(2) + " " + unit;
16951
16972
  }
16952
-
16953
- function formatAzimuth(azimuth) {
16954
- var unit = "°";
16955
- return azimuth.toFixed(4) + " " + unit;
16956
- }
16957
16973
  /**
16958
16974
  * @description 监听单位变化操作
16959
16975
  * @param {string} unit - 单位
@@ -17043,6 +17059,19 @@ const __default__ = {
17043
17059
  viewModel.coordinateMeasure();
17044
17060
  break;
17045
17061
 
17062
+ case "azimuth":
17063
+ viewModel.azimuthMeasure();
17064
+ break;
17065
+
17066
+ case "slope":
17067
+ if (mode.value === "ground") {
17068
+ viewModel.terrainSlopeMeasure();
17069
+ } else if (mode.value === "model") {
17070
+ viewModel.sceneSlopeMeasure();
17071
+ }
17072
+
17073
+ break;
17074
+
17046
17075
  default:
17047
17076
  break;
17048
17077
  }
@@ -17063,7 +17092,6 @@ const __default__ = {
17063
17092
  loadModeData,
17064
17093
  formatDistance,
17065
17094
  formatArea,
17066
- formatAzimuth,
17067
17095
  startMeasure,
17068
17096
  clearMeasure
17069
17097
  });
@@ -17168,7 +17196,25 @@ const __default__ = {
17168
17196
  }, 8
17169
17197
  /* PROPS */
17170
17198
  , ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(mode) == 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
17171
- onClick: _cache[4] || (_cache[4] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => startMeasure('coordinate'), ["stop"])),
17199
+ onClick: _cache[4] || (_cache[4] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => startMeasure('azimuth'), ["stop"])),
17200
+ class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.normalizeClass)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isActive) == 'azimuth' ? 'is-active' : null),
17201
+ title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).azimuth
17202
+ }, {
17203
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
17204
+ size: 24
17205
+ }, {
17206
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(client_icons_vue_.IconAzimuthMeasure))]),
17207
+ _: 1
17208
+ /* STABLE */
17209
+
17210
+ })]),
17211
+ _: 1
17212
+ /* STABLE */
17213
+
17214
+ }, 8
17215
+ /* PROPS */
17216
+ , ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(mode) == 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
17217
+ onClick: _cache[5] || (_cache[5] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => startMeasure('coordinate'), ["stop"])),
17172
17218
  class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.normalizeClass)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isActive) == 'coordinate' ? 'is-active' : null),
17173
17219
  title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).coordinate
17174
17220
  }, {
@@ -17185,7 +17231,25 @@ const __default__ = {
17185
17231
 
17186
17232
  }, 8
17187
17233
  /* PROPS */
17188
- , ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(mode) == 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
17234
+ , ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(mode) == 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
17235
+ onClick: _cache[6] || (_cache[6] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => startMeasure('slope'), ["stop"])),
17236
+ class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.normalizeClass)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isActive) == 'slope' ? 'is-active' : null),
17237
+ title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).slope
17238
+ }, {
17239
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
17240
+ size: 24
17241
+ }, {
17242
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(client_icons_vue_.IconSlopeMeasure))]),
17243
+ _: 1
17244
+ /* STABLE */
17245
+
17246
+ })]),
17247
+ _: 1
17248
+ /* STABLE */
17249
+
17250
+ }, 8
17251
+ /* PROPS */
17252
+ , ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(mode) != 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
17189
17253
  type: "danger",
17190
17254
  plain: "",
17191
17255
  onClick: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)(clearMeasure, ["stop"]),
@@ -17205,7 +17269,7 @@ const __default__ = {
17205
17269
 
17206
17270
  }, 8
17207
17271
  /* PROPS */
17208
- , ["onClick", "title"])]), !!(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isActive) ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("div", _hoisted_6, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_divider), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(measureType) === 'height' ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("p", _hoisted_7, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).measureTips1), 1
17272
+ , ["onClick", "title"])]), !!(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isActive) ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("div", _hoisted_6, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_divider), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(measureType) === 'height' || (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(measureType) === 'azimuth' ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("p", _hoisted_7, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).measureTips1), 1
17209
17273
  /* TEXT */
17210
17274
  )) : ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("p", _hoisted_8, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).measureTips), 1
17211
17275
  /* TEXT */
@@ -17213,7 +17277,7 @@ const __default__ = {
17213
17277
  /* TEXT */
17214
17278
  ), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_select, {
17215
17279
  modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(distanceUnit),
17216
- "onUpdate:modelValue": _cache[5] || (_cache[5] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.isRef)(distanceUnit) ? distanceUnit.value = $event : distanceUnit = $event),
17280
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.isRef)(distanceUnit) ? distanceUnit.value = $event : distanceUnit = $event),
17217
17281
  onChange: onChangeUnit
17218
17282
  }, {
17219
17283
  default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)(external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.Fragment, null, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.renderList)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(distanceUnits), item => {
@@ -17297,6 +17361,575 @@ Measure.install = (Vue, opts) => {
17297
17361
 
17298
17362
 
17299
17363
 
17364
+ /***/ }),
17365
+
17366
+ /***/ 1677:
17367
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
17368
+
17369
+
17370
+ // EXPORTS
17371
+ __webpack_require__.d(__webpack_exports__, {
17372
+ "default": function() { return /* reexport */ ModelExcavate; }
17373
+ });
17374
+
17375
+ // UNUSED EXPORTS: ModelExcavateViewModel
17376
+
17377
+ // EXTERNAL MODULE: external {"root":"Vue","commonjs":"vue","commonjs2":"vue","amd":"vue"}
17378
+ var external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_ = __webpack_require__(637);
17379
+ // EXTERNAL MODULE: external "@kq_npm/client_common_vue/_utils/gis-utils"
17380
+ var gis_utils_ = __webpack_require__(826);
17381
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
17382
+ var defineProperty = __webpack_require__(8270);
17383
+ // EXTERNAL MODULE: ./src/common/_ui/message/index.js
17384
+ var message = __webpack_require__(1349);
17385
+ ;// CONCATENATED MODULE: ./src/webgl/modelexcavate/ModelExcavateViewModel.js
17386
+
17387
+ //模型开挖逻辑类
17388
+
17389
+ class ModelExcavateViewModel {
17390
+ //三维viewer对象
17391
+ //Box裁剪存储参数对象
17392
+ //绘制管理对象
17393
+ //绘制完成监听事件
17394
+ //Kq3dWallPrimitive
17395
+ constructor(scenceView, options) {
17396
+ (0,defineProperty/* default */.Z)(this, "_viewer", null);
17397
+
17398
+ (0,defineProperty/* default */.Z)(this, "_options", {});
17399
+
17400
+ (0,defineProperty/* default */.Z)(this, "_Kq3dTerrainExcavation", null);
17401
+
17402
+ (0,defineProperty/* default */.Z)(this, "_drawManager", null);
17403
+
17404
+ (0,defineProperty/* default */.Z)(this, "_removeEventListener", null);
17405
+
17406
+ (0,defineProperty/* default */.Z)(this, "_wallPrimitive", void 0);
17407
+
17408
+ (0,defineProperty/* default */.Z)(this, "entity0", null);
17409
+
17410
+ (0,defineProperty/* default */.Z)(this, "wall", null);
17411
+
17412
+ (0,defineProperty/* default */.Z)(this, "ratio", 0.01);
17413
+
17414
+ (0,defineProperty/* default */.Z)(this, "ii", 1);
17415
+
17416
+ (0,defineProperty/* default */.Z)(this, "scratchCartesian2", new window.Cesium.Cartesian3());
17417
+
17418
+ (0,defineProperty/* default */.Z)(this, "scratchCartesian3", new window.Cesium.Cartesian3());
17419
+
17420
+ (0,defineProperty/* default */.Z)(this, "scratchCartesian4", new window.Cesium.Cartesian3());
17421
+
17422
+ (0,defineProperty/* default */.Z)(this, "scratchCartesian5", new window.Cesium.Cartesian3());
17423
+
17424
+ (0,defineProperty/* default */.Z)(this, "scratchCartesian6", new window.Cesium.Cartesian3());
17425
+
17426
+ (0,defineProperty/* default */.Z)(this, "scratchCartesian7", new window.Cesium.Cartesian3());
17427
+
17428
+ (0,defineProperty/* default */.Z)(this, "intervalId", null);
17429
+
17430
+ (0,defineProperty/* default */.Z)(this, "g_flattenedPolygonTexture", null);
17431
+
17432
+ this._viewer = scenceView._viewer;
17433
+ this._options = options;
17434
+ this._drawManager = scenceView._drawManager;
17435
+ this._viewer.scene.globe.depthTestAgainstTerrain = true; //开启深度检测
17436
+
17437
+ let kq3dFlattenning = new window.Cesium.Kq3dFlattenning(this._viewer, {});
17438
+ this.g_flattenedPolygonTexture = kq3dFlattenning.createFlattenedPolygonTexture();
17439
+ var that = this;
17440
+ this._removeEventListener = this._drawManager.drawFinishedEvent.addEventListener(shape => {
17441
+ if (shape) {
17442
+ that._options.positions = shape._controlPoints;
17443
+ that.createDynamicExcavationEffect();
17444
+
17445
+ that._drawManager.clear();
17446
+ }
17447
+ });
17448
+ } // 创建开挖模型
17449
+
17450
+
17451
+ createDynamicExcavationEffect() {
17452
+ this._Kq3dTerrainExcavation && this._Kq3dTerrainExcavation.destroy();
17453
+ this._Kq3dTerrainExcavation = new window.Cesium.Kq3dTerrainExcavation({
17454
+ viewer: this._viewer,
17455
+ height: this._options.height,
17456
+ positions: this._options.positions,
17457
+ hasWall: false
17458
+ });
17459
+
17460
+ if (this._wallPrimitive) {
17461
+ this._viewer.scene.primitives.remove(this._wallPrimitive);
17462
+
17463
+ this._wallPrimitive = undefined;
17464
+ }
17465
+
17466
+ this._wallPrimitive = new window.Cesium.Kq3dWallPrimitive({
17467
+ viewer: this._viewer,
17468
+ height: this._options.height,
17469
+ positions: this._options.positions,
17470
+ elevationOnTerrain: false
17471
+ });
17472
+
17473
+ this._viewer.scene.primitives.add(this._wallPrimitive);
17474
+
17475
+ let that = this;
17476
+
17477
+ this._wallPrimitive._readyEvent.addEventListener(function (eventType) {
17478
+ if (eventType != "Ready") {
17479
+ return;
17480
+ }
17481
+
17482
+ that.intervalId = setInterval(function () {
17483
+ if (that.ii > 100) {
17484
+ if (that.entity0) {
17485
+ that._viewer.scene.primitives.remove(that.entity0);
17486
+
17487
+ that.entity0 = undefined;
17488
+ }
17489
+
17490
+ if (that.wall) {
17491
+ that._viewer.scene.primitives.remove(that.wall);
17492
+
17493
+ that.wall = undefined;
17494
+ }
17495
+
17496
+ clearInterval(that.intervalId);
17497
+ that.ii = 0;
17498
+ return;
17499
+ }
17500
+
17501
+ var carto2 = window.Cesium.Cartesian3.lerp(that._options.positions[0], that._options.positions[3], that.ratio * that.ii, that.scratchCartesian2);
17502
+ var carto3 = window.Cesium.Cartesian3.lerp(that._options.positions[1], that._options.positions[2], that.ratio * that.ii, that.scratchCartesian3);
17503
+
17504
+ if (that.entity0) {
17505
+ that._viewer.scene.primitives.remove(that.entity0);
17506
+
17507
+ that.entity0 = undefined;
17508
+ }
17509
+
17510
+ that.entity0 = that.createPolyline([carto2, carto3]);
17511
+ that.ii++;
17512
+ that.g_flattenedPolygonTexture.removeAllFlattenedPolygon();
17513
+ var myPolygon = window.Cesium.PolygonGeometry.fromPositions({
17514
+ positions: [that._options.positions[0], that._options.positions[1], carto3, carto2],
17515
+ height: window.Cesium.Cartographic.fromCartesian(that._options.positions[0]).height
17516
+ });
17517
+ that.g_flattenedPolygonTexture.addFlattenedPolygon(myPolygon);
17518
+ }, 100);
17519
+ });
17520
+ }
17521
+
17522
+ createPolyline(positions) {
17523
+ var material = window.Cesium.Material.fromType("Kq3dLightningMaterial", {});
17524
+
17525
+ if (this.wall) {
17526
+ this._viewer.scene.primitives.remove(this.wall);
17527
+
17528
+ this.wall = undefined;
17529
+ }
17530
+
17531
+ var geometryInstances = [];
17532
+ geometryInstances.push(new window.Cesium.GeometryInstance({
17533
+ geometry: new window.Cesium.WallGeometry({
17534
+ positions: positions,
17535
+ maximumHeights: [10, 10],
17536
+ minimumHeights: [-10, -10],
17537
+ vertexFormat: window.Cesium.VertexFormat.POSITION_NORMAL_AND_ST
17538
+ })
17539
+ }));
17540
+ this.wall = new window.Cesium.Primitive({
17541
+ geometryInstances: geometryInstances,
17542
+ appearance: new window.Cesium.MaterialAppearance({
17543
+ material: material
17544
+ })
17545
+ });
17546
+
17547
+ this._viewer.scene.primitives.add(this.wall);
17548
+
17549
+ var geo = new window.Cesium.GroundPolylineGeometry({
17550
+ positions: positions,
17551
+ width: 40.0,
17552
+ vertexFormat: window.Cesium.PolylineMaterialAppearance.VERTEX_FORMAT
17553
+ });
17554
+ var primitive = new window.Cesium.GroundPolylinePrimitive({
17555
+ asynchronous: false,
17556
+ classificationType: window.Cesium.ClassificationType.BOTH,
17557
+ geometryInstances: new window.Cesium.GeometryInstance({
17558
+ geometry: geo
17559
+ }),
17560
+ appearance: new window.Cesium.PolylineMaterialAppearance({
17561
+ material: material
17562
+ })
17563
+ });
17564
+ return this._viewer.scene.primitives.add(primitive);
17565
+ }
17566
+
17567
+ start() {
17568
+ // 判断是否添加了模型
17569
+ var flag = false;
17570
+ var models = this._viewer.scene.primitives._primitives;
17571
+
17572
+ for (let i = 0; i < models.length; i++) {
17573
+ if (models[i]._url) {
17574
+ models[i].enableFlattenning = true;
17575
+ models[i].flattenDiscard = true;
17576
+ this.g_flattenedPolygonTexture.attachTileset(models[i]);
17577
+ flag = true;
17578
+ }
17579
+ }
17580
+
17581
+ if (flag) {
17582
+ this.clear();
17583
+
17584
+ this._drawManager.startDraw("polygon", {
17585
+ clampToGround: true
17586
+ });
17587
+ } else {
17588
+ (0,message/* default */.Z)({
17589
+ message: "请添加模型后绘制!",
17590
+ type: "warning"
17591
+ });
17592
+ }
17593
+ } // qi切换高度重新计算
17594
+
17595
+
17596
+ setHeight(val) {
17597
+ this._options.height = Number(val);
17598
+ } // 清除
17599
+
17600
+
17601
+ clear() {
17602
+ this._drawManager.stopDraw(); // 销毁地形开挖
17603
+
17604
+
17605
+ if (this.intervalId) {
17606
+ clearInterval(this.intervalId);
17607
+ this.ii = 0;
17608
+
17609
+ if (this.entity0) {
17610
+ this._viewer.scene.primitives.remove(this.entity0);
17611
+
17612
+ this.entity0 = undefined;
17613
+ }
17614
+
17615
+ if (this.wall) {
17616
+ this._viewer.scene.primitives.remove(this.wall);
17617
+
17618
+ this.wall = undefined;
17619
+ }
17620
+ }
17621
+
17622
+ this.Kq3dTerrainExcavation && this.Kq3dTerrainExcavation.destroy();
17623
+ this.g_flattenedPolygonTexture && this.g_flattenedPolygonTexture.removeAllFlattenedPolygon();
17624
+ } //销毁
17625
+
17626
+
17627
+ destroy() {
17628
+ this.clear();
17629
+ }
17630
+
17631
+ }
17632
+ // EXTERNAL MODULE: external "@kq_npm/client_icons_vue"
17633
+ var client_icons_vue_ = __webpack_require__(348);
17634
+ // EXTERNAL MODULE: external "@kq_npm/client_common_vue/_utils/util"
17635
+ var util_ = __webpack_require__(9519);
17636
+ // EXTERNAL MODULE: external "vue-i18n/dist/vue-i18n.cjs.js"
17637
+ var vue_i18n_cjs_js_ = __webpack_require__(7080);
17638
+ ;// 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
17639
+
17640
+ const _hoisted_1 = {
17641
+ class: "kq3d-model-excavate-box",
17642
+ ref: "ref_box"
17643
+ };
17644
+ const _hoisted_2 = {
17645
+ class: "kq3d-model-excavate-span"
17646
+ };
17647
+ const _hoisted_3 = {
17648
+ class: "kq3d-model-excavate-footer"
17649
+ };
17650
+
17651
+
17652
+
17653
+
17654
+
17655
+ //语言
17656
+
17657
+ const __default__ = {
17658
+ name: "Kq3dModelExcavate"
17659
+ };
17660
+ /* harmony default export */ var ModelExcavatevue_type_script_setup_true_lang_js = (/*#__PURE__*/Object.assign(__default__, {
17661
+ props: {
17662
+ //指定组件绑定的viewer对象的div的id
17663
+ mapTarget: String,
17664
+ // 设置参数
17665
+ settingParams: {
17666
+ type: Object
17667
+ },
17668
+ // 是否显示阴影效果
17669
+ showShadow: {
17670
+ type: Boolean,
17671
+ default: true
17672
+ },
17673
+
17674
+ /**
17675
+ * 例:"center","topLeft","topRight","bottomLeft","bottomRight", "topCenter", "bottomCenter" {top:'16px',left:'16px'}, {top:16,left:16}
17676
+ */
17677
+ position: [String, Object],
17678
+ // 是否生成HeaderTemp
17679
+ showHeaderTemp: {
17680
+ type: Boolean,
17681
+ default: false
17682
+ },
17683
+ // 是否折叠HeaderTemp,showHeaderTemp为true时生效
17684
+ isCollapseHeaderTemp: {
17685
+ type: Boolean,
17686
+ default: false
17687
+ },
17688
+ // HeaderTemp标题
17689
+ headerTempTitle: {
17690
+ type: String
17691
+ },
17692
+ // HeaderTemp图标
17693
+ headerTempIcon: {
17694
+ type: [Object, String],
17695
+ default: client_icons_vue_.IconModelExcavation
17696
+ },
17697
+ // HeaderTemp Title&Icon的位置
17698
+ isRight: {
17699
+ type: Boolean,
17700
+ default: true
17701
+ }
17702
+ },
17703
+
17704
+ setup(__props, {
17705
+ expose
17706
+ }) {
17707
+ const props = __props;
17708
+ let language = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)({});
17709
+ let viewModel = null;
17710
+ let currentLang = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(""); // 获取组件传参
17711
+
17712
+ let formItem = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.reactive)({
17713
+ excavationDepth: props.settingParams && props.settingParams.excavationDepth || 20,
17714
+ // 地形开挖深度
17715
+ minExcavationDepth: props.settingParams && props.settingParams.minExcavationDepth || 0,
17716
+ // 地形开挖深度范围最小值
17717
+ maxExcavationDepth: props.settingParams && props.settingParams.maxExcavationDepth || 100 // 地形开挖深度范围最大值
17718
+
17719
+ }); // 组件容器Ref
17720
+
17721
+ let boxRef = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(null); // 生成组件默认header
17722
+
17723
+ let headerTemp = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)();
17724
+ let headerTempRef = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(); // 国际化
17725
+
17726
+ let {
17727
+ locale,
17728
+ messages
17729
+ } = (0,vue_i18n_cjs_js_.useI18n)();
17730
+ let headerTempTitle = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(null);
17731
+ (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.watch)(() => locale.value, (newVal, oldVal) => {
17732
+ language.value = messages.value[newVal]["webgl"];
17733
+ headerTempTitle.value = language.value.modelExcavateTitle;
17734
+ });
17735
+ (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.onMounted)(() => {
17736
+ (0,util_.updatePosition)(boxRef.value, props);
17737
+ (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.watch)(() => props.position, (newVal, oldVal) => {
17738
+ (0,util_.updatePosition)(boxRef.value, props);
17739
+ });
17740
+ watchCreateHeaderTemp();
17741
+ (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.watch)(() => props.showHeaderTemp, (newVal, oldVal) => {
17742
+ watchCreateHeaderTemp();
17743
+ }); //父组件ScenceView初始化完成后执行
17744
+
17745
+ gis_utils_.utils.getWebMap(null, scenceView => {
17746
+ if (scenceView) {
17747
+ viewModel = new ModelExcavateViewModel(scenceView, {
17748
+ height: formItem.excavationDepth
17749
+ });
17750
+ }
17751
+ });
17752
+ });
17753
+ /**
17754
+ * @description 监听header生成
17755
+ */
17756
+
17757
+ const watchCreateHeaderTemp = () => {
17758
+ if (props.showHeaderTemp) {
17759
+ // 生成headerTemp
17760
+ headerTemp.value = (0,util_.createHeaderTemp)(boxRef.value, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toRefs)(props), headerTempRef, headerTempTitle);
17761
+ }
17762
+ }; // 调整开挖深度
17763
+
17764
+
17765
+ function changeHeight() {
17766
+ viewModel && viewModel.setHeight(formItem.excavationDepth);
17767
+ } // 开始分析
17768
+
17769
+
17770
+ function startOperation() {
17771
+ viewModel && viewModel.start();
17772
+ } // 清除
17773
+
17774
+
17775
+ function clear() {
17776
+ viewModel && viewModel.clear();
17777
+ } // 销毁
17778
+
17779
+
17780
+ (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.onBeforeUnmount)(() => {
17781
+ viewModel && viewModel.destroy();
17782
+ });
17783
+ expose({
17784
+ clear
17785
+ });
17786
+ return (_ctx, _cache) => {
17787
+ const _component_kq_col = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-col");
17788
+
17789
+ const _component_kq_slider = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-slider");
17790
+
17791
+ const _component_kq_input_number = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-input-number");
17792
+
17793
+ const _component_kq_row = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-row");
17794
+
17795
+ const _component_kq_button = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-button");
17796
+
17797
+ return (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("section", {
17798
+ class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.normalizeClass)(["kq3d-model-excavate", {
17799
+ 'kq-box-shadow': __props.showShadow
17800
+ }]),
17801
+ ref_key: "boxRef",
17802
+ ref: boxRef
17803
+ }, [__props.showHeaderTemp ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveDynamicComponent)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(headerTemp)), {
17804
+ key: 0,
17805
+ ref_key: "headerTempRef",
17806
+ ref: headerTempRef
17807
+ }, null, 512
17808
+ /* NEED_PATCH */
17809
+ )) : (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)("v-if", true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", _hoisted_1, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, {
17810
+ gutter: 10
17811
+ }, {
17812
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
17813
+ span: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(currentLang) === 'zh' ? 7 : 10
17814
+ }, {
17815
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("span", _hoisted_2, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).excavationDepth), 1
17816
+ /* TEXT */
17817
+ )]),
17818
+ _: 1
17819
+ /* STABLE */
17820
+
17821
+ }, 8
17822
+ /* PROPS */
17823
+ , ["span"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
17824
+ span: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(currentLang) === 'zh' ? 11 : 8
17825
+ }, {
17826
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_slider, {
17827
+ modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).excavationDepth,
17828
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).excavationDepth = $event),
17829
+ step: 1,
17830
+ min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).minExcavationDepth,
17831
+ max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).maxExcavationDepth,
17832
+ onChange: _cache[1] || (_cache[1] = $event => changeHeight()),
17833
+ onClick: _cache[2] || (_cache[2] = $event => changeHeight())
17834
+ }, null, 8
17835
+ /* PROPS */
17836
+ , ["modelValue", "min", "max"])]),
17837
+ _: 1
17838
+ /* STABLE */
17839
+
17840
+ }, 8
17841
+ /* PROPS */
17842
+ , ["span"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
17843
+ span: 6,
17844
+ style: {
17845
+ "text-align": "end"
17846
+ }
17847
+ }, {
17848
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_input_number, {
17849
+ modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).excavationDepth,
17850
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).excavationDepth = $event),
17851
+ min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).minExcavationDepth,
17852
+ step: 1,
17853
+ max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).maxExcavationDepth,
17854
+ "controls-position": "right",
17855
+ onInput: _cache[4] || (_cache[4] = $event => changeHeight())
17856
+ }, null, 8
17857
+ /* PROPS */
17858
+ , ["modelValue", "min", "max"])]),
17859
+ _: 1
17860
+ /* STABLE */
17861
+
17862
+ })]),
17863
+ _: 1
17864
+ /* STABLE */
17865
+
17866
+ }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, {
17867
+ class: "kq3d-model-excavate-tip"
17868
+ }, {
17869
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", null, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).skylineTips + '(' + (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).reverseDrawPolygon + ')'), 1
17870
+ /* TEXT */
17871
+ )]),
17872
+ _: 1
17873
+ /* STABLE */
17874
+
17875
+ }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", _hoisted_3, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
17876
+ onClick: _cache[5] || (_cache[5] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => startOperation(), ["stop"])),
17877
+ title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).startOperation,
17878
+ type: "primary"
17879
+ }, {
17880
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createTextVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).startOperation), 1
17881
+ /* TEXT */
17882
+ )]),
17883
+ _: 1
17884
+ /* STABLE */
17885
+
17886
+ }, 8
17887
+ /* PROPS */
17888
+ , ["title"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
17889
+ onClick: _cache[6] || (_cache[6] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => clear(), ["stop"])),
17890
+ title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).clear
17891
+ }, {
17892
+ default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createTextVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).clear), 1
17893
+ /* TEXT */
17894
+ )]),
17895
+ _: 1
17896
+ /* STABLE */
17897
+
17898
+ }, 8
17899
+ /* PROPS */
17900
+ , ["title"])])], 512
17901
+ /* NEED_PATCH */
17902
+ )], 2
17903
+ /* CLASS */
17904
+ );
17905
+ };
17906
+ }
17907
+
17908
+ }));
17909
+ ;// CONCATENATED MODULE: ./src/webgl/modelexcavate/ModelExcavate.vue?vue&type=script&setup=true&lang=js
17910
+
17911
+ ;// CONCATENATED MODULE: ./src/webgl/modelexcavate/ModelExcavate.vue
17912
+
17913
+
17914
+
17915
+ const __exports__ = ModelExcavatevue_type_script_setup_true_lang_js;
17916
+
17917
+ /* harmony default export */ var ModelExcavate = (__exports__);
17918
+ // EXTERNAL MODULE: external "@kq_npm/client_common_vue/init.js"
17919
+ var init_js_ = __webpack_require__(5406);
17920
+ var init_js_default = /*#__PURE__*/__webpack_require__.n(init_js_);
17921
+ ;// CONCATENATED MODULE: ./src/webgl/modelexcavate/index.js
17922
+
17923
+
17924
+
17925
+
17926
+ ModelExcavate.install = (Vue, opts) => {
17927
+ init_js_default()(Vue, opts);
17928
+ Vue.component(ModelExcavate.name, ModelExcavate);
17929
+ };
17930
+
17931
+
17932
+
17300
17933
  /***/ }),
17301
17934
 
17302
17935
  /***/ 435:
@@ -23755,7 +24388,7 @@ class SceneSetViewModel {
23755
24388
  break;
23756
24389
 
23757
24390
  case "fps":
23758
- open = this._viewer.scene.debugShowFramesPerSecound;
24391
+ open = this._viewer.scene.debugShowFramesPerSecond;
23759
24392
  break;
23760
24393
 
23761
24394
  case "deep":
@@ -30164,7 +30797,8 @@ class StatusBarViewModel {
30164
30797
  (0,_Users_zpc_Documents_KQGEOSpace_KQGISClientForVue_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(this, "_viewer", null);
30165
30798
 
30166
30799
  viewer.statusBar.show = true;
30167
- viewer.statusBar.readyPromise.then(() => {
30800
+ let callback = viewer.statusBar.readyPromise.then || viewer.statusBar.readyPromise.resolve;
30801
+ callback(() => {
30168
30802
  // viewer.statusBar.container.style.bottom = "16px";
30169
30803
  //viewer.statusBar.container.parentElement.style.right = "0px!important";
30170
30804
  // console.log(viewer.statusBar.container.parentElement.style.right);
@@ -36746,6 +37380,8 @@ var limitheightanalysis = __webpack_require__(5551);
36746
37380
  var terrainprofileanalysis = __webpack_require__(7649);
36747
37381
  // EXTERNAL MODULE: ./src/webgl/scaneffect/index.js + 4 modules
36748
37382
  var scaneffect = __webpack_require__(7584);
37383
+ // EXTERNAL MODULE: ./src/webgl/modelexcavate/index.js + 4 modules
37384
+ var modelexcavate = __webpack_require__(1677);
36749
37385
  // EXTERNAL MODULE: ./src/webgl/sightlineanalysis/index.js + 5 modules
36750
37386
  var sightlineanalysis = __webpack_require__(6031);
36751
37387
  // EXTERNAL MODULE: ./src/webgl/viewshedanalysis/index.js + 4 modules
@@ -36848,6 +37484,9 @@ var geologicalbodyanalysis = __webpack_require__(9378);
36848
37484
  // 扫描线
36849
37485
 
36850
37486
 
37487
+ // 模型开挖
37488
+
37489
+
36851
37490
 
36852
37491
 
36853
37492
 
@@ -36946,7 +37585,8 @@ const webglComponents = {
36946
37585
  Kq3dGeologicalBodyAnalysis: geologicalbodyanalysis["default"],
36947
37586
  Kq3dLimitHeightAnalysis: limitheightanalysis["default"],
36948
37587
  Kq3dTerrainProfileAnalysis: terrainprofileanalysis["default"],
36949
- Kq3dScanEffect: scaneffect["default"]
37588
+ Kq3dScanEffect: scaneffect["default"],
37589
+ Kq3dModelExcavate: modelexcavate["default"]
36950
37590
  }; // 全局引入
36951
37591
 
36952
37592
  const install = function (Vue, opts = {}) {
@@ -37021,7 +37661,7 @@ class DrawManager {
37021
37661
  //文字内容
37022
37662
  fontSize: 25,
37023
37663
  //文字大小
37024
- fontFamily: 'Microsoft YaHei',
37664
+ fontFamily: "Microsoft YaHei",
37025
37665
  color: "#ff0000" //文字颜色
37026
37666
  // opacity: 0.5, //文字颜色透明度
37027
37667
  // clampToGround: false //是否贴地
@@ -37126,11 +37766,11 @@ class DrawManager {
37126
37766
 
37127
37767
  let editFinishedEvent = this._drawHandler.editHandler.editFinished;
37128
37768
  this.editSelectedEvent.addEventListener(shape => {
37129
- if (shape) this.addMouseEvent('move', 'label');
37769
+ if (shape) this.addMouseEvent("move", "label");
37130
37770
  });
37131
37771
  editFinishedEvent.addEventListener(shape => {
37132
37772
  if (shape) {
37133
- this.removeMouseEvent('move', 'label');
37773
+ this.removeMouseEvent("move", "label");
37134
37774
  this._labelUpdateData && this._labelUpdateData();
37135
37775
  }
37136
37776
  }); // 关闭双击旋转交互
@@ -37195,7 +37835,7 @@ class DrawManager {
37195
37835
 
37196
37836
  getImageWithColor(imgUrl, color, width = 32, height = 32) {
37197
37837
  if (color) {
37198
- var svgStr = window.atob(imgUrl.split(',')[1]);
37838
+ var svgStr = window.atob(imgUrl.split(",")[1]);
37199
37839
  var regex = /#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})/g; // 修改svg颜色
37200
37840
 
37201
37841
  svgStr = svgStr.replace(regex, color); // 修改svg大小
@@ -37646,7 +38286,7 @@ class DrawManager {
37646
38286
  if (!primitive) return;
37647
38287
  let type = primitive._geoType;
37648
38288
 
37649
- if (primitive.type === 'text') {
38289
+ if (primitive.type === "text") {
37650
38290
  if (primitive.fontSize != style.fontSize) {
37651
38291
  // 修改样式弹窗的 offset
37652
38292
  if (this._stylePopup && this._stylePopup.show) {
@@ -37658,7 +38298,7 @@ class DrawManager {
37658
38298
  primitive.fontFamily = style.fontFamily;
37659
38299
  primitive.text = style.content;
37660
38300
  primitive.fillColor = Cesium.Color.fromCssColorString(style.color);
37661
- } else if (type === 'point') {
38301
+ } else if (type === "point") {
37662
38302
  if (primitive.height != style.iconSize[1]) {
37663
38303
  // 修改样式弹窗的 offset
37664
38304
  if (this._stylePopup && this._stylePopup.show) {
@@ -37669,14 +38309,14 @@ class DrawManager {
37669
38309
  primitive.image = this.getImageWithColor(style.iconUrl, style.color, style.iconSize[0], style.iconSize[1]);
37670
38310
  primitive.width = style.iconSize[0];
37671
38311
  primitive.height = style.iconSize[1];
37672
- } else if (type === 'polyline' || type === 'polygon') {
38312
+ } else if (type === "polyline" || type === "polygon") {
37673
38313
  if (style.weight != undefined) primitive.width = style.weight;
37674
38314
  if (style.color != undefined) primitive.color = Cesium.Color.fromCssColorString(style.color);
37675
38315
  if (style.dashArray != undefined) primitive.dashArray = style.dashArray;
37676
38316
  if (style.opacity != undefined) primitive.color = primitive.color.withAlpha(style.opacity);
37677
38317
  }
37678
38318
 
37679
- if (type === 'polygon') {
38319
+ if (type === "polygon") {
37680
38320
  primitive.fill = style.fill === undefined ? true : style.fill;
37681
38321
 
37682
38322
  if (primitive.fill) {
@@ -37690,18 +38330,18 @@ class DrawManager {
37690
38330
  }
37691
38331
 
37692
38332
  getShapeTypeById(id) {
37693
- let type = '';
38333
+ let type = "";
37694
38334
 
37695
38335
  let primitive = this._drawLayer.getById(id);
37696
38336
 
37697
38337
  if (primitive) {
37698
38338
  type = primitive.type;
37699
- if (type == 'marker') type = 'Marker';
37700
- if (type == 'polyline') type = 'Line';
37701
- if (type == 'polygon') type = 'Polygon';
37702
- if (type == 'rectangle') type = 'Rectangle';
37703
- if (type == 'circle') type = 'Circle';
37704
- if (type == 'text') type = 'Text';
38339
+ if (type == "marker") type = "Marker";
38340
+ if (type == "polyline") type = "Line";
38341
+ if (type == "polygon") type = "Polygon";
38342
+ if (type == "rectangle") type = "Rectangle";
38343
+ if (type == "circle") type = "Circle";
38344
+ if (type == "text") type = "Text";
37705
38345
  }
37706
38346
 
37707
38347
  return type;
@@ -37789,7 +38429,7 @@ class DrawManager {
37789
38429
  let shape = null;
37790
38430
 
37791
38431
  if (type == "Marker") {
37792
- shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.MARKER.type, '', {
38432
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.MARKER.type, "", {
37793
38433
  position: info.coordinate,
37794
38434
  disableDepthTestDistance: Number.POSITIVE_INFINITY,
37795
38435
  width: info.style.iconSize[0],
@@ -37797,7 +38437,7 @@ class DrawManager {
37797
38437
  image: this.getImageWithColor(info.style.iconUrl, info.style.color, info.style.iconSize[0], info.style.iconSize[1])
37798
38438
  });
37799
38439
  } else if (type == "Line") {
37800
- shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.POLYLINE.type, '', {
38440
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.POLYLINE.type, "", {
37801
38441
  controlPoints: info.coordinate,
37802
38442
  color: Cesium.Color.fromCssColorString(info.style.color).withAlpha(info.style.opacity),
37803
38443
  width: info.style.weight,
@@ -37805,7 +38445,7 @@ class DrawManager {
37805
38445
  clampToGround: true
37806
38446
  });
37807
38447
  } else if (type == "Polygon") {
37808
- shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.POLYGON.type, '', {
38448
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.POLYGON.type, "", {
37809
38449
  controlPoints: info.coordinate,
37810
38450
  color: Cesium.Color.fromCssColorString(info.style.color),
37811
38451
  width: info.style.weight,
@@ -37814,7 +38454,7 @@ class DrawManager {
37814
38454
  clampToGround: true
37815
38455
  });
37816
38456
  } else if (type == "Rectangle") {
37817
- shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.RECTANGLE.type, '', {
38457
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.RECTANGLE.type, "", {
37818
38458
  controlPoints: info.coordinate,
37819
38459
  color: Cesium.Color.fromCssColorString(info.style.color),
37820
38460
  width: info.style.weight,
@@ -37823,7 +38463,7 @@ class DrawManager {
37823
38463
  clampToGround: true
37824
38464
  });
37825
38465
  } else if (type == "Circle") {
37826
- shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.CIRCLE.type, '', {
38466
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.CIRCLE.type, "", {
37827
38467
  controlPoints: info.coordinate,
37828
38468
  color: Cesium.Color.fromCssColorString(info.style.color),
37829
38469
  width: info.style.weight,
@@ -37832,7 +38472,7 @@ class DrawManager {
37832
38472
  clampToGround: true
37833
38473
  });
37834
38474
  } else if (type == "Text") {
37835
- shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.TEXT.type, '', {
38475
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.TEXT.type, "", {
37836
38476
  latlng: info.coordinate,
37837
38477
  text: info.style.content,
37838
38478
  fontSize: info.style.fontSize,
@@ -37870,7 +38510,7 @@ class DrawManager {
37870
38510
 
37871
38511
 
37872
38512
  this.enableEdit(true);
37873
- this.addMouseEvent('click', 'label'); // 标注坐标修改回调事件
38513
+ this.addMouseEvent("click", "label"); // 标注坐标修改回调事件
37874
38514
 
37875
38515
  this._labelUpdateData = updateData;
37876
38516
  return layerList;
@@ -37888,7 +38528,7 @@ class DrawManager {
37888
38528
  coordinate = feature.geometry.coordinates;
37889
38529
  if (type === "MultiPoint") coordinate = coordinate[0];
37890
38530
  let position = Cesium.Cartesian3.fromDegrees(coordinate[0], coordinate[1]);
37891
- shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.MARKER.type, '', {
38531
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.MARKER.type, "", {
37892
38532
  position: position,
37893
38533
  disableDepthTestDistance: Number.POSITIVE_INFINITY,
37894
38534
  width: 32,
@@ -37905,7 +38545,7 @@ class DrawManager {
37905
38545
  coordinate.forEach(arr => {
37906
38546
  positions.push(Cesium.Cartesian3.fromDegrees(arr[0], arr[1]));
37907
38547
  });
37908
- shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.POLYLINE.type, '线', {
38548
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.POLYLINE.type, "线", {
37909
38549
  controlPoints: positions,
37910
38550
  color: Cesium.Color.fromCssColorString(style.color),
37911
38551
  width: style.weight,
@@ -37921,13 +38561,14 @@ class DrawManager {
37921
38561
  coordinate.forEach(arr => {
37922
38562
  positions.push(Cesium.Cartesian3.fromDegrees(arr[0], arr[1]));
37923
38563
  });
37924
- shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.POLYGON.type, '', {
38564
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.POLYGON.type, "", {
37925
38565
  controlPoints: positions,
37926
38566
  color: Cesium.Color.fromCssColorString(style.color),
37927
38567
  width: style.weight,
37928
38568
  fillColor: Cesium.Color.fromCssColorString(style.fillColor).withAlpha(style.fillOpacity),
37929
38569
  fill: true,
37930
- clampToGround: true
38570
+ clampToGround: true,
38571
+ material: this.getFillStyle(style.fillStyle)
37931
38572
  });
37932
38573
  break;
37933
38574
 
@@ -37942,8 +38583,7 @@ class DrawManager {
37942
38583
 
37943
38584
  if (isLocation) {
37944
38585
  setTimeout(() => {
37945
- this._drawHandler.startEdit(shape);
37946
-
38586
+ //this._drawHandler.startEdit(shape);
37947
38587
  let offset = new Cesium.HeadingPitchRange(0, Cesium.Math.toRadians(-90), 0);
37948
38588
 
37949
38589
  this._viewer.camera.flyToBoundingSphere(shape.boundingSphere, {
@@ -38020,8 +38660,8 @@ class DrawManager {
38020
38660
  let offsetY = -8;
38021
38661
 
38022
38662
  if (!clickPosition) {
38023
- if (shape.type == 'marker') offsetY -= shape.height * shape._scaleHeight;
38024
- if (shape.type == 'text') offsetY -= shape.fontSize;
38663
+ if (shape.type == "marker") offsetY -= shape.height * shape._scaleHeight;
38664
+ if (shape.type == "text") offsetY -= shape.fontSize;
38025
38665
  }
38026
38666
 
38027
38667
  this.destroyStylePopup();
@@ -38097,7 +38737,7 @@ class DrawManager {
38097
38737
  that._mouseHandlers[target].setInputAction(function (movement) {
38098
38738
  if (target == "label") {
38099
38739
  if (that._drawHandler.editHandler._pickedAnchor && that._drawHandler.editHandler._shapeObject) {
38100
- that.removeMouseEvent('move', 'label');
38740
+ that.removeMouseEvent("move", "label");
38101
38741
  that.destroyStylePopup();
38102
38742
  }
38103
38743
  }
@@ -38143,7 +38783,7 @@ class DrawManager {
38143
38783
 
38144
38784
  this._handler.setInputAction(function (movement) {
38145
38785
  // that.closePointPoup();
38146
- that.openPointPoup('1002', 'AAA'); // that.removePointAll();
38786
+ that.openPointPoup("1002", "AAA"); // that.removePointAll();
38147
38787
  //that.clearPointByIdCustom();
38148
38788
  }, Cesium.ScreenSpaceEventType.RIGHT_CLICK);
38149
38789
  }
@@ -38177,7 +38817,7 @@ class DrawManager {
38177
38817
  createPointPoup(entity) {
38178
38818
  if (this._htmlTag) this._htmlTag.destroy();
38179
38819
  this._htmlTag = new Cesium.Kq3dHtmlTag(this._viewer, {
38180
- html: '<div>' + entity.properties.id._value + '</div>',
38820
+ html: "<div>" + entity.properties.id._value + "</div>",
38181
38821
  position: entity.position,
38182
38822
  anchor: [0, -entity.properties.height._value],
38183
38823
  alignmentMode: 7
@@ -40001,7 +40641,8 @@ class ScenceViewViewModel extends (mitt_default()) {
40001
40641
  sceneModePicker: false,
40002
40642
  infoBox: false,
40003
40643
  languageStyle: this._lang.type == 'zh' ? 'zh-CN' : 'en',
40004
- navigationHelpButton: false
40644
+ navigationHelpButton: false,
40645
+ statusBar: true
40005
40646
  };
40006
40647
 
40007
40648
  for (var key in this._props.options) {