@kq_npm/client3d_webgl_vue 4.0.9-beta → 4.1.0-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.
@@ -775,6 +775,7 @@ class AddDataViewModel {
775
775
  break;
776
776
 
777
777
  case "kqgis3dserver":
778
+ // KQGIS 三维服务
778
779
  var geojsonStyle0 = { ...this._geojsonStyle
779
780
  };
780
781
 
@@ -898,7 +899,7 @@ class AddDataViewModel {
898
899
  children: [],
899
900
  lsType: "ls"
900
901
  };
901
- const service = new KqGIS.Map.GetMapImageInfoService(url);
902
+ const service = new window.KqGIS.Map.GetMapImageInfoService(url);
902
903
  service.init(result => {
903
904
  if (result.resultcode === "success") {
904
905
  let list = service.collectionInfoList;
@@ -932,31 +933,16 @@ class AddDataViewModel {
932
933
  } else {
933
934
  console.log("解析服务原始信息失败.");
934
935
  }
935
- }); // layer = this._viewer.imageryLayers.addImageryProvider(
936
- // new Cesium.Kq3dKQGISServerImageryProviderExt({
937
- // name: name,
938
- // url: url,
939
- // layerName: name
940
- // })
941
- // );
942
- // this.flyToLayer(layer);
943
- // node = {
944
- // guid: layer.guid,
945
- // name: name,
946
- // visible: true,
947
- // serverType: "imagerylayer",
948
- // lsType: "ls",
949
- // url: url,
950
- // addType: type,
951
- // layerName: name,
952
- // type: "Image" // 图层树显示图标使用
953
- // };
954
- // this._layerManager.addTempLayerNode(node);
955
- // cb && cb(node);
936
+ });
937
+ break;
956
938
 
939
+ case "kqgisdataserver":
940
+ // KQGIS 数据服务
941
+ // addDataServer(url, name);
957
942
  break;
958
943
 
959
944
  case "kqgismapserver":
