@kq_npm/client3d_webgl_vue 0.1.3-beta → 0.1.4-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/boxclip/index.js CHANGED
@@ -393,7 +393,8 @@ const __default__ = {
393
393
 
394
394
 
395
395
  function clip() {
396
- this.clearResult();
396
+ // this.clearResult();
397
+ viewModel && viewModel.clear();
397
398
  viewModel && viewModel.start();
398
399
  } // 清除
399
400
 
@@ -281,7 +281,9 @@ const __default__ = {
281
281
  }); //开始分析
282
282
 
283
283
  function startAnalysis() {
284
- this.clearResult();
284
+ // this.clearResult();
285
+ showResult.value = false;
286
+ viewModel && viewModel.clear();
285
287
  viewModel && viewModel.start();
286
288
  } //清除结果
287
289
 
package/index.js CHANGED
@@ -363,14 +363,6 @@ module.exports = function (list, options) {
363
363
  };
364
364
  };
365
365
 
366
- /***/ }),
367
-
368
- /***/ 159:
369
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
370
-
371
- __webpack_require__.r(__webpack_exports__);
372
- /* harmony default export */ __webpack_exports__["default"] = ("data:image/png;base64,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");
373
-
374
366
  /***/ })
375
367
 
376
368
  /******/ });
@@ -534,13 +526,19 @@ function _defineProperty(obj, key, value) {
534
526
  ;// CONCATENATED MODULE: external "@kq_npm/client_common_vue/_utils/mitt"
535
527
  var mitt_namespaceObject = require("@kq_npm/client_common_vue/_utils/mitt");
536
528
  var mitt_default = /*#__PURE__*/__webpack_require__.n(mitt_namespaceObject);
529
+ ;// CONCATENATED MODULE: external "core-js/modules/web.dom-exception.stack.js"
530
+ var web_dom_exception_stack_js_namespaceObject = require("core-js/modules/web.dom-exception.stack.js");
537
531
  ;// CONCATENATED MODULE: external "core-js/modules/es.array.includes.js"
538
532
  var es_array_includes_js_namespaceObject = require("core-js/modules/es.array.includes.js");
539
533
  ;// CONCATENATED MODULE: external "@turf/turf"
540
534
  var turf_namespaceObject = require("@turf/turf");
535
+ ;// CONCATENATED MODULE: external "@kq_npm/client_common_vue/_utils/const-image"
536
+ var const_image_namespaceObject = require("@kq_npm/client_common_vue/_utils/const-image");
541
537
  ;// CONCATENATED MODULE: ./src/webgl/scenceview/DrawManager.js
542
538
 
543
539
 
540
+
541
+
544
542
  //绘制操作类
545
543
 
546
544
  class DrawManager {
@@ -584,7 +582,7 @@ class DrawManager {
584
582
  },
585
583
  //点-图标样式
586
584
  marker: {
587
- image: __webpack_require__(159),
585
+ image: const_image_namespaceObject.MARKER_URL,
588
586
  //图标路径
589
587
  width: 32,
590
588
  //图标宽度
@@ -635,21 +633,25 @@ class DrawManager {
635
633
  font: "25px 微软雅黑"
636
634
  },
637
635
  billboard: {
638
- image: __webpack_require__(159),
636
+ image: const_image_namespaceObject.MARKER_URL,
639
637
  width: 32,
640
638
  height: 32
641
639
  },
642
640
  polyline: {
643
641
  color: "#ff0000",
644
642
  opacity: 1.0,
645
- width: 2
643
+ width: 2,
644
+ dash: false
646
645
  },
647
646
  polygon: {
648
647
  color: "#0000ff",
649
648
  opacity: 0.3,
650
649
  outline: true,
651
650
  outlineColor: "#ff0000",
652
- perPositionHeight: true
651
+ outlineWidth: 1,
652
+ outlineDash: false,
653
+ fill: false,
654
+ fillStyle: null
653
655
  }
654
656
  });
655
657
 
@@ -688,6 +690,45 @@ class DrawManager {
688
690
  this._drawStyle.freehandpolygon = this._drawStyle.polygon; //手绘面
689
691
 
690
692
  this._drawStyle.rectangle = this._drawStyle.polygon; //矩形
693
+ }
694
+
695
+ getFillStyle(fillStyle) {
696
+ let lineColor = fillStyle.lineColor || "rgba(0, 0, 255, 1)";
697
+ let lineWidth = fillStyle.lineWidth || "2px";
698
+ let style = "stroke-linecap: square;stroke-linejoin: miter;overflow: inherit;stroke: " + lineColor + ";stroke-width: " + lineWidth + ";";
699
+ let width = 10;
700
+ let height = 10;
701
+ let lineType = "left";
702
+
703
+ if (fillStyle.lineSpacing !== undefined) {
704
+ width = height = fillStyle.lineSpacing;
705
+ }
706
+
707
+ if (fillStyle.lineType !== undefined) {
708
+ lineType = fillStyle.lineType;
709
+ }
710
+
711
+ let svgLine = "";
712
+
713
+ if (lineType === "left") {
714
+ svgLine = '<line x1="' + width / 2 + '" y1="' + 0 + '" x2="' + width / 2 + '" y2="' + height + '" style="' + style + '"></line>';
715
+ } else if (lineType === "right") {
716
+ svgLine = '<line x1="' + 0 + '" y1="' + height / 2 + '" x2="' + width + '" y2="' + height / 2 + '" style="' + style + '"></line>';
717
+ } else {
718
+ svgLine = '<line x1="' + width / 2 + '" y1="' + 0 + '" x2="' + width / 2 + '" y2="' + height + '" style="' + style + '"></line>';
719
+ svgLine += '<line x1="' + 0 + '" y1="' + height / 2 + '" x2="' + width + '" y2="' + height / 2 + '" style="' + style + '"></line>';
720
+ }
721
+
722
+ let svgStr = '<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" width="' + width + '" height="' + height + '" style="overflow: inherit;">' + svgLine + "</svg>";
723
+ let imgUrl = "data:image/svg+xml;base64," + window.btoa(svgStr) + "";
724
+ var myImage = new Image(width, height);
725
+ myImage.src = imgUrl;
726
+ let material = new Cesium.ImageMaterialProperty({
727
+ image: myImage,
728
+ repeat: new Cesium.Cartesian2(15, 15),
729
+ transparent: true
730
+ });
731
+ return material;
691
732
  } //开始绘制
692
733
 
693
734
 
@@ -850,12 +891,37 @@ class DrawManager {
850
891
  if (style[type].hasOwnProperty("pixelOffset")) {
851
892
  style[type].pixelOffset = new Cesium.Cartesian2(style[type].pixelOffset[0], style[type].pixelOffset[1]);
852
893
  }
894
+
895
+ if (type === "polyline" && style.polyline.dash) {
896
+ style.polyline.material = new Cesium.PolylineDashMaterialProperty({
897
+ color: style.polyline.material
898
+ });
899
+ }
900
+
901
+ if (type === "polygon" && style.polygon.fill && style.polygon.fillStyle) {
902
+ style.polygon.material = this.getFillStyle(style.polygon.fillStyle);
903
+ }
853
904
  }
854
905
 
855
906
  this._viewer.scene.globe.depthTestAgainstTerrain = false;
856
907
  let geojsonDs = new Cesium.Kq3dGeoJsonDataSource(idCustom);
857
908
  let that = this;
858
909
  geojsonDs.load(geojsonData, style).then(ds => {
910
+ if (style.polygon.outline && style.polygon.outlineDash) {
911
+ ds.entities.values.forEach(entity => {
912
+ if (entity.polygon) {
913
+ entity.polygon.outline = false;
914
+ entity.polyline = {
915
+ positions: entity.polygon.hierarchy._value.positions,
916
+ width: style.polygon.outlineWidth,
917
+ material: style.polygon.outlineDash ? new Cesium.PolylineDashMaterialProperty({
918
+ color: style.polygon.outlineColor
919
+ }) : style.polygon.outlineColor
920
+ };
921
+ }
922
+ });
923
+ }
924
+
859
925
  that._viewer.dataSources.add(ds);
860
926
 
861
927
  if (!that._layerGroup.includes(idCustom)) {
@@ -2333,8 +2399,6 @@ class BaseterrainGalleryViewModel {
2333
2399
  }
2334
2400
 
2335
2401
  }
2336
- ;// CONCATENATED MODULE: external "@kq_npm/client_common_vue/_utils/const-image"
2337
- var const_image_namespaceObject = require("@kq_npm/client_common_vue/_utils/const-image");
2338
2402
  ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/webgl/baseterraingallery/BaseterrainGallery.vue?vue&type=script&setup=true&lang=js
2339
2403
 
2340
2404
  const BaseterrainGalleryvue_type_script_setup_true_lang_js_hoisted_1 = {
@@ -6560,7 +6624,8 @@ const ShadowAnalysisvue_type_script_setup_true_lang_js_default_ = {
6560
6624
 
6561
6625
 
6562
6626
  function startAnalysis() {
6563
- this.clearResult();
6627
+ // this.clearResult();
6628
+ viewModel && viewModel.clear();
6564
6629
  viewModel && viewModel.start();
6565
6630
  } // 日照效果
6566
6631
 
@@ -7363,6 +7428,8 @@ class ProfileAnalysisViewModel {
7363
7428
 
7364
7429
 
7365
7430
  destroy() {
7431
+ this.remove();
7432
+
7366
7433
  this._globaOptions._handler.removeInputAction(window.Cesium.ScreenSpaceEventType.LEFT_CLICK);
7367
7434
 
7368
7435
  this._globaOptions._handler = null;
@@ -9142,7 +9209,9 @@ const ExcavateFillAnalysisvue_type_script_setup_true_lang_js_default_ = {
9142
9209
  }); //开始分析
9143
9210
 
9144
9211
  function startAnalysis() {
9145
- this.clearResult();
9212
+ // this.clearResult();
9213
+ showResult.value = false;
9214
+ viewModel && viewModel.clear();
9146
9215
  viewModel && viewModel.start();
9147
9216
  } //清除结果
9148
9217
 
@@ -13933,7 +14002,8 @@ const BoxClipvue_type_script_setup_true_lang_js_default_ = {
13933
14002
 
13934
14003
 
13935
14004
  function clip() {
13936
- this.clearResult();
14005
+ // this.clearResult();
14006
+ viewModel && viewModel.clear();
13937
14007
  viewModel && viewModel.start();
13938
14008
  } // 清除
13939
14009
 
@@ -16856,7 +16926,7 @@ const ParticleEffectvue_type_script_setup_true_lang_js_default_ = {
16856
16926
 
16857
16927
  function changeMode(mode) {
16858
16928
  if (formItem.mode !== mode) {
16859
- this.clear();
16929
+ viewModel && viewModel.clear();
16860
16930
  formItem.mode = mode;
16861
16931
 
16862
16932
  if (mode === "flame") {
@@ -17793,7 +17863,7 @@ const WeatherEffectvue_type_script_setup_true_lang_js_default_ = {
17793
17863
 
17794
17864
  function changeMode(mode) {
17795
17865
  if (formItem.mode !== mode) {
17796
- this.clear();
17866
+ viewModel && viewModel.clear();
17797
17867
  formItem.mode = mode;
17798
17868
 
17799
17869
  if (mode === "rain") {
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@kq_npm/client3d_webgl_vue","description":"KQGIS Client3D for Vue.js","version":"0.1.3-beta","homepage":"","keywords":["KQGIS","webGL","Vue"],"browserslist":["> 1%","last 2 versions","not dead","not ie 11"],"author":"KQWEB GROUP","license":"Apache-2.0","dependencies":{"colorcolor":"^1.1.1","echarts":"^5.3.3","js-cookie":"^3.0.1","omit.js":"^2.0.2","save":"^2.5.0","tinycolor2":"^1.4.2","vue-i18n":"^9.2.0-beta.36","xlsx":"^0.18.5","@turf/turf":"^6.5.0","css-vars-ponyfill":"^2.4.7","xe-utils":"^3.5.4"}}
1
+ {"name":"@kq_npm/client3d_webgl_vue","description":"KQGIS Client3D for Vue.js","version":"0.1.4-beta","homepage":"","keywords":["KQGIS","webGL","Vue"],"browserslist":["> 1%","last 2 versions","not dead","not ie 11"],"author":"KQWEB GROUP","license":"Apache-2.0","dependencies":{"colorcolor":"^1.1.1","echarts":"^5.3.3","js-cookie":"^3.0.1","omit.js":"^2.0.2","save":"^2.5.0","tinycolor2":"^1.4.2","vue-i18n":"^9.2.0-beta.36","xlsx":"^0.18.5","@turf/turf":"^6.5.0","css-vars-ponyfill":"^2.4.7","xe-utils":"^3.5.4"}}
@@ -353,7 +353,7 @@ const __default__ = {
353
353
 
354
354
  function changeMode(mode) {
355
355
  if (formItem.mode !== mode) {
356
- this.clear();
356
+ viewModel && viewModel.clear();
357
357
  formItem.mode = mode;
358
358
 
359
359
  if (mode === "flame") {
@@ -312,6 +312,8 @@ class ProfileAnalysisViewModel {
312
312
 
313
313
 
314
314
  destroy() {
315
+ this.remove();
316
+
315
317
  this._globaOptions._handler.removeInputAction(window.Cesium.ScreenSpaceEventType.LEFT_CLICK);
316
318
 
317
319
  this._globaOptions._handler = null;
@@ -1,40 +1,7 @@
1
1
  /******/ (function() { // webpackBootstrap
2
2
  /******/ "use strict";
3
- /******/ var __webpack_modules__ = ({
4
-
5
- /***/ 159:
6
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7
-
8
- __webpack_require__.r(__webpack_exports__);
9
- /* harmony default export */ __webpack_exports__["default"] = ("data:image/png;base64,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");
10
-
11
- /***/ })
12
-
13
- /******/ });
14
- /************************************************************************/
15
- /******/ // The module cache
16
- /******/ var __webpack_module_cache__ = {};
17
- /******/
18
- /******/ // The require function
19
- /******/ function __webpack_require__(moduleId) {
20
- /******/ // Check if module is in cache
21
- /******/ var cachedModule = __webpack_module_cache__[moduleId];
22
- /******/ if (cachedModule !== undefined) {
23
- /******/ return cachedModule.exports;
24
- /******/ }
25
- /******/ // Create a new module (and put it into the cache)
26
- /******/ var module = __webpack_module_cache__[moduleId] = {
27
- /******/ // no module.id needed
28
- /******/ // no module.loaded needed
29
- /******/ exports: {}
30
- /******/ };
31
- /******/
32
- /******/ // Execute the module function
33
- /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
34
- /******/
35
- /******/ // Return the exports of the module
36
- /******/ return module.exports;
37
- /******/ }
3
+ /******/ // The require scope
4
+ /******/ var __webpack_require__ = {};
38
5
  /******/
39
6
  /************************************************************************/
40
7
  /******/ /* webpack/runtime/compat get default export */
@@ -79,8 +46,6 @@ __webpack_require__.r(__webpack_exports__);
79
46
  /******/
80
47
  /************************************************************************/
81
48
  var __webpack_exports__ = {};
82
- // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
83
- !function() {
84
49
  // ESM COMPAT FLAG
85
50
  __webpack_require__.r(__webpack_exports__);
86
51
 
@@ -114,13 +79,19 @@ function _defineProperty(obj, key, value) {
114
79
  ;// CONCATENATED MODULE: external "@kq_npm/client_common_vue/_utils/mitt"
115
80
  var mitt_namespaceObject = require("@kq_npm/client_common_vue/_utils/mitt");
116
81
  var mitt_default = /*#__PURE__*/__webpack_require__.n(mitt_namespaceObject);
82
+ ;// CONCATENATED MODULE: external "core-js/modules/web.dom-exception.stack.js"
83
+ var web_dom_exception_stack_js_namespaceObject = require("core-js/modules/web.dom-exception.stack.js");
117
84
  ;// CONCATENATED MODULE: external "core-js/modules/es.array.includes.js"
118
85
  var es_array_includes_js_namespaceObject = require("core-js/modules/es.array.includes.js");
119
86
  ;// CONCATENATED MODULE: external "@turf/turf"
120
87
  var turf_namespaceObject = require("@turf/turf");
88
+ ;// CONCATENATED MODULE: external "@kq_npm/client_common_vue/_utils/const-image"
89
+ var const_image_namespaceObject = require("@kq_npm/client_common_vue/_utils/const-image");
121
90
  ;// CONCATENATED MODULE: ./src/webgl/scenceview/DrawManager.js
122
91
 
123
92
 
93
+
94
+
124
95
  //绘制操作类
125
96
 
126
97
  class DrawManager {
@@ -164,7 +135,7 @@ class DrawManager {
164
135
  },
165
136
  //点-图标样式
166
137
  marker: {
167
- image: __webpack_require__(159),
138
+ image: const_image_namespaceObject.MARKER_URL,
168
139
  //图标路径
169
140
  width: 32,
170
141
  //图标宽度
@@ -215,21 +186,25 @@ class DrawManager {
215
186
  font: "25px 微软雅黑"
216
187
  },
217
188
  billboard: {
218
- image: __webpack_require__(159),
189
+ image: const_image_namespaceObject.MARKER_URL,
219
190
  width: 32,
220
191
  height: 32
221
192
  },
222
193
  polyline: {
223
194
  color: "#ff0000",
224
195
  opacity: 1.0,
225
- width: 2
196
+ width: 2,
197
+ dash: false
226
198
  },
227
199
  polygon: {
228
200
  color: "#0000ff",
229
201
  opacity: 0.3,
230
202
  outline: true,
231
203
  outlineColor: "#ff0000",
232
- perPositionHeight: true
204
+ outlineWidth: 1,
205
+ outlineDash: false,
206
+ fill: false,
207
+ fillStyle: null
233
208
  }
234
209
  });
235
210
 
@@ -268,6 +243,45 @@ class DrawManager {
268
243
  this._drawStyle.freehandpolygon = this._drawStyle.polygon; //手绘面
269
244
 
270
245
  this._drawStyle.rectangle = this._drawStyle.polygon; //矩形
246
+ }
247
+
248
+ getFillStyle(fillStyle) {
249
+ let lineColor = fillStyle.lineColor || "rgba(0, 0, 255, 1)";
250
+ let lineWidth = fillStyle.lineWidth || "2px";
251
+ let style = "stroke-linecap: square;stroke-linejoin: miter;overflow: inherit;stroke: " + lineColor + ";stroke-width: " + lineWidth + ";";
252
+ let width = 10;
253
+ let height = 10;
254
+ let lineType = "left";
255
+
256
+ if (fillStyle.lineSpacing !== undefined) {
257
+ width = height = fillStyle.lineSpacing;
258
+ }
259
+
260
+ if (fillStyle.lineType !== undefined) {
261
+ lineType = fillStyle.lineType;
262
+ }
263
+
264
+ let svgLine = "";
265
+
266
+ if (lineType === "left") {
267
+ svgLine = '<line x1="' + width / 2 + '" y1="' + 0 + '" x2="' + width / 2 + '" y2="' + height + '" style="' + style + '"></line>';
268
+ } else if (lineType === "right") {
269
+ svgLine = '<line x1="' + 0 + '" y1="' + height / 2 + '" x2="' + width + '" y2="' + height / 2 + '" style="' + style + '"></line>';
270
+ } else {
271
+ svgLine = '<line x1="' + width / 2 + '" y1="' + 0 + '" x2="' + width / 2 + '" y2="' + height + '" style="' + style + '"></line>';
272
+ svgLine += '<line x1="' + 0 + '" y1="' + height / 2 + '" x2="' + width + '" y2="' + height / 2 + '" style="' + style + '"></line>';
273
+ }
274
+
275
+ let svgStr = '<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" width="' + width + '" height="' + height + '" style="overflow: inherit;">' + svgLine + "</svg>";
276
+ let imgUrl = "data:image/svg+xml;base64," + window.btoa(svgStr) + "";
277
+ var myImage = new Image(width, height);
278
+ myImage.src = imgUrl;
279
+ let material = new Cesium.ImageMaterialProperty({
280
+ image: myImage,
281
+ repeat: new Cesium.Cartesian2(15, 15),
282
+ transparent: true
283
+ });
284
+ return material;
271
285
  } //开始绘制
272
286
 
273
287
 
@@ -430,12 +444,37 @@ class DrawManager {
430
444
  if (style[type].hasOwnProperty("pixelOffset")) {
431
445
  style[type].pixelOffset = new Cesium.Cartesian2(style[type].pixelOffset[0], style[type].pixelOffset[1]);
432
446
  }
447
+
448
+ if (type === "polyline" && style.polyline.dash) {
449
+ style.polyline.material = new Cesium.PolylineDashMaterialProperty({
450
+ color: style.polyline.material
451
+ });
452
+ }
453
+
454
+ if (type === "polygon" && style.polygon.fill && style.polygon.fillStyle) {
455
+ style.polygon.material = this.getFillStyle(style.polygon.fillStyle);
456
+ }
433
457
  }
434
458
 
435
459
  this._viewer.scene.globe.depthTestAgainstTerrain = false;
436
460
  let geojsonDs = new Cesium.Kq3dGeoJsonDataSource(idCustom);
437
461
  let that = this;
438
462
  geojsonDs.load(geojsonData, style).then(ds => {
463
+ if (style.polygon.outline && style.polygon.outlineDash) {
464
+ ds.entities.values.forEach(entity => {
465
+ if (entity.polygon) {
466
+ entity.polygon.outline = false;
467
+ entity.polyline = {
468
+ positions: entity.polygon.hierarchy._value.positions,
469
+ width: style.polygon.outlineWidth,
470
+ material: style.polygon.outlineDash ? new Cesium.PolylineDashMaterialProperty({
471
+ color: style.polygon.outlineColor
472
+ }) : style.polygon.outlineColor
473
+ };
474
+ }
475
+ });
476
+ }
477
+
439
478
  that._viewer.dataSources.add(ds);
440
479
 
441
480
  if (!that._layerGroup.includes(idCustom)) {
@@ -1841,7 +1880,6 @@ ScenceView.install = (Vue, opts) => {
1841
1880
  };
1842
1881
 
1843
1882
 
1844
- }();
1845
1883
  module.exports = __webpack_exports__;
1846
1884
  /******/ })()
1847
1885
  ;
@@ -469,7 +469,8 @@ const __default__ = {
469
469
 
470
470
 
471
471
  function startAnalysis() {
472
- this.clearResult();
472
+ // this.clearResult();
473
+ viewModel && viewModel.clear();
473
474
  viewModel && viewModel.start();
474
475
  } // 日照效果
475
476
 
@@ -297,7 +297,7 @@ const __default__ = {
297
297
 
298
298
  function changeMode(mode) {
299
299
  if (formItem.mode !== mode) {
300
- this.clear();
300
+ viewModel && viewModel.clear();
301
301
  formItem.mode = mode;
302
302
 
303
303
  if (mode === "rain") {