@kq_npm/client3d_webgl_vue 4.5.55 → 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.
- package/adddata/index.js +189 -21
- package/airspacegridoccupancyquery/index.js +1977 -0
- package/airspacegridoccupancyquery/style/airspacegridoccupancyquery.css +1 -0
- package/airspacegridoccupancyquery/style/index.js +3 -0
- package/airspaceprofileanalysis/index.js +1870 -0
- package/airspaceprofileanalysis/style/airspaceprofileanalysis.css +1 -0
- package/airspaceprofileanalysis/style/index.js +3 -0
- package/aspectanalysis/index.js +25 -7
- package/baseterraingallery/index.js +16 -4
- package/boxclip/index.js +58 -16
- package/buildpointmodel/index.js +3207 -230
- package/buildpointmodel/style/buildpointmodel.css +1 -1
- package/buildpolygonmodel/index.js +205 -81
- package/buildpolylinemodel/index.js +346 -70
- package/clientPrint/index.js +32440 -2337
- package/comparemap/index.js +132 -60
- package/compass/index.js +16 -6
- package/excavatefillanalysis/index.js +51 -7
- package/fixedzoomin/index.js +24 -7
- package/fixedzoomout/index.js +25 -7
- package/flight/index.js +113 -26
- package/floodanalysis/index.js +79 -14
- package/geologicalbodyanalysis/index.js +41 -5
- package/gpuspatialquery/index.js +127 -19
- package/gridoccupancyquery/index.js +627 -0
- package/gridoccupancyquery/style/gridoccupancyquery.css +1 -0
- package/gridoccupancyquery/style/index.js +3 -0
- package/hawkeye/index.js +20 -2
- package/headertemp/index.js +7 -2
- package/heatmap3d/index.js +282 -158
- package/index.js +32440 -2337
- package/isolineanalysis/index.js +113 -38
- package/light/index.js +80 -22
- package/limitheightanalysis/index.js +30 -10
- package/lowaltitudefeature/index.js +5027 -0
- package/lowaltitudefeature/style/index.js +3 -0
- package/lowaltitudefeature/style/lowaltitudefeature.css +1 -0
- package/measure/index.js +60 -19
- package/modelFlat/index.js +48 -8
- package/modeledit/index.js +38 -4
- package/modelexcavate/index.js +48 -7
- package/modelfilter/index.js +51 -8
- package/modelmaterialedit/index.js +127 -25
- package/modelprofileanalysis/index.js +51 -14
- package/modelselect/index.js +34 -3
- package/modelstyleedit/index.js +39 -3
- package/modeltransform/index.js +79 -14
- package/package.json +1 -1
- package/particleeffect/index.js +83 -17
- package/planeclip/index.js +66 -17
- package/pointcloudrender/index.js +134 -15
- package/radarscananalysis/index.js +35 -3
- package/resetview/index.js +14 -6
- package/roller/index.js +55 -18
- package/scaneffect/index.js +98 -29
- package/sceneadvancedtoimage/index.js +32 -6
- package/sceneapp/index.js +32440 -2337
- package/sceneset/index.js +141 -71
- package/scenetohdimage/index.js +23 -3
- package/sceneview/index.js +32440 -2337
- package/sceneview/style/sceneview.css +1 -1
- package/screenshot/index.js +44 -11
- package/shadowanalysis/index.js +79 -19
- package/sightlineanalysis/index.js +66 -15
- package/skylineanalysis/index.js +20 -4
- package/slopeanalysis/index.js +75 -16
- package/slopeaspectanalysis/index.js +128 -26
- package/statusbar/index.js +80 -67
- package/style.css +1 -1
- package/terrainoperation/index.js +39 -7
- package/terrainprofileanalysis/index.js +43 -5
- package/toolbarapp/index.js +32440 -2337
- package/toolboxapp/index.js +32440 -2337
- package/typhoontrac/index.js +134 -16
- package/underground/index.js +8 -2
- package/videofusion/index.js +164 -79
- package/videoproject/index.js +77 -23
- package/viewshedanalysis/index.js +61 -14
- package/weathereffect/index.js +73 -18
- package/webgl.es.js +866 -16
- package/windyslicing/index.js +258 -54
- package/wireframesketch/index.js +25 -8
package/sceneset/index.js
CHANGED
|
@@ -12,7 +12,51 @@ return /******/ (function() { // webpackBootstrap
|
|
|
12
12
|
/******/ "use strict";
|
|
13
13
|
/******/ var __webpack_modules__ = ({
|
|
14
14
|
|
|
15
|
-
/***/
|
|
15
|
+
/***/ 20064:
|
|
16
|
+
/***/ (function(module) {
|
|
17
|
+
|
|
18
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE__20064__;
|
|
19
|
+
|
|
20
|
+
/***/ }),
|
|
21
|
+
|
|
22
|
+
/***/ 20455:
|
|
23
|
+
/***/ (function(module) {
|
|
24
|
+
|
|
25
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE__20455__;
|
|
26
|
+
|
|
27
|
+
/***/ }),
|
|
28
|
+
|
|
29
|
+
/***/ 21250:
|
|
30
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
31
|
+
|
|
32
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(76314);
|
|
33
|
+
/* 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__);
|
|
34
|
+
// Imports
|
|
35
|
+
|
|
36
|
+
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
|
|
37
|
+
// Module
|
|
38
|
+
___CSS_LOADER_EXPORT___.push([module.id, ".cesium-performanceDisplay-defaultContainer{top:unset !important;bottom:16px;right:64px !important}", ""]);
|
|
39
|
+
// Exports
|
|
40
|
+
/* harmony default export */ __webpack_exports__.A = (___CSS_LOADER_EXPORT___);
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
/***/ }),
|
|
44
|
+
|
|
45
|
+
/***/ 22686:
|
|
46
|
+
/***/ (function(module) {
|
|
47
|
+
|
|
48
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE__22686__;
|
|
49
|
+
|
|
50
|
+
/***/ }),
|
|
51
|
+
|
|
52
|
+
/***/ 33751:
|
|
53
|
+
/***/ (function(module) {
|
|
54
|
+
|
|
55
|
+
module.exports = require("@babel/runtime/helpers/interopRequireDefault");
|
|
56
|
+
|
|
57
|
+
/***/ }),
|
|
58
|
+
|
|
59
|
+
/***/ 40544:
|
|
16
60
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
17
61
|
|
|
18
62
|
// ESM COMPAT FLAG
|
|
@@ -31,9 +75,9 @@ var SceneSetvue_type_script_setup_true_lang_js = __webpack_require__(68591);
|
|
|
31
75
|
// EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js
|
|
32
76
|
var injectStylesIntoStyleTag = __webpack_require__(85072);
|
|
33
77
|
var injectStylesIntoStyleTag_default = /*#__PURE__*/__webpack_require__.n(injectStylesIntoStyleTag);
|
|
34
|
-
// 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/sceneset/SceneSet.vue?vue&type=style&index=0&id=
|
|
35
|
-
var
|
|
36
|
-
;// ./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/sceneset/SceneSet.vue?vue&type=style&index=0&id=
|
|
78
|
+
// 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/sceneset/SceneSet.vue?vue&type=style&index=0&id=ce9e18ee&lang=scss
|
|
79
|
+
var SceneSetvue_type_style_index_0_id_ce9e18ee_lang_scss = __webpack_require__(21250);
|
|
80
|
+
;// ./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/sceneset/SceneSet.vue?vue&type=style&index=0&id=ce9e18ee&lang=scss
|
|
37
81
|
|
|
38
82
|
|
|
39
83
|
|
|
@@ -42,12 +86,12 @@ var options = {};
|
|
|
42
86
|
options.insert = "head";
|
|
43
87
|
options.singleton = false;
|
|
44
88
|
|
|
45
|
-
var update = injectStylesIntoStyleTag_default()(
|
|
89
|
+
var update = injectStylesIntoStyleTag_default()(SceneSetvue_type_style_index_0_id_ce9e18ee_lang_scss/* default */.A, options);
|
|
46
90
|
|
|
47
91
|
|
|
48
92
|
|
|
49
|
-
/* harmony default export */ var
|
|
50
|
-
;// ./src/webgl/sceneset/SceneSet.vue?vue&type=style&index=0&id=
|
|
93
|
+
/* harmony default export */ var sceneset_SceneSetvue_type_style_index_0_id_ce9e18ee_lang_scss = (SceneSetvue_type_style_index_0_id_ce9e18ee_lang_scss/* default */.A.locals || {});
|
|
94
|
+
;// ./src/webgl/sceneset/SceneSet.vue?vue&type=style&index=0&id=ce9e18ee&lang=scss
|
|
51
95
|
|
|
52
96
|
;// ./src/webgl/sceneset/SceneSet.vue
|
|
53
97
|
|
|
@@ -61,50 +105,6 @@ const __exports__ = SceneSetvue_type_script_setup_true_lang_js/* default */.A;
|
|
|
61
105
|
|
|
62
106
|
/***/ }),
|
|
63
107
|
|
|
64
|
-
/***/ 20064:
|
|
65
|
-
/***/ (function(module) {
|
|
66
|
-
|
|
67
|
-
module.exports = __WEBPACK_EXTERNAL_MODULE__20064__;
|
|
68
|
-
|
|
69
|
-
/***/ }),
|
|
70
|
-
|
|
71
|
-
/***/ 20455:
|
|
72
|
-
/***/ (function(module) {
|
|
73
|
-
|
|
74
|
-
module.exports = __WEBPACK_EXTERNAL_MODULE__20455__;
|
|
75
|
-
|
|
76
|
-
/***/ }),
|
|
77
|
-
|
|
78
|
-
/***/ 22686:
|
|
79
|
-
/***/ (function(module) {
|
|
80
|
-
|
|
81
|
-
module.exports = __WEBPACK_EXTERNAL_MODULE__22686__;
|
|
82
|
-
|
|
83
|
-
/***/ }),
|
|
84
|
-
|
|
85
|
-
/***/ 27663:
|
|
86
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
87
|
-
|
|
88
|
-
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(76314);
|
|
89
|
-
/* 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__);
|
|
90
|
-
// Imports
|
|
91
|
-
|
|
92
|
-
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
|
|
93
|
-
// Module
|
|
94
|
-
___CSS_LOADER_EXPORT___.push([module.id, ".cesium-performanceDisplay-defaultContainer{top:unset !important;bottom:16px;right:64px !important}", ""]);
|
|
95
|
-
// Exports
|
|
96
|
-
/* harmony default export */ __webpack_exports__.A = (___CSS_LOADER_EXPORT___);
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
/***/ }),
|
|
100
|
-
|
|
101
|
-
/***/ 33751:
|
|
102
|
-
/***/ (function(module) {
|
|
103
|
-
|
|
104
|
-
module.exports = require("@babel/runtime/helpers/interopRequireDefault");
|
|
105
|
-
|
|
106
|
-
/***/ }),
|
|
107
|
-
|
|
108
108
|
/***/ 42975:
|
|
109
109
|
/***/ (function(module) {
|
|
110
110
|
|
|
@@ -131,8 +131,14 @@ var _skyboxImage = __webpack_require__(98110);
|
|
|
131
131
|
* 场景设置逻辑类
|
|
132
132
|
**/
|
|
133
133
|
class SceneSetViewModel {
|
|
134
|
+
// 相机变化事件解绑函数
|
|
135
|
+
/**
|
|
136
|
+
* @description 构造函数,初始化场景设置视图模型
|
|
137
|
+
* @param {Object} viewer Cesium 视图对象
|
|
138
|
+
*/
|
|
134
139
|
constructor(viewer) {
|
|
135
140
|
this._viewer = null;
|
|
141
|
+
// Cesium 视图对象
|
|
136
142
|
this._constellation = null;
|
|
137
143
|
//星座
|
|
138
144
|
this._skyStar = null;
|
|
@@ -158,13 +164,19 @@ class SceneSetViewModel {
|
|
|
158
164
|
this._blueskyBox = null;
|
|
159
165
|
// 蓝天
|
|
160
166
|
this._oldTerrain = null;
|
|
167
|
+
// 原始地形提供者(用于海洋效果恢复)
|
|
161
168
|
this._waterLayer = null;
|
|
169
|
+
// 水层图层(海洋效果)
|
|
162
170
|
this._removeChangedEvent = null;
|
|
163
171
|
this._viewer = viewer;
|
|
164
172
|
this._defaultSkyBox = viewer.scene.skyBox;
|
|
165
173
|
this._undergroundManager = new Cesium.Kq3dUndergroundManager(this._viewer.scene);
|
|
166
174
|
}
|
|
167
|
-
|
|
175
|
+
/**
|
|
176
|
+
* @description 获取场景内容项的开启状态
|
|
177
|
+
* @param {String} key 场景内容项键名(earth/sun/moon/star 等)
|
|
178
|
+
* @returns {Boolean} 是否开启
|
|
179
|
+
*/
|
|
168
180
|
getSceneContent(key) {
|
|
169
181
|
let open = false;
|
|
170
182
|
switch (key) {
|
|
@@ -209,7 +221,11 @@ class SceneSetViewModel {
|
|
|
209
221
|
}
|
|
210
222
|
return open;
|
|
211
223
|
}
|
|
212
|
-
|
|
224
|
+
/**
|
|
225
|
+
* @description 设置场景内容项的开启状态
|
|
226
|
+
* @param {String} key 场景内容项键名
|
|
227
|
+
* @param {Boolean} isOpen 是否开启
|
|
228
|
+
*/
|
|
213
229
|
setSceneContent(key, isOpen) {
|
|
214
230
|
switch (key) {
|
|
215
231
|
case "earth":
|
|
@@ -287,7 +303,10 @@ class SceneSetViewModel {
|
|
|
287
303
|
break;
|
|
288
304
|
}
|
|
289
305
|
}
|
|
290
|
-
|
|
306
|
+
/**
|
|
307
|
+
* @description 设置天空盒样式
|
|
308
|
+
* @param {String} style 天空盒样式键名(default/style1/style2/style3)
|
|
309
|
+
*/
|
|
291
310
|
setSkyBoxStyle(style) {
|
|
292
311
|
let sources = null;
|
|
293
312
|
switch (style) {
|
|
@@ -336,9 +355,13 @@ class SceneSetViewModel {
|
|
|
336
355
|
}
|
|
337
356
|
if (sources) this._defaultSkyBox.sources = sources;
|
|
338
357
|
}
|
|
339
|
-
|
|
358
|
+
/**
|
|
359
|
+
* @description 打开或关闭近地天空盒
|
|
360
|
+
* @param {Boolean} isOpen 是否开启近地天空盒
|
|
361
|
+
*/
|
|
340
362
|
openNearSkyBoxStyle(isOpen) {
|
|
341
363
|
if (isOpen) {
|
|
364
|
+
// 开启:按需创建晴天/晚霞/蓝天三种近地天空盒并绑定相机变化事件
|
|
342
365
|
if (!this._sunshineBox) {
|
|
343
366
|
this._sunshineBox = new Cesium.Kq3dLocalViewSkyBox({
|
|
344
367
|
sources: {
|
|
@@ -376,18 +399,22 @@ class SceneSetViewModel {
|
|
|
376
399
|
});
|
|
377
400
|
}
|
|
378
401
|
this.updateNearSkyBox();
|
|
379
|
-
|
|
402
|
+
const that = this;
|
|
380
403
|
this._removeChangedEvent = this._viewer.camera.changed.addEventListener(function () {
|
|
381
404
|
that.updateNearSkyBox();
|
|
382
405
|
});
|
|
383
406
|
} else {
|
|
407
|
+
// 关闭:恢复默认天空盒并解绑相机变化事件
|
|
384
408
|
this._viewer.scene.skyBox = this._defaultSkyBox;
|
|
385
409
|
this._viewer.scene.skyAtmosphere.show = true;
|
|
386
410
|
this._removeChangedEvent && this._removeChangedEvent();
|
|
387
411
|
this._removeChangedEvent = null;
|
|
388
412
|
}
|
|
389
413
|
}
|
|
390
|
-
|
|
414
|
+
/**
|
|
415
|
+
* @description 设置近地天空盒样式
|
|
416
|
+
* @param {String} style 近地天空盒样式键名(sunny/sunset/blueSky)
|
|
417
|
+
*/
|
|
391
418
|
setNearSkyBoxStyle(style) {
|
|
392
419
|
switch (style) {
|
|
393
420
|
case "sunny":
|
|
@@ -423,7 +450,10 @@ class SceneSetViewModel {
|
|
|
423
450
|
}
|
|
424
451
|
}
|
|
425
452
|
}
|
|
426
|
-
|
|
453
|
+
/**
|
|
454
|
+
* @description 打开或关闭颜色校正
|
|
455
|
+
* @param {Boolean} isOpen 是否开启颜色校正
|
|
456
|
+
*/
|
|
427
457
|
openColorCorrection(isOpen) {
|
|
428
458
|
if (!this._colorCorrection) {
|
|
429
459
|
this._colorCorrection = new Cesium.Kq3dColorCorrection({
|
|
@@ -437,13 +467,20 @@ class SceneSetViewModel {
|
|
|
437
467
|
}
|
|
438
468
|
this._colorCorrection.enabled = isOpen;
|
|
439
469
|
}
|
|
440
|
-
|
|
470
|
+
/**
|
|
471
|
+
* @description 设置颜色校正参数
|
|
472
|
+
* @param {String} key 参数键名(brightness/contrast/hue/saturation)
|
|
473
|
+
* @param {*} val 参数值
|
|
474
|
+
*/
|
|
441
475
|
setColorCorrection(key, val) {
|
|
442
476
|
if (this._colorCorrection) {
|
|
443
477
|
this._colorCorrection[key] = Number(val);
|
|
444
478
|
}
|
|
445
479
|
}
|
|
446
|
-
|
|
480
|
+
/**
|
|
481
|
+
* @description 打开或关闭泛光
|
|
482
|
+
* @param {Boolean} isOpen 是否开启泛光
|
|
483
|
+
*/
|
|
447
484
|
openFloodlight(isOpen) {
|
|
448
485
|
if (!this._brightness) {
|
|
449
486
|
this._brightness = new Cesium.Kq3dBrightness({
|
|
@@ -453,13 +490,20 @@ class SceneSetViewModel {
|
|
|
453
490
|
}
|
|
454
491
|
this._brightness.enabled = isOpen;
|
|
455
492
|
}
|
|
456
|
-
|
|
493
|
+
/**
|
|
494
|
+
* @description 设置泛光参数
|
|
495
|
+
* @param {String} key 参数键名
|
|
496
|
+
* @param {*} val 参数值
|
|
497
|
+
*/
|
|
457
498
|
setFloodlight(key, val) {
|
|
458
499
|
if (this._brightness) {
|
|
459
500
|
this._brightness[key] = Number(val);
|
|
460
501
|
}
|
|
461
502
|
}
|
|
462
|
-
|
|
503
|
+
/**
|
|
504
|
+
* @description 设置视图模式
|
|
505
|
+
* @param {String} mode 视图模式(3d/2d/其它为哥伦布视图)
|
|
506
|
+
*/
|
|
463
507
|
setViewMode(mode) {
|
|
464
508
|
if (this._viewer.scene.mode === Cesium.SceneMode.MORPHING) {
|
|
465
509
|
return; // 如果已经处于变换中,则不进行任何操作
|
|
@@ -472,45 +516,65 @@ class SceneSetViewModel {
|
|
|
472
516
|
this._viewer.scene.mode = Cesium.SceneMode.COLUMBUS_VIEW;
|
|
473
517
|
}
|
|
474
518
|
}
|
|
475
|
-
|
|
519
|
+
/**
|
|
520
|
+
* @description 显示坐标网格
|
|
521
|
+
* @param {String} type 网格类型(geographic 地理坐标/mercator 墨卡托)
|
|
522
|
+
*/
|
|
476
523
|
showGrid(type) {
|
|
477
524
|
if (this._gridLayer) {
|
|
478
525
|
this._viewer.imageryLayers.remove(this._gridLayer);
|
|
479
526
|
this._gridLayer = null;
|
|
480
527
|
}
|
|
481
528
|
if (type == "geographic") {
|
|
529
|
+
// 地理坐标网格
|
|
482
530
|
this._gridLayer = new Cesium.ImageryLayer(new Cesium.TileCoordinatesImageryProvider({
|
|
483
531
|
tilingScheme: new Cesium.GeographicTilingScheme()
|
|
484
532
|
}));
|
|
485
533
|
this._viewer.imageryLayers.add(this._gridLayer);
|
|
486
534
|
} else if (type == "mercator") {
|
|
535
|
+
// 墨卡托投影网格
|
|
487
536
|
this._gridLayer = new Cesium.ImageryLayer(new Cesium.TileCoordinatesImageryProvider({
|
|
488
537
|
tilingScheme: new Cesium.WebMercatorTilingScheme()
|
|
489
538
|
}));
|
|
490
539
|
this._viewer.imageryLayers.add(this._gridLayer);
|
|
491
540
|
}
|
|
492
541
|
}
|
|
493
|
-
|
|
542
|
+
/**
|
|
543
|
+
* @description 打开或关闭地下模式
|
|
544
|
+
* @param {Boolean} isOpen 是否开启地下模式
|
|
545
|
+
*/
|
|
494
546
|
openUnderground(isOpen) {
|
|
495
547
|
this._undergroundManager.undergroundEnabled = isOpen;
|
|
496
548
|
this._undergroundManager.transparentEnabled = isOpen;
|
|
497
549
|
}
|
|
498
|
-
|
|
550
|
+
/**
|
|
551
|
+
* @description 设置地表透明度
|
|
552
|
+
* @param {*} val 透明度值
|
|
553
|
+
*/
|
|
499
554
|
setSurfaceTransparency(val) {
|
|
500
555
|
this._undergroundManager.transparent = Number(val);
|
|
501
556
|
}
|
|
502
557
|
|
|
503
|
-
|
|
558
|
+
/**
|
|
559
|
+
* @description 设置地形夸张系数
|
|
560
|
+
* @param {*} val 夸张系数值
|
|
561
|
+
*/
|
|
504
562
|
setExaggerationFactor(val) {
|
|
505
563
|
this._viewer.scene.globe.terrainExaggeration = Number(val);
|
|
506
564
|
}
|
|
507
565
|
|
|
508
|
-
|
|
566
|
+
/**
|
|
567
|
+
* @description 设置地形夸张基准高度
|
|
568
|
+
* @param {*} val 基准高度值
|
|
569
|
+
*/
|
|
509
570
|
setAltitudeHeight(val) {
|
|
510
571
|
this._viewer.scene.globe.terrainExaggerationRelativeHeight = Number(val);
|
|
511
572
|
}
|
|
512
573
|
|
|
513
|
-
|
|
574
|
+
/**
|
|
575
|
+
* @description 设置模型清晰度
|
|
576
|
+
* @param {*} val 模型分辨率值(maximumScreenSpaceError)
|
|
577
|
+
*/
|
|
514
578
|
setModelResolution(val) {
|
|
515
579
|
this._viewer._modelResolution = val;
|
|
516
580
|
var primitives = this._viewer.scene.primitives._primitives;
|
|
@@ -732,12 +796,18 @@ var _default = exports.A = /*@__PURE__*/Object.assign(__default__, {
|
|
|
732
796
|
}
|
|
733
797
|
};
|
|
734
798
|
|
|
735
|
-
|
|
799
|
+
/**
|
|
800
|
+
* @description 场景内容设置改变,调用 viewModel 设置对应项开关
|
|
801
|
+
* @param {String} key 场景内容项键名
|
|
802
|
+
*/
|
|
736
803
|
function contentChanged(key) {
|
|
737
804
|
viewModel.setSceneContent(key, formItem[key]);
|
|
738
805
|
}
|
|
739
806
|
|
|
740
|
-
|
|
807
|
+
/**
|
|
808
|
+
* @description 参数改变,根据 key 调用 viewModel 更新对应配置项
|
|
809
|
+
* @param {String} key 参数键名
|
|
810
|
+
*/
|
|
741
811
|
function paramsChanged(key) {
|
|
742
812
|
switch (key) {
|
|
743
813
|
case "skyBoxStyle":
|
|
@@ -2214,7 +2284,7 @@ Object.defineProperty(exports, "default", ({
|
|
|
2214
2284
|
return _SceneSet.default;
|
|
2215
2285
|
}
|
|
2216
2286
|
}));
|
|
2217
|
-
var _SceneSet = _interopRequireDefault(__webpack_require__(
|
|
2287
|
+
var _SceneSet = _interopRequireDefault(__webpack_require__(40544));
|
|
2218
2288
|
var _SceneSetViewModel = _interopRequireDefault(__webpack_require__(43826));
|
|
2219
2289
|
var _init = _interopRequireDefault(__webpack_require__(20455));
|
|
2220
2290
|
/*
|
package/scenetohdimage/index.js
CHANGED
|
@@ -190,7 +190,10 @@ var _default = exports.A = /*@__PURE__*/Object.assign(__default__, {
|
|
|
190
190
|
function toHDImageHander() {
|
|
191
191
|
viewModel && viewModel.sceneToImages();
|
|
192
192
|
}
|
|
193
|
-
|
|
193
|
+
/**
|
|
194
|
+
* @description 参数改变,调用 viewModel 更新对应配置项
|
|
195
|
+
* @param {String} key 参数键名
|
|
196
|
+
*/
|
|
194
197
|
function paramsChanged(key) {
|
|
195
198
|
if (!viewModel || !viewModel._options) return;
|
|
196
199
|
viewModel._options[key] = formItem[key];
|
|
@@ -213,6 +216,10 @@ var _default = exports.A = /*@__PURE__*/Object.assign(__default__, {
|
|
|
213
216
|
break;
|
|
214
217
|
}
|
|
215
218
|
}
|
|
219
|
+
/**
|
|
220
|
+
* @description 根据容器尺寸初始化视图模型参数
|
|
221
|
+
* @param {String} id 视图容器的 DOM id
|
|
222
|
+
*/
|
|
216
223
|
function intViewModelParams(id) {
|
|
217
224
|
var bodyW = 1920,
|
|
218
225
|
bodyH = 1024;
|
|
@@ -629,14 +636,23 @@ var _jspdf = _interopRequireDefault(__webpack_require__(65515));
|
|
|
629
636
|
|
|
630
637
|
class SceneToHDImageViewModel {
|
|
631
638
|
// 输出图片区域
|
|
639
|
+
/**
|
|
640
|
+
* @description 构造函数,初始化场景高清出图视图模型
|
|
641
|
+
* @param {Object} scenceView 场景视图对象
|
|
642
|
+
* @param {Object} options 表单参数对象
|
|
643
|
+
*/
|
|
632
644
|
constructor(scenceView, options) {
|
|
633
645
|
this._viewer = null;
|
|
646
|
+
// Cesium 视图对象
|
|
634
647
|
this._options = null;
|
|
648
|
+
// 表单参数对象
|
|
635
649
|
this._canvasToImage = null;
|
|
650
|
+
// 场景出图类
|
|
636
651
|
this._exportPictureRegion = null;
|
|
637
652
|
this._viewer = scenceView._viewer;
|
|
638
653
|
this._options = options;
|
|
639
|
-
this._viewer.enabledFXAA = true;
|
|
654
|
+
this._viewer.enabledFXAA = true; // 启用 FXAA 抗锯齿
|
|
655
|
+
|
|
640
656
|
this._exportPictureRegion = document.createElement("div");
|
|
641
657
|
this._exportPictureRegion.class = "export-picture-region";
|
|
642
658
|
this._exportPictureRegion.id = "exportPictureRegion";
|
|
@@ -671,8 +687,10 @@ class SceneToHDImageViewModel {
|
|
|
671
687
|
};
|
|
672
688
|
var canvas = null;
|
|
673
689
|
if (width == resolutionWidth && height == resolutionHeight) {
|
|
690
|
+
// 出图尺寸与分辨率一致:直接使用场景 canvas
|
|
674
691
|
canvas = this._viewer.scene.canvas;
|
|
675
692
|
} else {
|
|
693
|
+
// 出图尺寸与分辨率不一致:从场景 canvas 裁剪指定区域
|
|
676
694
|
this._viewer.render();
|
|
677
695
|
var startX = (resolutionWidth - width) / 2,
|
|
678
696
|
startY = (resolutionHeight - height) / 2;
|
|
@@ -683,7 +701,8 @@ class SceneToHDImageViewModel {
|
|
|
683
701
|
newCtx.drawImage(this._viewer.canvas, startX, startY, width, height, 0, 0, width, height);
|
|
684
702
|
}
|
|
685
703
|
if (this._options.imgFormat === "pdf") {
|
|
686
|
-
|
|
704
|
+
// 输出 PDF:使用 jsPDF 生成并保存
|
|
705
|
+
const base64 = this._canvasToImage.convertToImage(canvas, {
|
|
687
706
|
width: width,
|
|
688
707
|
//图片宽度
|
|
689
708
|
height: height,
|
|
@@ -701,6 +720,7 @@ class SceneToHDImageViewModel {
|
|
|
701
720
|
pdf.save(datetimeCode + ".pdf");
|
|
702
721
|
}, 100);
|
|
703
722
|
} else {
|
|
723
|
+
// 其它格式:直接保存为图片
|
|
704
724
|
this._canvasToImage.saveAsimages(canvas, options);
|
|
705
725
|
}
|
|
706
726
|
}
|