@kq_npm/client3d_webgl_vue 4.5.56 → 4.5.57

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.
Files changed (73) hide show
  1. package/adddata/index.js +189 -21
  2. package/airspacegridoccupancyquery/index.js +108 -7
  3. package/airspaceprofileanalysis/index.js +99 -7
  4. package/aspectanalysis/index.js +25 -7
  5. package/baseterraingallery/index.js +16 -4
  6. package/boxclip/index.js +58 -16
  7. package/buildpointmodel/index.js +3441 -544
  8. package/buildpointmodel/style/buildpointmodel.css +1 -1
  9. package/buildpolygonmodel/index.js +205 -81
  10. package/buildpolylinemodel/index.js +346 -70
  11. package/clientPrint/index.js +10524 -3041
  12. package/comparemap/index.js +132 -60
  13. package/compass/index.js +16 -6
  14. package/excavatefillanalysis/index.js +51 -7
  15. package/fixedzoomin/index.js +24 -7
  16. package/fixedzoomout/index.js +25 -7
  17. package/flight/index.js +113 -26
  18. package/floodanalysis/index.js +79 -14
  19. package/geologicalbodyanalysis/index.js +41 -5
  20. package/gpuspatialquery/index.js +59 -11
  21. package/gridoccupancyquery/index.js +78 -12
  22. package/hawkeye/index.js +20 -2
  23. package/headertemp/index.js +7 -2
  24. package/heatmap3d/index.js +282 -158
  25. package/index.js +10524 -3041
  26. package/isolineanalysis/index.js +113 -38
  27. package/light/index.js +80 -22
  28. package/limitheightanalysis/index.js +30 -10
  29. package/lowaltitudefeature/index.js +292 -119
  30. package/measure/index.js +60 -19
  31. package/modelFlat/index.js +48 -8
  32. package/modeledit/index.js +38 -4
  33. package/modelexcavate/index.js +48 -7
  34. package/modelfilter/index.js +51 -8
  35. package/modelmaterialedit/index.js +127 -25
  36. package/modelprofileanalysis/index.js +50 -14
  37. package/modelselect/index.js +33 -3
  38. package/modelstyleedit/index.js +39 -3
  39. package/modeltransform/index.js +79 -14
  40. package/package.json +1 -1
  41. package/particleeffect/index.js +83 -17
  42. package/planeclip/index.js +66 -17
  43. package/pointcloudrender/index.js +134 -15
  44. package/radarscananalysis/index.js +35 -3
  45. package/resetview/index.js +14 -6
  46. package/roller/index.js +55 -18
  47. package/scaneffect/index.js +98 -29
  48. package/sceneadvancedtoimage/index.js +32 -6
  49. package/sceneapp/index.js +10524 -3041
  50. package/sceneset/index.js +141 -71
  51. package/scenetohdimage/index.js +23 -3
  52. package/sceneview/index.js +10524 -3041
  53. package/screenshot/index.js +44 -11
  54. package/shadowanalysis/index.js +79 -19
  55. package/sightlineanalysis/index.js +66 -15
  56. package/skylineanalysis/index.js +20 -4
  57. package/slopeanalysis/index.js +75 -16
  58. package/slopeaspectanalysis/index.js +128 -26
  59. package/statusbar/index.js +80 -67
  60. package/style.css +1 -1
  61. package/terrainoperation/index.js +39 -7
  62. package/terrainprofileanalysis/index.js +43 -5
  63. package/toolbarapp/index.js +10524 -3041
  64. package/toolboxapp/index.js +10524 -3041
  65. package/typhoontrac/index.js +134 -16
  66. package/underground/index.js +8 -2
  67. package/videofusion/index.js +86 -30
  68. package/videoproject/index.js +77 -23
  69. package/viewshedanalysis/index.js +58 -13
  70. package/weathereffect/index.js +73 -18
  71. package/webgl.es.js +263 -264
  72. package/windyslicing/index.js +233 -45
  73. package/wireframesketch/index.js +25 -8
