fl-web-component 2.1.1-beta.1 → 2.1.1-beta.3
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/dist/fl-web-component.common.js +649 -504
- package/dist/fl-web-component.common.js.map +1 -1
- package/dist/fl-web-component.css +1 -1
- package/package.json +1 -1
- package/packages/components/com-flcanvas/components/entityFormatting.js +11 -6
- package/packages/components/com-flcanvas/index.vue +37 -3
- package/packages/components/com-graphics/index.vue +122 -11
|
@@ -863,13 +863,6 @@ module.exports = !$assign || __webpack_require__("4b8b")(function () {
|
|
|
863
863
|
|
|
864
864
|
/***/ }),
|
|
865
865
|
|
|
866
|
-
/***/ "075a":
|
|
867
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
868
|
-
|
|
869
|
-
// extracted by mini-css-extract-plugin
|
|
870
|
-
|
|
871
|
-
/***/ }),
|
|
872
|
-
|
|
873
866
|
/***/ "0983":
|
|
874
867
|
/***/ (function(module, exports, __webpack_require__) {
|
|
875
868
|
|
|
@@ -1443,17 +1436,6 @@ module.exports = function (bitmap, value) {
|
|
|
1443
1436
|
};
|
|
1444
1437
|
};
|
|
1445
1438
|
|
|
1446
|
-
/***/ }),
|
|
1447
|
-
|
|
1448
|
-
/***/ "1160":
|
|
1449
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
1450
|
-
|
|
1451
|
-
"use strict";
|
|
1452
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_d40d4870_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("7615");
|
|
1453
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_d40d4870_prod_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_d40d4870_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__);
|
|
1454
|
-
/* unused harmony reexport * */
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
1439
|
/***/ }),
|
|
1458
1440
|
|
|
1459
1441
|
/***/ "122f":
|
|
@@ -13827,13 +13809,6 @@ function isVNode(node) {
|
|
|
13827
13809
|
|
|
13828
13810
|
/***/ }),
|
|
13829
13811
|
|
|
13830
|
-
/***/ "4326":
|
|
13831
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
13832
|
-
|
|
13833
|
-
// extracted by mini-css-extract-plugin
|
|
13834
|
-
|
|
13835
|
-
/***/ }),
|
|
13836
|
-
|
|
13837
13812
|
/***/ "4546":
|
|
13838
13813
|
/***/ (function(module, exports, __webpack_require__) {
|
|
13839
13814
|
|
|
@@ -14043,6 +14018,17 @@ Factory_1.Factory.addGetterSetter(Node_1.Node, 'hue', 0, (0, Validators_1.getNum
|
|
|
14043
14018
|
Factory_1.Factory.addGetterSetter(Node_1.Node, 'saturation', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);
|
|
14044
14019
|
Factory_1.Factory.addGetterSetter(Node_1.Node, 'value', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);
|
|
14045
14020
|
|
|
14021
|
+
/***/ }),
|
|
14022
|
+
|
|
14023
|
+
/***/ "469d":
|
|
14024
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
14025
|
+
|
|
14026
|
+
"use strict";
|
|
14027
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0f76e7f4_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("f323");
|
|
14028
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0f76e7f4_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_0f76e7f4_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
|
|
14029
|
+
/* unused harmony reexport * */
|
|
14030
|
+
|
|
14031
|
+
|
|
14046
14032
|
/***/ }),
|
|
14047
14033
|
|
|
14048
14034
|
/***/ "4726":
|
|
@@ -19958,17 +19944,6 @@ _$export.U = 64; // safe
|
|
|
19958
19944
|
_$export.R = 128; // real proto method for `library`
|
|
19959
19945
|
module.exports = _$export;
|
|
19960
19946
|
|
|
19961
|
-
/***/ }),
|
|
19962
|
-
|
|
19963
|
-
/***/ "5144":
|
|
19964
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
19965
|
-
|
|
19966
|
-
"use strict";
|
|
19967
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_d40d4870_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("075a");
|
|
19968
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_d40d4870_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_d40d4870_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
|
|
19969
|
-
/* unused harmony reexport * */
|
|
19970
|
-
|
|
19971
|
-
|
|
19972
19947
|
/***/ }),
|
|
19973
19948
|
|
|
19974
19949
|
/***/ "5159":
|
|
@@ -41737,13 +41712,6 @@ function unzipSync(data, opts) {
|
|
|
41737
41712
|
|
|
41738
41713
|
/***/ }),
|
|
41739
41714
|
|
|
41740
|
-
/***/ "7615":
|
|
41741
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
41742
|
-
|
|
41743
|
-
// extracted by mini-css-extract-plugin
|
|
41744
|
-
|
|
41745
|
-
/***/ }),
|
|
41746
|
-
|
|
41747
41715
|
/***/ "769d":
|
|
41748
41716
|
/***/ (function(module, exports, __webpack_require__) {
|
|
41749
41717
|
|
|
@@ -41953,6 +41921,13 @@ function releaseCapture(pointerId, target) {
|
|
|
41953
41921
|
|
|
41954
41922
|
/***/ }),
|
|
41955
41923
|
|
|
41924
|
+
/***/ "7d82":
|
|
41925
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
41926
|
+
|
|
41927
|
+
// extracted by mini-css-extract-plugin
|
|
41928
|
+
|
|
41929
|
+
/***/ }),
|
|
41930
|
+
|
|
41956
41931
|
/***/ "7e1b":
|
|
41957
41932
|
/***/ (function(module) {
|
|
41958
41933
|
|
|
@@ -42320,6 +42295,13 @@ module.exports = /******/function (modules) {
|
|
|
42320
42295
|
|
|
42321
42296
|
/***/ }),
|
|
42322
42297
|
|
|
42298
|
+
/***/ "80a1":
|
|
42299
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
42300
|
+
|
|
42301
|
+
// extracted by mini-css-extract-plugin
|
|
42302
|
+
|
|
42303
|
+
/***/ }),
|
|
42304
|
+
|
|
42323
42305
|
/***/ "8119":
|
|
42324
42306
|
/***/ (function(module, exports, __webpack_require__) {
|
|
42325
42307
|
|
|
@@ -56514,7 +56496,7 @@ module.exports = document && document.documentElement;
|
|
|
56514
56496
|
/***/ "9224":
|
|
56515
56497
|
/***/ (function(module) {
|
|
56516
56498
|
|
|
56517
|
-
module.exports = JSON.parse("{\"name\":\"fl-web-component\",\"version\":\"2.1.1-beta.
|
|
56499
|
+
module.exports = JSON.parse("{\"name\":\"fl-web-component\",\"version\":\"2.1.1-beta.3\",\"scripts\":{\"postinstall\":\"patch-package\",\"tip1\":\"仅调试本组件不涉及业务组件,请执行dev\",\"dev\":\"vue-cli-service serve\",\"lint\":\"eslint \\\"{src,packages}/**/*.{vue,js}\\\" --fix\",\"prettier\":\"prettier --write \\\"packages/**/*.{js,css,less,scss,vue,html}\\\"\",\"=\":\"=============================================================\",\"tip2\":\"同时调试本组件与业务组件,请执行watch,生产模式监听请执行watch:prod\",\"watch\":\"vue-cli-service build --watch --mode development --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"watch:prod\":\"vue-cli-service build --watch --mode production --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"build\":\"npm run lint && vue-cli-service build --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"build:test\":\"vue-cli-service build --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"publish:base\":\"npm run build && npm publish --registry https://registry.npmjs.org/\",\"publish:beta:base\":\"npm run build && npm publish --tag beta --registry https://registry.npmjs.org/\",\"==\":\"=============================================================\",\"tip3\":\"发版注意: 【测试版执行publish:beta】【修改bug执行publish:fix】【新增功能执行publish:feat】【新特性执行publish:perf】\",\"publish:beta\":\"npm version prerelease --preid=beta && npm run publish:beta:base\",\"publish:fix\":\"npm version patch && npm run publish:base\",\"publish:feat\":\"npm version minor && npm run publish:base\",\"publish:perf\":\"npm version major && npm run publish:base\"},\"files\":[\"dist\",\"packages\",\"src\"],\"main\":\"dist/fl-web-component.common.js\",\"dependencies\":{\"camera-controls\":\"2.9.0\",\"core-js\":\"^3.42.0\",\"dxf-parser\":\"^1.1.2\",\"element-ui\":\"2.15.14\",\"fflate\":\"^0.8.2\",\"html2canvas\":\"^1.4.1\",\"jspdf\":\"^3.0.1\",\"konva\":\"^9.3.12\",\"lodash\":\"^4.17.21\",\"meshline\":\"^3.3.1\",\"regenerator-runtime\":\"^0.14.1\",\"svg-pan-zoom\":\"^3.6.2\",\"three\":\"^0.176.0\",\"three.path\":\"^1.0.1\",\"vue\":\"^2.6.11\"},\"devDependencies\":{\"@babel/core\":\"^7.12.16\",\"@babel/plugin-proposal-nullish-coalescing-operator\":\"^7.18.6\",\"@babel/plugin-proposal-optional-chaining\":\"^7.21.0\",\"@babel/preset-env\":\"^7.0.0\",\"@babel/runtime-corejs3\":\"^7.27.1\",\"@vue/cli-plugin-babel\":\"~4.4.0\",\"@vue/cli-plugin-eslint\":\"~4.4.0\",\"@vue/cli-service\":\"~4.4.0\",\"babel-eslint\":\"^10.1.0\",\"babel-loader\":\"^8.0.0\",\"copy-webpack-plugin\":\"^4.0.1\",\"eslint\":\"^6.7.2\",\"eslint-config-prettier\":\"^6.15.0\",\"eslint-plugin-prettier\":\"^3.4.1\",\"eslint-plugin-vue\":\"^6.2.2\",\"patch-package\":\"^6.4.7\",\"prettier\":\"^2.8.8\",\"sass\":\"1.32.13\",\"sass-loader\":\"10.1.1\",\"vue-template-compiler\":\"^2.6.11\",\"worker-loader\":\"^3.0.8\"},\"browserslist\":[\"> 1%\",\"last 2 versions\"]}");
|
|
56518
56500
|
|
|
56519
56501
|
/***/ }),
|
|
56520
56502
|
|
|
@@ -59318,6 +59300,17 @@ var isDefined = exports.isDefined = function isDefined(val) {
|
|
|
59318
59300
|
return val !== undefined && val !== null;
|
|
59319
59301
|
};
|
|
59320
59302
|
|
|
59303
|
+
/***/ }),
|
|
59304
|
+
|
|
59305
|
+
/***/ "a817":
|
|
59306
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
59307
|
+
|
|
59308
|
+
"use strict";
|
|
59309
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_e9e4a7c2_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("80a1");
|
|
59310
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_e9e4a7c2_prod_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_e9e4a7c2_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__);
|
|
59311
|
+
/* unused harmony reexport * */
|
|
59312
|
+
|
|
59313
|
+
|
|
59321
59314
|
/***/ }),
|
|
59322
59315
|
|
|
59323
59316
|
/***/ "ae26":
|
|
@@ -59332,17 +59325,6 @@ var isDefined = exports.isDefined = function isDefined(val) {
|
|
|
59332
59325
|
|
|
59333
59326
|
module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAACGUlEQVR4AeSUPU4CURSFgRW4A7FwAUYLC4yY2DNUFhZApLPRxMKOsAPsSYAVACuQCdqZ2NiYmIiFPQsw4Hfe/GTeMINkEirJO3N/3n333PsuM4Xcln//gMBxnHJwi+jFQJeM2/LFkXpFHC5Xq9VPDtSQj9j1fD4v2UIXetpD74E6euJKJSBZazgc7o1Go8ZyuRxgX/h2m0znwGVPepu9FnbiWiGgGlM5SeeREzvY3xH7naQfsiGZsffDucROLAKCdMenfqVVJRBI0gFN6YJ0Yp6kC9j7oAFpzc8ht4FFgEcD/UJmWnQyix+0CKii71dRZ7CleHCardhKpXLH2TI5LBKLIJLgimqOIvZaldh6oVC4RPbjgRaB7o+gCVWcgE48OM0mtslMDtgvKgcyXBYBXg0ZkX1Bln5FbE50j1QxBTeb0hDbZQ6vxLvAWvEOzCbX9AzRizE2e7xxZkLoLrCWRUAlZQWOx+N77jT8n1snEgw613tyy9afM9D9ZZ4DXRchUw64vGV14G+6juPotZ96Ibkc91vC1w1s6SCcEbo+gj2617cpCDPSIpAHkj5ooJtvDTK3WCyOqe5QuuDru9J9zHQGaA6+yxMrBJ7bPF0qN5XxEl1T3YhK1ZkqfSBiLlsx6AOQuFIJqKZPUnXSZuD6bKv9Nv4GUJfGZu8Me6XygC2VQAEcVOvh0GTLHyBuB/6oXEsQDcyqb53gFwAA//9V8fpjAAAABklEQVQDAOkWA0BYT6hNAAAAAElFTkSuQmCC"
|
|
59334
59327
|
|
|
59335
|
-
/***/ }),
|
|
59336
|
-
|
|
59337
|
-
/***/ "affa":
|
|
59338
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
59339
|
-
|
|
59340
|
-
"use strict";
|
|
59341
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_e2de7752_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4326");
|
|
59342
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_e2de7752_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_e2de7752_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
|
|
59343
|
-
/* unused harmony reexport * */
|
|
59344
|
-
|
|
59345
|
-
|
|
59346
59328
|
/***/ }),
|
|
59347
59329
|
|
|
59348
59330
|
/***/ "b2fd":
|
|
@@ -59433,6 +59415,17 @@ var store = global[SHARED] || (global[SHARED] = {});
|
|
|
59433
59415
|
copyright: '© 2020 Denis Pushkarev (zloirock.ru)'
|
|
59434
59416
|
});
|
|
59435
59417
|
|
|
59418
|
+
/***/ }),
|
|
59419
|
+
|
|
59420
|
+
/***/ "b3cf":
|
|
59421
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
59422
|
+
|
|
59423
|
+
"use strict";
|
|
59424
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_e9e4a7c2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("7d82");
|
|
59425
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_e9e4a7c2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_e9e4a7c2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
|
|
59426
|
+
/* unused harmony reexport * */
|
|
59427
|
+
|
|
59428
|
+
|
|
59436
59429
|
/***/ }),
|
|
59437
59430
|
|
|
59438
59431
|
/***/ "b5e0":
|
|
@@ -76353,6 +76346,13 @@ exports.default = {
|
|
|
76353
76346
|
|
|
76354
76347
|
/***/ }),
|
|
76355
76348
|
|
|
76349
|
+
/***/ "f323":
|
|
76350
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
76351
|
+
|
|
76352
|
+
// extracted by mini-css-extract-plugin
|
|
76353
|
+
|
|
76354
|
+
/***/ }),
|
|
76355
|
+
|
|
76356
76356
|
/***/ "f35c":
|
|
76357
76357
|
/***/ (function(module, exports, __webpack_require__) {
|
|
76358
76358
|
|
|
@@ -78634,8 +78634,8 @@ if (typeof window !== 'undefined') {
|
|
|
78634
78634
|
// Indicate to webpack that this file can be concatenated
|
|
78635
78635
|
/* harmony default export */ var setPublicPath = (null);
|
|
78636
78636
|
|
|
78637
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
78638
|
-
var
|
|
78637
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5a49c7af-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/index.vue?vue&type=template&id=e9e4a7c2&scoped=true
|
|
78638
|
+
var com_graphicsvue_type_template_id_e9e4a7c2_scoped_true_render = function render() {
|
|
78639
78639
|
var _vm = this,
|
|
78640
78640
|
_c = _vm._self._c;
|
|
78641
78641
|
return _c('div', {
|
|
@@ -78647,7 +78647,7 @@ var com_graphicsvue_type_template_id_d40d4870_scoped_true_render = function rend
|
|
|
78647
78647
|
};
|
|
78648
78648
|
var staticRenderFns = [];
|
|
78649
78649
|
|
|
78650
|
-
// CONCATENATED MODULE: ./packages/components/com-graphics/index.vue?vue&type=template&id=
|
|
78650
|
+
// CONCATENATED MODULE: ./packages/components/com-graphics/index.vue?vue&type=template&id=e9e4a7c2&scoped=true
|
|
78651
78651
|
|
|
78652
78652
|
// CONCATENATED MODULE: ./node_modules/camera-controls/dist/camera-controls.module.js
|
|
78653
78653
|
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
@@ -121487,7 +121487,7 @@ var LOG_INTERVAL = 30;
|
|
|
121487
121487
|
|
|
121488
121488
|
var isDebug = false || false === true;
|
|
121489
121489
|
// const isDebug = false;
|
|
121490
|
-
var COLLISION_PENETRATION_EPSILON =
|
|
121490
|
+
var COLLISION_PENETRATION_EPSILON = 1;
|
|
121491
121491
|
var COLLISION_OBB_AXIS_EPSILON = 1e-8;
|
|
121492
121492
|
var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
121493
121493
|
/* harmony default export */ var com_graphicsvue_type_script_lang_js = ({
|
|
@@ -121536,7 +121536,8 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
121536
121536
|
isPaused: false
|
|
121537
121537
|
},
|
|
121538
121538
|
isolateMode: false,
|
|
121539
|
-
collisionObbDebugEnabled: isDebug
|
|
121539
|
+
// collisionObbDebugEnabled: isDebug,
|
|
121540
|
+
collisionObbDebugEnabled: false
|
|
121540
121541
|
};
|
|
121541
121542
|
},
|
|
121542
121543
|
watch: {
|
|
@@ -123065,6 +123066,45 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123065
123066
|
box: box
|
|
123066
123067
|
});
|
|
123067
123068
|
},
|
|
123069
|
+
_buildCollisionOctreeFromEntries: function _buildCollisionOctreeFromEntries(entries) {
|
|
123070
|
+
var _this10 = this;
|
|
123071
|
+
if (!Array.isArray(entries) || entries.length === 0) {
|
|
123072
|
+
return null;
|
|
123073
|
+
}
|
|
123074
|
+
var minX = Infinity;
|
|
123075
|
+
var minY = Infinity;
|
|
123076
|
+
var minZ = Infinity;
|
|
123077
|
+
var maxX = -Infinity;
|
|
123078
|
+
var maxY = -Infinity;
|
|
123079
|
+
var maxZ = -Infinity;
|
|
123080
|
+
entries.forEach(function (item) {
|
|
123081
|
+
var box = item && item.box;
|
|
123082
|
+
if (!box || !box.isBox3) return;
|
|
123083
|
+
var mn = box.min;
|
|
123084
|
+
var mx = box.max;
|
|
123085
|
+
if (mn.x < minX) minX = mn.x;
|
|
123086
|
+
if (mn.y < minY) minY = mn.y;
|
|
123087
|
+
if (mn.z < minZ) minZ = mn.z;
|
|
123088
|
+
if (mx.x > maxX) maxX = mx.x;
|
|
123089
|
+
if (mx.y > maxY) maxY = mx.y;
|
|
123090
|
+
if (mx.z > maxZ) maxZ = mx.z;
|
|
123091
|
+
});
|
|
123092
|
+
if (minX === Infinity) {
|
|
123093
|
+
return null;
|
|
123094
|
+
}
|
|
123095
|
+
var rootBox = new this.THREE.Box3(new this.THREE.Vector3(minX, minY, minZ), new this.THREE.Vector3(maxX, maxY, maxZ));
|
|
123096
|
+
var root = {
|
|
123097
|
+
box: rootBox,
|
|
123098
|
+
items: [],
|
|
123099
|
+
children: null,
|
|
123100
|
+
depth: 0
|
|
123101
|
+
};
|
|
123102
|
+
entries.forEach(function (item) {
|
|
123103
|
+
if (!item || !item.box) return;
|
|
123104
|
+
_this10._octreeInsert(root, String(item.id), item.box);
|
|
123105
|
+
});
|
|
123106
|
+
return root;
|
|
123107
|
+
},
|
|
123068
123108
|
_isCollisionBoxAvailable: function _isCollisionBoxAvailable(box) {
|
|
123069
123109
|
if (!box || !box.isBox3 || box.isEmpty()) return false;
|
|
123070
123110
|
if (box.userData && box.userData.visible === false) return false;
|
|
@@ -123189,7 +123229,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123189
123229
|
return pairMap;
|
|
123190
123230
|
},
|
|
123191
123231
|
refreshCollisionObbDebug: function refreshCollisionObbDebug() {
|
|
123192
|
-
var
|
|
123232
|
+
var _this11 = this;
|
|
123193
123233
|
if (!this.collisionObbDebugEnabled) return;
|
|
123194
123234
|
var group = this._getCollisionDebugGroup();
|
|
123195
123235
|
if (!group) return;
|
|
@@ -123197,14 +123237,14 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123197
123237
|
var pairMap = this._buildCollisionPairMap();
|
|
123198
123238
|
if (pairMap.size === 0) return;
|
|
123199
123239
|
pairMap.forEach(function (relatedIds, modelId) {
|
|
123200
|
-
var box =
|
|
123201
|
-
if (!
|
|
123202
|
-
var obbs =
|
|
123240
|
+
var box = _this11._boxIndex && _this11._boxIndex.has(String(modelId)) ? _this11._boxIndex.get(String(modelId)) : _this11._boxIndex && _this11._boxIndex.has(modelId) ? _this11._boxIndex.get(modelId) : null;
|
|
123241
|
+
if (!_this11._isCollisionBoxAvailable(box)) return;
|
|
123242
|
+
var obbs = _this11._getCollisionObbs(box);
|
|
123203
123243
|
if (!obbs.length) return;
|
|
123204
123244
|
var isColliding = relatedIds && relatedIds.size > 0;
|
|
123205
123245
|
var color = isColliding ? 0xff3b30 : 0x36cfc9;
|
|
123206
123246
|
for (var i = 0; i < obbs.length; i++) {
|
|
123207
|
-
var lineSegments =
|
|
123247
|
+
var lineSegments = _this11._createCollisionObbLineSegments(obbs[i], color);
|
|
123208
123248
|
if (!lineSegments) continue;
|
|
123209
123249
|
lineSegments.name = "".concat(COLLISION_DEBUG_GROUP_NAME, ":").concat(modelId, ":").concat(i);
|
|
123210
123250
|
lineSegments.userData.modelId = modelId;
|
|
@@ -123240,7 +123280,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123240
123280
|
return axisInfo.halfSizes[0] * Math.abs(axis.dot(axisInfo.axes[0])) + axisInfo.halfSizes[1] * Math.abs(axis.dot(axisInfo.axes[1])) + axisInfo.halfSizes[2] * Math.abs(axis.dot(axisInfo.axes[2]));
|
|
123241
123281
|
},
|
|
123242
123282
|
_getObbMinPenetration: function _getObbMinPenetration(obbA, obbB) {
|
|
123243
|
-
var
|
|
123283
|
+
var _this12 = this;
|
|
123244
123284
|
var axisInfoA = this._getObbAxisInfo(obbA);
|
|
123245
123285
|
var axisInfoB = this._getObbAxisInfo(obbB);
|
|
123246
123286
|
var centerDelta = new this.THREE.Vector3().subVectors(axisInfoB.center, axisInfoA.center);
|
|
@@ -123250,7 +123290,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123250
123290
|
if (lengthSq <= COLLISION_OBB_AXIS_EPSILON) return true;
|
|
123251
123291
|
var normalizedAxis = axis.clone().multiplyScalar(1 / Math.sqrt(lengthSq));
|
|
123252
123292
|
var projectionDistance = Math.abs(centerDelta.dot(normalizedAxis));
|
|
123253
|
-
var penetration =
|
|
123293
|
+
var penetration = _this12._getObbProjectionRadius(axisInfoA, normalizedAxis) + _this12._getObbProjectionRadius(axisInfoB, normalizedAxis) - projectionDistance;
|
|
123254
123294
|
if (penetration <= 0) {
|
|
123255
123295
|
minPenetration = penetration;
|
|
123256
123296
|
return false;
|
|
@@ -123288,9 +123328,8 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123288
123328
|
}
|
|
123289
123329
|
return false;
|
|
123290
123330
|
},
|
|
123291
|
-
|
|
123331
|
+
_queryOctreeByBoxWithRoot: function _queryOctreeByBoxWithRoot(root, box) {
|
|
123292
123332
|
var results = [];
|
|
123293
|
-
var root = this._octree;
|
|
123294
123333
|
if (!root || !this._isCollisionBoxAvailable(box)) return results;
|
|
123295
123334
|
var stack = [root];
|
|
123296
123335
|
while (stack.length) {
|
|
@@ -123312,29 +123351,95 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123312
123351
|
}
|
|
123313
123352
|
return results;
|
|
123314
123353
|
},
|
|
123354
|
+
_queryOctreeByBox: function _queryOctreeByBox(box) {
|
|
123355
|
+
return this._queryOctreeByBoxWithRoot(this._octree, box);
|
|
123356
|
+
},
|
|
123315
123357
|
getOctreeCollisionPairs: function getOctreeCollisionPairs() {
|
|
123316
|
-
var
|
|
123358
|
+
var _this13 = this;
|
|
123359
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
123317
123360
|
var pairs = [];
|
|
123318
123361
|
if (!this._boxIndex || this._boxIndex.size === 0) return {
|
|
123319
123362
|
pairs: pairs
|
|
123320
123363
|
};
|
|
123321
|
-
|
|
123322
|
-
|
|
123323
|
-
|
|
123324
|
-
|
|
123325
|
-
|
|
123364
|
+
var normalizeIds = function normalizeIds(value) {
|
|
123365
|
+
return Array.isArray(value) ? Array.from(new Set(value.map(function (item) {
|
|
123366
|
+
return item === null || item === undefined ? '' : String(item);
|
|
123367
|
+
}).filter(function (item) {
|
|
123368
|
+
return item !== '';
|
|
123369
|
+
}))) : [];
|
|
123370
|
+
};
|
|
123371
|
+
var getEntriesByIds = function getEntriesByIds(ids) {
|
|
123372
|
+
var entries = [];
|
|
123373
|
+
var idSet = new Set(ids);
|
|
123374
|
+
_this13._boxIndex.forEach(function (box, id) {
|
|
123375
|
+
var key = String(id);
|
|
123376
|
+
if (idSet.has(key)) {
|
|
123377
|
+
entries.push({
|
|
123378
|
+
id: key,
|
|
123379
|
+
box: box
|
|
123380
|
+
});
|
|
123381
|
+
}
|
|
123382
|
+
});
|
|
123383
|
+
return entries;
|
|
123326
123384
|
};
|
|
123327
|
-
|
|
123328
|
-
|
|
123329
|
-
|
|
123385
|
+
var sourceIds = normalizeIds(options.sourceIds);
|
|
123386
|
+
var targetIds = normalizeIds(options.targetIds);
|
|
123387
|
+
var includeIds = Array.isArray(options.includeIds) ? normalizeIds(options.includeIds) : [];
|
|
123388
|
+
var root = this._octree;
|
|
123389
|
+
var sourceEntries = [];
|
|
123390
|
+
var dedupePairKeySet = null;
|
|
123391
|
+
if (sourceIds.length > 0 && targetIds.length > 0) {
|
|
123392
|
+
var targetEntries = getEntriesByIds(targetIds);
|
|
123393
|
+
sourceEntries = getEntriesByIds(sourceIds);
|
|
123394
|
+
if (sourceEntries.length === 0 || targetEntries.length === 0) return {
|
|
123395
|
+
pairs: pairs
|
|
123396
|
+
};
|
|
123397
|
+
root = this._buildCollisionOctreeFromEntries(targetEntries);
|
|
123398
|
+
if (!root) return {
|
|
123399
|
+
pairs: pairs
|
|
123400
|
+
};
|
|
123401
|
+
dedupePairKeySet = new Set();
|
|
123402
|
+
} else if (includeIds.length > 0) {
|
|
123403
|
+
sourceEntries = getEntriesByIds(includeIds);
|
|
123404
|
+
if (sourceEntries.length === 0) return {
|
|
123405
|
+
pairs: pairs
|
|
123406
|
+
};
|
|
123407
|
+
root = this._buildCollisionOctreeFromEntries(sourceEntries);
|
|
123408
|
+
if (!root) return {
|
|
123409
|
+
pairs: pairs
|
|
123410
|
+
};
|
|
123411
|
+
} else {
|
|
123412
|
+
if (!this._octree) {
|
|
123413
|
+
this.buildOctreeFromBoxIndex();
|
|
123414
|
+
}
|
|
123415
|
+
if (!this._octree) return {
|
|
123416
|
+
pairs: pairs
|
|
123417
|
+
};
|
|
123418
|
+
this._boxIndex.forEach(function (box, id) {
|
|
123419
|
+
sourceEntries.push({
|
|
123420
|
+
id: String(id),
|
|
123421
|
+
box: box
|
|
123422
|
+
});
|
|
123423
|
+
});
|
|
123424
|
+
}
|
|
123425
|
+
sourceEntries.forEach(function (_ref) {
|
|
123426
|
+
var idA = _ref.id,
|
|
123427
|
+
boxA = _ref.box;
|
|
123428
|
+
if (!_this13._isCollisionBoxAvailable(boxA)) return;
|
|
123429
|
+
var hits = _this13._queryOctreeByBoxWithRoot(root, boxA);
|
|
123330
123430
|
for (var i = 0; i < hits.length; i++) {
|
|
123331
123431
|
var item = hits[i];
|
|
123332
123432
|
if (!item || String(item.id) === String(idA)) continue;
|
|
123333
123433
|
var boxB = item.box;
|
|
123334
|
-
if (!
|
|
123434
|
+
if (!_this13._isCollisionBoxMatched(boxA, boxB)) continue;
|
|
123435
|
+
if (dedupePairKeySet) {
|
|
123436
|
+
var pairKey = "".concat(String(idA), "__").concat(String(item.id));
|
|
123437
|
+
if (dedupePairKeySet.has(pairKey)) continue;
|
|
123438
|
+
dedupePairKeySet.add(pairKey);
|
|
123439
|
+
}
|
|
123335
123440
|
pairs.push({
|
|
123336
|
-
idA:
|
|
123337
|
-
idB:
|
|
123441
|
+
idA: _this13._formatCollisionPairId(idA),
|
|
123442
|
+
idB: _this13._formatCollisionPairId(item.id)
|
|
123338
123443
|
});
|
|
123339
123444
|
}
|
|
123340
123445
|
});
|
|
@@ -123471,7 +123576,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123471
123576
|
* @returns {Object|null} { planeBox: THREE.Box3|null, frustumBox: THREE.Box3, frustumY: {min, max} } 或 null(当没有平面交点且未请求 frustumY)
|
|
123472
123577
|
*/
|
|
123473
123578
|
getScreenPlaneBounds: function getScreenPlaneBounds(camera, width, height, plane) {
|
|
123474
|
-
var
|
|
123579
|
+
var _this14 = this;
|
|
123475
123580
|
var opts = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
|
|
123476
123581
|
var _opts$includeFrustumY = opts.includeFrustumY,
|
|
123477
123582
|
includeFrustumY = _opts$includeFrustumY === void 0 ? false : _opts$includeFrustumY;
|
|
@@ -123516,7 +123621,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123516
123621
|
var volumeCorners = nearCorners.concat(farCorners);
|
|
123517
123622
|
var projectedPoints = volumeCorners.map(function (p) {
|
|
123518
123623
|
var yProj = -(a * p.x + c * p.z + d) / b;
|
|
123519
|
-
return new
|
|
123624
|
+
return new _this14.THREE.Vector3(p.x, yProj, p.z);
|
|
123520
123625
|
});
|
|
123521
123626
|
planeBox = new this.THREE.Box3().setFromPoints(projectedPoints);
|
|
123522
123627
|
}
|
|
@@ -123746,14 +123851,14 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123746
123851
|
* 执行视椎体裁切,清理视椎体外的InstancedMesh实例
|
|
123747
123852
|
*/
|
|
123748
123853
|
performFrustumCulling: function performFrustumCulling() {
|
|
123749
|
-
var
|
|
123854
|
+
var _this15 = this;
|
|
123750
123855
|
return com_graphicsvue_type_script_lang_js_asyncToGenerator(/*#__PURE__*/com_graphicsvue_type_script_lang_js_regenerator().m(function _callee3() {
|
|
123751
123856
|
var modelState, now, globalFrustum, globalVpMatrix, toUnload, bypassList, visibleIds, candidates, visibleIdSet, frustum, exclude, hits, i, occlusionState, occlusionEnabled, state, w, h, aspectRatio, sw, sh, rt, t0, opaqueCandidates, transparentCandidates, _i5, totalInstances, transparentTotal, activeIdIndexArr, transparentIdIndexArr, occObjs, asyncBuildEnabled, _occBuild, asyncState, token, opaqueSnapshot, transparentMesh, transparentCapacity, nextCap, geometry, material, tempMatrix, tempScale, tempObj, tempColor, tIdx, _i0, c, idx, r, g, b, _c$box$userData$obb, matrix, halfSize, tMaxIdx, prevToneMapping, prevTarget, prevClearColorHex, prevClearAlpha, _c3, cvs, cssW, cssH, dst, src, row, srcRow, dstRow, idIndexArr, maxIdx, totalPixels, targetSamples, baseStride, extraStride, stride, minSampleCount, scanResult, indices, _i1, id, transparentMaxIdx, tIdIndexArr, tScanResult, tIndices, _i10, _id, _i11, _i12, toLoadSet, parentsToCheck, _i15, _toUnload, _toUnload$_i, modelId, child, _t2;
|
|
123752
123857
|
return com_graphicsvue_type_script_lang_js_regenerator().w(function (_context3) {
|
|
123753
123858
|
while (1) switch (_context3.p = _context3.n) {
|
|
123754
123859
|
case 0:
|
|
123755
|
-
modelState =
|
|
123756
|
-
if (!(!
|
|
123860
|
+
modelState = _this15.noObserver ? _this15.noObserver.modelStateManager : _this15.modelStateManager;
|
|
123861
|
+
if (!(!_this15.modelStateManager.frustumCheckEnabled || !_this15.scene)) {
|
|
123757
123862
|
_context3.n = 1;
|
|
123758
123863
|
break;
|
|
123759
123864
|
}
|
|
@@ -123769,10 +123874,10 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123769
123874
|
modelState.lastCullingTime = now;
|
|
123770
123875
|
|
|
123771
123876
|
// 预先创建视椎体,供后续遍历复用
|
|
123772
|
-
if (!
|
|
123773
|
-
if (!
|
|
123774
|
-
globalFrustum =
|
|
123775
|
-
globalVpMatrix =
|
|
123877
|
+
if (!_this15._frustum) _this15._frustum = new _this15.THREE.Frustum();
|
|
123878
|
+
if (!_this15._vpMatrix) _this15._vpMatrix = new _this15.THREE.Matrix4();
|
|
123879
|
+
globalFrustum = _this15._frustum;
|
|
123880
|
+
globalVpMatrix = _this15._vpMatrix.multiplyMatrices(_this15.camera.projectionMatrix, _this15.camera.matrixWorldInverse);
|
|
123776
123881
|
globalFrustum.setFromProjectionMatrix(globalVpMatrix);
|
|
123777
123882
|
|
|
123778
123883
|
// 使用局部变量收集 ID,最后一次性赋值
|
|
@@ -123786,13 +123891,13 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123786
123891
|
});
|
|
123787
123892
|
}
|
|
123788
123893
|
visibleIdSet = new Set(visibleIds);
|
|
123789
|
-
if (!
|
|
123894
|
+
if (!_this15._octree) {
|
|
123790
123895
|
_context3.n = 8;
|
|
123791
123896
|
break;
|
|
123792
123897
|
}
|
|
123793
|
-
frustum =
|
|
123898
|
+
frustum = _this15._getCurrentFrustum();
|
|
123794
123899
|
exclude = bypassList || new Set();
|
|
123795
|
-
hits =
|
|
123900
|
+
hits = _this15.queryOctreeByFrustum(frustum, exclude);
|
|
123796
123901
|
i = 0;
|
|
123797
123902
|
case 3:
|
|
123798
123903
|
if (!(i < hits.length)) {
|
|
@@ -123805,11 +123910,11 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123805
123910
|
}
|
|
123806
123911
|
return _context3.a(3, 6);
|
|
123807
123912
|
case 4:
|
|
123808
|
-
if (
|
|
123913
|
+
if (_this15.shouldApplyOcclusionByBox(hits[i].box)) {
|
|
123809
123914
|
_context3.n = 5;
|
|
123810
123915
|
break;
|
|
123811
123916
|
}
|
|
123812
|
-
visibleIdSet.add(
|
|
123917
|
+
visibleIdSet.add(_this15.formatModelId(hits[i].modelId));
|
|
123813
123918
|
return _context3.a(3, 6);
|
|
123814
123919
|
case 5:
|
|
123815
123920
|
candidates.push(hits[i]);
|
|
@@ -123821,13 +123926,13 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123821
123926
|
_context3.n = 9;
|
|
123822
123927
|
break;
|
|
123823
123928
|
case 8:
|
|
123824
|
-
if (
|
|
123825
|
-
|
|
123929
|
+
if (_this15._boxIndex && _this15._boxIndex.size > 0) {
|
|
123930
|
+
_this15._boxIndex.forEach(function (box, modelId) {
|
|
123826
123931
|
if (bypassList && bypassList.size > 0 && bypassList.has(modelId)) return;
|
|
123827
123932
|
if (box.userData && box.userData.visible === false) return;
|
|
123828
|
-
if (
|
|
123829
|
-
if (!
|
|
123830
|
-
visibleIdSet.add(
|
|
123933
|
+
if (_this15.isBoxInFrustum(box)) {
|
|
123934
|
+
if (!_this15.shouldApplyOcclusionByBox(box)) {
|
|
123935
|
+
visibleIdSet.add(_this15.formatModelId(modelId));
|
|
123831
123936
|
return;
|
|
123832
123937
|
}
|
|
123833
123938
|
candidates.push({
|
|
@@ -123838,18 +123943,18 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123838
123943
|
});
|
|
123839
123944
|
}
|
|
123840
123945
|
case 9:
|
|
123841
|
-
occlusionState =
|
|
123842
|
-
occlusionEnabled =
|
|
123946
|
+
occlusionState = _this15.noObserver ? _this15.noObserver.occlusionState : _this15.occlusionState; // 从响应式对象获取开关状态
|
|
123947
|
+
occlusionEnabled = _this15.occlusionState && _this15.occlusionState.enabled;
|
|
123843
123948
|
if (!occlusionEnabled) {
|
|
123844
123949
|
_context3.n = 16;
|
|
123845
123950
|
break;
|
|
123846
123951
|
}
|
|
123847
123952
|
state = occlusionState;
|
|
123848
|
-
w =
|
|
123849
|
-
h =
|
|
123953
|
+
w = _this15.renderer && _this15.renderer.domElement ? _this15.renderer.domElement.clientWidth || _this15.renderer.domElement.width || 0 : 0;
|
|
123954
|
+
h = _this15.renderer && _this15.renderer.domElement ? _this15.renderer.domElement.clientHeight || _this15.renderer.domElement.height || 0 : 0; // bufferWidth/Height 仍从响应式对象读取以支持动态修改
|
|
123850
123955
|
// 性能优化:使用降采样缓冲区进行遮挡剔除,大幅减少 readPixels 耗时 (从全屏降至约 256px 宽)
|
|
123851
123956
|
aspectRatio = h > 0 ? w / h : 1;
|
|
123852
|
-
sw =
|
|
123957
|
+
sw = _this15.occlusionState.bufferWidth || 256;
|
|
123853
123958
|
sh = Math.floor(sw / aspectRatio);
|
|
123854
123959
|
sw = Math.max(1, sw);
|
|
123855
123960
|
sh = Math.max(1, sh);
|
|
@@ -123858,16 +123963,16 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123858
123963
|
_context3.p = 10;
|
|
123859
123964
|
if (!rt || state._rtW !== sw || state._rtH !== sh) {
|
|
123860
123965
|
if (rt && typeof rt.dispose === 'function') rt.dispose();
|
|
123861
|
-
rt = new
|
|
123966
|
+
rt = new _this15.THREE.WebGLRenderTarget(sw, sh, {
|
|
123862
123967
|
depthBuffer: true,
|
|
123863
123968
|
stencilBuffer: false,
|
|
123864
123969
|
samples: 0
|
|
123865
123970
|
});
|
|
123866
|
-
rt.texture.minFilter =
|
|
123867
|
-
rt.texture.magFilter =
|
|
123971
|
+
rt.texture.minFilter = _this15.THREE.NearestFilter;
|
|
123972
|
+
rt.texture.magFilter = _this15.THREE.NearestFilter;
|
|
123868
123973
|
rt.texture.generateMipmaps = false;
|
|
123869
|
-
rt.texture.type =
|
|
123870
|
-
rt.texture.format =
|
|
123974
|
+
rt.texture.type = _this15.THREE.UnsignedByteType;
|
|
123975
|
+
rt.texture.format = _this15.THREE.RGBAFormat;
|
|
123871
123976
|
rt.samples = 0;
|
|
123872
123977
|
state._colorRT = rt;
|
|
123873
123978
|
state._rtW = sw;
|
|
@@ -123876,7 +123981,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123876
123981
|
} else if (!state._colorBuffer || state._colorBuffer.length !== sw * sh * 4) {
|
|
123877
123982
|
state._colorBuffer = new Uint8Array(sw * sh * 4);
|
|
123878
123983
|
}
|
|
123879
|
-
if (!state._occScene) state._occScene = new
|
|
123984
|
+
if (!state._occScene) state._occScene = new _this15.THREE.Scene();
|
|
123880
123985
|
// if (!state._occPerfStats) state._occPerfStats = Object.create(null);
|
|
123881
123986
|
// const _occRecordPerf = (name, ms, meta) => {
|
|
123882
123987
|
// const this.stats = state._occPerfStats;
|
|
@@ -123925,7 +124030,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123925
124030
|
// child.parent = null;
|
|
123926
124031
|
// // child.dispatchEvent({ type: 'removed' }); // 保持轻量,暂不触发事件
|
|
123927
124032
|
// }
|
|
123928
|
-
asyncBuildEnabled =
|
|
124033
|
+
asyncBuildEnabled = _this15.occlusionState && _this15.occlusionState.asyncBuildEnabled && !!window.requestAnimationFrame;
|
|
123929
124034
|
_occBuild = function _occBuild(opaqueList) {
|
|
123930
124035
|
var tBuild0 = performance.now();
|
|
123931
124036
|
var flag1Items = [];
|
|
@@ -123936,7 +124041,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123936
124041
|
var obbData = c.box && c.box.userData ? c.box.userData.obbData : null;
|
|
123937
124042
|
if (!obbData || !obbData.length) continue;
|
|
123938
124043
|
var idx = globalIdx++;
|
|
123939
|
-
activeIdIndexArr[idx] =
|
|
124044
|
+
activeIdIndexArr[idx] = _this15.formatModelId(c.modelId);
|
|
123940
124045
|
var flag = c.box.userData && c.box.userData.flag || 1;
|
|
123941
124046
|
if (flag === 3 && c.box.userData && c.box.userData.obb) {
|
|
123942
124047
|
flag3Items.push({
|
|
@@ -123952,11 +124057,11 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123952
124057
|
}
|
|
123953
124058
|
var maxIdx = globalIdx - 1;
|
|
123954
124059
|
activeIdIndexArr.length = maxIdx + 1;
|
|
123955
|
-
var _tempMatrix = occObjs._tempMatrix || (occObjs._tempMatrix = new
|
|
123956
|
-
var _tempColor = occObjs._tempColor || (occObjs._tempColor = new
|
|
123957
|
-
var _tempScale = occObjs._tempScale || (occObjs._tempScale = new
|
|
123958
|
-
var _tempVec3 = occObjs._tempVec3 || (occObjs._tempVec3 = new
|
|
123959
|
-
var _tempMatA = occObjs._tempMatA || (occObjs._tempMatA = new
|
|
124060
|
+
var _tempMatrix = occObjs._tempMatrix || (occObjs._tempMatrix = new _this15.THREE.Matrix4());
|
|
124061
|
+
var _tempColor = occObjs._tempColor || (occObjs._tempColor = new _this15.THREE.Color());
|
|
124062
|
+
var _tempScale = occObjs._tempScale || (occObjs._tempScale = new _this15.THREE.Vector3());
|
|
124063
|
+
var _tempVec3 = occObjs._tempVec3 || (occObjs._tempVec3 = new _this15.THREE.Vector3());
|
|
124064
|
+
var _tempMatA = occObjs._tempMatA || (occObjs._tempMatA = new _this15.THREE.Matrix4());
|
|
123960
124065
|
var boxes = occObjs.boxes;
|
|
123961
124066
|
var boxCount = flag3Items.length;
|
|
123962
124067
|
if (boxCount > 0) {
|
|
@@ -123969,16 +124074,16 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
123969
124074
|
if (boxes.mesh.material) boxes.mesh.material.dispose();
|
|
123970
124075
|
}
|
|
123971
124076
|
var nextCap = Math.max(needCapacity, capacity > 0 ? capacity * 2 : 256);
|
|
123972
|
-
var geometry = new
|
|
123973
|
-
var mat = new
|
|
124077
|
+
var geometry = new _this15.THREE.BoxGeometry(1, 1, 1);
|
|
124078
|
+
var mat = new _this15.THREE.MeshBasicMaterial({
|
|
123974
124079
|
color: 0xffffff,
|
|
123975
|
-
side:
|
|
123976
|
-
blending:
|
|
124080
|
+
side: _this15.THREE.DoubleSide,
|
|
124081
|
+
blending: _this15.THREE.NoBlending,
|
|
123977
124082
|
depthTest: true,
|
|
123978
124083
|
depthWrite: true,
|
|
123979
124084
|
toneMapped: false
|
|
123980
124085
|
});
|
|
123981
|
-
var mesh = new
|
|
124086
|
+
var mesh = new _this15.THREE.InstancedMesh(geometry, mat, nextCap);
|
|
123982
124087
|
mesh.frustumCulled = false;
|
|
123983
124088
|
mesh.matrixAutoUpdate = false;
|
|
123984
124089
|
state._occScene.add(mesh);
|
|
@@ -124003,8 +124108,8 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124003
124108
|
_tempScale.copy(halfSize).multiplyScalar(2);
|
|
124004
124109
|
_tempMatrix.copy(matrix);
|
|
124005
124110
|
_tempMatrix.scale(_tempScale);
|
|
124006
|
-
if (typeof
|
|
124007
|
-
_tempMatrix.premultiply(
|
|
124111
|
+
if (typeof _this15.bizToThreeMatrix !== 'undefined' && _this15.bizToThreeMatrix) {
|
|
124112
|
+
_tempMatrix.premultiply(_this15.bizToThreeMatrix);
|
|
124008
124113
|
}
|
|
124009
124114
|
boxes.mesh.setMatrixAt(_i7, _tempMatrix);
|
|
124010
124115
|
boxes.mesh.setColorAt(_i7, _tempColor);
|
|
@@ -124033,16 +124138,16 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124033
124138
|
var needIdx = totalIdx;
|
|
124034
124139
|
var ensureBatch1 = function ensureBatch1() {
|
|
124035
124140
|
if (batch1 && batch1.mesh && batch1.geometry && batch1.material) return;
|
|
124036
|
-
var geometry = new
|
|
124037
|
-
var material = new
|
|
124141
|
+
var geometry = new _this15.THREE.BufferGeometry();
|
|
124142
|
+
var material = new _this15.THREE.MeshBasicMaterial({
|
|
124038
124143
|
vertexColors: true,
|
|
124039
|
-
side:
|
|
124040
|
-
blending:
|
|
124144
|
+
side: _this15.THREE.DoubleSide,
|
|
124145
|
+
blending: _this15.THREE.NoBlending,
|
|
124041
124146
|
depthTest: true,
|
|
124042
124147
|
depthWrite: true,
|
|
124043
124148
|
toneMapped: false
|
|
124044
124149
|
});
|
|
124045
|
-
var mesh = new
|
|
124150
|
+
var mesh = new _this15.THREE.Mesh(geometry, material);
|
|
124046
124151
|
mesh.frustumCulled = false;
|
|
124047
124152
|
batch1 = occObjs.batch1 = {
|
|
124048
124153
|
mesh: mesh,
|
|
@@ -124066,14 +124171,14 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124066
124171
|
batch1.positions = _positions;
|
|
124067
124172
|
batch1.colors = _colors;
|
|
124068
124173
|
batch1.indices = _indices2;
|
|
124069
|
-
var _posAttr = new
|
|
124070
|
-
var _colAttr = new
|
|
124071
|
-
_posAttr.setUsage(
|
|
124072
|
-
_colAttr.setUsage(
|
|
124174
|
+
var _posAttr = new _this15.THREE.BufferAttribute(_positions, 3);
|
|
124175
|
+
var _colAttr = new _this15.THREE.BufferAttribute(_colors, 3);
|
|
124176
|
+
_posAttr.setUsage(_this15.THREE.DynamicDrawUsage);
|
|
124177
|
+
_colAttr.setUsage(_this15.THREE.DynamicDrawUsage);
|
|
124073
124178
|
batch1.geometry.setAttribute('position', _posAttr);
|
|
124074
124179
|
batch1.geometry.setAttribute('color', _colAttr);
|
|
124075
|
-
var _idxAttr = new
|
|
124076
|
-
_idxAttr.setUsage(
|
|
124180
|
+
var _idxAttr = new _this15.THREE.BufferAttribute(_indices2, 1);
|
|
124181
|
+
_idxAttr.setUsage(_this15.THREE.DynamicDrawUsage);
|
|
124077
124182
|
batch1.geometry.setIndex(_idxAttr);
|
|
124078
124183
|
}
|
|
124079
124184
|
var positions = batch1.positions;
|
|
@@ -124093,15 +124198,15 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124093
124198
|
var _g = (_idx2 >> 8 & 255) / 255;
|
|
124094
124199
|
var _b = (_idx2 >> 16 & 255) / 255;
|
|
124095
124200
|
var vertexCount = _obbData2.length / 3 | 0;
|
|
124096
|
-
var needTransform = matrixArr && matrixArr.length >= 16 || typeof
|
|
124201
|
+
var needTransform = matrixArr && matrixArr.length >= 16 || typeof _this15.bizToThreeMatrix !== 'undefined' && _this15.bizToThreeMatrix;
|
|
124097
124202
|
if (needTransform) {
|
|
124098
124203
|
if (matrixArr && matrixArr.length >= 16) {
|
|
124099
124204
|
_tempMatA.fromArray(matrixArr);
|
|
124100
124205
|
} else {
|
|
124101
124206
|
_tempMatA.identity();
|
|
124102
124207
|
}
|
|
124103
|
-
if (typeof
|
|
124104
|
-
_tempMatA.premultiply(
|
|
124208
|
+
if (typeof _this15.bizToThreeMatrix !== 'undefined' && _this15.bizToThreeMatrix) {
|
|
124209
|
+
_tempMatA.premultiply(_this15.bizToThreeMatrix);
|
|
124105
124210
|
}
|
|
124106
124211
|
}
|
|
124107
124212
|
if (!needTransform && ArrayBuffer.isView(_obbData2)) {
|
|
@@ -124201,7 +124306,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124201
124306
|
state._occMaxIdx = 0;
|
|
124202
124307
|
activeIdIndexArr.length = 0;
|
|
124203
124308
|
}
|
|
124204
|
-
if (!state._occTransparentScene) state._occTransparentScene = new
|
|
124309
|
+
if (!state._occTransparentScene) state._occTransparentScene = new _this15.THREE.Scene();
|
|
124205
124310
|
transparentMesh = state._occTransparentMesh;
|
|
124206
124311
|
transparentCapacity = transparentMesh && transparentMesh.userData && typeof transparentMesh.userData.capacity === 'number' ? transparentMesh.userData.capacity : 0;
|
|
124207
124312
|
if (!transparentMesh || transparentCapacity < transparentTotal) {
|
|
@@ -124211,16 +124316,16 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124211
124316
|
state._occTransparentScene.remove(transparentMesh);
|
|
124212
124317
|
}
|
|
124213
124318
|
nextCap = Math.max(transparentTotal, transparentCapacity > 0 ? transparentCapacity * 2 : 256);
|
|
124214
|
-
geometry = new
|
|
124215
|
-
material = new
|
|
124319
|
+
geometry = new _this15.THREE.BoxGeometry(1, 1, 1);
|
|
124320
|
+
material = new _this15.THREE.MeshBasicMaterial({
|
|
124216
124321
|
color: 0xffffff,
|
|
124217
|
-
side:
|
|
124218
|
-
blending:
|
|
124322
|
+
side: _this15.THREE.DoubleSide,
|
|
124323
|
+
blending: _this15.THREE.NoBlending,
|
|
124219
124324
|
depthTest: true,
|
|
124220
124325
|
depthWrite: false,
|
|
124221
124326
|
toneMapped: false
|
|
124222
124327
|
});
|
|
124223
|
-
transparentMesh = new
|
|
124328
|
+
transparentMesh = new _this15.THREE.InstancedMesh(geometry, material, nextCap);
|
|
124224
124329
|
transparentMesh.frustumCulled = false;
|
|
124225
124330
|
transparentMesh.matrixAutoUpdate = false;
|
|
124226
124331
|
transparentMesh.userData.capacity = nextCap;
|
|
@@ -124230,15 +124335,15 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124230
124335
|
state._occTransparentScene.add(transparentMesh);
|
|
124231
124336
|
}
|
|
124232
124337
|
if (transparentTotal > 0) {
|
|
124233
|
-
tempMatrix = new
|
|
124234
|
-
tempScale = new
|
|
124235
|
-
tempObj = new
|
|
124236
|
-
tempColor = new
|
|
124338
|
+
tempMatrix = new _this15.THREE.Matrix4();
|
|
124339
|
+
tempScale = new _this15.THREE.Vector3();
|
|
124340
|
+
tempObj = new _this15.THREE.Object3D();
|
|
124341
|
+
tempColor = new _this15.THREE.Color();
|
|
124237
124342
|
tIdx = 1;
|
|
124238
124343
|
for (_i0 = 0; _i0 < transparentTotal; _i0++) {
|
|
124239
124344
|
c = transparentCandidates[_i0];
|
|
124240
124345
|
idx = tIdx++;
|
|
124241
|
-
transparentIdIndexArr[idx] =
|
|
124346
|
+
transparentIdIndexArr[idx] = _this15.formatModelId(c.modelId);
|
|
124242
124347
|
r = (idx & 255) / 255;
|
|
124243
124348
|
g = (idx >> 8 & 255) / 255;
|
|
124244
124349
|
b = (idx >> 16 & 255) / 255;
|
|
@@ -124248,8 +124353,8 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124248
124353
|
tempMatrix.copy(matrix);
|
|
124249
124354
|
tempScale.copy(halfSize).multiplyScalar(2);
|
|
124250
124355
|
tempMatrix.scale(tempScale);
|
|
124251
|
-
if (typeof
|
|
124252
|
-
tempMatrix.premultiply(
|
|
124356
|
+
if (typeof _this15.bizToThreeMatrix !== 'undefined' && _this15.bizToThreeMatrix) {
|
|
124357
|
+
tempMatrix.premultiply(_this15.bizToThreeMatrix);
|
|
124253
124358
|
}
|
|
124254
124359
|
} else {
|
|
124255
124360
|
c.box.getSize(tempScale);
|
|
@@ -124277,28 +124382,28 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124277
124382
|
}
|
|
124278
124383
|
|
|
124279
124384
|
// console.log('this.renderer', this.renderer)
|
|
124280
|
-
prevToneMapping =
|
|
124281
|
-
prevTarget =
|
|
124385
|
+
prevToneMapping = _this15.renderer.toneMapping;
|
|
124386
|
+
prevTarget = _this15.renderer.getRenderTarget ? _this15.renderer.getRenderTarget() : null;
|
|
124282
124387
|
prevClearColorHex = 0x000000;
|
|
124283
124388
|
prevClearAlpha = 0;
|
|
124284
124389
|
try {
|
|
124285
|
-
_c3 =
|
|
124390
|
+
_c3 = _this15.renderer.getClearColor ? _this15.renderer.getClearColor() : null;
|
|
124286
124391
|
if (_c3 && _c3.isColor) prevClearColorHex = _c3.getHex();
|
|
124287
|
-
prevClearAlpha = typeof
|
|
124392
|
+
prevClearAlpha = typeof _this15.renderer.getClearAlpha === 'function' ? _this15.renderer.getClearAlpha() : 0;
|
|
124288
124393
|
} catch (_) {}
|
|
124289
|
-
|
|
124290
|
-
|
|
124291
|
-
|
|
124292
|
-
|
|
124293
|
-
|
|
124294
|
-
|
|
124295
|
-
|
|
124394
|
+
_this15.renderer.toneMapping = _this15.THREE.NoToneMapping;
|
|
124395
|
+
_this15.renderer.setRenderTarget(rt);
|
|
124396
|
+
_this15.renderer.setClearColor(new _this15.THREE.Color(0, 0, 0), 0);
|
|
124397
|
+
_this15.renderer.clear(true, true, false);
|
|
124398
|
+
_this15.camera.updateMatrixWorld(true);
|
|
124399
|
+
_this15.renderer.render(state._occScene, _this15.camera);
|
|
124400
|
+
_this15.updateGlobalSceneBoundingBox();
|
|
124296
124401
|
// const t1 = performance.now();
|
|
124297
124402
|
// 从响应式对象读取 previewEnabled
|
|
124298
|
-
|
|
124403
|
+
_this15.$emit('updateBoundingBox');
|
|
124299
124404
|
|
|
124300
124405
|
// const tPreview0 = performance.now();
|
|
124301
|
-
if (
|
|
124406
|
+
if (_this15.occlusionState.previewEnabled) {
|
|
124302
124407
|
if (!state._previewCanvas) {
|
|
124303
124408
|
cvs = document.createElement('canvas');
|
|
124304
124409
|
cvs.style.position = 'fixed';
|
|
@@ -124316,11 +124421,11 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124316
124421
|
}
|
|
124317
124422
|
state._previewCanvas.width = sw;
|
|
124318
124423
|
state._previewCanvas.height = sh;
|
|
124319
|
-
cssW = Math.min(
|
|
124320
|
-
cssH = Math.min(
|
|
124424
|
+
cssW = Math.min(_this15.renderer.domElement.width / 5);
|
|
124425
|
+
cssH = Math.min(_this15.renderer.domElement.height / 5);
|
|
124321
124426
|
state._previewCanvas.style.width = cssW + 'px';
|
|
124322
124427
|
state._previewCanvas.style.height = cssH + 'px';
|
|
124323
|
-
|
|
124428
|
+
_this15.renderer.readRenderTargetPixels(rt, 0, 0, sw, sh, state._previewBuffer);
|
|
124324
124429
|
if (!state._previewImageData || state._previewImageData.width !== sw || state._previewImageData.height !== sh) {
|
|
124325
124430
|
state._previewImageData = state._previewCtx.createImageData(sw, sh);
|
|
124326
124431
|
}
|
|
@@ -124343,17 +124448,17 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124343
124448
|
}
|
|
124344
124449
|
// const tPreview1 = performance.now();
|
|
124345
124450
|
// _occRecordPerf('occ_preview_ms', tPreview1 - tPreview0, { sw, sh });
|
|
124346
|
-
|
|
124451
|
+
_this15.renderer.readRenderTargetPixels(rt, 0, 0, sw, sh, state._colorBuffer);
|
|
124347
124452
|
idIndexArr = activeIdIndexArr;
|
|
124348
124453
|
maxIdx = typeof state._occMaxIdx === 'number' ? state._occMaxIdx : 0;
|
|
124349
124454
|
totalPixels = sw * sh;
|
|
124350
124455
|
targetSamples = totalPixels;
|
|
124351
124456
|
baseStride = Math.max(1, Math.floor(Math.sqrt(totalPixels / Math.max(1, targetSamples))));
|
|
124352
|
-
extraStride =
|
|
124457
|
+
extraStride = _this15.occlusionState && _this15.occlusionState.sampleStride ? _this15.occlusionState.sampleStride : 1;
|
|
124353
124458
|
stride = Math.max(1, baseStride * Math.max(1, extraStride));
|
|
124354
|
-
minSampleCount =
|
|
124459
|
+
minSampleCount = _this15.occlusionState && _this15.occlusionState.minSampleCount ? _this15.occlusionState.minSampleCount : 1;
|
|
124355
124460
|
_context3.n = 11;
|
|
124356
|
-
return
|
|
124461
|
+
return _this15.scanOcclusionIndices(state._colorBuffer, sw, sh, stride, maxIdx, minSampleCount);
|
|
124357
124462
|
case 11:
|
|
124358
124463
|
scanResult = _context3.v;
|
|
124359
124464
|
if (scanResult && scanResult.buffer) {
|
|
@@ -124371,13 +124476,13 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124371
124476
|
_context3.n = 13;
|
|
124372
124477
|
break;
|
|
124373
124478
|
}
|
|
124374
|
-
|
|
124375
|
-
|
|
124376
|
-
|
|
124377
|
-
|
|
124479
|
+
_this15.renderer.setClearColor(new _this15.THREE.Color(0, 0, 0), 0);
|
|
124480
|
+
_this15.renderer.clear(true, false, false);
|
|
124481
|
+
_this15.renderer.render(state._occTransparentScene, _this15.camera);
|
|
124482
|
+
_this15.renderer.readRenderTargetPixels(rt, 0, 0, sw, sh, state._colorBuffer);
|
|
124378
124483
|
tIdIndexArr = transparentIdIndexArr;
|
|
124379
124484
|
_context3.n = 12;
|
|
124380
|
-
return
|
|
124485
|
+
return _this15.scanOcclusionIndices(state._colorBuffer, sw, sh, stride, transparentMaxIdx, minSampleCount);
|
|
124381
124486
|
case 12:
|
|
124382
124487
|
tScanResult = _context3.v;
|
|
124383
124488
|
if (tScanResult && tScanResult.buffer) {
|
|
@@ -124391,9 +124496,9 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124391
124496
|
}
|
|
124392
124497
|
}
|
|
124393
124498
|
case 13:
|
|
124394
|
-
|
|
124395
|
-
|
|
124396
|
-
|
|
124499
|
+
_this15.renderer.setRenderTarget(prevTarget);
|
|
124500
|
+
_this15.renderer.setClearColor(prevClearColorHex, prevClearAlpha);
|
|
124501
|
+
_this15.renderer.toneMapping = prevToneMapping;
|
|
124397
124502
|
_context3.n = 15;
|
|
124398
124503
|
break;
|
|
124399
124504
|
case 14:
|
|
@@ -124416,7 +124521,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124416
124521
|
});
|
|
124417
124522
|
toLoadSet = new Set(visibleIdSet);
|
|
124418
124523
|
parentsToCheck = new Set();
|
|
124419
|
-
|
|
124524
|
+
_this15.scene.traverse(function (child) {
|
|
124420
124525
|
if (!child.isInstancedMesh) return;
|
|
124421
124526
|
// 如果复用数量等于大于2个,则跳过裁剪和剔除处理(始终保留)
|
|
124422
124527
|
if (child.count >= 2) {
|
|
@@ -124430,7 +124535,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124430
124535
|
var _modelId = _modelIds2[_i13];
|
|
124431
124536
|
// 检查已取消勾选模型进行卸载
|
|
124432
124537
|
var documentId = _modelId.split(':')[1];
|
|
124433
|
-
if (!
|
|
124538
|
+
if (!_this15.noObserver.documentModelIds.get(documentId)) {
|
|
124434
124539
|
toUnload.push({
|
|
124435
124540
|
modelId: _modelId,
|
|
124436
124541
|
child: child
|
|
@@ -124440,12 +124545,12 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124440
124545
|
if (bypassList && bypassList.size > 0 && bypassList.has(_modelId)) return;
|
|
124441
124546
|
var instanceInfo = instancesMap.get(_modelId);
|
|
124442
124547
|
var instanceIndex = instanceInfo && typeof instanceInfo.instanceIndex === 'number' ? instanceInfo.instanceIndex : null;
|
|
124443
|
-
var _box =
|
|
124444
|
-
if (!
|
|
124548
|
+
var _box = _this15._boxIndex && _this15._boxIndex.has(String(_modelId)) ? _this15._boxIndex.get(String(_modelId)) : _this15._boxIndex && _this15._boxIndex.has(_modelId) ? _this15._boxIndex.get(_modelId) : null;
|
|
124549
|
+
if (!_this15.shouldApplyOcclusionByBox(_box)) {
|
|
124445
124550
|
allInactive = false;
|
|
124446
124551
|
continue;
|
|
124447
124552
|
}
|
|
124448
|
-
var _inFrustum =
|
|
124553
|
+
var _inFrustum = _this15.isModelInFrustum(child, instanceIndex, globalFrustum);
|
|
124449
124554
|
var _modelInVisible = toLoadSet.has(_modelId);
|
|
124450
124555
|
// console.log('modelId', modelId, 'inFrustum', inFrustum, 'modelInVisible', modelInVisible)
|
|
124451
124556
|
|
|
@@ -124458,8 +124563,8 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124458
124563
|
// 第二遍遍历:同步状态并决定是否卸载
|
|
124459
124564
|
for (var _i14 = 0, _modelIds3 = modelIds; _i14 < _modelIds3.length; _i14++) {
|
|
124460
124565
|
var _modelId2 = _modelIds3[_i14];
|
|
124461
|
-
var _box2 =
|
|
124462
|
-
if (!
|
|
124566
|
+
var _box2 = _this15._boxIndex && _this15._boxIndex.has(String(_modelId2)) ? _this15._boxIndex.get(String(_modelId2)) : _this15._boxIndex && _this15._boxIndex.has(_modelId2) ? _this15._boxIndex.get(_modelId2) : null;
|
|
124567
|
+
if (!_this15.shouldApplyOcclusionByBox(_box2)) {
|
|
124463
124568
|
if (toLoadSet.has(_modelId2)) {
|
|
124464
124569
|
toLoadSet.delete(_modelId2);
|
|
124465
124570
|
}
|
|
@@ -124471,7 +124576,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124471
124576
|
}
|
|
124472
124577
|
|
|
124473
124578
|
// 仅当所有实例都不活跃时,才执行卸载
|
|
124474
|
-
if (!
|
|
124579
|
+
if (!_this15.firstPerSign && !_this15.roaming && allInactive) {
|
|
124475
124580
|
toUnload.push({
|
|
124476
124581
|
modelId: _modelId2,
|
|
124477
124582
|
child: child
|
|
@@ -124486,19 +124591,19 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124486
124591
|
}
|
|
124487
124592
|
var modelId = child.parent && child.parent.userData && child.parent.userData.instanceId ? child.parent.userData.instanceId : child.uuid;
|
|
124488
124593
|
if (bypassList && bypassList.size > 0 && bypassList.has(modelId)) return;
|
|
124489
|
-
var box =
|
|
124490
|
-
if (!
|
|
124594
|
+
var box = _this15._boxIndex && _this15._boxIndex.has(String(modelId)) ? _this15._boxIndex.get(String(modelId)) : _this15._boxIndex && _this15._boxIndex.has(modelId) ? _this15._boxIndex.get(modelId) : null;
|
|
124595
|
+
if (!_this15.shouldApplyOcclusionByBox(box)) {
|
|
124491
124596
|
if (toLoadSet.has(modelId)) {
|
|
124492
124597
|
toLoadSet.delete(modelId);
|
|
124493
124598
|
}
|
|
124494
124599
|
return;
|
|
124495
124600
|
}
|
|
124496
|
-
var inFrustum =
|
|
124601
|
+
var inFrustum = _this15.isModelInFrustum(child, null, globalFrustum);
|
|
124497
124602
|
var modelInVisible = toLoadSet.has(modelId);
|
|
124498
124603
|
if (modelInVisible) {
|
|
124499
124604
|
toLoadSet.delete(modelId);
|
|
124500
124605
|
}
|
|
124501
|
-
if (!
|
|
124606
|
+
if (!_this15.firstPerSign && !_this15.roaming && (!inFrustum || !modelInVisible)) {
|
|
124502
124607
|
toUnload.push({
|
|
124503
124608
|
modelId: modelId,
|
|
124504
124609
|
child: child
|
|
@@ -124508,16 +124613,16 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124508
124613
|
for (_i15 = 0, _toUnload = toUnload; _i15 < _toUnload.length; _i15++) {
|
|
124509
124614
|
_toUnload$_i = _toUnload[_i15], modelId = _toUnload$_i.modelId, child = _toUnload$_i.child;
|
|
124510
124615
|
if (child && child.parent) parentsToCheck.add(child.parent);
|
|
124511
|
-
|
|
124616
|
+
_this15.unloadInstancedModel(modelId, child);
|
|
124512
124617
|
}
|
|
124513
|
-
if (
|
|
124618
|
+
if (_this15.scene) {
|
|
124514
124619
|
parentsToCheck.forEach(function (group) {
|
|
124515
124620
|
if (group && group.children && group.children.length === 0) {
|
|
124516
124621
|
group.removeFromParent();
|
|
124517
124622
|
}
|
|
124518
124623
|
});
|
|
124519
124624
|
}
|
|
124520
|
-
|
|
124625
|
+
_this15.modelStateManager.isloadedModelsIds = Object.freeze(Array.from(toLoadSet));
|
|
124521
124626
|
case 18:
|
|
124522
124627
|
return _context3.a(2);
|
|
124523
124628
|
}
|
|
@@ -124544,8 +124649,8 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124544
124649
|
|
|
124545
124650
|
// 卸载前内存快照
|
|
124546
124651
|
// this.logRendererMemory(`before unload modelId=${modelId}`);
|
|
124547
|
-
var
|
|
124548
|
-
instanceIndex =
|
|
124652
|
+
var _ref2 = instancedMesh.userData.instancesMap.get(modelId) || 0,
|
|
124653
|
+
instanceIndex = _ref2.instanceIndex;
|
|
124549
124654
|
// const instanceIndex = instancedMesh.userData.instanceIndex || 0;
|
|
124550
124655
|
|
|
124551
124656
|
this.removeOutlineInstanceProxy(instancedMesh, instanceIndex);
|
|
@@ -124625,11 +124730,11 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124625
124730
|
* @param {string} [config.projectId] - 项目ID
|
|
124626
124731
|
*/
|
|
124627
124732
|
initStreamLoader: function initStreamLoader(modelApi) {
|
|
124628
|
-
var
|
|
124733
|
+
var _this16 = this;
|
|
124629
124734
|
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
124630
|
-
var
|
|
124631
|
-
projectId =
|
|
124632
|
-
restConfig = _objectWithoutProperties(
|
|
124735
|
+
var _ref3 = config || {},
|
|
124736
|
+
projectId = _ref3.projectId,
|
|
124737
|
+
restConfig = _objectWithoutProperties(_ref3, _excluded);
|
|
124633
124738
|
var streamLoader = new StreamLoader_StreamLoader(com_graphicsvue_type_script_lang_js_objectSpread({
|
|
124634
124739
|
modelApi: modelApi,
|
|
124635
124740
|
projectId: projectId,
|
|
@@ -124641,7 +124746,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124641
124746
|
return com_graphicsvue_type_script_lang_js_regenerator().w(function (_context4) {
|
|
124642
124747
|
while (1) switch (_context4.n) {
|
|
124643
124748
|
case 0:
|
|
124644
|
-
if (!(
|
|
124749
|
+
if (!(_this16.userInteracting || _this16.noObserver.batchLoadingState.interactionState.isInteracting)) {
|
|
124645
124750
|
_context4.n = 1;
|
|
124646
124751
|
break;
|
|
124647
124752
|
}
|
|
@@ -124691,9 +124796,9 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124691
124796
|
this.noObserver.occlusionWorkerRequestMap = new Map();
|
|
124692
124797
|
streamLoader.worker.addEventListener('message', function (e) {
|
|
124693
124798
|
var payload = e.data || {};
|
|
124694
|
-
var pending =
|
|
124799
|
+
var pending = _this16.noObserver.occlusionWorkerRequestMap.get(payload.id);
|
|
124695
124800
|
if (!pending) return;
|
|
124696
|
-
|
|
124801
|
+
_this16.noObserver.occlusionWorkerRequestMap.delete(payload.id);
|
|
124697
124802
|
pending.resolve(payload);
|
|
124698
124803
|
});
|
|
124699
124804
|
}
|
|
@@ -124704,13 +124809,13 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124704
124809
|
* @param {Object} materialData - 材质数据
|
|
124705
124810
|
*/
|
|
124706
124811
|
setStreamModel: function setStreamModel(item, materialData) {
|
|
124707
|
-
var
|
|
124812
|
+
var _this17 = this;
|
|
124708
124813
|
if (this.noObserver.streamLoader) {
|
|
124709
124814
|
this.noObserver.streamLoader.setCurrentModel(item, materialData);
|
|
124710
124815
|
// 设置完模型后,尝试触发一次范围加载以渲染初始视图
|
|
124711
124816
|
// 使用 setTimeout 确保在下一帧执行,避免当前栈还在初始化中
|
|
124712
124817
|
setTimeout(function () {
|
|
124713
|
-
|
|
124818
|
+
_this17.getRangeStream();
|
|
124714
124819
|
}, 0);
|
|
124715
124820
|
} else {}
|
|
124716
124821
|
},
|
|
@@ -124718,17 +124823,17 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124718
124823
|
* 批量加载区域(供外部调用)
|
|
124719
124824
|
*/
|
|
124720
124825
|
batchLoadRegions: function batchLoadRegions(item, divideData, materialData) {
|
|
124721
|
-
var
|
|
124826
|
+
var _this18 = this;
|
|
124722
124827
|
return com_graphicsvue_type_script_lang_js_asyncToGenerator(/*#__PURE__*/com_graphicsvue_type_script_lang_js_regenerator().m(function _callee6() {
|
|
124723
124828
|
return com_graphicsvue_type_script_lang_js_regenerator().w(function (_context6) {
|
|
124724
124829
|
while (1) switch (_context6.n) {
|
|
124725
124830
|
case 0:
|
|
124726
|
-
if (!
|
|
124831
|
+
if (!_this18.noObserver.streamLoader) {
|
|
124727
124832
|
_context6.n = 1;
|
|
124728
124833
|
break;
|
|
124729
124834
|
}
|
|
124730
124835
|
_context6.n = 1;
|
|
124731
|
-
return
|
|
124836
|
+
return _this18.noObserver.streamLoader.batchLoadRegions(item, divideData, materialData);
|
|
124732
124837
|
case 1:
|
|
124733
124838
|
return _context6.a(2);
|
|
124734
124839
|
}
|
|
@@ -124739,21 +124844,21 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124739
124844
|
* 获取批量加载详情(供外部调用)
|
|
124740
124845
|
*/
|
|
124741
124846
|
loadModelByIds: function loadModelByIds(options) {
|
|
124742
|
-
var
|
|
124847
|
+
var _this19 = this;
|
|
124743
124848
|
return com_graphicsvue_type_script_lang_js_asyncToGenerator(/*#__PURE__*/com_graphicsvue_type_script_lang_js_regenerator().m(function _callee7() {
|
|
124744
|
-
var
|
|
124849
|
+
var _ref4, ids;
|
|
124745
124850
|
return com_graphicsvue_type_script_lang_js_regenerator().w(function (_context7) {
|
|
124746
124851
|
while (1) switch (_context7.n) {
|
|
124747
124852
|
case 0:
|
|
124748
124853
|
// 绕过剔除模型
|
|
124749
|
-
|
|
124750
|
-
|
|
124751
|
-
if (!
|
|
124854
|
+
_ref4 = options.params || {}, ids = _ref4.ids;
|
|
124855
|
+
_this19.addBypassCullingModelIds(ids);
|
|
124856
|
+
if (!_this19.noObserver.streamLoader) {
|
|
124752
124857
|
_context7.n = 2;
|
|
124753
124858
|
break;
|
|
124754
124859
|
}
|
|
124755
124860
|
_context7.n = 1;
|
|
124756
|
-
return
|
|
124861
|
+
return _this19.noObserver.streamLoader.loadModelByIds(options);
|
|
124757
124862
|
case 1:
|
|
124758
124863
|
return _context7.a(2, _context7.v);
|
|
124759
124864
|
case 2:
|
|
@@ -124767,7 +124872,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124767
124872
|
*/
|
|
124768
124873
|
processModelItem: function processModelItem(item) {
|
|
124769
124874
|
var _arguments = arguments,
|
|
124770
|
-
|
|
124875
|
+
_this20 = this;
|
|
124771
124876
|
return com_graphicsvue_type_script_lang_js_asyncToGenerator(/*#__PURE__*/com_graphicsvue_type_script_lang_js_regenerator().m(function _callee8() {
|
|
124772
124877
|
var _options$onComplete;
|
|
124773
124878
|
var options, res;
|
|
@@ -124776,22 +124881,22 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124776
124881
|
case 0:
|
|
124777
124882
|
options = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : {};
|
|
124778
124883
|
_context8.n = 1;
|
|
124779
|
-
return
|
|
124884
|
+
return _this20.noObserver.streamLoader.processModelItem(item, options);
|
|
124780
124885
|
case 1:
|
|
124781
124886
|
res = _context8.v;
|
|
124782
124887
|
// item.id is the documentId
|
|
124783
124888
|
if (item && item.id) {
|
|
124784
124889
|
if (res && res.sceneBox) {
|
|
124785
|
-
|
|
124890
|
+
_this20.setSceneBox(res.sceneBox, item.id, true);
|
|
124786
124891
|
}
|
|
124787
124892
|
if (res && res.boxIndex) {
|
|
124788
|
-
|
|
124893
|
+
_this20.setBoxIndex(res.boxIndex, item.id, true);
|
|
124789
124894
|
}
|
|
124790
|
-
|
|
124895
|
+
_this20.tryInitialCenterAfterBoundsReady();
|
|
124791
124896
|
// this.setBoxIndex(boxJson.data, item.id, true);
|
|
124792
124897
|
}
|
|
124793
124898
|
(_options$onComplete = options.onComplete) === null || _options$onComplete === void 0 || _options$onComplete.call(options);
|
|
124794
|
-
|
|
124899
|
+
_this20.notifyCameraChange(); // 触发场景更新
|
|
124795
124900
|
case 2:
|
|
124796
124901
|
return _context8.a(2);
|
|
124797
124902
|
}
|
|
@@ -124845,7 +124950,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124845
124950
|
* 内部渲染流式数据方法
|
|
124846
124951
|
*/
|
|
124847
124952
|
renderModelData: function renderModelData(meshes, primitives, list, range, onComplete, immediateUpdate) {
|
|
124848
|
-
var
|
|
124953
|
+
var _this21 = this;
|
|
124849
124954
|
var renderOptions = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : {};
|
|
124850
124955
|
// 构造 drawModel 需要的数据格式
|
|
124851
124956
|
var modelRegistry = this.noObserver.streamLoader.modelRegistry;
|
|
@@ -124899,8 +125004,8 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124899
125004
|
resolve(result || {});
|
|
124900
125005
|
};
|
|
124901
125006
|
options.onComplete = function (complete) {
|
|
124902
|
-
if (
|
|
124903
|
-
|
|
125007
|
+
if (_this21.sceneCommandService && typeof _this21.sceneCommandService.retryPendingOriginalModelSaveChanges === 'function') {
|
|
125008
|
+
_this21.sceneCommandService.retryPendingOriginalModelSaveChanges();
|
|
124904
125009
|
}
|
|
124905
125010
|
onComplete === null || onComplete === void 0 || onComplete(complete);
|
|
124906
125011
|
finish(complete);
|
|
@@ -124910,7 +125015,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124910
125015
|
canceled: true
|
|
124911
125016
|
}, cancelInfo || {}));
|
|
124912
125017
|
};
|
|
124913
|
-
|
|
125018
|
+
_this21.drawModel(regionModelData, '', meshNameConfig, options);
|
|
124914
125019
|
});
|
|
124915
125020
|
},
|
|
124916
125021
|
waitNextRenderFrame: function waitNextRenderFrame() {
|
|
@@ -124926,7 +125031,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124926
125031
|
},
|
|
124927
125032
|
handleRangeStreamComplete: function handleRangeStreamComplete() {
|
|
124928
125033
|
var _arguments2 = arguments,
|
|
124929
|
-
|
|
125034
|
+
_this22 = this;
|
|
124930
125035
|
return com_graphicsvue_type_script_lang_js_asyncToGenerator(/*#__PURE__*/com_graphicsvue_type_script_lang_js_regenerator().m(function _callee9() {
|
|
124931
125036
|
var payload;
|
|
124932
125037
|
return com_graphicsvue_type_script_lang_js_regenerator().w(function (_context9) {
|
|
@@ -124934,9 +125039,9 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
124934
125039
|
case 0:
|
|
124935
125040
|
payload = _arguments2.length > 0 && _arguments2[0] !== undefined ? _arguments2[0] : {};
|
|
124936
125041
|
_context9.n = 1;
|
|
124937
|
-
return
|
|
125042
|
+
return _this22.waitNextRenderFrame();
|
|
124938
125043
|
case 1:
|
|
124939
|
-
|
|
125044
|
+
_this22.$emit('loadComplete', com_graphicsvue_type_script_lang_js_objectSpread({
|
|
124940
125045
|
source: 'inRangeDis2'
|
|
124941
125046
|
}, payload));
|
|
124942
125047
|
case 2:
|
|
@@ -125105,38 +125210,38 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125105
125210
|
* 统一监听:用户交互(Wheel/Control)、程序化动画、API调用
|
|
125106
125211
|
*/
|
|
125107
125212
|
initCameraChangeObserver: function initCameraChangeObserver() {
|
|
125108
|
-
var
|
|
125213
|
+
var _this23 = this;
|
|
125109
125214
|
// 初始化 control 状态标志
|
|
125110
125215
|
this.noObserver.isControlActive = false;
|
|
125111
125216
|
var _this = this;
|
|
125112
125217
|
// 1. 创建统一的响应触发器 (Debounced)
|
|
125113
125218
|
this._cameraChangeObserver = this.debounce(/*#__PURE__*/function () {
|
|
125114
|
-
var
|
|
125219
|
+
var _ref5 = com_graphicsvue_type_script_lang_js_asyncToGenerator(/*#__PURE__*/com_graphicsvue_type_script_lang_js_regenerator().m(function _callee0(source) {
|
|
125115
125220
|
return com_graphicsvue_type_script_lang_js_regenerator().w(function (_context0) {
|
|
125116
125221
|
while (1) switch (_context0.n) {
|
|
125117
125222
|
case 0:
|
|
125118
|
-
if (
|
|
125223
|
+
if (_this23.noObserver.isObserverEnabled) {
|
|
125119
125224
|
_context0.n = 1;
|
|
125120
125225
|
break;
|
|
125121
125226
|
}
|
|
125122
125227
|
return _context0.a(2);
|
|
125123
125228
|
case 1:
|
|
125124
|
-
if (!(source === 'rest' &&
|
|
125229
|
+
if (!(source === 'rest' && _this23.noObserver.isControlActive)) {
|
|
125125
125230
|
_context0.n = 2;
|
|
125126
125231
|
break;
|
|
125127
125232
|
}
|
|
125128
125233
|
return _context0.a(2);
|
|
125129
125234
|
case 2:
|
|
125130
|
-
if (!
|
|
125235
|
+
if (!_this23.modelStateManager.frustumCheckEnabled) {
|
|
125131
125236
|
_context0.n = 3;
|
|
125132
125237
|
break;
|
|
125133
125238
|
}
|
|
125134
125239
|
_context0.n = 3;
|
|
125135
|
-
return
|
|
125240
|
+
return _this23.performFrustumCulling();
|
|
125136
125241
|
case 3:
|
|
125137
125242
|
// 执行流式加载请求
|
|
125138
|
-
if (
|
|
125139
|
-
|
|
125243
|
+
if (_this23.modelStateManager.isloadedModelsIds && _this23.modelStateManager.isloadedModelsIds.length > 0) {
|
|
125244
|
+
_this23.getRangeStream(false);
|
|
125140
125245
|
}
|
|
125141
125246
|
case 4:
|
|
125142
125247
|
return _context0.a(2);
|
|
@@ -125144,7 +125249,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125144
125249
|
}, _callee0);
|
|
125145
125250
|
}));
|
|
125146
125251
|
return function (_x3) {
|
|
125147
|
-
return
|
|
125252
|
+
return _ref5.apply(this, arguments);
|
|
125148
125253
|
};
|
|
125149
125254
|
}(), function (source) {
|
|
125150
125255
|
// 漫游模式下,或者第一人称移动时,使用节流策略(每300ms触发一次)
|
|
@@ -125161,18 +125266,18 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125161
125266
|
// 2. 公开API:允许外部或业务逻辑手动触发更新
|
|
125162
125267
|
this.notifyCameraChange = function () {
|
|
125163
125268
|
var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'api';
|
|
125164
|
-
|
|
125269
|
+
_this23._cameraChangeObserver(source);
|
|
125165
125270
|
};
|
|
125166
125271
|
|
|
125167
125272
|
// 3. 监听器 - Wheel (用户滚轮)
|
|
125168
125273
|
this._wheelHandler = function (res) {
|
|
125169
|
-
|
|
125274
|
+
_this23.$emit('wheelStart', res);
|
|
125170
125275
|
|
|
125171
125276
|
// 统一交互开始处理
|
|
125172
|
-
|
|
125277
|
+
_this23.beginInteraction('wheel');
|
|
125173
125278
|
|
|
125174
125279
|
// 设置滚轮交互的结束检测
|
|
125175
|
-
|
|
125280
|
+
_this23.scheduleWheelInteractionEnd(res, 100);
|
|
125176
125281
|
|
|
125177
125282
|
// 滚轮逻辑:infinityDolly 与 maxDollyDistance 控制
|
|
125178
125283
|
var event = res;
|
|
@@ -125188,10 +125293,10 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125188
125293
|
|
|
125189
125294
|
// dolly最大距离限制
|
|
125190
125295
|
try {
|
|
125191
|
-
if (
|
|
125296
|
+
if (_this23.sceneBoundingBox && isFinite(maxDollyDistance)) {
|
|
125192
125297
|
if (isZoomOut) {
|
|
125193
|
-
|
|
125194
|
-
var currentDistance =
|
|
125298
|
+
_this23.camera.updateMatrixWorld(true);
|
|
125299
|
+
var currentDistance = _this23.camera.position.distanceTo(_this23.cameraControls._target);
|
|
125195
125300
|
if (currentDistance >= maxDollyDistance) {
|
|
125196
125301
|
event.preventDefault && event.preventDefault();
|
|
125197
125302
|
event.stopImmediatePropagation && event.stopImmediatePropagation();
|
|
@@ -125204,17 +125309,17 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125204
125309
|
}
|
|
125205
125310
|
|
|
125206
125311
|
// 触发观察者
|
|
125207
|
-
|
|
125312
|
+
_this23._cameraChangeObserver('wheel');
|
|
125208
125313
|
};
|
|
125209
125314
|
this.renderer.domElement.addEventListener('wheel', this._wheelHandler);
|
|
125210
125315
|
|
|
125211
125316
|
// 4. 监听器 - Controls (用户拖拽/操作)
|
|
125212
125317
|
this._onControlStart = function (res) {
|
|
125213
|
-
|
|
125318
|
+
_this23.noObserver.isControlActive = true;
|
|
125214
125319
|
|
|
125215
125320
|
// 统一交互开始处理(相机)
|
|
125216
|
-
|
|
125217
|
-
|
|
125321
|
+
_this23.beginInteraction('this.camera');
|
|
125322
|
+
_this23.$emit('controlStart', res);
|
|
125218
125323
|
|
|
125219
125324
|
// 记录鼠标按下时的位置
|
|
125220
125325
|
var event = res.originalEvent || window.event;
|
|
@@ -125226,10 +125331,10 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125226
125331
|
};
|
|
125227
125332
|
this._onControlEnd = function (res) {
|
|
125228
125333
|
_this.noObserver.isControlActive = false;
|
|
125229
|
-
|
|
125334
|
+
_this23.$emit('controlEnd', res);
|
|
125230
125335
|
|
|
125231
125336
|
// 统一交互结束处理(相机)
|
|
125232
|
-
|
|
125337
|
+
_this23.endInteraction('this.camera', res, {
|
|
125233
125338
|
immediateResume: false
|
|
125234
125339
|
});
|
|
125235
125340
|
|
|
@@ -125258,7 +125363,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125258
125363
|
// }
|
|
125259
125364
|
|
|
125260
125365
|
// 触发观察者
|
|
125261
|
-
|
|
125366
|
+
_this23._cameraChangeObserver('control');
|
|
125262
125367
|
}
|
|
125263
125368
|
};
|
|
125264
125369
|
this.cameraControls.addEventListener('controlstart', this._onControlStart);
|
|
@@ -125268,7 +125373,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125268
125373
|
// 监听 rest 事件,捕获 this.cameraControls.setLookAt(..., true) 等动画结束(以及阻尼停止)
|
|
125269
125374
|
// 注意:rest 事件在用户交互完全静止时也会触发,与 controlEnd 有部分重叠,但 Observer 有防抖,影响不大
|
|
125270
125375
|
this._onRest = function () {
|
|
125271
|
-
|
|
125376
|
+
_this23._cameraChangeObserver('rest');
|
|
125272
125377
|
};
|
|
125273
125378
|
this.cameraControls.addEventListener('rest', this._onRest);
|
|
125274
125379
|
},
|
|
@@ -125295,7 +125400,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125295
125400
|
meshNameConfig: {}
|
|
125296
125401
|
*/
|
|
125297
125402
|
drawModel: function drawModel(data) {
|
|
125298
|
-
var
|
|
125403
|
+
var _this24 = this;
|
|
125299
125404
|
var color = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
125300
125405
|
var meshNameConfig = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
125301
125406
|
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
@@ -125304,14 +125409,14 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125304
125409
|
// 使用新的分帧加载方法,提供进度回调
|
|
125305
125410
|
return this.drawModelWithBatchLoading(data, color, meshNameConfig, options, function (progress) {
|
|
125306
125411
|
// 触发原有的进度事件
|
|
125307
|
-
|
|
125412
|
+
_this24.$emit('loadProgress', _this24.progress);
|
|
125308
125413
|
}, function (complete) {
|
|
125309
125414
|
var _options$onComplete2;
|
|
125310
125415
|
options === null || options === void 0 || (_options$onComplete2 = options.onComplete) === null || _options$onComplete2 === void 0 || _options$onComplete2.call(options, complete);
|
|
125311
125416
|
console.log('加载完成');
|
|
125312
125417
|
// 触发原有的完成事件
|
|
125313
125418
|
if (!(options !== null && options !== void 0 && options.suppressLoadComplete)) {
|
|
125314
|
-
|
|
125419
|
+
_this24.$emit('loadComplete');
|
|
125315
125420
|
}
|
|
125316
125421
|
});
|
|
125317
125422
|
},
|
|
@@ -125338,14 +125443,14 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125338
125443
|
};
|
|
125339
125444
|
},
|
|
125340
125445
|
mouseDown: function mouseDown(event) {
|
|
125341
|
-
var
|
|
125446
|
+
var _this25 = this;
|
|
125342
125447
|
// 在鼠标按下时启用渲染中断以提升响应性
|
|
125343
125448
|
this.forceSkipRendering = true;
|
|
125344
125449
|
this.skipNextRenderFrame = true;
|
|
125345
125450
|
var intersects = this.getRaycasterObjects(event);
|
|
125346
125451
|
console.log(intersects);
|
|
125347
125452
|
var shouldBlockCamera = intersects.some(function (item) {
|
|
125348
|
-
return
|
|
125453
|
+
return _this25.isActiveTransformControlIntersection(item);
|
|
125349
125454
|
});
|
|
125350
125455
|
if (shouldBlockCamera) {
|
|
125351
125456
|
this.setPointerCameraGuard(true);
|
|
@@ -125427,19 +125532,19 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125427
125532
|
return this.isTransformControlIntersection(intersection);
|
|
125428
125533
|
},
|
|
125429
125534
|
getPrimaryIntersection: function getPrimaryIntersection() {
|
|
125430
|
-
var
|
|
125535
|
+
var _this26 = this;
|
|
125431
125536
|
var intersects = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
125432
125537
|
if (!Array.isArray(intersects) || intersects.length === 0) {
|
|
125433
125538
|
return null;
|
|
125434
125539
|
}
|
|
125435
125540
|
var validIntersects = intersects.filter(function (item) {
|
|
125436
|
-
return item && item.object && !
|
|
125541
|
+
return item && item.object && !_this26.isTransformControlIntersection(item);
|
|
125437
125542
|
});
|
|
125438
125543
|
if (validIntersects.length === 0) {
|
|
125439
125544
|
return null;
|
|
125440
125545
|
}
|
|
125441
125546
|
var selectableIntersect = validIntersects.find(function (item) {
|
|
125442
|
-
return
|
|
125547
|
+
return _this26.getSelectableSceneObject(item.object);
|
|
125443
125548
|
});
|
|
125444
125549
|
return selectableIntersect || validIntersects[0] || null;
|
|
125445
125550
|
},
|
|
@@ -125511,13 +125616,13 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125511
125616
|
}
|
|
125512
125617
|
},
|
|
125513
125618
|
mouseClick: function mouseClick(event) {
|
|
125514
|
-
var
|
|
125619
|
+
var _this27 = this;
|
|
125515
125620
|
// 鼠标抬起时重置渲染中断标记
|
|
125516
125621
|
setTimeout(function () {
|
|
125517
|
-
|
|
125622
|
+
_this27.forceSkipRendering = false;
|
|
125518
125623
|
// interactionFrameCount = 0;
|
|
125519
125624
|
// 恢复批次加载操作
|
|
125520
|
-
|
|
125625
|
+
_this27.resumeBatchLoading();
|
|
125521
125626
|
}, 50); // 短暂延迟确保交互完成
|
|
125522
125627
|
|
|
125523
125628
|
// 在测量模式下,不进行事件暴露
|
|
@@ -125576,21 +125681,21 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125576
125681
|
this.setPointerCameraGuard(false);
|
|
125577
125682
|
this.$emit('rightClick', params);
|
|
125578
125683
|
onContextHandle(event, 'fl-model', '隐藏', this.isolateMode ? '取消隔离' : '隔离', function () {
|
|
125579
|
-
|
|
125684
|
+
_this27.updateProperty([{
|
|
125580
125685
|
name: params.instanceId,
|
|
125581
125686
|
attr: {
|
|
125582
125687
|
visible: false
|
|
125583
125688
|
}
|
|
125584
125689
|
}]);
|
|
125585
125690
|
}, function () {
|
|
125586
|
-
|
|
125587
|
-
|
|
125691
|
+
_this27.setAllModelVisible(_this27.isolateMode);
|
|
125692
|
+
_this27.updateProperty([{
|
|
125588
125693
|
name: params.instanceId,
|
|
125589
125694
|
attr: {
|
|
125590
125695
|
visible: true
|
|
125591
125696
|
}
|
|
125592
125697
|
}]);
|
|
125593
|
-
|
|
125698
|
+
_this27.isolateMode = !_this27.isolateMode;
|
|
125594
125699
|
});
|
|
125595
125700
|
}
|
|
125596
125701
|
} else if (event.button === 2) {
|
|
@@ -125598,21 +125703,21 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125598
125703
|
this.setPointerCameraGuard(false);
|
|
125599
125704
|
this.$emit('rightClick', params);
|
|
125600
125705
|
onContextHandle(event, 'fl-model', '隐藏', this.isolateMode ? '取消隔离' : '隔离', function () {
|
|
125601
|
-
|
|
125706
|
+
_this27.updateProperty([{
|
|
125602
125707
|
name: params.instanceId,
|
|
125603
125708
|
attr: {
|
|
125604
125709
|
visible: false
|
|
125605
125710
|
}
|
|
125606
125711
|
}]);
|
|
125607
125712
|
}, function () {
|
|
125608
|
-
|
|
125609
|
-
|
|
125713
|
+
_this27.setAllModelVisible(_this27.isolateMode);
|
|
125714
|
+
_this27.updateProperty([{
|
|
125610
125715
|
name: params.instanceId,
|
|
125611
125716
|
attr: {
|
|
125612
125717
|
visible: true
|
|
125613
125718
|
}
|
|
125614
125719
|
}]);
|
|
125615
|
-
|
|
125720
|
+
_this27.isolateMode = !_this27.isolateMode;
|
|
125616
125721
|
});
|
|
125617
125722
|
}
|
|
125618
125723
|
}
|
|
@@ -125692,7 +125797,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125692
125797
|
},
|
|
125693
125798
|
// 带防抖和用户交互检测的智能居中方法
|
|
125694
125799
|
smartModelCenter: function smartModelCenter(mesh) {
|
|
125695
|
-
var
|
|
125800
|
+
var _this28 = this;
|
|
125696
125801
|
var debounceDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;
|
|
125697
125802
|
// if (this.hasExecutedCentering) {
|
|
125698
125803
|
// return;
|
|
@@ -125712,13 +125817,13 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125712
125817
|
// 设置新的防抖定时器
|
|
125713
125818
|
this.centeringDebounceTimer = setTimeout(function () {
|
|
125714
125819
|
// 如果已经执行过居中操作,则不再执行
|
|
125715
|
-
if (!
|
|
125716
|
-
|
|
125820
|
+
if (!_this28.userInteracting && !_this28.hasExecutedCentering && _this28.noObserver.documentModelIds.size > 0) {
|
|
125821
|
+
_this28.setModelCenter(mesh, {
|
|
125717
125822
|
enableTransition: false
|
|
125718
125823
|
});
|
|
125719
|
-
|
|
125824
|
+
_this28.hasExecutedCentering = true;
|
|
125720
125825
|
// 触发场景更新
|
|
125721
|
-
|
|
125826
|
+
_this28.notifyCameraChange();
|
|
125722
125827
|
}
|
|
125723
125828
|
}, debounceDelay);
|
|
125724
125829
|
},
|
|
@@ -125742,14 +125847,14 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125742
125847
|
* }
|
|
125743
125848
|
*/
|
|
125744
125849
|
updateProperty: function updateProperty(list) {
|
|
125745
|
-
var
|
|
125850
|
+
var _this29 = this;
|
|
125746
125851
|
var hasOutline = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
125747
125852
|
var isUpdate = false;
|
|
125748
125853
|
var _loop = function _loop() {
|
|
125749
125854
|
var ele = list[index];
|
|
125750
125855
|
var type = ele.type || 'mesh';
|
|
125751
125856
|
var instanceId = ele.name;
|
|
125752
|
-
var targetObj =
|
|
125857
|
+
var targetObj = _this29.getObjectByName(instanceId);
|
|
125753
125858
|
var _loop2 = function _loop2(key) {
|
|
125754
125859
|
switch (key) {
|
|
125755
125860
|
case 'color':
|
|
@@ -125759,19 +125864,19 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125759
125864
|
var instanceInfo = (_children$userData = children.userData) === null || _children$userData === void 0 || (_children$userData = _children$userData.instancesMap) === null || _children$userData === void 0 ? void 0 : _children$userData.get(instanceId);
|
|
125760
125865
|
if (!instanceInfo) return;
|
|
125761
125866
|
var instanceIndex = instanceInfo.instanceIndex;
|
|
125762
|
-
children.setColorAt(instanceIndex, new
|
|
125867
|
+
children.setColorAt(instanceIndex, new _this29.THREE.Color(ele.attr[key]));
|
|
125763
125868
|
children.instanceColor.needsUpdate = true;
|
|
125764
|
-
if (!
|
|
125765
|
-
|
|
125869
|
+
if (!_this29.isCurrentVisible(instanceId, children)) {
|
|
125870
|
+
_this29.removeOutlineObject(children, instanceIndex);
|
|
125766
125871
|
return;
|
|
125767
125872
|
}
|
|
125768
125873
|
if (hasOutline) {
|
|
125769
|
-
if (
|
|
125874
|
+
if (_this29.outlinePass) {
|
|
125770
125875
|
if (children.isInstancedMesh) {
|
|
125771
|
-
var proxy =
|
|
125772
|
-
|
|
125773
|
-
} else if (!
|
|
125774
|
-
|
|
125876
|
+
var proxy = _this29.ensureOutlineInstanceProxy(children, instanceIndex);
|
|
125877
|
+
_this29.pushOutlineTarget(proxy);
|
|
125878
|
+
} else if (!_this29.isSourceHiddenInstance(children, instanceId)) {
|
|
125879
|
+
_this29.pushOutlineTarget(children);
|
|
125775
125880
|
}
|
|
125776
125881
|
}
|
|
125777
125882
|
}
|
|
@@ -125784,10 +125889,10 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125784
125889
|
isUpdate = true;
|
|
125785
125890
|
}
|
|
125786
125891
|
var requestedVisible = Boolean(ele.attr[key]);
|
|
125787
|
-
var nextBoxVisible = requestedVisible &&
|
|
125788
|
-
var boxKey =
|
|
125789
|
-
if (
|
|
125790
|
-
var boxData =
|
|
125892
|
+
var nextBoxVisible = requestedVisible && _this29.isSourceVisible(instanceId);
|
|
125893
|
+
var boxKey = _this29._boxIndex && _this29._boxIndex.has(String(instanceId)) ? String(instanceId) : instanceId;
|
|
125894
|
+
if (_this29._boxIndex && _this29._boxIndex.has(boxKey)) {
|
|
125895
|
+
var boxData = _this29._boxIndex.get(boxKey);
|
|
125791
125896
|
if (boxData && boxData.userData) {
|
|
125792
125897
|
boxData.userData.visible = nextBoxVisible;
|
|
125793
125898
|
}
|
|
@@ -125797,22 +125902,22 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125797
125902
|
if (!instanceInfo) return;
|
|
125798
125903
|
var instanceIndex = instanceInfo.instanceIndex,
|
|
125799
125904
|
copyMatrix = instanceInfo.copyMatrix;
|
|
125800
|
-
var nextVisible = requestedVisible &&
|
|
125905
|
+
var nextVisible = requestedVisible && _this29.isSourceVisible(instanceId, children);
|
|
125801
125906
|
instanceInfo.visible = nextVisible;
|
|
125802
125907
|
if (nextVisible) {
|
|
125803
|
-
var restoreMatrix = new
|
|
125908
|
+
var restoreMatrix = new _this29.THREE.Matrix4().copy(copyMatrix || children.userData.copyMatrix);
|
|
125804
125909
|
children.setMatrixAt(instanceIndex, restoreMatrix);
|
|
125805
125910
|
} else {
|
|
125806
|
-
var _copyMatrix =
|
|
125911
|
+
var _copyMatrix = _this29.getInstanceCopyMatrix(children, instanceId);
|
|
125807
125912
|
if (!_copyMatrix) return;
|
|
125808
|
-
var offsetMatrix = new
|
|
125913
|
+
var offsetMatrix = new _this29.THREE.Matrix4().copy(_copyMatrix || children.userData.copyMatrix).makeTranslation(9999999, 9999999, 9999999);
|
|
125809
125914
|
children.setMatrixAt(instanceIndex, offsetMatrix);
|
|
125810
|
-
|
|
125915
|
+
_this29.removeOutlineObject(children, instanceIndex);
|
|
125811
125916
|
}
|
|
125812
125917
|
children.instanceMatrix.needsUpdate = true;
|
|
125813
125918
|
});
|
|
125814
|
-
|
|
125815
|
-
|
|
125919
|
+
_this29.refreshCollisionObbDebug();
|
|
125920
|
+
_this29.notifyCameraChange(); // 触发场景更新
|
|
125816
125921
|
break;
|
|
125817
125922
|
}
|
|
125818
125923
|
case 'opacity':
|
|
@@ -125863,13 +125968,13 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125863
125968
|
}
|
|
125864
125969
|
},
|
|
125865
125970
|
setAllModelVisible: function setAllModelVisible(visible) {
|
|
125866
|
-
var
|
|
125971
|
+
var _this30 = this;
|
|
125867
125972
|
var isVisible = Boolean(visible);
|
|
125868
125973
|
var matrixCache = new this.THREE.Matrix4();
|
|
125869
125974
|
if (this._boxIndex && this._boxIndex.size > 0) {
|
|
125870
125975
|
this._boxIndex.forEach(function (box, modelId) {
|
|
125871
125976
|
if (!box || !box.userData) return;
|
|
125872
|
-
box.userData.visible = isVisible &&
|
|
125977
|
+
box.userData.visible = isVisible && _this30.isSourceVisible(modelId);
|
|
125873
125978
|
});
|
|
125874
125979
|
}
|
|
125875
125980
|
if (this.scene) {
|
|
@@ -125882,7 +125987,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125882
125987
|
var instanceIndex = instanceInfo && typeof instanceInfo.instanceIndex === 'number' ? instanceInfo.instanceIndex : null;
|
|
125883
125988
|
if (instanceIndex === null) return;
|
|
125884
125989
|
var copyMatrix = instanceInfo.copyMatrix || userData.copyMatrix;
|
|
125885
|
-
if (isVisible &&
|
|
125990
|
+
if (isVisible && _this30.isSourceVisible(instanceId, child)) {
|
|
125886
125991
|
instanceInfo.visible = true;
|
|
125887
125992
|
matrixCache.copy(copyMatrix);
|
|
125888
125993
|
child.setMatrixAt(instanceIndex, matrixCache);
|
|
@@ -125890,7 +125995,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125890
125995
|
instanceInfo.visible = false;
|
|
125891
125996
|
matrixCache.copy(copyMatrix).makeTranslation(9999999, 9999999, 9999999);
|
|
125892
125997
|
child.setMatrixAt(instanceIndex, matrixCache);
|
|
125893
|
-
|
|
125998
|
+
_this30.removeOutlineObject(child, instanceIndex);
|
|
125894
125999
|
}
|
|
125895
126000
|
});
|
|
125896
126001
|
child.instanceMatrix.needsUpdate = true;
|
|
@@ -125915,7 +126020,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125915
126020
|
this.refreshCollisionObbDebug();
|
|
125916
126021
|
},
|
|
125917
126022
|
showOutlinePass: function showOutlinePass(instanceId) {
|
|
125918
|
-
var
|
|
126023
|
+
var _this31 = this;
|
|
125919
126024
|
var targetObj = this.getObjectByName(instanceId);
|
|
125920
126025
|
targetObj.forEach(function (children) {
|
|
125921
126026
|
if (children.isMesh) {
|
|
@@ -125923,27 +126028,27 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125923
126028
|
var instanceInfo = (_children$userData3 = children.userData) === null || _children$userData3 === void 0 || (_children$userData3 = _children$userData3.instancesMap) === null || _children$userData3 === void 0 ? void 0 : _children$userData3.get(instanceId);
|
|
125924
126029
|
if (!instanceInfo) return;
|
|
125925
126030
|
var instanceIndex = instanceInfo.instanceIndex;
|
|
125926
|
-
if (!
|
|
125927
|
-
|
|
126031
|
+
if (!_this31.isSourceVisible(instanceId, children)) {
|
|
126032
|
+
_this31.removeOutlineObject(children, instanceIndex);
|
|
125928
126033
|
return;
|
|
125929
126034
|
}
|
|
125930
|
-
if (!
|
|
125931
|
-
|
|
126035
|
+
if (!_this31.isCurrentVisible(instanceId, children)) {
|
|
126036
|
+
_this31.removeOutlineObject(children, instanceIndex);
|
|
125932
126037
|
return;
|
|
125933
126038
|
}
|
|
125934
|
-
if (
|
|
126039
|
+
if (_this31.outlinePass) {
|
|
125935
126040
|
if (children.isInstancedMesh) {
|
|
125936
|
-
var proxy =
|
|
125937
|
-
|
|
126041
|
+
var proxy = _this31.ensureOutlineInstanceProxy(children, instanceIndex);
|
|
126042
|
+
_this31.pushOutlineTarget(proxy);
|
|
125938
126043
|
} else {
|
|
125939
|
-
|
|
126044
|
+
_this31.pushOutlineTarget(children);
|
|
125940
126045
|
}
|
|
125941
126046
|
}
|
|
125942
126047
|
}
|
|
125943
126048
|
});
|
|
125944
126049
|
},
|
|
125945
126050
|
hideOutlinePass: function hideOutlinePass(instanceId) {
|
|
125946
|
-
var
|
|
126051
|
+
var _this32 = this;
|
|
125947
126052
|
var targetObj = this.getObjectByName(instanceId);
|
|
125948
126053
|
targetObj.forEach(function (children) {
|
|
125949
126054
|
if (children.isMesh) {
|
|
@@ -125951,7 +126056,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125951
126056
|
var instanceInfo = (_children$userData4 = children.userData) === null || _children$userData4 === void 0 || (_children$userData4 = _children$userData4.instancesMap) === null || _children$userData4 === void 0 ? void 0 : _children$userData4.get(instanceId);
|
|
125952
126057
|
if (!instanceInfo) return;
|
|
125953
126058
|
var instanceIndex = instanceInfo.instanceIndex;
|
|
125954
|
-
|
|
126059
|
+
_this32.removeOutlineObject(children, instanceIndex);
|
|
125955
126060
|
}
|
|
125956
126061
|
});
|
|
125957
126062
|
},
|
|
@@ -125974,17 +126079,17 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
125974
126079
|
},
|
|
125975
126080
|
// 修改材质的自定义数据
|
|
125976
126081
|
updateMaterialUserData: function updateMaterialUserData(list) {
|
|
125977
|
-
var
|
|
126082
|
+
var _this33 = this;
|
|
125978
126083
|
var _loop3 = function _loop3() {
|
|
125979
126084
|
var ele = list[index];
|
|
125980
126085
|
var instanceId = ele.name;
|
|
125981
|
-
var targetObj =
|
|
126086
|
+
var targetObj = _this33.getObjectByName(instanceId);
|
|
125982
126087
|
var _loop4 = function _loop4(key) {
|
|
125983
126088
|
switch (key) {
|
|
125984
126089
|
case 'nColor':
|
|
125985
126090
|
targetObj.forEach(function (children) {
|
|
125986
126091
|
if (children.isMesh) {
|
|
125987
|
-
children.material.userData[key] = new
|
|
126092
|
+
children.material.userData[key] = new _this33.THREE.Color(ele.attr[key]);
|
|
125988
126093
|
}
|
|
125989
126094
|
});
|
|
125990
126095
|
break;
|
|
@@ -126000,12 +126105,12 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126000
126105
|
},
|
|
126001
126106
|
// 重置
|
|
126002
126107
|
resetMaterialUserData: function resetMaterialUserData(list) {
|
|
126003
|
-
var
|
|
126108
|
+
var _this34 = this;
|
|
126004
126109
|
console.log('resetMaterialUserData');
|
|
126005
126110
|
var _loop5 = function _loop5() {
|
|
126006
126111
|
var ele = list[index];
|
|
126007
126112
|
var instanceId = ele.name;
|
|
126008
|
-
var targetObj =
|
|
126113
|
+
var targetObj = _this34.getObjectByName(instanceId);
|
|
126009
126114
|
var _loop6 = function _loop6(key) {
|
|
126010
126115
|
switch (key) {
|
|
126011
126116
|
case 'nColor':
|
|
@@ -126033,11 +126138,11 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126033
126138
|
},
|
|
126034
126139
|
// 清除上一次的属性修改操作 为了方便业务平台参数跟updateProperty方法的参数一样
|
|
126035
126140
|
resetProperty: function resetProperty(list) {
|
|
126036
|
-
var
|
|
126141
|
+
var _this35 = this;
|
|
126037
126142
|
var _loop7 = function _loop7() {
|
|
126038
126143
|
var ele = list[index];
|
|
126039
126144
|
var instanceId = ele.name;
|
|
126040
|
-
var obj =
|
|
126145
|
+
var obj = _this35.getObjectByName(instanceId);
|
|
126041
126146
|
if (obj) {
|
|
126042
126147
|
for (var key in ele.attr) {
|
|
126043
126148
|
switch (key) {
|
|
@@ -126050,12 +126155,12 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126050
126155
|
var instanceIndex = instanceInfo.instanceIndex;
|
|
126051
126156
|
children.setColorAt(instanceIndex, children.material.userData.nColor);
|
|
126052
126157
|
children.instanceColor.needsUpdate = true;
|
|
126053
|
-
if (
|
|
126158
|
+
if (_this35.outlinePass) {
|
|
126054
126159
|
if (children.isInstancedMesh) {
|
|
126055
|
-
|
|
126160
|
+
_this35.removeOutlineInstanceProxy(children, instanceIndex);
|
|
126056
126161
|
} else {
|
|
126057
|
-
var idx =
|
|
126058
|
-
if (idx !== -1)
|
|
126162
|
+
var idx = _this35.outlinePass.selectedObjects.indexOf(children);
|
|
126163
|
+
if (idx !== -1) _this35.outlinePass.selectedObjects.splice(idx, 1);
|
|
126059
126164
|
}
|
|
126060
126165
|
}
|
|
126061
126166
|
}
|
|
@@ -126068,19 +126173,19 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126068
126173
|
if (!instanceInfo) return;
|
|
126069
126174
|
var instanceIndex = instanceInfo.instanceIndex,
|
|
126070
126175
|
copyMatrix = instanceInfo.copyMatrix;
|
|
126071
|
-
if (
|
|
126176
|
+
if (_this35.isSourceVisible(instanceId, children)) {
|
|
126072
126177
|
instanceInfo.visible = true;
|
|
126073
|
-
var restoreMatrix = new
|
|
126178
|
+
var restoreMatrix = new _this35.THREE.Matrix4().copy(copyMatrix);
|
|
126074
126179
|
children.setMatrixAt(instanceIndex, restoreMatrix);
|
|
126075
126180
|
} else {
|
|
126076
126181
|
instanceInfo.visible = false;
|
|
126077
|
-
var offsetMatrix = new
|
|
126182
|
+
var offsetMatrix = new _this35.THREE.Matrix4().copy(copyMatrix).makeTranslation(9999999, 9999999, 9999999);
|
|
126078
126183
|
children.setMatrixAt(instanceIndex, offsetMatrix);
|
|
126079
|
-
|
|
126184
|
+
_this35.removeOutlineObject(children, instanceIndex);
|
|
126080
126185
|
}
|
|
126081
126186
|
children.instanceMatrix.needsUpdate = true;
|
|
126082
126187
|
});
|
|
126083
|
-
|
|
126188
|
+
_this35.refreshCollisionObbDebug();
|
|
126084
126189
|
break;
|
|
126085
126190
|
}
|
|
126086
126191
|
case 'opacity':
|
|
@@ -126130,19 +126235,19 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126130
126235
|
// 定位到模型
|
|
126131
126236
|
// name 模型名称或运行态 uuid,可以是数组
|
|
126132
126237
|
locateModel: function locateModel(name) {
|
|
126133
|
-
var
|
|
126238
|
+
var _this36 = this;
|
|
126134
126239
|
if (!this.scene) return false;
|
|
126135
126240
|
if (Array.isArray(name)) {
|
|
126136
126241
|
var box3 = new this.THREE.Box3();
|
|
126137
126242
|
name.forEach(function (n) {
|
|
126138
|
-
var objectByUuid =
|
|
126243
|
+
var objectByUuid = _this36.getObjectByUuid(n);
|
|
126139
126244
|
if (objectByUuid) {
|
|
126140
|
-
|
|
126245
|
+
_this36.expandLocateBoxByObject(box3, objectByUuid);
|
|
126141
126246
|
return;
|
|
126142
126247
|
}
|
|
126143
|
-
var arr =
|
|
126248
|
+
var arr = _this36.getObjectByName(n);
|
|
126144
126249
|
arr.forEach(function (o) {
|
|
126145
|
-
|
|
126250
|
+
_this36.expandLocateBoxByObject(box3, o);
|
|
126146
126251
|
});
|
|
126147
126252
|
});
|
|
126148
126253
|
if (!box3.isEmpty()) {
|
|
@@ -126187,14 +126292,14 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126187
126292
|
}
|
|
126188
126293
|
*/
|
|
126189
126294
|
updatePropertyByCustom: function updatePropertyByCustom(params) {
|
|
126190
|
-
var
|
|
126295
|
+
var _this37 = this;
|
|
126191
126296
|
if (!this.scene) return;
|
|
126192
126297
|
this.scene.traverse(function (child) {
|
|
126193
126298
|
if (child.isMesh && child.userData[params.customName] === params.customValue) {
|
|
126194
126299
|
for (var key in params.attr) {
|
|
126195
126300
|
switch (key) {
|
|
126196
126301
|
case 'color':
|
|
126197
|
-
child.setColorAt(obj.userData.instanceIndex, new
|
|
126302
|
+
child.setColorAt(obj.userData.instanceIndex, new _this37.THREE.Color(params.attr[key]));
|
|
126198
126303
|
child.instanceColor.needsUpdate = true;
|
|
126199
126304
|
break;
|
|
126200
126305
|
case 'visible':
|
|
@@ -126277,14 +126382,14 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126277
126382
|
passType: 要过滤的类型,默认是group,不返回group类型的实体
|
|
126278
126383
|
*/
|
|
126279
126384
|
getObjectByName: function getObjectByName(name) {
|
|
126280
|
-
var
|
|
126385
|
+
var _this38 = this;
|
|
126281
126386
|
var passType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'group';
|
|
126282
126387
|
if (!this.scene) return [];
|
|
126283
126388
|
if (Array.isArray(name)) {
|
|
126284
126389
|
var result = [];
|
|
126285
126390
|
var exist = new Set();
|
|
126286
126391
|
name.forEach(function (item) {
|
|
126287
|
-
|
|
126392
|
+
_this38.getObjectByName(item, passType).forEach(function (obj) {
|
|
126288
126393
|
if (!obj || exist.has(obj.uuid)) return;
|
|
126289
126394
|
exist.add(obj.uuid);
|
|
126290
126395
|
result.push(obj);
|
|
@@ -126322,12 +126427,12 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126322
126427
|
return modelState.colorConfig;
|
|
126323
126428
|
},
|
|
126324
126429
|
addBypassCullingModelIds: function addBypassCullingModelIds(modelIds) {
|
|
126325
|
-
var
|
|
126430
|
+
var _this39 = this;
|
|
126326
126431
|
var modelState = this.noObserver ? this.noObserver.modelStateManager : this.modelStateManager;
|
|
126327
126432
|
if (!modelIds) return;
|
|
126328
126433
|
if (Array.isArray(modelIds)) {
|
|
126329
126434
|
modelIds.forEach(function (id) {
|
|
126330
|
-
var modelId =
|
|
126435
|
+
var modelId = _this39.formatModelId(id);
|
|
126331
126436
|
modelState.bypassCullingModelIds.add(modelId);
|
|
126332
126437
|
});
|
|
126333
126438
|
} else {
|
|
@@ -126340,12 +126445,12 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126340
126445
|
return com_graphicsvue_type_script_lang_js_toConsumableArray(modelState.bypassCullingModelIds);
|
|
126341
126446
|
},
|
|
126342
126447
|
removeBypassCullingModelIds: function removeBypassCullingModelIds(modelIds) {
|
|
126343
|
-
var
|
|
126448
|
+
var _this40 = this;
|
|
126344
126449
|
var modelState = this.noObserver ? this.noObserver.modelStateManager : this.modelStateManager;
|
|
126345
126450
|
if (!modelIds) return;
|
|
126346
126451
|
if (Array.isArray(modelIds)) {
|
|
126347
126452
|
modelIds.forEach(function (id) {
|
|
126348
|
-
var modelId =
|
|
126453
|
+
var modelId = _this40.formatModelId(id);
|
|
126349
126454
|
modelState.bypassCullingModelIds.delete(modelId);
|
|
126350
126455
|
});
|
|
126351
126456
|
} else {
|
|
@@ -126359,7 +126464,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126359
126464
|
},
|
|
126360
126465
|
// 通过id删除对象
|
|
126361
126466
|
removeObjectById: function removeObjectById(id) {
|
|
126362
|
-
var
|
|
126467
|
+
var _this41 = this;
|
|
126363
126468
|
if (!this.scene) return;
|
|
126364
126469
|
var array = this.getObjectByName(id);
|
|
126365
126470
|
array.forEach(function (item) {
|
|
@@ -126369,13 +126474,13 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126369
126474
|
if (item.isMesh) {
|
|
126370
126475
|
item.clear();
|
|
126371
126476
|
}
|
|
126372
|
-
|
|
126477
|
+
_this41.scene.remove(item);
|
|
126373
126478
|
}
|
|
126374
126479
|
});
|
|
126375
126480
|
},
|
|
126376
126481
|
// 通过名称删除对象
|
|
126377
126482
|
removeObjectByName: function removeObjectByName(name) {
|
|
126378
|
-
var
|
|
126483
|
+
var _this42 = this;
|
|
126379
126484
|
if (!this.scene) return;
|
|
126380
126485
|
var array = this.getObjectByName(name);
|
|
126381
126486
|
array.forEach(function (item) {
|
|
@@ -126384,17 +126489,17 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126384
126489
|
if (item.isMesh) {
|
|
126385
126490
|
item.clear();
|
|
126386
126491
|
}
|
|
126387
|
-
if (
|
|
126492
|
+
if (_this42.scene) _this42.scene.remove(item);
|
|
126388
126493
|
});
|
|
126389
126494
|
},
|
|
126390
126495
|
// 删除场景中所有的实体
|
|
126391
126496
|
removeAll: function removeAll() {
|
|
126392
|
-
var
|
|
126497
|
+
var _this43 = this;
|
|
126393
126498
|
return new Promise(function (resolve) {
|
|
126394
|
-
if (
|
|
126395
|
-
|
|
126396
|
-
|
|
126397
|
-
|
|
126499
|
+
if (_this43.scene) {
|
|
126500
|
+
_this43.removeAllCustomElements();
|
|
126501
|
+
_this43.removeTraverse();
|
|
126502
|
+
_this43.removeModelByDocumentId();
|
|
126398
126503
|
resolve();
|
|
126399
126504
|
} else {
|
|
126400
126505
|
resolve();
|
|
@@ -126402,7 +126507,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126402
126507
|
});
|
|
126403
126508
|
},
|
|
126404
126509
|
removeTraverse: function removeTraverse() {
|
|
126405
|
-
var
|
|
126510
|
+
var _this44 = this;
|
|
126406
126511
|
if (!this.modelGroup) return;
|
|
126407
126512
|
var length = this.modelGroup.children.length;
|
|
126408
126513
|
if (length > 0) {
|
|
@@ -126415,7 +126520,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126415
126520
|
item.clear();
|
|
126416
126521
|
item.material = null;
|
|
126417
126522
|
item.geometry = null;
|
|
126418
|
-
|
|
126523
|
+
_this44.modelGroup && _this44.modelGroup.remove(item);
|
|
126419
126524
|
item = null;
|
|
126420
126525
|
}
|
|
126421
126526
|
});
|
|
@@ -126432,7 +126537,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126432
126537
|
},
|
|
126433
126538
|
// 销毁场景 释放内存
|
|
126434
126539
|
destroyScene: function destroyScene() {
|
|
126435
|
-
var
|
|
126540
|
+
var _this45 = this;
|
|
126436
126541
|
cancelAnimationFrame(this.animateId);
|
|
126437
126542
|
this.disposeTransformControls();
|
|
126438
126543
|
if (this.sceneCommandEventDisposers.length > 0) {
|
|
@@ -126447,11 +126552,11 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126447
126552
|
}
|
|
126448
126553
|
if (this.noObserver && this.noObserver.outlineInstanceProxyMap) {
|
|
126449
126554
|
this.noObserver.outlineInstanceProxyMap.forEach(function (proxy) {
|
|
126450
|
-
if (
|
|
126451
|
-
var idx =
|
|
126452
|
-
if (idx !== -1)
|
|
126555
|
+
if (_this45.outlinePass) {
|
|
126556
|
+
var idx = _this45.outlinePass.selectedObjects.indexOf(proxy);
|
|
126557
|
+
if (idx !== -1) _this45.outlinePass.selectedObjects.splice(idx, 1);
|
|
126453
126558
|
}
|
|
126454
|
-
if (
|
|
126559
|
+
if (_this45.scene) _this45.scene.remove(proxy);
|
|
126455
126560
|
if (proxy && proxy.material && proxy.material.dispose) proxy.material.dispose();
|
|
126456
126561
|
});
|
|
126457
126562
|
this.noObserver.outlineInstanceProxyMap.clear();
|
|
@@ -126566,11 +126671,11 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126566
126671
|
}
|
|
126567
126672
|
*/
|
|
126568
126673
|
drawCurve: function drawCurve(params) {
|
|
126569
|
-
var
|
|
126674
|
+
var _this46 = this;
|
|
126570
126675
|
this.removeObjectByName(params.name);
|
|
126571
126676
|
var route = [];
|
|
126572
126677
|
params.path.forEach(function (element) {
|
|
126573
|
-
route.push(new
|
|
126678
|
+
route.push(new _this46.THREE.Vector3(element.x, element.y, element.z));
|
|
126574
126679
|
});
|
|
126575
126680
|
if (route.length > 1) {
|
|
126576
126681
|
this.curve = new this.THREE.CatmullRomCurve3(route);
|
|
@@ -126594,11 +126699,11 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126594
126699
|
}
|
|
126595
126700
|
*/
|
|
126596
126701
|
drawTextureCurve: function drawTextureCurve(params) {
|
|
126597
|
-
var
|
|
126702
|
+
var _this47 = this;
|
|
126598
126703
|
this.removeObjectByName(params.name);
|
|
126599
126704
|
var route = [];
|
|
126600
126705
|
params.path.forEach(function (element) {
|
|
126601
|
-
route.push(new
|
|
126706
|
+
route.push(new _this47.THREE.Vector3(element.x, element.y, element.z));
|
|
126602
126707
|
});
|
|
126603
126708
|
// 画曲线
|
|
126604
126709
|
if (route.length > 1) {
|
|
@@ -126703,14 +126808,14 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126703
126808
|
* 参数val: 爆炸的值
|
|
126704
126809
|
*/
|
|
126705
126810
|
globalBomb: function globalBomb(val) {
|
|
126706
|
-
var
|
|
126811
|
+
var _this48 = this;
|
|
126707
126812
|
if (this.scene.children.length === 0) return;
|
|
126708
126813
|
for (var i = 0; i < this.scene.children.length; i++) {
|
|
126709
126814
|
console.log('this.scene', this.scene);
|
|
126710
126815
|
this.scene.children[i].traverse(function (item) {
|
|
126711
126816
|
if (!item.isMesh || !item.worldDir) return;
|
|
126712
126817
|
// 爆炸公式
|
|
126713
|
-
|
|
126818
|
+
_this48.computedBomb(item, val);
|
|
126714
126819
|
});
|
|
126715
126820
|
}
|
|
126716
126821
|
// this.timeRender();
|
|
@@ -126753,13 +126858,13 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126753
126858
|
return object.type === 'CSS2DObject' || object.type === 'TransformControlsRoot';
|
|
126754
126859
|
},
|
|
126755
126860
|
getGlobalClippingRoots: function getGlobalClippingRoots() {
|
|
126756
|
-
var
|
|
126861
|
+
var _this49 = this;
|
|
126757
126862
|
if (this.modelGroup && this.modelGroup.children && this.modelGroup.children.length) {
|
|
126758
126863
|
return [this.modelGroup];
|
|
126759
126864
|
}
|
|
126760
126865
|
if (!this.scene || !this.scene.children || this.scene.children.length === 0) return [];
|
|
126761
126866
|
return this.scene.children.filter(function (child) {
|
|
126762
|
-
return !
|
|
126867
|
+
return !_this49.isGlobalClippingExcludedNode(child);
|
|
126763
126868
|
});
|
|
126764
126869
|
},
|
|
126765
126870
|
getGlobalClippingBox: function getGlobalClippingBox() {
|
|
@@ -126990,11 +127095,11 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
126990
127095
|
},
|
|
126991
127096
|
// 开启第一视角
|
|
126992
127097
|
startFirstPer: function startFirstPer(options) {
|
|
126993
|
-
var
|
|
126994
|
-
|
|
126995
|
-
moveSpeed =
|
|
126996
|
-
|
|
126997
|
-
jumpSpeed =
|
|
127098
|
+
var _ref6 = options || {},
|
|
127099
|
+
_ref6$moveSpeed = _ref6.moveSpeed,
|
|
127100
|
+
moveSpeed = _ref6$moveSpeed === void 0 ? 200 : _ref6$moveSpeed,
|
|
127101
|
+
_ref6$jumpSpeed = _ref6.jumpSpeed,
|
|
127102
|
+
jumpSpeed = _ref6$jumpSpeed === void 0 ? 200 : _ref6$jumpSpeed;
|
|
126998
127103
|
this.removeSpeed = this.getFirstPersonMoveSpeed(moveSpeed);
|
|
126999
127104
|
var jumpConfig = this.getFirstPersonJumpConfig(jumpSpeed);
|
|
127000
127105
|
this.upSpeed = jumpConfig.jumpSpeed;
|
|
@@ -127008,71 +127113,71 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
127008
127113
|
},
|
|
127009
127114
|
// 页面是否锁定
|
|
127010
127115
|
initPointerLock: function initPointerLock() {
|
|
127011
|
-
var
|
|
127116
|
+
var _this50 = this;
|
|
127012
127117
|
this.home();
|
|
127013
127118
|
setTimeout(function () {
|
|
127014
127119
|
// 开启第一视角时,将相机与水平面保持水平
|
|
127015
|
-
|
|
127016
|
-
|
|
127017
|
-
|
|
127018
|
-
|
|
127019
|
-
if (!
|
|
127020
|
-
|
|
127021
|
-
if (typeof
|
|
127022
|
-
|
|
127120
|
+
_this50.camera.rotation.x = 0;
|
|
127121
|
+
_this50.camera.rotation.z = 0;
|
|
127122
|
+
_this50.pointControls = new PointerLockControls(_this50.camera, _this50.renderer.domElement);
|
|
127123
|
+
_this50.pointControls.lock();
|
|
127124
|
+
if (!_this50._onFirstPersonChange) {
|
|
127125
|
+
_this50._onFirstPersonChange = function () {
|
|
127126
|
+
if (typeof _this50._cameraChangeObserver === 'function') {
|
|
127127
|
+
_this50._cameraChangeObserver('firstPerson');
|
|
127023
127128
|
}
|
|
127024
127129
|
};
|
|
127025
127130
|
}
|
|
127026
127131
|
try {
|
|
127027
|
-
|
|
127132
|
+
_this50.pointControls.addEventListener('change', _this50._onFirstPersonChange);
|
|
127028
127133
|
} catch (e) {}
|
|
127029
127134
|
// 锁定
|
|
127030
|
-
|
|
127031
|
-
|
|
127032
|
-
if (
|
|
127033
|
-
|
|
127135
|
+
_this50.pointControls.addEventListener('lock', function () {
|
|
127136
|
+
_this50.detachTransformControls();
|
|
127137
|
+
if (_this50.cameraControls) {
|
|
127138
|
+
_this50.cameraControls.enabled = false;
|
|
127034
127139
|
}
|
|
127035
|
-
window.addEventListener('keydown',
|
|
127036
|
-
window.addEventListener('keyup',
|
|
127037
|
-
|
|
127038
|
-
if (typeof
|
|
127039
|
-
|
|
127140
|
+
window.addEventListener('keydown', _this50.onKeyDown, false);
|
|
127141
|
+
window.addEventListener('keyup', _this50.onKeyUp, false);
|
|
127142
|
+
_this50.unbindScenePointerEvents();
|
|
127143
|
+
if (typeof _this50._cameraChangeObserver === 'function') {
|
|
127144
|
+
_this50._cameraChangeObserver('firstPersonLock');
|
|
127040
127145
|
}
|
|
127041
127146
|
});
|
|
127042
127147
|
// 解锁
|
|
127043
|
-
|
|
127044
|
-
|
|
127045
|
-
if (
|
|
127046
|
-
|
|
127148
|
+
_this50.pointControls.addEventListener('unlock', function () {
|
|
127149
|
+
_this50.firstPerSign = false;
|
|
127150
|
+
if (_this50.cameraControls) {
|
|
127151
|
+
_this50.cameraControls.enabled = true;
|
|
127047
127152
|
}
|
|
127048
127153
|
// 返回初始视角
|
|
127049
|
-
if (
|
|
127050
|
-
|
|
127154
|
+
if (_this50.cameraControls && _this50.camera && _this50.sceneBoundingBox) {
|
|
127155
|
+
_this50.home();
|
|
127051
127156
|
}
|
|
127052
127157
|
try {
|
|
127053
|
-
if (
|
|
127054
|
-
|
|
127158
|
+
if (_this50._onFirstPersonChange && _this50.pointControls) {
|
|
127159
|
+
_this50.pointControls.removeEventListener('change', _this50._onFirstPersonChange);
|
|
127055
127160
|
}
|
|
127056
127161
|
} catch (e) {}
|
|
127057
|
-
if (
|
|
127058
|
-
|
|
127162
|
+
if (_this50.noObserver) {
|
|
127163
|
+
_this50.noObserver._firstPersonLastPos = null;
|
|
127059
127164
|
}
|
|
127060
127165
|
setTimeout(function () {
|
|
127061
|
-
window.removeEventListener('keydown',
|
|
127062
|
-
window.removeEventListener('keyup',
|
|
127063
|
-
if (
|
|
127064
|
-
|
|
127166
|
+
window.removeEventListener('keydown', _this50.onKeyDown);
|
|
127167
|
+
window.removeEventListener('keyup', _this50.onKeyUp);
|
|
127168
|
+
if (_this50.renderer && _this50.renderer.domElement) {
|
|
127169
|
+
_this50.bindScenePointerEvents();
|
|
127065
127170
|
}
|
|
127066
|
-
if (
|
|
127067
|
-
|
|
127171
|
+
if (_this50.scene) {
|
|
127172
|
+
_this50.ensureTransformSelectionValid();
|
|
127068
127173
|
}
|
|
127069
127174
|
// this.timeRender()
|
|
127070
127175
|
}, 0);
|
|
127071
|
-
if (typeof
|
|
127072
|
-
|
|
127176
|
+
if (typeof _this50._cameraChangeObserver === 'function') {
|
|
127177
|
+
_this50._cameraChangeObserver('firstPersonUnlock');
|
|
127073
127178
|
}
|
|
127074
127179
|
});
|
|
127075
|
-
if (
|
|
127180
|
+
if (_this50.scene) _this50.scene.add(_this50.pointControls.object);
|
|
127076
127181
|
}, 10);
|
|
127077
127182
|
},
|
|
127078
127183
|
// 第一视角运动
|
|
@@ -127227,7 +127332,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
127227
127332
|
return this.scene && this.scene.children ? this.scene.children : [];
|
|
127228
127333
|
},
|
|
127229
127334
|
openMeasure: function openMeasure(type) {
|
|
127230
|
-
var
|
|
127335
|
+
var _this51 = this;
|
|
127231
127336
|
var isClear = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
127232
127337
|
if (this.threeMeasure) {
|
|
127233
127338
|
this.threeMeasure.close(isClear);
|
|
@@ -127239,7 +127344,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
127239
127344
|
case 'distance':
|
|
127240
127345
|
this.threeMeasure = new measure_distance.MeasureDistance(this.renderer, this.scene, this.camera, this.instructions.offsetWidth, this.instructions.offsetHeight, {
|
|
127241
127346
|
pickRoots: function pickRoots() {
|
|
127242
|
-
return
|
|
127347
|
+
return _this51.getMeasurePickRoots();
|
|
127243
127348
|
}
|
|
127244
127349
|
});
|
|
127245
127350
|
this.threeMeasure.start();
|
|
@@ -127247,7 +127352,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
127247
127352
|
case 'area':
|
|
127248
127353
|
this.threeMeasure = new measure_area.MeasureArea(this.renderer, this.scene, this.camera, this.instructions.offsetWidth, this.instructions.offsetHeight, {
|
|
127249
127354
|
pickRoots: function pickRoots() {
|
|
127250
|
-
return
|
|
127355
|
+
return _this51.getMeasurePickRoots();
|
|
127251
127356
|
}
|
|
127252
127357
|
});
|
|
127253
127358
|
this.threeMeasure.start();
|
|
@@ -127255,7 +127360,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
127255
127360
|
case 'angle':
|
|
127256
127361
|
this.threeMeasure = new measure_angle.MeasureAngle(this.renderer, this.scene, this.camera, this.instructions.offsetWidth, this.instructions.offsetHeight, {
|
|
127257
127362
|
pickRoots: function pickRoots() {
|
|
127258
|
-
return
|
|
127363
|
+
return _this51.getMeasurePickRoots();
|
|
127259
127364
|
}
|
|
127260
127365
|
});
|
|
127261
127366
|
this.threeMeasure.start();
|
|
@@ -127263,7 +127368,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
127263
127368
|
case 'height':
|
|
127264
127369
|
this.threeMeasure = new measure_height.MeasureHeight(this.renderer, this.scene, this.camera, this.instructions.offsetWidth, this.instructions.offsetHeight, {
|
|
127265
127370
|
pickRoots: function pickRoots() {
|
|
127266
|
-
return
|
|
127371
|
+
return _this51.getMeasurePickRoots();
|
|
127267
127372
|
}
|
|
127268
127373
|
});
|
|
127269
127374
|
this.threeMeasure.start();
|
|
@@ -127309,11 +127414,11 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
127309
127414
|
return object.name === 'measureObj' || userData.isMeasureObject === true;
|
|
127310
127415
|
},
|
|
127311
127416
|
removeMeasureObjectsFromScene: function removeMeasureObjectsFromScene() {
|
|
127312
|
-
var
|
|
127417
|
+
var _this52 = this;
|
|
127313
127418
|
if (!this.scene) return;
|
|
127314
127419
|
var measureObjects = [];
|
|
127315
127420
|
this.scene.traverse(function (object) {
|
|
127316
|
-
if (
|
|
127421
|
+
if (_this52.isMeasureObject(object)) {
|
|
127317
127422
|
measureObjects.push(object);
|
|
127318
127423
|
}
|
|
127319
127424
|
});
|
|
@@ -127321,9 +127426,9 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
127321
127426
|
if (object.parent) {
|
|
127322
127427
|
object.parent.remove(object);
|
|
127323
127428
|
} else {
|
|
127324
|
-
|
|
127429
|
+
_this52.scene.remove(object);
|
|
127325
127430
|
}
|
|
127326
|
-
|
|
127431
|
+
_this52.disposeMeasureObject(object);
|
|
127327
127432
|
});
|
|
127328
127433
|
},
|
|
127329
127434
|
// 增加一个清除所有测量结果的方法,清理历史测量实例遗留的对象
|
|
@@ -127396,12 +127501,12 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
127396
127501
|
参数: object, 目标实体,
|
|
127397
127502
|
*/
|
|
127398
127503
|
isolate: function isolate(object) {
|
|
127399
|
-
var
|
|
127504
|
+
var _this53 = this;
|
|
127400
127505
|
if (!this.scene) return;
|
|
127401
127506
|
// 隔离 将目标实体以外的实体隐藏掉
|
|
127402
127507
|
this.scene.traverse(function (item) {
|
|
127403
127508
|
if (item.isMesh && item.name !== object.name) {
|
|
127404
|
-
var offsetMatrix = new
|
|
127509
|
+
var offsetMatrix = new _this53.THREE.Matrix4().copy(item.userData.copyMatrix).makeTranslation(9999999, 9999999, 9999999);
|
|
127405
127510
|
item.setMatrixAt(item.userData.instanceIndex, offsetMatrix);
|
|
127406
127511
|
item.instanceMatrix.needsUpdate = true;
|
|
127407
127512
|
}
|
|
@@ -127409,7 +127514,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
127409
127514
|
},
|
|
127410
127515
|
// 还原操作 将修改过的实体进行恢复
|
|
127411
127516
|
restore: function restore() {
|
|
127412
|
-
var
|
|
127517
|
+
var _this54 = this;
|
|
127413
127518
|
if (!this.scene) return;
|
|
127414
127519
|
this.scene.traverse(function (item) {
|
|
127415
127520
|
if (item.isMesh) {
|
|
@@ -127431,20 +127536,20 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
127431
127536
|
item.userData.translateMatrixInvert = null;
|
|
127432
127537
|
}
|
|
127433
127538
|
if (item.userData.combineMatrixInvert) {
|
|
127434
|
-
|
|
127539
|
+
_this54.rotateMesh(item, {
|
|
127435
127540
|
x: 0,
|
|
127436
127541
|
y: 0,
|
|
127437
127542
|
z: 0
|
|
127438
127543
|
});
|
|
127439
127544
|
item.userData.combineMatrixInvert = null;
|
|
127440
127545
|
}
|
|
127441
|
-
var copyMatrix =
|
|
127546
|
+
var copyMatrix = _this54.getInstanceCopyMatrix(item, instanceId);
|
|
127442
127547
|
if (!copyMatrix) return;
|
|
127443
|
-
var sourceHidden =
|
|
127444
|
-
var offsetMatrix = new
|
|
127548
|
+
var sourceHidden = _this54.isSourceHiddenInstance(item, instanceId);
|
|
127549
|
+
var offsetMatrix = new _this54.THREE.Matrix4().copy(copyMatrix);
|
|
127445
127550
|
if (sourceHidden) {
|
|
127446
127551
|
offsetMatrix.makeTranslation(9999999, 9999999, 9999999);
|
|
127447
|
-
|
|
127552
|
+
_this54.removeOutlineInstanceProxy(item, item.userData.instanceIndex);
|
|
127448
127553
|
}
|
|
127449
127554
|
item.setMatrixAt(item.userData.instanceIndex, offsetMatrix);
|
|
127450
127555
|
item.instanceMatrix.needsUpdate = true;
|
|
@@ -127453,7 +127558,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
127453
127558
|
},
|
|
127454
127559
|
// 添加自定义模型, 暂时只支持glb、gltf格式
|
|
127455
127560
|
addCustomModel: function addCustomModel(name, position, url) {
|
|
127456
|
-
var
|
|
127561
|
+
var _this55 = this;
|
|
127457
127562
|
var scale = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
|
127458
127563
|
var immediately = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
127459
127564
|
var callback = arguments.length > 5 ? arguments[5] : undefined;
|
|
@@ -127464,41 +127569,41 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
127464
127569
|
locationModel.scale.set(scale, scale, scale);
|
|
127465
127570
|
locationModel.updateMatrixWorld();
|
|
127466
127571
|
if (immediately) {
|
|
127467
|
-
|
|
127572
|
+
_this55.cameraControls.fitToSphere(gltf.this.scene, true);
|
|
127468
127573
|
}
|
|
127469
127574
|
// 动画混合器
|
|
127470
127575
|
// 不参与裁剪
|
|
127471
127576
|
locationModel.userData.cull = false;
|
|
127472
127577
|
locationModel.name = name;
|
|
127473
|
-
if (
|
|
127474
|
-
locationModel.position.copy(new
|
|
127578
|
+
if (_this55.scene) _this55.scene.add(locationModel);
|
|
127579
|
+
locationModel.position.copy(new _this55.THREE.Vector3(position.x, position.y, position.z));
|
|
127475
127580
|
if (gltf.animations.length > 0) {
|
|
127476
|
-
var actionMixer = new
|
|
127581
|
+
var actionMixer = new _this55.THREE.AnimationMixer(gltf.this.scene);
|
|
127477
127582
|
var walkActive = actionMixer.clipAction(gltf.animations[0]);
|
|
127478
127583
|
walkActive.play();
|
|
127479
|
-
|
|
127480
|
-
|
|
127584
|
+
_this55.modelActive.push(walkActive);
|
|
127585
|
+
_this55.modelActions.push(actionMixer);
|
|
127481
127586
|
}
|
|
127482
127587
|
callback && callback();
|
|
127483
127588
|
});
|
|
127484
127589
|
},
|
|
127485
127590
|
// 删除添加的自定义模型
|
|
127486
127591
|
removeCustomModel: function removeCustomModel(name) {
|
|
127487
|
-
var
|
|
127592
|
+
var _this56 = this;
|
|
127488
127593
|
var obj = this.getObjectByName(name);
|
|
127489
127594
|
obj.forEach(function (item, index) {
|
|
127490
127595
|
if (item.animations > 0) {
|
|
127491
127596
|
item.removeFromParent();
|
|
127492
|
-
|
|
127493
|
-
|
|
127597
|
+
_this56.modelActions[index].uncacheRoot(item);
|
|
127598
|
+
_this56.modelActions[index].uncacheRoot(_this56.modelActive[index]);
|
|
127494
127599
|
}
|
|
127495
127600
|
item.traverse(function (child) {
|
|
127496
|
-
if (child instanceof
|
|
127601
|
+
if (child instanceof _this56.THREE.Mesh) {
|
|
127497
127602
|
child.geometry.dispose();
|
|
127498
127603
|
child.material.dispose();
|
|
127499
127604
|
}
|
|
127500
127605
|
});
|
|
127501
|
-
if (
|
|
127606
|
+
if (_this56.scene) _this56.scene.remove(item);
|
|
127502
127607
|
});
|
|
127503
127608
|
this.modelActions.splice(0);
|
|
127504
127609
|
this.modelActive.splice(0);
|
|
@@ -127560,7 +127665,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
127560
127665
|
return size;
|
|
127561
127666
|
},
|
|
127562
127667
|
animate: function animate() {
|
|
127563
|
-
var
|
|
127668
|
+
var _this57 = this;
|
|
127564
127669
|
if (isDebug) {
|
|
127565
127670
|
this.stats && this.stats.begin(); // 开始帧率统计
|
|
127566
127671
|
}
|
|
@@ -127574,7 +127679,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
127574
127679
|
if (this.timeStamp > singleFrameTime) {
|
|
127575
127680
|
if (this.modelActions.length > 0) {
|
|
127576
127681
|
this.modelActions.forEach(function (item) {
|
|
127577
|
-
item.update(
|
|
127682
|
+
item.update(_this57.timeStamp);
|
|
127578
127683
|
});
|
|
127579
127684
|
}
|
|
127580
127685
|
this.cameraControls.enabled && this.cameraControls.update(this.timeStamp);
|
|
@@ -127932,25 +128037,25 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
127932
128037
|
* 加载下一批数据
|
|
127933
128038
|
*/
|
|
127934
128039
|
loadNextBatch: function loadNextBatch() {
|
|
127935
|
-
var
|
|
128040
|
+
var _this58 = this;
|
|
127936
128041
|
return com_graphicsvue_type_script_lang_js_asyncToGenerator(/*#__PURE__*/com_graphicsvue_type_script_lang_js_regenerator().m(function _callee1() {
|
|
127937
128042
|
var loadingState, batch, _t3;
|
|
127938
128043
|
return com_graphicsvue_type_script_lang_js_regenerator().w(function (_context1) {
|
|
127939
128044
|
while (1) switch (_context1.p = _context1.n) {
|
|
127940
128045
|
case 0:
|
|
127941
|
-
loadingState =
|
|
127942
|
-
if (
|
|
128046
|
+
loadingState = _this58.noObserver ? _this58.noObserver.batchLoadingState : _this58.batchLoadingState;
|
|
128047
|
+
if (_this58.isBatchLoadingSceneReady()) {
|
|
127943
128048
|
_context1.n = 1;
|
|
127944
128049
|
break;
|
|
127945
128050
|
}
|
|
127946
|
-
|
|
128051
|
+
_this58.stopBatchLoading('scene_unavailable');
|
|
127947
128052
|
return _context1.a(2);
|
|
127948
128053
|
case 1:
|
|
127949
128054
|
if (!(!loadingState.isLoading || loadingState.currentBatch >= loadingState.pendingData.length)) {
|
|
127950
128055
|
_context1.n = 2;
|
|
127951
128056
|
break;
|
|
127952
128057
|
}
|
|
127953
|
-
|
|
128058
|
+
_this58.completeBatchLoading();
|
|
127954
128059
|
return _context1.a(2);
|
|
127955
128060
|
case 2:
|
|
127956
128061
|
if (!loadingState.isPaused) {
|
|
@@ -127959,7 +128064,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
127959
128064
|
}
|
|
127960
128065
|
// 如果暂停,延迟一段时间后再次检查
|
|
127961
128066
|
loadingState.animationFrameId = requestAnimationFrame(function () {
|
|
127962
|
-
|
|
128067
|
+
_this58.loadNextBatch();
|
|
127963
128068
|
});
|
|
127964
128069
|
return _context1.a(2);
|
|
127965
128070
|
case 3:
|
|
@@ -127969,7 +128074,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
127969
128074
|
}
|
|
127970
128075
|
// 如果正在交互,延迟一段时间后再次检查
|
|
127971
128076
|
loadingState.animationFrameId = requestAnimationFrame(function () {
|
|
127972
|
-
|
|
128077
|
+
_this58.loadNextBatch();
|
|
127973
128078
|
});
|
|
127974
128079
|
return _context1.a(2);
|
|
127975
128080
|
case 4:
|
|
@@ -127978,13 +128083,13 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
127978
128083
|
_context1.n = 5;
|
|
127979
128084
|
break;
|
|
127980
128085
|
}
|
|
127981
|
-
|
|
128086
|
+
_this58.completeBatchLoading();
|
|
127982
128087
|
return _context1.a(2);
|
|
127983
128088
|
case 5:
|
|
127984
128089
|
_context1.p = 5;
|
|
127985
128090
|
console.log('加载批次:', loadingState.currentBatch);
|
|
127986
128091
|
_context1.n = 6;
|
|
127987
|
-
return
|
|
128092
|
+
return _this58.processWithMainThread(batch);
|
|
127988
128093
|
case 6:
|
|
127989
128094
|
if (loadingState.isLoading) {
|
|
127990
128095
|
_context1.n = 7;
|
|
@@ -127992,11 +128097,11 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
127992
128097
|
}
|
|
127993
128098
|
return _context1.a(2);
|
|
127994
128099
|
case 7:
|
|
127995
|
-
if (
|
|
128100
|
+
if (_this58.isBatchLoadingSceneReady()) {
|
|
127996
128101
|
_context1.n = 8;
|
|
127997
128102
|
break;
|
|
127998
128103
|
}
|
|
127999
|
-
|
|
128104
|
+
_this58.stopBatchLoading('scene_unavailable');
|
|
128000
128105
|
return _context1.a(2);
|
|
128001
128106
|
case 8:
|
|
128002
128107
|
// 更新进度
|
|
@@ -128004,8 +128109,8 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
128004
128109
|
loadingState.currentBatch++;
|
|
128005
128110
|
|
|
128006
128111
|
// 同步到响应式状态
|
|
128007
|
-
|
|
128008
|
-
|
|
128112
|
+
_this58.batchLoadingState.loadedCount = loadingState.loadedCount;
|
|
128113
|
+
_this58.batchLoadingState.currentBatch = loadingState.currentBatch;
|
|
128009
128114
|
|
|
128010
128115
|
// 调用进度回调
|
|
128011
128116
|
if (loadingState.onProgress) {
|
|
@@ -128019,7 +128124,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
128019
128124
|
|
|
128020
128125
|
// 使用 requestAnimationFrame 在下一帧继续加载
|
|
128021
128126
|
loadingState.animationFrameId = requestAnimationFrame(function () {
|
|
128022
|
-
|
|
128127
|
+
_this58.loadNextBatch();
|
|
128023
128128
|
});
|
|
128024
128129
|
_context1.n = 10;
|
|
128025
128130
|
break;
|
|
@@ -128030,7 +128135,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
128030
128135
|
|
|
128031
128136
|
// 继续下一批次
|
|
128032
128137
|
loadingState.animationFrameId = requestAnimationFrame(function () {
|
|
128033
|
-
|
|
128138
|
+
_this58.loadNextBatch();
|
|
128034
128139
|
});
|
|
128035
128140
|
case 10:
|
|
128036
128141
|
return _context1.a(2);
|
|
@@ -128042,20 +128147,20 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
128042
128147
|
* 使用主线程处理批次数据
|
|
128043
128148
|
*/
|
|
128044
128149
|
processWithMainThread: function processWithMainThread(batch) {
|
|
128045
|
-
var
|
|
128150
|
+
var _this59 = this;
|
|
128046
128151
|
return com_graphicsvue_type_script_lang_js_asyncToGenerator(/*#__PURE__*/com_graphicsvue_type_script_lang_js_regenerator().m(function _callee10() {
|
|
128047
128152
|
var loadingState;
|
|
128048
128153
|
return com_graphicsvue_type_script_lang_js_regenerator().w(function (_context10) {
|
|
128049
128154
|
while (1) switch (_context10.n) {
|
|
128050
128155
|
case 0:
|
|
128051
|
-
loadingState =
|
|
128156
|
+
loadingState = _this59.noObserver ? _this59.noObserver.batchLoadingState : _this59.batchLoadingState;
|
|
128052
128157
|
loadingState.options.batchSize = loadingState.batchSize;
|
|
128053
128158
|
loadingState.options.resetState = loadingState.currentBatch === 0;
|
|
128054
128159
|
// 使用原始的handleInstancedMeshModel方法
|
|
128055
128160
|
|
|
128056
128161
|
isDebug && performance.mark('handleInstancedMeshModel-start');
|
|
128057
128162
|
_context10.n = 1;
|
|
128058
|
-
return handleInstancedMeshModel(
|
|
128163
|
+
return handleInstancedMeshModel(_this59.modelGroup, batch.instances, batch.drawObjs, '', _this59.scene, loadingState.color, loadingState.meshNameConfig, '', loadingState.options);
|
|
128059
128164
|
case 1:
|
|
128060
128165
|
isDebug && performance.mark('handleInstancedMeshModel-end');
|
|
128061
128166
|
isDebug && performance.measure('handleInstancedMeshModel', 'handleInstancedMeshModel-start', 'handleInstancedMeshModel-end');
|
|
@@ -128069,7 +128174,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
128069
128174
|
* 完成批量加载
|
|
128070
128175
|
*/
|
|
128071
128176
|
completeBatchLoading: function completeBatchLoading() {
|
|
128072
|
-
var
|
|
128177
|
+
var _this60 = this;
|
|
128073
128178
|
var loadingState = this.noObserver ? this.noObserver.batchLoadingState : this.batchLoadingState;
|
|
128074
128179
|
if (!loadingState.isLoading) return;
|
|
128075
128180
|
if (!this.isBatchLoadingSceneReady()) {
|
|
@@ -128102,17 +128207,17 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
128102
128207
|
this.modelGroup.traverse(function (child) {
|
|
128103
128208
|
if (child.isMesh && !child.userData.batchInitDone) {
|
|
128104
128209
|
markRendered(child);
|
|
128105
|
-
var json =
|
|
128106
|
-
var meshBox3 = new
|
|
128210
|
+
var json = _this60.getMeshCenterAndVolume(child);
|
|
128211
|
+
var meshBox3 = new _this60.THREE.Box3();
|
|
128107
128212
|
meshBox3.setFromObject(child);
|
|
128108
|
-
var worldPs = new
|
|
128213
|
+
var worldPs = new _this60.THREE.Vector3().addVectors(meshBox3.max, meshBox3.min).multiplyScalar(0.5);
|
|
128109
128214
|
if (isNaN(worldPs.x)) return;
|
|
128110
|
-
child.worldDir = new
|
|
128215
|
+
child.worldDir = new _this60.THREE.Vector3().subVectors(worldPs, modelWorldPs).normalize();
|
|
128111
128216
|
child.userData.center = json.center;
|
|
128112
128217
|
child.userData.worldPs = worldPs;
|
|
128113
|
-
child.userData.oldPs = child.getWorldPosition(new
|
|
128218
|
+
child.userData.oldPs = child.getWorldPosition(new _this60.THREE.Vector3());
|
|
128114
128219
|
child.userData.box = json.box;
|
|
128115
|
-
child.userData.position = new
|
|
128220
|
+
child.userData.position = new _this60.THREE.Vector3().copy(child.position);
|
|
128116
128221
|
child.userData.translate = {
|
|
128117
128222
|
x: 0,
|
|
128118
128223
|
y: 0,
|
|
@@ -128204,7 +128309,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
128204
128309
|
* @param {Object} options - 配置项 { immediate: boolean }
|
|
128205
128310
|
*/
|
|
128206
128311
|
setSystemInterruption: function setSystemInterruption(active) {
|
|
128207
|
-
var
|
|
128312
|
+
var _this61 = this;
|
|
128208
128313
|
var reason = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'user_interaction';
|
|
128209
128314
|
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
128210
128315
|
var loadingState = this.noObserver ? this.noObserver.batchLoadingState : this.batchLoadingState;
|
|
@@ -128270,7 +128375,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
128270
128375
|
if (loadingState.interactionState.wheelTimeout) return;
|
|
128271
128376
|
|
|
128272
128377
|
// 2. 如果是 wheel 结束,但 this.userInteracting (this.camera) 还在进行,则不恢复
|
|
128273
|
-
if (reason === 'wheel' &&
|
|
128378
|
+
if (reason === 'wheel' && _this61.userInteracting) return;
|
|
128274
128379
|
|
|
128275
128380
|
// 3. 检查是否有强制跳过标记 (可能由其他逻辑触发)
|
|
128276
128381
|
// if (this.forceSkipRendering && reason !== 'user_interaction') return; // 视情况而定
|
|
@@ -128281,15 +128386,15 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
128281
128386
|
loadingState.pauseReason = '';
|
|
128282
128387
|
loadingState.interactionState.isInteracting = false;
|
|
128283
128388
|
loadingState.interactionState.interactionType = '';
|
|
128284
|
-
|
|
128389
|
+
_this61.forceSkipRendering = false;
|
|
128285
128390
|
|
|
128286
128391
|
// 恢复本地批量加载 (如果未完成)
|
|
128287
128392
|
if (loadingState.isLoading && loadingState.currentBatch < loadingState.totalBatches) {
|
|
128288
|
-
|
|
128393
|
+
_this61.loadNextBatch();
|
|
128289
128394
|
}
|
|
128290
128395
|
|
|
128291
128396
|
// 恢复 StreamLoader
|
|
128292
|
-
var streamLoader =
|
|
128397
|
+
var streamLoader = _this61.noObserver.streamLoader;
|
|
128293
128398
|
if (streamLoader && typeof streamLoader.handleControlEnd === 'function') {
|
|
128294
128399
|
// StreamLoader 内部通常有防抖或延迟,这里直接通知结束即可
|
|
128295
128400
|
streamLoader.handleControlEnd();
|
|
@@ -128342,7 +128447,7 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
128342
128447
|
* 滚轮交互结束的定时检测
|
|
128343
128448
|
*/
|
|
128344
128449
|
scheduleWheelInteractionEnd: function scheduleWheelInteractionEnd(event) {
|
|
128345
|
-
var
|
|
128450
|
+
var _this62 = this;
|
|
128346
128451
|
var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;
|
|
128347
128452
|
var loadingState = this.noObserver ? this.noObserver.batchLoadingState : this.batchLoadingState;
|
|
128348
128453
|
if (loadingState.interactionState.wheelTimeout) {
|
|
@@ -128350,8 +128455,8 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
128350
128455
|
loadingState.interactionState.wheelTimeout = null;
|
|
128351
128456
|
}
|
|
128352
128457
|
loadingState.interactionState.wheelTimeout = setTimeout(function () {
|
|
128353
|
-
|
|
128354
|
-
|
|
128458
|
+
_this62.$emit('wheelEnd', event);
|
|
128459
|
+
_this62.endInteraction('wheel', event, {
|
|
128355
128460
|
immediateResume: false
|
|
128356
128461
|
});
|
|
128357
128462
|
loadingState.interactionState.wheelTimeout = null;
|
|
@@ -128404,11 +128509,11 @@ var COLLISION_DEBUG_GROUP_NAME = '__collision_obb_debug_group__';
|
|
|
128404
128509
|
});
|
|
128405
128510
|
// CONCATENATED MODULE: ./packages/components/com-graphics/index.vue?vue&type=script&lang=js
|
|
128406
128511
|
/* harmony default export */ var components_com_graphicsvue_type_script_lang_js = (com_graphicsvue_type_script_lang_js);
|
|
128407
|
-
// EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=0&id=
|
|
128408
|
-
var
|
|
128512
|
+
// EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=0&id=e9e4a7c2&prod&lang=scss&scoped=true
|
|
128513
|
+
var com_graphicsvue_type_style_index_0_id_e9e4a7c2_prod_lang_scss_scoped_true = __webpack_require__("b3cf");
|
|
128409
128514
|
|
|
128410
|
-
// EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=1&id=
|
|
128411
|
-
var
|
|
128515
|
+
// EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=1&id=e9e4a7c2&prod&lang=css
|
|
128516
|
+
var com_graphicsvue_type_style_index_1_id_e9e4a7c2_prod_lang_css = __webpack_require__("a817");
|
|
128412
128517
|
|
|
128413
128518
|
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
|
|
128414
128519
|
/* globals __VUE_SSR_CONTEXT__ */
|
|
@@ -128520,18 +128625,18 @@ function normalizeComponent(
|
|
|
128520
128625
|
|
|
128521
128626
|
var component = normalizeComponent(
|
|
128522
128627
|
components_com_graphicsvue_type_script_lang_js,
|
|
128523
|
-
|
|
128628
|
+
com_graphicsvue_type_template_id_e9e4a7c2_scoped_true_render,
|
|
128524
128629
|
staticRenderFns,
|
|
128525
128630
|
false,
|
|
128526
128631
|
null,
|
|
128527
|
-
"
|
|
128632
|
+
"e9e4a7c2",
|
|
128528
128633
|
null
|
|
128529
128634
|
|
|
128530
128635
|
)
|
|
128531
128636
|
|
|
128532
128637
|
/* harmony default export */ var com_graphics = (component.exports);
|
|
128533
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
128534
|
-
var
|
|
128638
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5a49c7af-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-flcanvas/index.vue?vue&type=template&id=0f76e7f4&scoped=true
|
|
128639
|
+
var com_flcanvasvue_type_template_id_0f76e7f4_scoped_true_render = function render() {
|
|
128535
128640
|
var _vm = this,
|
|
128536
128641
|
_c = _vm._self._c;
|
|
128537
128642
|
return _c('div', {
|
|
@@ -128544,9 +128649,9 @@ var com_flcanvasvue_type_template_id_e2de7752_scoped_true_render = function rend
|
|
|
128544
128649
|
}
|
|
128545
128650
|
});
|
|
128546
128651
|
};
|
|
128547
|
-
var
|
|
128652
|
+
var com_flcanvasvue_type_template_id_0f76e7f4_scoped_true_staticRenderFns = [];
|
|
128548
128653
|
|
|
128549
|
-
// CONCATENATED MODULE: ./packages/components/com-flcanvas/index.vue?vue&type=template&id=
|
|
128654
|
+
// CONCATENATED MODULE: ./packages/components/com-flcanvas/index.vue?vue&type=template&id=0f76e7f4&scoped=true
|
|
128550
128655
|
|
|
128551
128656
|
// EXTERNAL MODULE: ./node_modules/konva/lib/index.js
|
|
128552
128657
|
var lib = __webpack_require__("362d");
|
|
@@ -133788,10 +133893,11 @@ function drawArc(recordDxf, entity, group, key, configParams) {
|
|
|
133788
133893
|
name: key.replace(/\s*/g, ''),
|
|
133789
133894
|
entityId: key,
|
|
133790
133895
|
stroke: hex,
|
|
133791
|
-
customColor: configParams ? configParams.color :
|
|
133896
|
+
customColor: configParams ? configParams.color : hex,
|
|
133792
133897
|
strokeWidth: width,
|
|
133793
133898
|
visible: configParams ? configParams.visible : true,
|
|
133794
|
-
oldstrokeLength: width
|
|
133899
|
+
oldstrokeLength: width,
|
|
133900
|
+
isGroup: false
|
|
133795
133901
|
});
|
|
133796
133902
|
// if(group.attrs.isBlock){
|
|
133797
133903
|
// let scale=group.scale();
|
|
@@ -133834,10 +133940,11 @@ function drawEllpse(recordDxf, entity, group, key, configParams) {
|
|
|
133834
133940
|
name: key.replace(/\s*/g, ''),
|
|
133835
133941
|
entityId: key,
|
|
133836
133942
|
stroke: configParams ? configParams.color : '#000',
|
|
133837
|
-
customColor: configParams ? configParams.color : '',
|
|
133943
|
+
customColor: configParams ? configParams.color : '#000',
|
|
133838
133944
|
strokeWidth: width,
|
|
133839
133945
|
visible: configParams ? configParams.visible : true,
|
|
133840
|
-
oldstrokeLength: width
|
|
133946
|
+
oldstrokeLength: width,
|
|
133947
|
+
isGroup: false
|
|
133841
133948
|
});
|
|
133842
133949
|
// let line = new Konva.Line({
|
|
133843
133950
|
// name: key.replace(/\s*/g, ""),
|
|
@@ -133875,7 +133982,7 @@ function drawLine(recordDxf, entity, group, key, configParams) {
|
|
|
133875
133982
|
entityId: key,
|
|
133876
133983
|
isGroup: false,
|
|
133877
133984
|
stroke: hex,
|
|
133878
|
-
customColor: configParams ? configParams.color :
|
|
133985
|
+
customColor: configParams ? configParams.color : hex,
|
|
133879
133986
|
strokeWidth: width,
|
|
133880
133987
|
visible: configParams ? configParams.visible : true,
|
|
133881
133988
|
oldstrokeLength: width
|
|
@@ -133923,13 +134030,14 @@ function entityFormatting_drawText(recordDxf, entity, group, key, configParams)
|
|
|
133923
134030
|
align: 'left',
|
|
133924
134031
|
verticalAlign: 'top',
|
|
133925
134032
|
fill: hex,
|
|
133926
|
-
customColor: configParams ? configParams.color :
|
|
134033
|
+
customColor: configParams ? configParams.color : hex,
|
|
133927
134034
|
name: key.replace(/\s*/g, ''),
|
|
133928
134035
|
entityId: key,
|
|
133929
134036
|
fontFamily: 'SimSun',
|
|
133930
134037
|
visible: configParams ? configParams.visible : true,
|
|
133931
134038
|
stroke: hex,
|
|
133932
|
-
strokeWidth: 0.1
|
|
134039
|
+
strokeWidth: 0.1,
|
|
134040
|
+
shapeType: 'text'
|
|
133933
134041
|
});
|
|
133934
134042
|
if (entity.xScale) {
|
|
133935
134043
|
dim.scaleX(entity.xScale);
|
|
@@ -133982,7 +134090,8 @@ function entityFormatting_drawText(recordDxf, entity, group, key, configParams)
|
|
|
133982
134090
|
name: key.replace(/\s*/g, ''),
|
|
133983
134091
|
entityId: key,
|
|
133984
134092
|
visible: configParams ? configParams.visible : true,
|
|
133985
|
-
customColor: configParams ? configParams.color : ''
|
|
134093
|
+
customColor: configParams ? configParams.color : '',
|
|
134094
|
+
isGroup: true
|
|
133986
134095
|
});
|
|
133987
134096
|
g.add(dim);
|
|
133988
134097
|
group.push({
|
|
@@ -134019,9 +134128,10 @@ function drawLwLine(recordDxf, entity, group, key, configParams) {
|
|
|
134019
134128
|
points: list,
|
|
134020
134129
|
closed: closed,
|
|
134021
134130
|
name: key.replace(/\s*/g, ''),
|
|
134131
|
+
isGroup: false,
|
|
134022
134132
|
entityId: key,
|
|
134023
134133
|
stroke: hex,
|
|
134024
|
-
customColor: configParams ? configParams.color :
|
|
134134
|
+
customColor: configParams ? configParams.color : hex,
|
|
134025
134135
|
strokeWidth: width,
|
|
134026
134136
|
visible: configParams ? configParams.visible : true,
|
|
134027
134137
|
oldstrokeLength: width
|
|
@@ -134057,7 +134167,7 @@ function drawSpline(recordDxf, entity, group, key, configParams) {
|
|
|
134057
134167
|
entityId: key,
|
|
134058
134168
|
isGroup: false,
|
|
134059
134169
|
stroke: configParams ? configParams : '#000',
|
|
134060
|
-
customColor: configParams ? configParams.color : '',
|
|
134170
|
+
customColor: configParams ? configParams.color : '#000',
|
|
134061
134171
|
strokeWidth: width,
|
|
134062
134172
|
visible: configParams ? configParams.visible : true,
|
|
134063
134173
|
oldstrokeLength: width
|
|
@@ -135208,7 +135318,7 @@ function downloadPDF(base64, fileName) {
|
|
|
135208
135318
|
name: key.replace(/\s*/g, ''),
|
|
135209
135319
|
entityId: key,
|
|
135210
135320
|
stroke: group[0].stroke,
|
|
135211
|
-
customColor: _configParams ? _configParams.color :
|
|
135321
|
+
customColor: _configParams ? _configParams.color : group[0].stroke,
|
|
135212
135322
|
//visible: configParams ? configParams.visible :true,
|
|
135213
135323
|
sceneFunc: function sceneFunc(context, shape) {
|
|
135214
135324
|
context.beginPath();
|
|
@@ -135263,7 +135373,8 @@ function downloadPDF(base64, fileName) {
|
|
|
135263
135373
|
}
|
|
135264
135374
|
// context.closePath();
|
|
135265
135375
|
context.fillStrokeShape(shape);
|
|
135266
|
-
}
|
|
135376
|
+
},
|
|
135377
|
+
shapeType: 'shape'
|
|
135267
135378
|
});
|
|
135268
135379
|
if (_this3.konvaLayer) _this3.konvaLayer.add(customShape);
|
|
135269
135380
|
}
|
|
@@ -135523,15 +135634,49 @@ function downloadPDF(base64, fileName) {
|
|
|
135523
135634
|
this.konvaLayer = null;
|
|
135524
135635
|
this.konvaStage = null;
|
|
135525
135636
|
},
|
|
135526
|
-
|
|
135527
|
-
|
|
135637
|
+
// 更改图纸的色系 区分明暗两种 darkness 暗色系 bright 明亮
|
|
135638
|
+
setColorScheme: function setColorScheme(colorType) {
|
|
135639
|
+
var _this5 = this;
|
|
135640
|
+
// const backgroundColor = colorType === "darkness" ? "#000" : "transparent";
|
|
135641
|
+
var color = colorType === "darkness" ? "#fff" : "#000";
|
|
135642
|
+
// konvaStage.container().style.background = backgroundColor;
|
|
135643
|
+
this.konvaLayer.children.forEach(function (item) {
|
|
135644
|
+
_this5.traverseLayer(item, color);
|
|
135645
|
+
});
|
|
135646
|
+
},
|
|
135647
|
+
traverseLayer: function traverseLayer(obj, color) {
|
|
135648
|
+
var _this6 = this;
|
|
135649
|
+
if (!obj.attrs.isGroup) {
|
|
135650
|
+
if (color === '#fff') {
|
|
135651
|
+
var setColor = obj.attrs.customColor === '#000' || obj.attrs.customColor === '#000000' || obj.attrs.customColor === 'rgb(0, 0, 0)' || obj.attrs.customColor === 'rgba(0, 0, 0, 1)' ? color : obj.attrs.customColor;
|
|
135652
|
+
if (obj.attrs.shapeType === 'hatch' || obj.attrs.shapeType === 'text') {
|
|
135653
|
+
obj.setFill(setColor);
|
|
135654
|
+
}
|
|
135655
|
+
obj.setStroke(setColor);
|
|
135656
|
+
obj.attrs.oldCustomColor = obj.attrs.customColor;
|
|
135657
|
+
obj.attrs.customColor = setColor;
|
|
135658
|
+
} else {
|
|
135659
|
+
obj.attrs.customColor = obj.attrs.oldCustomColor;
|
|
135660
|
+
if (obj.attrs.shapeType === 'hatch' || obj.attrs.shapeType === 'text') {
|
|
135661
|
+
obj.setFill(obj.attrs.customColor);
|
|
135662
|
+
}
|
|
135663
|
+
obj.setStroke(obj.attrs.customColor);
|
|
135664
|
+
}
|
|
135665
|
+
} else {
|
|
135666
|
+
obj.children.forEach(function (item) {
|
|
135667
|
+
_this6.traverseLayer(item, color);
|
|
135668
|
+
});
|
|
135669
|
+
}
|
|
135528
135670
|
}
|
|
135671
|
+
},
|
|
135672
|
+
beforeDestroy: function beforeDestroy() {
|
|
135673
|
+
this.clearCache();
|
|
135529
135674
|
}
|
|
135530
135675
|
});
|
|
135531
135676
|
// CONCATENATED MODULE: ./packages/components/com-flcanvas/index.vue?vue&type=script&lang=js
|
|
135532
135677
|
/* harmony default export */ var components_com_flcanvasvue_type_script_lang_js = (com_flcanvasvue_type_script_lang_js);
|
|
135533
|
-
// EXTERNAL MODULE: ./packages/components/com-flcanvas/index.vue?vue&type=style&index=0&id=
|
|
135534
|
-
var
|
|
135678
|
+
// EXTERNAL MODULE: ./packages/components/com-flcanvas/index.vue?vue&type=style&index=0&id=0f76e7f4&prod&lang=scss&scoped=true
|
|
135679
|
+
var com_flcanvasvue_type_style_index_0_id_0f76e7f4_prod_lang_scss_scoped_true = __webpack_require__("469d");
|
|
135535
135680
|
|
|
135536
135681
|
// CONCATENATED MODULE: ./packages/components/com-flcanvas/index.vue
|
|
135537
135682
|
|
|
@@ -135544,17 +135689,17 @@ var com_flcanvasvue_type_style_index_0_id_e2de7752_prod_lang_scss_scoped_true =
|
|
|
135544
135689
|
|
|
135545
135690
|
var com_flcanvas_component = normalizeComponent(
|
|
135546
135691
|
components_com_flcanvasvue_type_script_lang_js,
|
|
135547
|
-
|
|
135548
|
-
|
|
135692
|
+
com_flcanvasvue_type_template_id_0f76e7f4_scoped_true_render,
|
|
135693
|
+
com_flcanvasvue_type_template_id_0f76e7f4_scoped_true_staticRenderFns,
|
|
135549
135694
|
false,
|
|
135550
135695
|
null,
|
|
135551
|
-
"
|
|
135696
|
+
"0f76e7f4",
|
|
135552
135697
|
null
|
|
135553
135698
|
|
|
135554
135699
|
)
|
|
135555
135700
|
|
|
135556
135701
|
/* harmony default export */ var com_flcanvas = (com_flcanvas_component.exports);
|
|
135557
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
135702
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5a49c7af-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/per-control.vue?vue&type=template&id=f547d5c6&scoped=true
|
|
135558
135703
|
var per_controlvue_type_template_id_f547d5c6_scoped_true_render = function render() {
|
|
135559
135704
|
var _vm = this,
|
|
135560
135705
|
_c = _vm._self._c;
|
|
@@ -135662,7 +135807,7 @@ var per_control_component = normalizeComponent(
|
|
|
135662
135807
|
)
|
|
135663
135808
|
|
|
135664
135809
|
/* harmony default export */ var per_control = (per_control_component.exports);
|
|
135665
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
135810
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5a49c7af-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/pid.vue?vue&type=template&id=2572c0e2&scoped=true
|
|
135666
135811
|
var pidvue_type_template_id_2572c0e2_scoped_true_render = function render() {
|
|
135667
135812
|
var _vm = this,
|
|
135668
135813
|
_c = _vm._self._c;
|
|
@@ -135709,7 +135854,7 @@ var browserify_default = /*#__PURE__*/__webpack_require__.n(browserify);
|
|
|
135709
135854
|
var html2canvas = __webpack_require__("c0e9");
|
|
135710
135855
|
var html2canvas_default = /*#__PURE__*/__webpack_require__.n(html2canvas);
|
|
135711
135856
|
|
|
135712
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
135857
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5a49c7af-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/component/ann-tool.vue?vue&type=template&id=4b17bce0&scoped=true
|
|
135713
135858
|
var ann_toolvue_type_template_id_4b17bce0_scoped_true_render = function render() {
|
|
135714
135859
|
var _vm = this,
|
|
135715
135860
|
_c = _vm._self._c;
|