945
+ // KQGIS 地图服务
960
946
  if (loadCustom) {
961
947
  loadCustom({
962
948
  name,
@@ -1041,6 +1027,7 @@ class AddDataViewModel {
1041
1027
  break;
1042
1028
 
1043
1029
  case "arcgismapserver":
1030
+ // ARCGIS 地图服务
1044
1031
  layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dArcGISMapServerImageryProvider({
1045
1032
  name: name,
1046
1033
  url: url,
@@ -1064,6 +1051,7 @@ class AddDataViewModel {
1064
1051
  break;
1065
1052
 
1066
1053
  case "mvt":
1054
+ // 矢量瓦片
1067
1055
  layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.Kq3dMvtImageryProviderExt({
1068
1056
  name: name,
1069
1057
  style: url
@@ -1087,6 +1075,7 @@ class AddDataViewModel {
1087
1075
  break;
1088
1076
 
1089
1077
  case "kqgisdataflowserver":
1078
+ // KQGIS 数据流服务
1090
1079
  let guid = Cesium.createGuid();
1091
1080
  layer = new Cesium.Kq3dDataFlowLayer(this._viewer, {
1092
1081
  url: url,
@@ -1154,8 +1143,10 @@ class AddDataViewModel {
1154
1143
  break;
1155
1144
 
1156
1145
  case "wmts":
1157
- case "kqgistileserver":
1146
+ case "kqgistileserver": // KQGIS 瓦片服务
1147
+
1158
1148
  case "kqgisaggregationserver":
1149
+ // KQGIS 聚合服务
1159
1150
  if (type === "kqgistileserver") {
1160
1151
  if (url.indexOf("?") > 0) {
1161
1152
  url = url.replace("?", "/wmts?");
@@ -1382,6 +1373,68 @@ class AddDataViewModel {
1382
1373
  default:
1383
1374
  break;
1384
1375
  }
1376
+ } // 添加数据服务
1377
+
1378
+
1379
+ addDataServer(url, name) {
1380
+ window.KqGIS.datasourceService(url).getDatasources(async e => {
1381
+ if (e.result.resultcode === 'success') {
1382
+ let datasourceList = e.result.result.datasources;
1383
+
1384
+ if (datasourceList) {
1385
+ for (let i = 0; i < datasourceList.length; i++) {
1386
+ await _getDatasetList(url, datasourceList[i].datasourceName);
1387
+ }
1388
+ }
1389
+ } else {
1390
+ console.error(e);
1391
+ }
1392
+ }, err => {
1393
+ console.error(err);
1394
+ });
1395
+ }
1396
+
1397
+ _getDatasetList(url, dataSourceName) {
1398
+ let params = new window.KqGIS.Data.GetDatasetsInfoParams({
1399
+ datasourceName: dataSourceName
1400
+ });
1401
+ return new Promise((resolve, reject) => {
1402
+ window.KqGIS.datasetService(url).getDatasets(params, e => {
1403
+ if (e.result.resultcode === 'success') {
1404
+ resolve(e.result.result.datasets);
1405
+ } else {
1406
+ console.error(e);
1407
+ reject([]);
1408
+ }
1409
+ }, err => {
1410
+ console.error(err);
1411
+ reject([]);
1412
+ });
1413
+ });
1414
+ }
1415
+
1416
+ _getFeatureList(url, datasourceName, datasetName) {
1417
+ let params = new window.KqGIS.Data.GetFeaturesParamsBase({
1418
+ datasourceName: datasourceName,
1419
+ datasetName: datasetName,
1420
+ hasGeometry: true,
1421
+ returnContent: true,
1422
+ outSRS: 'EPSG:4326'
1423
+ });
1424
+ return new Promise((resolve, reject) => {
1425
+ window.KqGIS.dataFeatureService(url).getFeatureList(params, e => {
1426
+ if (e.result.resultcode === 'success') {
1427
+ e.result.result['datasetName'] = datasetName;
1428
+ resolve(e.result.result);
1429
+ } else {
1430
+ console.error(e);
1431
+ reject(null);
1432
+ }
1433
+ }, err => {
1434
+ console.error(err);
1435
+ resolve(null);
1436
+ });
1437
+ });
1385
1438
  }
1386
1439
 
1387
1440
  flyToLayer(layer) {
@@ -1637,7 +1690,14 @@ const __default__ = {
1637
1690
  namePlaceholder: language.value.optional,
1638
1691
  urlPlaceholder: language.value.format + ":http://<host>:<port>/kqgis/rest/services/<servername>/map",
1639
1692
  description: language.value.imagertyMapServerdescription
1640
- }, {
1693
+ }, // {
1694
+ // type: "kqgisdataserver",
1695
+ // name: language.value.KQGISDataServer,
1696
+ // namePlaceholder: language.value.optional,
1697
+ // urlPlaceholder: language.value.format + ":http://<host>:<port>/kqgis/rest/services/<servername>/data",
1698
+ // description: language.value.imagertyDataServerdescription
1699
+ // },
1700
+ {
1641
1701
  type: "kqgisimageserver",
1642
1702
  name: language.value.KQGISImageServer,
1643
1703
  namePlaceholder: language.value.optional,
@@ -15397,7 +15457,7 @@ const __default__ = {
15397
15457
  class: "rowclass"
15398
15458
  }, {
15399
15459
  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_form_item, {
15400
- label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).pointLightSource
15460
+ label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).lightColor
15401
15461
  }, {
15402
15462
  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_row, {
15403
15463
  style: {
@@ -15886,7 +15946,9 @@ class LimitHeightAnalysisViewModel {
15886
15946
 
15887
15947
 
15888
15948
  destroy() {
15889
- this._limitHeightAnalysis && this._limitHeightAnalysis.destroy();
15949
+ this.clear();
15950
+ this._drawFinishedEventListener && this._drawFinishedEventListener();
15951
+ this._drawFinishedEventListener = null;
15890
15952
  }
15891
15953
 
15892
15954
  }
@@ -23577,7 +23639,7 @@ ScanEffect.install = (Vue, opts) => {
23577
23639
 
23578
23640
  /***/ }),
23579
23641
 
23580
- /***/ 9474:
23642
+ /***/ 8876:
23581
23643
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
23582
23644
 
23583
23645
 
@@ -23648,6 +23710,7 @@ class SceneSetViewModel {
23648
23710
 
23649
23711
  this._viewer = viewer;
23650
23712
  this._defaultSkyBox = viewer.scene.skyBox;
23713
+ this._undergroundManager = new Cesium.Kq3dUndergroundManager(this._viewer.scene);
23651
23714
  } // 获取场景内容
23652
23715
 
23653
23716
 
@@ -24003,8 +24066,6 @@ class SceneSetViewModel {
24003
24066
 
24004
24067
 
24005
24068
  showGrid(type) {
24006
- console.log(this._viewer.scene.kq3dUndergroundManager);
24007
-
24008
24069
  if (this._gridLayer) {
24009
24070
  this._viewer.imageryLayers.remove(this._gridLayer);
24010
24071
 
@@ -24028,10 +24089,6 @@ class SceneSetViewModel {
24028
24089
 
24029
24090
 
24030
24091
  openUnderground(isOpen) {
24031
- if (!this._undergroundManager) {
24032
- this._undergroundManager = new Cesium.Kq3dUndergroundManager(this._viewer.scene);
24033
- }
24034
-
24035
24092
  this._undergroundManager.undergroundEnabled = isOpen;
24036
24093
  this._undergroundManager.transparentEnabled = isOpen;
24037
24094
  } // 设置地表透明度
@@ -25511,10 +25568,33 @@ const __default__ = {
25511
25568
  }));
25512
25569
  ;// CONCATENATED MODULE: ./src/webgl/sceneset/SceneSet.vue?vue&type=script&setup=true&lang=js
25513
25570
 
25571
+ // EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js
25572
+ var injectStylesIntoStyleTag = __webpack_require__(3379);
25573
+ var injectStylesIntoStyleTag_default = /*#__PURE__*/__webpack_require__.n(injectStylesIntoStyleTag);
25574
+ // EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/webgl/sceneset/SceneSet.vue?vue&type=style&index=0&id=8e9dc1cc&lang=scss
25575
+ var SceneSetvue_type_style_index_0_id_8e9dc1cc_lang_scss = __webpack_require__(3825);
25576
+ ;// CONCATENATED MODULE: ./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!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/webgl/sceneset/SceneSet.vue?vue&type=style&index=0&id=8e9dc1cc&lang=scss
25577
+
25578
+
25579
+
25580
+ var options = {};
25581
+
25582
+ options.insert = "head";
25583
+ options.singleton = false;
25584
+
25585
+ var update = injectStylesIntoStyleTag_default()(SceneSetvue_type_style_index_0_id_8e9dc1cc_lang_scss/* default */.Z, options);
25586
+
25587
+
25588
+
25589
+ /* harmony default export */ var sceneset_SceneSetvue_type_style_index_0_id_8e9dc1cc_lang_scss = (SceneSetvue_type_style_index_0_id_8e9dc1cc_lang_scss/* default.locals */.Z.locals || {});
25590
+ ;// CONCATENATED MODULE: ./src/webgl/sceneset/SceneSet.vue?vue&type=style&index=0&id=8e9dc1cc&lang=scss
25591
+
25514
25592
  ;// CONCATENATED MODULE: ./src/webgl/sceneset/SceneSet.vue
25515
25593
 
25516
25594
 
25517
25595
 
25596
+ ;
25597
+
25518
25598
  const __exports__ = SceneSetvue_type_script_setup_true_lang_js;
25519
25599
 
25520
25600
  /* harmony default export */ var SceneSet = (__exports__);
@@ -31591,11 +31671,20 @@ class VideoFusiontViewModel {
31591
31671
 
31592
31672
 
31593
31673
  fusion() {
31674
+ let type = 3;
31675
+
31676
+ if (this._options.videoPath.indexOf('.m3u8') > 0) {
31677
+ type = 5;
31678
+ }
31679
+
31594
31680
  this.clear();
31595
31681
  let cartographic = Cesium.Cartographic.fromCartesian(this._viewer.camera.positionWC);
31682
+ this._options.heading = Cesium.Math.toDegrees(this._viewer.camera.heading);
31683
+ this._options.pitch = Cesium.Math.toDegrees(this._viewer.camera.pitch);
31684
+ this._options.roll = Cesium.Math.toDegrees(this._viewer.camera.roll);
31596
31685
  var param = {
31597
31686
  url: this._options.videoPath,
31598
- type: 3,
31687
+ type: type,
31599
31688
  position: {
31600
31689
  x: Cesium.Math.toDegrees(cartographic.longitude),
31601
31690
  y: Cesium.Math.toDegrees(cartographic.latitude),
@@ -31625,6 +31714,15 @@ class VideoFusiontViewModel {
31625
31714
  if (this._videoFusion) {
31626
31715
  return this._videoFusion.param.position;
31627
31716
  }
31717
+ } // 获取HeadingPitchRoll
31718
+
31719
+
31720
+ getHeadingPitchRoll() {
31721
+ return {
31722
+ heading: Math.round(this._options.heading),
31723
+ pitch: Math.round(this._options.pitch),
31724
+ roll: Math.round(this._options.roll)
31725
+ };
31628
31726
  } //飞入
31629
31727
 
31630
31728
 
@@ -31850,9 +31948,6 @@ const __default__ = {
31850
31948
  expose
31851
31949
  }) {
31852
31950
  const props = __props;
31853
- const {
31854
- proxy
31855
- } = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.getCurrentInstance)();
31856
31951
  let language = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)({});
31857
31952
  let collapseValue = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(""); // 获取组件传参
31858
31953
 
@@ -31871,15 +31966,17 @@ const __default__ = {
31871
31966
  videoPath: props.settingParams && props.settingParams.videoPath || "",
31872
31967
  fov: props.settingParams && props.settingParams.fov || 40,
31873
31968
  far: props.settingParams && props.settingParams.far || 50,
31874
- heading: props.settingParams && props.settingParams.heading || 40,
31875
- pitch: props.settingParams && props.settingParams.pitch || -40,
31876
- roll: props.settingParams && props.settingParams.roll || 15,
31969
+ heading: 0,
31970
+ pitch: 0,
31971
+ roll: 0,
31877
31972
  alpha: props.settingParams && props.settingParams.alpha || 1.0,
31878
31973
  eclosion: props.settingParams && props.settingParams.eclosion || 0.5,
31879
31974
  showHideLine: props.settingParams && props.settingParams.showHideLine !== undefined || false
31880
31975
  }); // 显示坐标
31881
31976
 
31882
- let showCoordinate = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(false);
31977
+ let showCoordinate = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(false); // 显示朝向角俯仰角翻转角
31978
+
31979
+ let showHpr = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(false);
31883
31980
  let viewModel = null; // 组件容器Ref
31884
31981
 
31885
31982
  let boxRef = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(null); // 生成组件默认header
@@ -31912,9 +32009,6 @@ const __default__ = {
31912
32009
  videoPath: formItem.videoPath,
31913
32010
  fov: formItem.fov,
31914
32011
  far: formItem.far,
31915
- heading: formItem.heading,
31916
- pitch: formItem.pitch,
31917
- roll: formItem.roll,
31918
32012
  alpha: formItem.alpha,
31919
32013
  eclosion: formItem.eclosion,
31920
32014
  showHideLine: formItem.showHideLine
@@ -32001,6 +32095,7 @@ const __default__ = {
32001
32095
  if (viewModel) {
32002
32096
  viewModel.fusion();
32003
32097
  setCoordinate();
32098
+ serHpr();
32004
32099
  }
32005
32100
  }
32006
32101
  }
@@ -32020,6 +32115,18 @@ const __default__ = {
32020
32115
  formItem.maxHeight = coordinate.z + heightOffset;
32021
32116
  showCoordinate.value = true;
32022
32117
  }
32118
+ } // 设置朝向角俯仰角翻转角
32119
+
32120
+
32121
+ function serHpr() {
32122
+ let hpr = viewModel.getHeadingPitchRoll();
32123
+
32124
+ if (hpr) {
32125
+ formItem.heading = hpr.heading;
32126
+ formItem.pitch = hpr.pitch;
32127
+ formItem.roll = hpr.roll;
32128
+ showHpr.value = true;
32129
+ }
32023
32130
  } // 飞入
32024
32131
 
32025
32132
 
@@ -32030,6 +32137,7 @@ const __default__ = {
32030
32137
 
32031
32138
  function clearResult() {
32032
32139
  showCoordinate.value = false;
32140
+ showHpr.value = false;
32033
32141
  viewModel && viewModel.clear();
32034
32142
  } // 销毁
32035
32143
 
@@ -32436,7 +32544,7 @@ const __default__ = {
32436
32544
  _: 1
32437
32545
  /* STABLE */
32438
32546
 
32439
- }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, null, {
32547
+ }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, null, {
32440
32548
  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_form_item, {
32441
32549
  label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).heading
32442
32550
  }, {
@@ -32492,7 +32600,9 @@ const __default__ = {
32492
32600
  _: 1
32493
32601
  /* STABLE */
32494
32602
 
32495
- }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, null, {
32603
+ }, 512
32604
+ /* NEED_PATCH */
32605
+ ), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(showHpr)]]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, null, {
32496
32606
  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_form_item, {
32497
32607
  label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).pitch
32498
32608
  }, {
@@ -32548,7 +32658,9 @@ const __default__ = {
32548
32658
  _: 1
32549
32659
  /* STABLE */
32550
32660
 
32551
- }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, null, {
32661
+ }, 512
32662
+ /* NEED_PATCH */
32663
+ ), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(showHpr)]]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, null, {
32552
32664
  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_form_item, {
32553
32665
  label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).roll
32554
32666
  }, {
@@ -32604,7 +32716,9 @@ const __default__ = {
32604
32716
  _: 1
32605
32717
  /* STABLE */
32606
32718
 
32607
- }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, null, {
32719
+ }, 512
32720
+ /* NEED_PATCH */
32721
+ ), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(showHpr)]]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, null, {
32608
32722
  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_form_item, {
32609
32723
  label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).transparents
32610
32724
  }, {
@@ -32893,11 +33007,14 @@ class VideoProjectViewModel {
32893
33007
  project() {
32894
33008
  this.clear();
32895
33009
  let position = Cesium.Cartesian3.clone(this._viewer.camera.positionWC);
33010
+ this._options.heading = this._viewer.camera.heading;
33011
+ this._options.pitch = this._viewer.camera.pitch;
33012
+ this._options.roll = this._viewer.camera.roll;
32896
33013
  let options = {
32897
33014
  position: position,
32898
- heading: Cesium.Math.toRadians(this._options.heading),
32899
- pitch: Cesium.Math.toRadians(this._options.pitch),
32900
- roll: Cesium.Math.toRadians(this._options.roll),
33015
+ heading: this._options.heading,
33016
+ pitch: this._options.pitch,
33017
+ roll: this._options.roll,
32901
33018
  fov: Cesium.Math.toRadians(this._options.fov),
32902
33019
  aspectRatio: this._options.aspectRatio,
32903
33020
  far: this._options.far,
@@ -32926,6 +33043,15 @@ class VideoProjectViewModel {
32926
33043
  height: cartographic.height
32927
33044
  };
32928
33045
  }
33046
+ } // 获取HeadingPitchRoll
33047
+
33048
+
33049
+ getHeadingPitchRoll() {
33050
+ return {
33051
+ heading: Math.round(Cesium.Math.toDegrees(this._options.heading)),
33052
+ pitch: Math.round(Cesium.Math.toDegrees(this._options.pitch)),
33053
+ roll: Math.round(Cesium.Math.toDegrees(this._options.roll))
33054
+ };
32929
33055
  } //飞入
32930
33056
 
32931
33057
 
@@ -32934,9 +33060,9 @@ class VideoProjectViewModel {
32934
33060
  this._viewer.camera.flyTo({
32935
33061
  destination: this._projectVideo.position,
32936
33062
  orientation: {
32937
- heading: Cesium.Math.toRadians(this._options.heading),
32938
- pitch: Cesium.Math.toRadians(this._options.pitch),
32939
- roll: Cesium.Math.toRadians(this._options.roll)
33063
+ heading: this._options.heading,
33064
+ pitch: this._options.pitch,
33065
+ roll: this._options.roll
32940
33066
  }
32941
33067
  });
32942
33068
  }
@@ -33119,9 +33245,6 @@ const __default__ = {
33119
33245
  expose
33120
33246
  }) {
33121
33247
  const props = __props;
33122
- const {
33123
- proxy
33124
- } = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.getCurrentInstance)();
33125
33248
  let language = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)({});
33126
33249
  let collapseValue = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(""); // 获取组件传参
33127
33250
 
@@ -33137,18 +33260,20 @@ const __default__ = {
33137
33260
  height: 0,
33138
33261
  minHeight: -heightOffset,
33139
33262
  maxHeight: heightOffset,
33263
+ heading: 0,
33264
+ pitch: 0,
33265
+ roll: 0,
33140
33266
  videoPath: props.settingParams && props.settingParams.videoPath || "",
33141
33267
  projectType: props.settingParams && props.settingParams.projectType || 1,
33142
33268
  fov: props.settingParams && props.settingParams.fov || 20,
33143
33269
  aspectRatio: props.settingParams && props.settingParams.aspectRatio || 1.6,
33144
33270
  far: props.settingParams && props.settingParams.far || 50,
33145
- heading: props.settingParams && props.settingParams.heading || 330,
33146
- pitch: props.settingParams && props.settingParams.pitch || -12,
33147
- roll: props.settingParams && props.settingParams.roll || 0,
33148
33271
  showHideLine: props.settingParams && props.settingParams.showHideLine !== undefined || true
33149
33272
  }); // 显示坐标
33150
33273
 
33151
- let showCoordinate = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(false);
33274
+ let showCoordinate = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(false); // 显示朝向角俯仰角翻转角
33275
+
33276
+ let showHpr = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(false);
33152
33277
  let viewModel = null; // 组件容器Ref
33153
33278
 
33154
33279
  let boxRef = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(null); // 生成组件默认header
@@ -33183,9 +33308,6 @@ const __default__ = {
33183
33308
  fov: formItem.fov,
33184
33309
  aspectRatio: formItem.aspectRatio,
33185
33310
  far: formItem.far,
33186
- heading: formItem.heading,
33187
- pitch: formItem.pitch,
33188
- roll: formItem.roll,
33189
33311
  showHideLine: formItem.showHideLine
33190
33312
  };
33191
33313
  viewModel = new VideoProjectViewModel/* default */.Z(scenceView, options);
@@ -33270,9 +33392,11 @@ const __default__ = {
33270
33392
  if (viewModel) {
33271
33393
  viewModel.project();
33272
33394
  setCoordinate();
33395
+ serHpr();
33273
33396
  }
33274
33397
  }
33275
- }
33398
+ } // 设置坐标
33399
+
33276
33400
 
33277
33401
  function setCoordinate() {
33278
33402
  let coordinate = viewModel.getProjectCoordinate();
@@ -33289,6 +33413,18 @@ const __default__ = {
33289
33413
  formItem.maxHeight = coordinate.height + heightOffset;
33290
33414
  showCoordinate.value = true;
33291
33415
  }
33416
+ } // 设置朝向角俯仰角翻转角
33417
+
33418
+
33419
+ function serHpr() {
33420
+ let hpr = viewModel.getHeadingPitchRoll();
33421
+
33422
+ if (hpr) {
33423
+ formItem.heading = hpr.heading;
33424
+ formItem.pitch = hpr.pitch;
33425
+ formItem.roll = hpr.roll;
33426
+ showHpr.value = true;
33427
+ }
33292
33428
  } // 飞入
33293
33429
 
33294
33430
 
@@ -33299,6 +33435,7 @@ const __default__ = {
33299
33435
 
33300
33436
  function clearResult() {
33301
33437
  showCoordinate.value = false;
33438
+ showHpr.value = false;
33302
33439
  viewModel && viewModel.clear();
33303
33440
  } // 销毁
33304
33441
 
@@ -33820,7 +33957,7 @@ const __default__ = {
33820
33957
  _: 1
33821
33958
  /* STABLE */
33822
33959
 
33823
- }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, null, {
33960
+ }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, null, {
33824
33961
  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_form_item, {
33825
33962
  label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).heading
33826
33963
  }, {
@@ -33876,7 +34013,9 @@ const __default__ = {
33876
34013
  _: 1
33877
34014
  /* STABLE */
33878
34015
 
33879
- }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, null, {
34016
+ }, 512
34017
+ /* NEED_PATCH */
34018
+ ), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(showHpr)]]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, null, {
33880
34019
  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_form_item, {
33881
34020
  label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).pitch
33882
34021
  }, {
@@ -33932,7 +34071,9 @@ const __default__ = {
33932
34071
  _: 1
33933
34072
  /* STABLE */
33934
34073
 
33935
- }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, null, {
34074
+ }, 512
34075
+ /* NEED_PATCH */
34076
+ ), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(showHpr)]]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, null, {
33936
34077
  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_form_item, {
33937
34078
  label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).roll
33938
34079
  }, {
@@ -33988,7 +34129,9 @@ const __default__ = {
33988
34129
  _: 1
33989
34130
  /* STABLE */
33990
34131
 
33991
- }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, {
34132
+ }, 512
34133
+ /* NEED_PATCH */
34134
+ ), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(showHpr)]]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, {
33992
34135
  style: {
33993
34136
  "margin-bottom": "8px"
33994
34137
  }
@@ -36070,6 +36213,22 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".coord-sightline{background:rgba(42,42
36070
36213
  /* harmony default export */ __webpack_exports__["Z"] = (___CSS_LOADER_EXPORT___);
36071
36214
 
36072
36215
 
36216
+ /***/ }),
36217
+
36218
+ /***/ 3825:
36219
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
36220
+
36221
+ /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7705);
36222
+ /* 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__);
36223
+ // Imports
36224
+
36225
+ var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
36226
+ // Module
36227
+ ___CSS_LOADER_EXPORT___.push([module.id, ".cesium-performanceDisplay-defaultContainer{top:unset !important;bottom:16px;right:64px !important}", ""]);
36228
+ // Exports
36229
+ /* harmony default export */ __webpack_exports__["Z"] = (___CSS_LOADER_EXPORT___);
36230
+
36231
+
36073
36232
  /***/ }),
36074
36233
 
36075
36234
  /***/ 6854:
@@ -36635,8 +36794,8 @@ var statusbar = __webpack_require__(4388);
36635
36794
  var videoproject = __webpack_require__(7413);
36636
36795
  // EXTERNAL MODULE: ./src/webgl/videofusion/index.js + 3 modules
36637
36796
  var videofusion = __webpack_require__(7942);
36638
- // EXTERNAL MODULE: ./src/webgl/sceneset/index.js + 5 modules
36639
- var sceneset = __webpack_require__(9474);
36797
+ // EXTERNAL MODULE: ./src/webgl/sceneset/index.js + 7 modules
36798
+ var sceneset = __webpack_require__(8876);
36640
36799
  // EXTERNAL MODULE: ./src/webgl/light/index.js + 3 modules
36641
36800
  var light = __webpack_require__(9001);
36642
36801
  // EXTERNAL MODULE: ./src/webgl/geologicalbodyanalysis/index.js + 4 modules
@@ -37717,6 +37876,105 @@ class DrawManager {
37717
37876
  return layerList;
37718
37877
  }
37719
37878
 
37879
+ createShapeFromFeature(feature, callFun, style, isLocation) {
37880
+ let type = feature.geometry.type;
37881
+ let shape = null,
37882
+ coordinate = null;
37883
+ let positions = [];
37884
+
37885
+ switch (type) {
37886
+ case "Point":
37887
+ case "MultiPoint":
37888
+ coordinate = feature.geometry.coordinates;
37889
+ if (type === "MultiPoint") coordinate = coordinate[0];
37890
+ let position = Cesium.Cartesian3.fromDegrees(coordinate[0], coordinate[1]);
37891
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.MARKER.type, '', {
37892
+ position: position,
37893
+ disableDepthTestDistance: Number.POSITIVE_INFINITY,
37894
+ width: 32,
37895
+ height: 32,
37896
+ image: const_image_.MARKER_URL
37897
+ });
37898
+ break;
37899
+
37900
+ case "LineString":
37901
+ case "MultiLineString":
37902
+ coordinate = feature.geometry.coordinates;
37903
+ if (type === "MultiLineString") coordinate = coordinate[0];
37904
+ positions = [];
37905
+ coordinate.forEach(arr => {
37906
+ positions.push(Cesium.Cartesian3.fromDegrees(arr[0], arr[1]));
37907
+ });
37908
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.POLYLINE.type, '线', {
37909
+ controlPoints: positions,
37910
+ color: Cesium.Color.fromCssColorString(style.color),
37911
+ width: style.weight,
37912
+ clampToGround: true
37913
+ });
37914
+ break;
37915
+
37916
+ case "Polygon":
37917
+ case "MultiPolygon":
37918
+ coordinate = feature.geometry.coordinates[0];
37919
+ if (type === "MultiPolygon") coordinate = coordinate[0];
37920
+ positions = [];
37921
+ coordinate.forEach(arr => {
37922
+ positions.push(Cesium.Cartesian3.fromDegrees(arr[0], arr[1]));
37923
+ });
37924
+ shape = this._drawHandler.createShape(this._drawHandler.ShapeTypes.POLYGON.type, '面', {
37925
+ controlPoints: positions,
37926
+ color: Cesium.Color.fromCssColorString(style.color),
37927
+ width: style.weight,
37928
+ fillColor: Cesium.Color.fromCssColorString(style.fillColor).withAlpha(style.fillOpacity),
37929
+ fill: true,
37930
+ clampToGround: true
37931
+ });
37932
+ break;
37933
+
37934
+ default:
37935
+ break;
37936
+ }
37937
+
37938
+ if (shape) {
37939
+ this._drawLayer.add(shape);
37940
+
37941
+ if (callFun) callFun(shape.guid);
37942
+
37943
+ if (isLocation) {
37944
+ setTimeout(() => {
37945
+ this._drawHandler.startEdit(shape);
37946
+
37947
+ let offset = new Cesium.HeadingPitchRange(0, Cesium.Math.toRadians(-90), 0);
37948
+
37949
+ this._viewer.camera.flyToBoundingSphere(shape.boundingSphere, {
37950
+ duration: 1.5,
37951
+ offset
37952
+ });
37953
+ }, 200);
37954
+ }
37955
+ }
37956
+ }
37957
+
37958
+ startEditById(id) {
37959
+ let shape = this._drawLayer.getById(id);
37960
+
37961
+ if (shape) {
37962
+ this._drawHandler.startEdit(shape);
37963
+ }
37964
+ }
37965
+
37966
+ getFeatureById(id) {
37967
+ let feature = null;
37968
+
37969
+ let shape = this._drawLayer.getById(id);
37970
+
37971
+ if (shape) {
37972
+ feature = shapeToGeoFeature(shape);
37973
+ }
37974
+
37975
+ return feature;
37976
+ }
37977
+
37720
37978
  removeGeometryById(id) {
37721
37979
  this._drawLayer.removeById(id); // 删除图形关联的样式设置框
37722
37980