@@ -63,22 +63,6 @@ _Divider.default.install = (Vue, opts) => {
63
63
  var _default = exports["default"] = _Divider.default;
64
64
  _KqGIS.kq_npm_client_common_vue.KqDivider = _Divider.default;
65
65
 
66
- /***/ }),
67
-
68
- /***/ 3736:
69
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
70
-
71
- /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(76314);
72
- /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
73
- // Imports
74
-
75
- var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
76
- // Module
77
- ___CSS_LOADER_EXPORT___.push([module.id, ".compare-layer-tree-wrap[data-v-5e6278d6]{background-color:var(--kq-bg-color);border-radius:var(--kq-border-radius-base);width:272px;height:350px;padding:16px}.compare-layer-tree-wrap .compare-layer-tree[data-v-5e6278d6]{padding-top:16px;height:calc(100% - 83px);overflow-y:auto}.compare-layer-tree-wrap .compare-layer-tree .tree-node_icon[data-v-5e6278d6]{top:3px}.tree-node_icon[data-v-5e6278d6]{margin-right:6px;position:relative;font-size:16px;height:100%;color:var(--kq-color-primary)}.tree-node_label[data-v-5e6278d6]{display:inline-block;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;font-size:var(--kq-font-size-base);color:var(--kq-text-color-regular)}.kq-tree-node__content[data-v-5e6278d6]{width:100%}", ""]);
78
- // Exports
79
- /* harmony default export */ __webpack_exports__.A = (___CSS_LOADER_EXPORT___);
80
-
81
-
82
66
  /***/ }),
83
67
 
84
68
  /***/ 14464:
@@ -188,6 +172,11 @@ exports["default"] = void 0;
188
172
  class CompareMapViewModel {
189
173
  //三维viewer对象
190
174
 
175
+ /**
176
+ * @description 构造函数,初始化视图对象及分屏线参数
177
+ * @param {Object} scenceView 三维视图对象
178
+ * @param {Object} options 配置项(splitLineColor:分屏线颜色,splitLineWidth:分屏线宽度)
179
+ */
191
180
  constructor(scenceView, options = {}) {
192
181
  this._scenceView = null;
193
182
  // 三维视图对象
@@ -204,7 +193,11 @@ class CompareMapViewModel {
204
193
  }
205
194
  }
206
195
 
207
- //切换窗口模式
196
+ /**
197
+ * @description 切换窗口模式
198
+ * @param {Number} mode 窗口模式(1:单屏,2:双屏,4:四屏)
199
+ * @param {Boolean} selectAll 是否默认全部勾选
200
+ */
208
201
  changeMode(mode, selectAll) {
209
202
  let viewMode = Cesium.SplitViewMode.NONE;
210
203
  switch (mode) {
@@ -229,14 +222,16 @@ class CompareMapViewModel {
229
222
  default:
230
223
  break;
231
224
  }
225
+ // 非全选模式:清空各图层在所有视图中的显示状态
232
226
  if (!selectAll) {
233
227
  // 默认全部不勾选
234
- let checkedLayerkeys = this._scenceView._layerManager.getLayerCheckedListKey();
228
+ const checkedLayerkeys = this._scenceView._layerManager.getLayerCheckedListKey();
235
229
  for (let i = 0; i < checkedLayerkeys.length; i++) {
236
- let layer = this._scenceView._layerManager.getLayerByGuid(checkedLayerkeys[i]);
237
- let type = this._scenceView._layerManager.getLayerTypeByGuid(checkedLayerkeys[i]);
230
+ const layer = this._scenceView._layerManager.getLayerByGuid(checkedLayerkeys[i]);
231
+ const type = this._scenceView._layerManager.getLayerTypeByGuid(checkedLayerkeys[i]);
238
232
  if (layer) {
239
233
  layer.showInViews = [];
234
+ // 数据源图层需同步清空各实体的视图显示状态
240
235
  if (type == 'datasource') {
241
236
  layer.entities.values.forEach(entity => {
242
237
  entity.showInViews = [];
@@ -251,12 +246,13 @@ class CompareMapViewModel {
251
246
  //重置窗口模式
252
247
  resetMode() {
253
248
  this.changeMode();
254
- let checkedLayerkeys = this._scenceView._layerManager.getLayerCheckedListKey();
249
+ const checkedLayerkeys = this._scenceView._layerManager.getLayerCheckedListKey();
255
250
  for (let i = 0; i < checkedLayerkeys.length; i++) {
256
- let layer = this._scenceView._layerManager.getLayerByGuid(checkedLayerkeys[i]);
257
- let type = this._scenceView._layerManager.getLayerTypeByGuid(checkedLayerkeys[i]);
251
+ const layer = this._scenceView._layerManager.getLayerByGuid(checkedLayerkeys[i]);
252
+ const type = this._scenceView._layerManager.getLayerTypeByGuid(checkedLayerkeys[i]);
258
253
  if (layer) {
259
254
  layer.showInViews = undefined;
255
+ // 数据源图层需将各实体的视图显示状态恢复为全部视图可见
260
256
  if (type == 'datasource') {
261
257
  layer.entities.values.forEach(entity => {
262
258
  entity.showInViews = [0, 1, 2, 3];
@@ -265,25 +261,36 @@ class CompareMapViewModel {
265
261
  }
266
262
  }
267
263
  }
264
+
265
+ /**
266
+ * @description 设置图层显示状态
267
+ * @param {Number} index 窗口索引
268
+ * @param {String} guid 图层唯一标识
269
+ * @param {Boolean} visible 是否可见
270
+ */
268
271
  setLayerState(index, guid, visible) {
269
- let layer = this._scenceView._layerManager.getLayerByGuid(guid);
272
+ const layer = this._scenceView._layerManager.getLayerByGuid(guid);
270
273
  if (layer) {
271
- let showInViews = layer.showInViews || (visible ? [] : [0, 1, 2, 3]);
274
+ const showInViews = layer.showInViews || (visible ? [] : [0, 1, 2, 3]);
275
+ // 显示图层:将窗口索引加入显示视图列表
272
276
  if (visible) {
273
277
  if (showInViews.indexOf(index) == -1) {
274
278
  showInViews.push(index);
275
279
  }
280
+ // 图层整体不可见时同步打开
276
281
  if (!layer.show) {
277
282
  this._scenceView._layerManager.setLayerVisibleStateByIds([layer.guid], true);
278
283
  }
279
284
  } else {
280
- let num = showInViews.indexOf(index);
285
+ // 隐藏图层:从显示视图列表中移除窗口索引
286
+ const num = showInViews.indexOf(index);
281
287
  if (num > -1) {
282
288
  showInViews.splice(num, 1);
283
289
  }
284
290
  }
285
291
  layer.showInViews = showInViews;
286
- let type = this._scenceView._layerManager.getLayerTypeByGuid(layer.guid);
292
+ const type = this._scenceView._layerManager.getLayerTypeByGuid(layer.guid);
293
+ // 数据源图层需同步更新各实体的视图显示状态
287
294
  if (type == 'datasource') {
288
295
  layer.entities.values.forEach(entity => {
289
296
  if (entity.show) {
@@ -292,6 +299,7 @@ class CompareMapViewModel {
292
299
  });
293
300
  }
294
301
  } else if (visible) {
302
+ // 未找到图层但需要显示:直接调用图层管理器设置可见
295
303
  this._scenceView._layerManager.setLayerVisibleStateByIds([guid], true, null, [index]);
296
304
  }
297
305
  }
@@ -665,8 +673,8 @@ var _default = exports.A = /*@__PURE__*/Object.assign(__default__, {
665
673
  // 生成组件默认header
666
674
  let headerTemp = (0, _vue.ref)();
667
675
  let headerTempRef = (0, _vue.ref)();
668
- let layerTreeRef = (0, _vue.ref)(null);
669
- let filterTreeTxt = (0, _vue.ref)('');
676
+ let layerTreeRef = (0, _vue.ref)(null); // 图层树组件引用
677
+ let filterTreeTxt = (0, _vue.ref)(''); // 图层过滤关键字
670
678
 
671
679
  // 图层树过滤
672
680
  (0, _vue.watch)(filterTreeTxt, val => {
@@ -674,14 +682,17 @@ var _default = exports.A = /*@__PURE__*/Object.assign(__default__, {
674
682
  layerTreeRef.value.$refs.child.filter(val);
675
683
  }
676
684
  });
677
- let treeData = (0, _vue.ref)([]);
678
- let checkedKeysData = (0, _vue.ref)([]);
685
+ let treeData = (0, _vue.ref)([]); // 图层树数据
686
+ let checkedKeysData = (0, _vue.ref)([]); // 默认勾选的图层 key 列表
687
+
688
+ // 组件挂载后初始化头部及图层树数据
679
689
  (0, _vue.onMounted)(() => {
680
690
  (0, _vue.nextTick)(() => {
681
691
  headerTemp.value = (0, _util.createHeaderTemp)(boxRef.value, (0, _vue.toRefs)(props), headerTempRef, "common.layerListTitle");
682
692
  _gisUtils.utils.getWebMap(props.mapTarget, scenceView => {
683
693
  if (scenceView) {
684
694
  treeData.value = scenceView._layerManager._layerTreeData;
695
+ // 根据是否默认全选初始化勾选项
685
696
  if (props.defaultSelectAll) {
686
697
  checkedKeysData.value = scenceView._layerManager.getLayerCheckedListKey();
687
698
  } else {
@@ -691,17 +702,32 @@ var _default = exports.A = /*@__PURE__*/Object.assign(__default__, {
691
702
  });
692
703
  });
693
704
  });
705
+
706
+ /**
707
+ * @description 图层树节点过滤方法
708
+ * @param {String} value 过滤关键字
709
+ * @param {Object} data 节点数据
710
+ * @returns {Boolean} 是否匹配
711
+ */
694
712
  const filterNode = (value, data) => {
695
713
  if (!value) return true;
696
714
  return data.name.includes(value);
697
715
  };
698
716
 
699
- // 点击图层check框
717
+ /**
718
+ * @description 点击图层check框
719
+ * @param {Object} data 节点数据
720
+ * @param {Boolean} checked 是否勾选
721
+ */
700
722
  const handleCheck = (data, checked) => {
701
723
  props.setLayerState(props.index, data.guid, checked);
702
724
  };
703
725
 
704
- // 图层树图层icon类型判断
726
+ /**
727
+ * @description 图层树图层icon类型判断
728
+ * @param {Object} data 图层数据
729
+ * @returns {Object} 图标组件
730
+ */
705
731
  const getIconType = data => {
706
732
  // 海图
707
733
  if (data.layerType === 10) {
@@ -760,6 +786,11 @@ var _default = exports.A = /*@__PURE__*/Object.assign(__default__, {
760
786
  return (0, _vue.markRaw)(_client_icons_vue.IconRasterTile);
761
787
  }
762
788
  };
789
+
790
+ /**
791
+ * @description 设置图层树勾选项
792
+ * @param {Array} data 勾选图层 guid 列表
793
+ */
763
794
  function setCheckedData(data) {
764
795
  if (layerTreeRef.value) {
765
796
  layerTreeRef.value.$refs.child.setCheckedKeys(data);
@@ -878,7 +909,7 @@ var _default = exports.A = {
878
909
 
879
910
  /***/ }),
880
911
 
881
- /***/ 45485:
912
+ /***/ 49600:
882
913
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
883
914
 
884
915
  // ESM COMPAT FLAG
@@ -897,9 +928,9 @@ var CompareMapLayerTreevue_type_script_setup_true_lang_js = __webpack_require__(
897
928
  // EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js
898
929
  var injectStylesIntoStyleTag = __webpack_require__(85072);
899
930
  var injectStylesIntoStyleTag_default = /*#__PURE__*/__webpack_require__.n(injectStylesIntoStyleTag);
900
- // EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-3.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/webgl/comparemap/CompareMapLayerTree.vue?vue&type=style&index=0&id=5e6278d6&lang=scss&scoped=true
901
- var CompareMapLayerTreevue_type_style_index_0_id_5e6278d6_lang_scss_scoped_true = __webpack_require__(3736);
902
- ;// ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-3.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/webgl/comparemap/CompareMapLayerTree.vue?vue&type=style&index=0&id=5e6278d6&lang=scss&scoped=true
931
+ // EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-3.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/webgl/comparemap/CompareMapLayerTree.vue?vue&type=style&index=0&id=4465cd75&lang=scss&scoped=true
932
+ var CompareMapLayerTreevue_type_style_index_0_id_4465cd75_lang_scss_scoped_true = __webpack_require__(86175);
933
+ ;// ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-3.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/webgl/comparemap/CompareMapLayerTree.vue?vue&type=style&index=0&id=4465cd75&lang=scss&scoped=true
903
934
 
904
935
 
905
936
 
@@ -908,12 +939,12 @@ var options = {};
908
939
  options.insert = "head";
909
940
  options.singleton = false;
910
941
 
911
- var update = injectStylesIntoStyleTag_default()(CompareMapLayerTreevue_type_style_index_0_id_5e6278d6_lang_scss_scoped_true/* default */.A, options);
942
+ var update = injectStylesIntoStyleTag_default()(CompareMapLayerTreevue_type_style_index_0_id_4465cd75_lang_scss_scoped_true/* default */.A, options);
912
943
 
913
944
 
914
945
 
915
- /* harmony default export */ var comparemap_CompareMapLayerTreevue_type_style_index_0_id_5e6278d6_lang_scss_scoped_true = (CompareMapLayerTreevue_type_style_index_0_id_5e6278d6_lang_scss_scoped_true/* default */.A.locals || {});
916
- ;// ./src/webgl/comparemap/CompareMapLayerTree.vue?vue&type=style&index=0&id=5e6278d6&lang=scss&scoped=true
946
+ /* harmony default export */ var comparemap_CompareMapLayerTreevue_type_style_index_0_id_4465cd75_lang_scss_scoped_true = (CompareMapLayerTreevue_type_style_index_0_id_4465cd75_lang_scss_scoped_true/* default */.A.locals || {});
947
+ ;// ./src/webgl/comparemap/CompareMapLayerTree.vue?vue&type=style&index=0&id=4465cd75&lang=scss&scoped=true
917
948
 
918
949
  // EXTERNAL MODULE: ./node_modules/vue-loader/dist/exportHelper.js
919
950
  var exportHelper = __webpack_require__(66262);
@@ -924,7 +955,7 @@ var exportHelper = __webpack_require__(66262);
924
955
  ;
925
956
 
926
957
 
927
- const __exports__ = /*#__PURE__*/(0,exportHelper/* default */.A)(CompareMapLayerTreevue_type_script_setup_true_lang_js/* default */.A, [['__scopeId',"data-v-5e6278d6"]])
958
+ const __exports__ = /*#__PURE__*/(0,exportHelper/* default */.A)(CompareMapLayerTreevue_type_script_setup_true_lang_js/* default */.A, [['__scopeId',"data-v-4465cd75"]])
928
959
 
929
960
  /* harmony default export */ var CompareMapLayerTree = (__exports__);
930
961
 
@@ -1360,10 +1391,12 @@ var _default = exports.A = /*@__PURE__*/Object.assign(__default__, {
1360
1391
  let preCheckedKeys = (0, _vue.ref)([]); // 记录上次图层树选中值
1361
1392
 
1362
1393
  /**
1363
- * 勾选图层逻辑
1394
+ * @description 勾选图层逻辑,对比新旧选中值触发图层显示状态变更
1395
+ * @param {Array} values 当前选中值列表
1364
1396
  */
1365
1397
  function changeLayer(values) {
1366
1398
  let checkedKeys = preCheckedKeys.value;
1399
+ // 取消勾选:新值数量少于旧值,找出被取消的图层
1367
1400
  if (checkedKeys.length > values.length) {
1368
1401
  for (let val of checkedKeys.values()) {
1369
1402
  if (!values.includes(val)) {
@@ -1371,6 +1404,7 @@ var _default = exports.A = /*@__PURE__*/Object.assign(__default__, {
1371
1404
  }
1372
1405
  }
1373
1406
  } else {
1407
+ // 新增勾选:新值数量多于旧值,找出新增的图层
1374
1408
  for (let val of values.values()) {
1375
1409
  if (!checkedKeys.includes(val)) {
1376
1410
  props.setLayerState(props.index, val, true);
@@ -1379,11 +1413,14 @@ var _default = exports.A = /*@__PURE__*/Object.assign(__default__, {
1379
1413
  }
1380
1414
  preCheckedKeys.value = values;
1381
1415
  }
1416
+
1417
+ // 组件挂载后加载图层列表并初始化选中状态
1382
1418
  (0, _vue.onMounted)(() => {
1383
1419
  (0, _vue.nextTick)(() => {
1384
1420
  _gisUtils.utils.getWebMap(props.mapTarget, scenceView => {
1385
1421
  if (scenceView) {
1386
1422
  layerTreeData.value = _gisUtils.mapLayerUtils.getLayerCheckedList();
1423
+ // 默认全选时同步初始勾选状态
1387
1424
  if (props.defaultSelectAll) {
1388
1425
  selectedLayers.value = _gisUtils.mapLayerUtils.getLayerCheckedListKey();
1389
1426
  preCheckedKeys.value = selectedLayers.value;
@@ -1952,6 +1989,22 @@ module.exports = function (list, options) {
1952
1989
  };
1953
1990
  };
1954
1991
 
1992
+ /***/ }),
1993
+
1994
+ /***/ 86175:
1995
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1996
+
1997
+ /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(76314);
1998
+ /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
1999
+ // Imports
2000
+
2001
+ var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
2002
+ // Module
2003
+ ___CSS_LOADER_EXPORT___.push([module.id, ".compare-layer-tree-wrap[data-v-4465cd75]{background-color:var(--kq-bg-color);border-radius:var(--kq-border-radius-base);width:272px;height:350px;padding:16px}.compare-layer-tree-wrap .compare-layer-tree[data-v-4465cd75]{padding-top:16px;height:calc(100% - 83px);overflow-y:auto}.compare-layer-tree-wrap .compare-layer-tree .tree-node_icon[data-v-4465cd75]{top:3px}.tree-node_icon[data-v-4465cd75]{margin-right:6px;position:relative;font-size:16px;height:100%;color:var(--kq-color-primary)}.tree-node_label[data-v-4465cd75]{display:inline-block;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;font-size:var(--kq-font-size-base);color:var(--kq-text-color-regular)}.kq-tree-node__content[data-v-4465cd75]{width:100%}", ""]);
2004
+ // Exports
2005
+ /* harmony default export */ __webpack_exports__.A = (___CSS_LOADER_EXPORT___);
2006
+
2007
+
1955
2008
  /***/ }),
1956
2009
 
1957
2010
  /***/ 88897:
@@ -2067,13 +2120,15 @@ var _gisUtils = __webpack_require__(20064);
2067
2120
  var _client_icons_vue = __webpack_require__(65698);
2068
2121
  var _CompareMapViewModel = _interopRequireDefault(__webpack_require__(21508));
2069
2122
  var _CompareMapTree = _interopRequireDefault(__webpack_require__(240));
2070
- var _CompareMapLayerTree = _interopRequireDefault(__webpack_require__(45485));
2123
+ var _CompareMapLayerTree = _interopRequireDefault(__webpack_require__(49600));
2071
2124
  var _useGlobalConfig = __webpack_require__(22686);
2072
2125
  var _button = _interopRequireDefault(__webpack_require__(68676));
2073
2126
  var _icon = _interopRequireDefault(__webpack_require__(80881));
2074
2127
  const _hoisted_1 = {
2075
2128
  class: "kq3d-compare-map"
2076
2129
  };
2130
+ // 组件 props 定义
2131
+
2077
2132
  const __default__ = {
2078
2133
  name: "Kq3dCompareMap"
2079
2134
  };
@@ -2119,26 +2174,29 @@ var _default = exports.A = /*@__PURE__*/Object.assign(__default__, {
2119
2174
  locale
2120
2175
  } = (0, _useGlobalConfig.useLocale)();
2121
2176
  const props = __props;
2122
- let offsetTop = (0, _vue.ref)("auto");
2177
+ let offsetTop = (0, _vue.ref)("auto"); // 顶部偏移量
2123
2178
  let btnShow = (0, _vue.ref)(false); // 分屏返回按钮
2124
- let emit = __emit;
2125
- let viewModel = null;
2179
+ let emit = __emit; // 自定义事件:返回
2180
+ let viewModel = null; // 多窗口逻辑类实例
2126
2181
  let showTree1 = (0, _vue.ref)(false); // 图层树1
2127
2182
  let showTree2 = (0, _vue.ref)(false); // 图层树2
2128
2183
  let showTree3 = (0, _vue.ref)(false); // 图层树3
2129
2184
  let showTree4 = (0, _vue.ref)(false); // 图层树4
2130
- let tree1Index = (0, _vue.ref)(0);
2131
- let tree2Index = (0, _vue.ref)(1);
2132
- let tree3Index = (0, _vue.ref)(2);
2133
- let tree4Index = (0, _vue.ref)(3);
2134
- let layerTreeRef1 = (0, _vue.ref)(null);
2135
- let layerTreeRef2 = (0, _vue.ref)(null);
2136
- let layerTreeRef3 = (0, _vue.ref)(null);
2137
- let layerTreeRef4 = (0, _vue.ref)(null);
2185
+ let tree1Index = (0, _vue.ref)(0); // 图层树1的窗口索引
2186
+ let tree2Index = (0, _vue.ref)(1); // 图层树2的窗口索引
2187
+ let tree3Index = (0, _vue.ref)(2); // 图层树3的窗口索引
2188
+ let tree4Index = (0, _vue.ref)(3); // 图层树4的窗口索引
2189
+ let layerTreeRef1 = (0, _vue.ref)(null); // 图层树1组件引用
2190
+ let layerTreeRef2 = (0, _vue.ref)(null); // 图层树2组件引用
2191
+ let layerTreeRef3 = (0, _vue.ref)(null); // 图层树3组件引用
2192
+ let layerTreeRef4 = (0, _vue.ref)(null); // 图层树4组件引用
2193
+
2194
+ // 组件挂载后初始化视图模型
2138
2195
  (0, _vue.onMounted)(() => {
2139
2196
  offsetTop.value = props.offsetTop;
2140
2197
  _gisUtils.utils.getWebMap(props.mapTarget, scenceView => {
2141
2198
  if (scenceView) {
2199
+ // 组装分屏线参数
2142
2200
  let options = {
2143
2201
  splitLineColor: props.splitLineColor,
2144
2202
  splitLineWidth: props.splitLineWidth
@@ -2148,9 +2206,13 @@ var _default = exports.A = /*@__PURE__*/Object.assign(__default__, {
2148
2206
  });
2149
2207
  });
2150
2208
 
2151
- //切换窗口模式
2209
+ /**
2210
+ * @description 切换窗口模式(2分屏或4分屏)
2211
+ * @param {Number} mode 窗口模式(1:单屏,2:双屏,4:四屏)
2212
+ */
2152
2213
  function changeMode(mode) {
2153
2214
  btnShow.value = true;
2215
+ // 双屏模式:显示前两个图层树
2154
2216
  if (mode === 2) {
2155
2217
  showTree1.value = true;
2156
2218
  showTree2.value = true;
@@ -2159,6 +2221,7 @@ var _default = exports.A = /*@__PURE__*/Object.assign(__default__, {
2159
2221
  tree3Index.value = 2;
2160
2222
  tree4Index.value = 3;
2161
2223
  } else if (mode === 4) {
2224
+ // 四屏模式:显示全部四个图层树,并重排索引
2162
2225
  showTree1.value = true;
2163
2226
  showTree2.value = true;
2164
2227
  showTree3.value = true;
@@ -2187,12 +2250,21 @@ var _default = exports.A = /*@__PURE__*/Object.assign(__default__, {
2187
2250
  viewModel && viewModel.resetMode();
2188
2251
  }
2189
2252
 
2190
- //设置图层显示状态
2253
+ /**
2254
+ * @description 设置图层显示状态
2255
+ * @param {Number} index 窗口索引
2256
+ * @param {String} guid 图层唯一标识
2257
+ * @param {Boolean} visible 是否可见
2258
+ */
2191
2259
  function setLayerState(index, guid, visible) {
2192
2260
  viewModel && viewModel.setLayerState(index, guid, visible);
2193
2261
  }
2194
2262
 
2195
- // 设置图层树勾选图层
2263
+ /**
2264
+ * @description 设置图层树勾选图层
2265
+ * @param {Number} index 窗口索引
2266
+ * @param {Array} guidList 勾选图层 guid 列表
2267
+ */
2196
2268
  function setLayerTreeChecked(index, guidList) {
2197
2269
  let mapLayerTree = null;
2198
2270
  switch (index) {
@@ -2388,11 +2460,11 @@ Object.defineProperty(exports, "__esModule", ({
2388
2460
  value: true
2389
2461
  }));
2390
2462
  exports.kq_npm_client_leaflet_vue = exports.kq_npm_client_common_vue = exports.kq_npm_client3d_webgl_vue = void 0;
2391
- let kq_npm_client_common_vue = exports.kq_npm_client_common_vue = window.kq_npm_client_common_vue = window.kq_npm_client_common_vue || {};
2463
+ const kq_npm_client_common_vue = exports.kq_npm_client_common_vue = window.kq_npm_client_common_vue = window.kq_npm_client_common_vue || {};
2392
2464
  __webpack_require__.g.kq_npm_client_common_vue = kq_npm_client_common_vue;
2393
- let kq_npm_client_leaflet_vue = exports.kq_npm_client_leaflet_vue = window.kq_npm_client_leaflet_vue = window.kq_npm_client_leaflet_vue || {};
2465
+ const kq_npm_client_leaflet_vue = exports.kq_npm_client_leaflet_vue = window.kq_npm_client_leaflet_vue = window.kq_npm_client_leaflet_vue || {};
2394
2466
  __webpack_require__.g.kq_npm_client_leaflet_vue = kq_npm_client_leaflet_vue;
2395
- let kq_npm_client3d_webgl_vue = exports.kq_npm_client3d_webgl_vue = window.kq_npm_client3d_webgl_vue = window.kq_npm_client3d_webgl_vue || {};
2467
+ const kq_npm_client3d_webgl_vue = exports.kq_npm_client3d_webgl_vue = window.kq_npm_client3d_webgl_vue = window.kq_npm_client3d_webgl_vue || {};
2396
2468
  __webpack_require__.g.kq_npm_client3d_webgl_vue = kq_npm_client3d_webgl_vue;
2397
2469
 
2398
2470
  /***/ })
package/compass/index.js CHANGED
@@ -28,6 +28,9 @@ exports["default"] = void 0;
28
28
  // 重置视图
29
29
  class CompassViewModel {
30
30
  //三维viewer对象
31
+ /** @description 构造函数,初始化指南针视图模型
32
+ * @param {Object} viewer Cesium 场景视图实例
33
+ */
31
34
  constructor(viewer) {
32
35
  this._viewer = null;
33
36
  this._viewer = viewer;
@@ -37,12 +40,14 @@ class CompassViewModel {
37
40
  var camera = this._viewer.camera;
38
41
  var scene = this._viewer.scene;
39
42
  var depthTestAgainstTerrain = scene.globe.depthTestAgainstTerrain;
43
+ // 临时开启深度检测以正确拾取中心点
40
44
  if (!depthTestAgainstTerrain) {
41
45
  scene.globe.depthTestAgainstTerrain = true;
42
46
  }
43
47
  var canvas = scene.canvas;
44
48
  var windowCenter = new Cesium.Cartesian2(canvas.clientWidth / 2, canvas.clientHeight / 2);
45
49
  setTimeout(() => {
50
+ // 优先通过场景拾取中心点,失败时退回椭球拾取
46
51
  var center = scene.pickPosition(windowCenter);
47
52
  if (!center) {
48
53
  center = scene.camera.pickEllipsoid(windowCenter, scene.globe.ellipsoid);
@@ -56,6 +61,9 @@ class CompassViewModel {
56
61
  camera.lookAtTransform(Cesium.Matrix4.IDENTITY);
57
62
  }, 300);
58
63
  }
64
+ /** @description 绑定指南针事件,相机变化时同步偏航角到外部 ref
65
+ * @param {Object} heading 外部传入的响应式 ref,用于接收相机偏航角
66
+ */
59
67
  //绑定指南针
60
68
  bindCompassEvent(heading) {
61
69
  var camera = this._viewer.camera;
@@ -119,8 +127,8 @@ var _default = exports.A = /*@__PURE__*/Object.assign(__default__, {
119
127
  },
120
128
  setup(__props) {
121
129
  const props = __props;
122
- let viewModel = null;
123
- let heading = (0, _vue.ref)(0);
130
+ let viewModel = null; // 视图模型实例
131
+ let heading = (0, _vue.ref)(0); // 当前相机偏航角(弧度)
124
132
  // 国际化
125
133
  const {
126
134
  locale
@@ -134,7 +142,9 @@ var _default = exports.A = /*@__PURE__*/Object.assign(__default__, {
134
142
  }
135
143
  });
136
144
  });
137
- // 按钮点击事件
145
+ /** @description 按钮点击事件,重置相机方向
146
+ * @param {Object} e 鼠标事件对象
147
+ */
138
148
  function btnClick(e) {
139
149
  viewModel && viewModel.resetOrientation();
140
150
  }
@@ -485,11 +495,11 @@ Object.defineProperty(exports, "__esModule", ({
485
495
  value: true
486
496
  }));
487
497
  exports.kq_npm_client_leaflet_vue = exports.kq_npm_client_common_vue = exports.kq_npm_client3d_webgl_vue = void 0;
488
- let kq_npm_client_common_vue = exports.kq_npm_client_common_vue = window.kq_npm_client_common_vue = window.kq_npm_client_common_vue || {};
498
+ const kq_npm_client_common_vue = exports.kq_npm_client_common_vue = window.kq_npm_client_common_vue = window.kq_npm_client_common_vue || {};
489
499
  __webpack_require__.g.kq_npm_client_common_vue = kq_npm_client_common_vue;
490
- let kq_npm_client_leaflet_vue = exports.kq_npm_client_leaflet_vue = window.kq_npm_client_leaflet_vue = window.kq_npm_client_leaflet_vue || {};
500
+ const kq_npm_client_leaflet_vue = exports.kq_npm_client_leaflet_vue = window.kq_npm_client_leaflet_vue = window.kq_npm_client_leaflet_vue || {};
491
501
  __webpack_require__.g.kq_npm_client_leaflet_vue = kq_npm_client_leaflet_vue;
492
- let kq_npm_client3d_webgl_vue = exports.kq_npm_client3d_webgl_vue = window.kq_npm_client3d_webgl_vue = window.kq_npm_client3d_webgl_vue || {};
502
+ const kq_npm_client3d_webgl_vue = exports.kq_npm_client3d_webgl_vue = window.kq_npm_client3d_webgl_vue = window.kq_npm_client3d_webgl_vue || {};
493
503
  __webpack_require__.g.kq_npm_client3d_webgl_vue = kq_npm_client3d_webgl_vue;
494
504
 
495
505
  /***/ })