fl-web-component 2.0.19-beta.1 → 2.0.19-beta.2

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.
@@ -1489,17 +1489,6 @@ exports.default = function (ref) {
1489
1489
  };
1490
1490
  ;
1491
1491
 
1492
- /***/ }),
1493
-
1494
- /***/ "12fb":
1495
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
1496
-
1497
- "use strict";
1498
- /* 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_46d6866f_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("dd1a");
1499
- /* 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_46d6866f_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_46d6866f_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__);
1500
- /* unused harmony reexport * */
1501
-
1502
-
1503
1492
  /***/ }),
1504
1493
 
1505
1494
  /***/ "14e9":
@@ -2944,6 +2933,13 @@ Factory_1.Factory.addGetterSetter(Image, 'cropHeight', 0, (0, Validators_1.getNu
2944
2933
 
2945
2934
  /***/ }),
2946
2935
 
2936
+ /***/ "23ff":
2937
+ /***/ (function(module, exports, __webpack_require__) {
2938
+
2939
+ // extracted by mini-css-extract-plugin
2940
+
2941
+ /***/ }),
2942
+
2947
2943
  /***/ "26c8":
2948
2944
  /***/ (function(module, exports, __webpack_require__) {
2949
2945
 
@@ -13562,6 +13558,13 @@ module.exports = {
13562
13558
 
13563
13559
  /***/ }),
13564
13560
 
13561
+ /***/ "3ff9":
13562
+ /***/ (function(module, exports, __webpack_require__) {
13563
+
13564
+ // extracted by mini-css-extract-plugin
13565
+
13566
+ /***/ }),
13567
+
13565
13568
  /***/ "4010":
13566
13569
  /***/ (function(module, exports, __webpack_require__) {
13567
13570
 
@@ -43884,6 +43887,17 @@ Factory_1.Factory.addGetterSetter(Arc, 'outerRadius', 0, (0, Validators_1.getNum
43884
43887
  Factory_1.Factory.addGetterSetter(Arc, 'angle', 0, (0, Validators_1.getNumberValidator)());
43885
43888
  Factory_1.Factory.addGetterSetter(Arc, 'clockwise', false, (0, Validators_1.getBooleanValidator)());
43886
43889
 
43890
+ /***/ }),
43891
+
43892
+ /***/ "8673":
43893
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
43894
+
43895
+ "use strict";
43896
+ /* 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_1f8c13ba_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("3ff9");
43897
+ /* 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_1f8c13ba_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_1f8c13ba_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__);
43898
+ /* unused harmony reexport * */
43899
+
43900
+
43887
43901
  /***/ }),
43888
43902
 
43889
43903
  /***/ "8875":
@@ -56500,7 +56514,7 @@ module.exports = document && document.documentElement;
56500
56514
  /***/ "9224":
56501
56515
  /***/ (function(module) {
56502
56516
 
56503
- module.exports = JSON.parse("{\"name\":\"fl-web-component\",\"version\":\"2.0.19-beta.1\",\"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\"]}");
56517
+ module.exports = JSON.parse("{\"name\":\"fl-web-component\",\"version\":\"2.0.19-beta.2\",\"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\"]}");
56504
56518
 
56505
56519
  /***/ }),
56506
56520
 
@@ -69126,17 +69140,6 @@ module.exports = function (it) {
69126
69140
  return it;
69127
69141
  };
69128
69142
 
69129
- /***/ }),
69130
-
69131
- /***/ "cbdd":
69132
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
69133
-
69134
- "use strict";
69135
- /* 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_46d6866f_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d5c3");
69136
- /* 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_46d6866f_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_46d6866f_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
69137
- /* unused harmony reexport * */
69138
-
69139
-
69140
69143
  /***/ }),
69141
69144
 
69142
69145
  /***/ "cc15":
@@ -70528,13 +70531,6 @@ module.exports = normalizeWheel;
70528
70531
 
70529
70532
  /***/ }),
70530
70533
 
70531
- /***/ "d5c3":
70532
- /***/ (function(module, exports, __webpack_require__) {
70533
-
70534
- // extracted by mini-css-extract-plugin
70535
-
70536
- /***/ }),
70537
-
70538
70534
  /***/ "d777":
70539
70535
  /***/ (function(module, exports, __webpack_require__) {
70540
70536
 
@@ -72071,13 +72067,6 @@ module.exports = /******/function (modules) {
72071
72067
 
72072
72068
  /***/ }),
72073
72069
 
72074
- /***/ "dd1a":
72075
- /***/ (function(module, exports, __webpack_require__) {
72076
-
72077
- // extracted by mini-css-extract-plugin
72078
-
72079
- /***/ }),
72080
-
72081
72070
  /***/ "df93":
72082
72071
  /***/ (function(module, exports, __webpack_require__) {
72083
72072
 
@@ -73500,6 +73489,17 @@ $export($export.S + $export.F, 'Object', {
73500
73489
  assign: __webpack_require__("072d")
73501
73490
  });
73502
73491
 
73492
+ /***/ }),
73493
+
73494
+ /***/ "e573":
73495
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
73496
+
73497
+ "use strict";
73498
+ /* 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_1f8c13ba_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("23ff");
73499
+ /* 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_1f8c13ba_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_1f8c13ba_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
73500
+ /* unused harmony reexport * */
73501
+
73502
+
73503
73503
  /***/ }),
73504
73504
 
73505
73505
  /***/ "e62d":
@@ -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":"44f05828-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=46d6866f&scoped=true
78638
- var com_graphicsvue_type_template_id_46d6866f_scoped_true_render = function render() {
78637
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1538a079-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=1f8c13ba&scoped=true
78638
+ var com_graphicsvue_type_template_id_1f8c13ba_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_46d6866f_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=46d6866f&scoped=true
78650
+ // CONCATENATED MODULE: ./packages/components/com-graphics/index.vue?vue&type=template&id=1f8c13ba&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)); }
@@ -78924,7 +78924,7 @@ var camera_controls_module_THREE;
78924
78924
  var _ORIGIN;
78925
78925
  var _AXIS_Y;
78926
78926
  var _AXIS_Z;
78927
- var _v2;
78927
+ var camera_controls_module_v2;
78928
78928
  var _v3A;
78929
78929
  var _v3B;
78930
78930
  var _v3C;
@@ -79440,15 +79440,15 @@ var CameraControls = /*#__PURE__*/function (_EventDispatcher) {
79440
79440
  };
79441
79441
  var startDragging = function startDragging(event) {
79442
79442
  if (!_this._enabled) return;
79443
- extractClientCoordFromEvent(_this._activePointers, _v2);
79443
+ extractClientCoordFromEvent(_this._activePointers, camera_controls_module_v2);
79444
79444
  _this._getClientRect(_this._elementRect);
79445
- dragStartPosition.copy(_v2);
79446
- lastDragPosition.copy(_v2);
79445
+ dragStartPosition.copy(camera_controls_module_v2);
79446
+ lastDragPosition.copy(camera_controls_module_v2);
79447
79447
  var isMultiTouch = _this._activePointers.length >= 2;
79448
79448
  if (isMultiTouch) {
79449
79449
  // 2 finger pinch
79450
- var dx = _v2.x - _this._activePointers[1].clientX;
79451
- var dy = _v2.y - _this._activePointers[1].clientY;
79450
+ var dx = camera_controls_module_v2.x - _this._activePointers[1].clientX;
79451
+ var dy = camera_controls_module_v2.y - _this._activePointers[1].clientY;
79452
79452
  var distance = Math.sqrt(dx * dx + dy * dy);
79453
79453
  dollyStart.set(0, distance);
79454
79454
  // center coords of 2 finger truck
@@ -79512,14 +79512,14 @@ var CameraControls = /*#__PURE__*/function (_EventDispatcher) {
79512
79512
  var dragging = function dragging() {
79513
79513
  if (!_this._enabled || !_this._dragNeedsUpdate) return;
79514
79514
  _this._dragNeedsUpdate = false;
79515
- extractClientCoordFromEvent(_this._activePointers, _v2);
79515
+ extractClientCoordFromEvent(_this._activePointers, camera_controls_module_v2);
79516
79516
  // When pointer lock is enabled clientX, clientY, screenX, and screenY remain 0.
79517
79517
  // If pointer lock is enabled, use the Delta directory, and assume active-pointer is not multiple.
79518
79518
  var isPointerLockActive = _this._domElement && _this._domElement.ownerDocument.pointerLockElement === _this._domElement;
79519
79519
  var lockedPointer = isPointerLockActive ? _this._lockedPointer || _this._activePointers[0] : null;
79520
- var deltaX = lockedPointer ? -lockedPointer.deltaX : lastDragPosition.x - _v2.x;
79521
- var deltaY = lockedPointer ? -lockedPointer.deltaY : lastDragPosition.y - _v2.y;
79522
- lastDragPosition.copy(_v2);
79520
+ var deltaX = lockedPointer ? -lockedPointer.deltaX : lastDragPosition.x - camera_controls_module_v2.x;
79521
+ var deltaY = lockedPointer ? -lockedPointer.deltaY : lastDragPosition.y - camera_controls_module_v2.y;
79522
+ lastDragPosition.copy(camera_controls_module_v2);
79523
79523
  if ((_this._state & ACTION.ROTATE) === ACTION.ROTATE || (_this._state & ACTION.TOUCH_ROTATE) === ACTION.TOUCH_ROTATE || (_this._state & ACTION.TOUCH_DOLLY_ROTATE) === ACTION.TOUCH_DOLLY_ROTATE || (_this._state & ACTION.TOUCH_ZOOM_ROTATE) === ACTION.TOUCH_ZOOM_ROTATE) {
79524
79524
  _this._rotateInternal(deltaX, deltaY);
79525
79525
  _this._isUserControllingRotate = true;
@@ -79537,8 +79537,8 @@ var CameraControls = /*#__PURE__*/function (_EventDispatcher) {
79537
79537
  }
79538
79538
  }
79539
79539
  if ((_this._state & ACTION.TOUCH_DOLLY) === ACTION.TOUCH_DOLLY || (_this._state & ACTION.TOUCH_ZOOM) === ACTION.TOUCH_ZOOM || (_this._state & ACTION.TOUCH_DOLLY_TRUCK) === ACTION.TOUCH_DOLLY_TRUCK || (_this._state & ACTION.TOUCH_ZOOM_TRUCK) === ACTION.TOUCH_ZOOM_TRUCK || (_this._state & ACTION.TOUCH_DOLLY_OFFSET) === ACTION.TOUCH_DOLLY_OFFSET || (_this._state & ACTION.TOUCH_ZOOM_OFFSET) === ACTION.TOUCH_ZOOM_OFFSET || (_this._state & ACTION.TOUCH_DOLLY_ROTATE) === ACTION.TOUCH_DOLLY_ROTATE || (_this._state & ACTION.TOUCH_ZOOM_ROTATE) === ACTION.TOUCH_ZOOM_ROTATE) {
79540
- var dx = _v2.x - _this._activePointers[1].clientX;
79541
- var dy = _v2.y - _this._activePointers[1].clientY;
79540
+ var dx = camera_controls_module_v2.x - _this._activePointers[1].clientX;
79541
+ var dy = camera_controls_module_v2.y - _this._activePointers[1].clientY;
79542
79542
  var distance = Math.sqrt(dx * dx + dy * dy);
79543
79543
  var dollyDelta = dollyStart.y - distance;
79544
79544
  dollyStart.set(0, distance);
@@ -79565,8 +79565,8 @@ var CameraControls = /*#__PURE__*/function (_EventDispatcher) {
79565
79565
  });
79566
79566
  };
79567
79567
  var endDragging = function endDragging() {
79568
- extractClientCoordFromEvent(_this._activePointers, _v2);
79569
- lastDragPosition.copy(_v2);
79568
+ extractClientCoordFromEvent(_this._activePointers, camera_controls_module_v2);
79569
+ lastDragPosition.copy(camera_controls_module_v2);
79570
79570
  _this._dragNeedsUpdate = false;
79571
79571
  if (_this._activePointers.length === 0 || _this._activePointers.length === 1 && _this._activePointers[0] === _this._lockedPointer) {
79572
79572
  _this._isDragging = false;
@@ -81190,7 +81190,7 @@ var CameraControls = /*#__PURE__*/function (_EventDispatcher) {
81190
81190
  _ORIGIN = Object.freeze(new camera_controls_module_THREE.Vector3(0, 0, 0));
81191
81191
  _AXIS_Y = Object.freeze(new camera_controls_module_THREE.Vector3(0, 1, 0));
81192
81192
  _AXIS_Z = Object.freeze(new camera_controls_module_THREE.Vector3(0, 0, 1));
81193
- _v2 = new camera_controls_module_THREE.Vector2();
81193
+ camera_controls_module_v2 = new camera_controls_module_THREE.Vector2();
81194
81194
  _v3A = new camera_controls_module_THREE.Vector3();
81195
81195
  _v3B = new camera_controls_module_THREE.Vector3();
81196
81196
  _v3C = new camera_controls_module_THREE.Vector3();
@@ -108606,12 +108606,8 @@ measure_height_MeasureHeight.prototype = {
108606
108606
  });
108607
108607
  // CONCATENATED MODULE: ./src/utils/threejs/measure-clear-distance.js
108608
108608
  function measure_clear_distance_createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = measure_clear_distance_unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
108609
- function measure_clear_distance_slicedToArray(r, e) { return measure_clear_distance_arrayWithHoles(r) || measure_clear_distance_iterableToArrayLimit(r, e) || measure_clear_distance_unsupportedIterableToArray(r, e) || measure_clear_distance_nonIterableRest(); }
108610
- function measure_clear_distance_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
108611
108609
  function measure_clear_distance_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return measure_clear_distance_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? measure_clear_distance_arrayLikeToArray(r, a) : void 0; } }
108612
108610
  function measure_clear_distance_arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
108613
- function measure_clear_distance_iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
108614
- function measure_clear_distance_arrayWithHoles(r) { if (Array.isArray(r)) return r; }
108615
108611
 
108616
108612
 
108617
108613
 
@@ -108655,10 +108651,17 @@ measure_clear_distance_MeasureClearDistance.prototype = {
108655
108651
  mouse.y = -(canvasY / elRect.height) * 2.0 + 1.0;
108656
108652
  measure_clear_distance_this.raycaster.setFromCamera(mouse, this.camera);
108657
108653
  var intersects = measure_clear_distance_this.raycaster.intersectObjects(measure_clear_distance_this.scene.children, true);
108658
- if (intersects.length > 0) {
108659
- return intersects[0];
108654
+ var l = intersects.length;
108655
+ var obj = null;
108656
+ if (l > 0) {
108657
+ for (var index = 0; index < l; index++) {
108658
+ if (intersects[index].object.type === 'Mesh') {
108659
+ obj = intersects[index];
108660
+ break;
108661
+ }
108662
+ }
108660
108663
  }
108661
- return null;
108664
+ return obj;
108662
108665
  },
108663
108666
  createLine: function createLine(p1, p2) {
108664
108667
  var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
@@ -108703,8 +108706,15 @@ measure_clear_distance_MeasureClearDistance.prototype = {
108703
108706
  var lastTime = new Date().getTime();
108704
108707
  if (lastTime - this.firstTime < 300) {
108705
108708
  var measureObj = measure_clear_distance_this.getPosition(e);
108709
+ console.log(measureObj);
108706
108710
  if (measureObj) {
108707
108711
  measure_clear_distance_this.selectedObjects.push(measureObj);
108712
+ // 高亮选中的
108713
+ // const instanceInfo = measureObj.object.userData?.instancesMap?.get(measureObj.object.name);
108714
+ // const { instanceIndex } = instanceInfo;
108715
+ var instanceIndex = measureObj.instanceId;
108716
+ measureObj.object.setColorAt(instanceIndex, new Color(0x53a8ff));
108717
+ measureObj.object.instanceColor.needsUpdate = true;
108708
108718
  if (measure_clear_distance_this.selectedObjects.length % 2 === 0) {
108709
108719
  measure_clear_distance_this.calculateClearDistance();
108710
108720
  }
@@ -108719,13 +108729,35 @@ measure_clear_distance_MeasureClearDistance.prototype = {
108719
108729
  var obj1 = this.selectedObjects[l - 2];
108720
108730
  var obj2 = this.selectedObjects[l - 1];
108721
108731
  var isParallel = this.checkParallelism(obj1.object, obj1.instanceId, obj2.object, obj2.instanceId);
108722
- console.log(isParallel);
108723
- var pts1 = this.getInstanceSurfacePoints(obj1.object, obj1.instanceId, 600);
108724
- var pts2 = this.getInstanceSurfacePoints(obj2.object, obj2.instanceId, 600);
108725
- if (pts1.length === 0 || pts2.length === 0) {
108732
+ if (!isParallel) {
108733
+ element_ui_common["Message"].warning('请选择两个平行的物体');
108726
108734
  return;
108727
108735
  }
108728
- var closestPair = this.findClosestPair(pts1, pts2);
108736
+ // 全局采样
108737
+ var localPts1 = this.sampleGlobal(obj1.object.geometry, 1000);
108738
+ var localPts2 = this.sampleGlobal(obj2.object.geometry, 1000);
108739
+ var wm1 = this.getInstanceWorldMatrix(obj1.object, obj1.instanceId);
108740
+ var wm2 = this.getInstanceWorldMatrix(obj2.object, obj2.instanceId);
108741
+ var worldPts1 = localPts1.map(function (p) {
108742
+ return p.clone().applyMatrix4(wm1);
108743
+ });
108744
+ var worldPts2 = localPts2.map(function (p) {
108745
+ return p.clone().applyMatrix4(wm2);
108746
+ });
108747
+ var closestPair = this.findClosestPair(worldPts1, worldPts2);
108748
+ // 局部精细搜索
108749
+ var radius = closestPair.distance * 2 + 0.1;
108750
+ var localPts1Fine = this.sampleLocal(obj1.object, obj1.instanceId, closestPair.point1, radius, 1000);
108751
+ var localPts2Fine = this.sampleLocal(obj2.object, obj2.instanceId, closestPair.point2, radius, 1000);
108752
+ var combined1 = worldPts1.filter(function (p) {
108753
+ return p.distanceTo(closestPair.point1) < radius;
108754
+ }).concat(localPts1Fine);
108755
+ var combined2 = worldPts2.filter(function (p) {
108756
+ return p.distanceTo(closestPair.point2) < radius;
108757
+ }).concat(localPts2Fine);
108758
+ if (combined1.length > 0 && combined2.length > 0) {
108759
+ closestPair = this.findClosestPair(combined1, combined2, true);
108760
+ }
108729
108761
  var position = new Vector3((closestPair.point1.x + closestPair.point2.x) / 2, (closestPair.point1.y + closestPair.point2.y) / 2, (closestPair.point1.z + closestPair.point2.z) / 2);
108730
108762
  // 将测量结果显示在页面中
108731
108763
  var circleTag1 = this.createLabel('circle-tag', '', closestPair.point1);
@@ -108741,153 +108773,154 @@ measure_clear_distance_MeasureClearDistance.prototype = {
108741
108773
  this.scene.add(line);
108742
108774
  this.scene.add(label);
108743
108775
  },
108744
- getInstanceSurfacePoints: function getInstanceSurfacePoints(instancedMesh, instanceId) {
108745
- var maxPoints = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1000;
108746
- var geometry = instancedMesh.geometry;
108747
- // let localPoints = this.generateGenericLocalPoints(geometry, maxPoints);
108748
- var localPoints = this.sampleGeometrySurface(geometry, maxPoints);
108749
- var worldMatrix = this.getInstanceWorldMatrix(instancedMesh, instanceId);
108750
- var worldPoints = localPoints.map(function (p) {
108751
- return p.clone().applyMatrix4(worldMatrix);
108752
- });
108753
- return worldPoints.slice(0, maxPoints);
108754
- },
108755
- sampleGeometrySurface: function sampleGeometrySurface(geometry) {
108776
+ // 全部采样
108777
+ sampleGlobal: function sampleGlobal(geometry) {
108756
108778
  var maxPoints = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 600;
108757
- var positions = geometry.getAttribute('position');
108758
- if (!positions) return [];
108759
-
108760
- // 获取三角形(优先使用索引)
108761
- var triangles = [];
108762
- if (geometry.index) {
108763
- var index = geometry.index.array;
108764
- for (var i = 0; i < index.length; i += 3) {
108765
- var a = new Vector3(positions.getX(index[i]), positions.getY(index[i]), positions.getZ(index[i]));
108766
- var b = new Vector3(positions.getX(index[i + 1]), positions.getY(index[i + 1]), positions.getZ(index[i + 1]));
108767
- var c = new Vector3(positions.getX(index[i + 2]), positions.getY(index[i + 2]), positions.getZ(index[i + 2]));
108768
- triangles.push([a, b, c]);
108769
- }
108770
- } else {
108771
- // 无索引时,每三个顶点组成一个三角形
108772
- for (var _i = 0; _i < positions.count; _i += 3) {
108773
- var _a = new Vector3(positions.getX(_i), positions.getY(_i), positions.getZ(_i));
108774
- var _b = new Vector3(positions.getX(_i + 1), positions.getY(_i + 1), positions.getZ(_i + 1));
108775
- var _c = new Vector3(positions.getX(_i + 2), positions.getY(_i + 2), positions.getZ(_i + 2));
108776
- triangles.push([_a, _b, _c]);
108777
- }
108778
- }
108779
+ var triangles = this.extractTriangles(geometry);
108779
108780
  if (triangles.length === 0) return [];
108780
-
108781
- // 计算每个三角形的面积
108782
- var areas = triangles.map(function (_ref) {
108783
- var _ref2 = measure_clear_distance_slicedToArray(_ref, 3),
108784
- a = _ref2[0],
108785
- b = _ref2[1],
108786
- c = _ref2[2];
108787
- var ab = new Vector3().subVectors(b, a);
108788
- var ac = new Vector3().subVectors(c, a);
108781
+ var areas = triangles.map(function (t) {
108782
+ var ab = new Vector3().subVectors(t.b, t.a);
108783
+ var ac = new Vector3().subVectors(t.c, t.a);
108789
108784
  return new Vector3().crossVectors(ab, ac).length() * 0.5;
108790
108785
  });
108791
- var totalArea = areas.reduce(function (sum, a) {
108792
- return sum + a;
108786
+ var totalArea = areas.reduce(function (s, a) {
108787
+ return s + a;
108793
108788
  }, 0);
108794
-
108795
- // 按面积比例分配采样点数
108796
108789
  var points = [];
108797
- for (var _i2 = 0; _i2 < triangles.length; _i2++) {
108798
- var _triangles$_i = measure_clear_distance_slicedToArray(triangles[_i2], 3),
108799
- _a2 = _triangles$_i[0],
108800
- _b2 = _triangles$_i[1],
108801
- _c2 = _triangles$_i[2];
108802
- var area = areas[_i2];
108803
- var samplesForFace = Math.round(area / totalArea * maxPoints);
108804
- if (samplesForFace < 1 && points.length < maxPoints) samplesForFace = 1; // 确保每个面至少一个点
108805
-
108806
- for (var j = 0; j < samplesForFace; j++) {
108807
- // 重心坐标随机采样
108808
- var u = Math.random();
108809
- var v = Math.random() * (1 - u);
108810
- var w = 1 - u - v;
108811
- var point = new Vector3().addScaledVector(_a2, u).addScaledVector(_b2, v).addScaledVector(_c2, w);
108812
- points.push(point);
108813
- }
108814
- }
108815
-
108816
- // 如果点数不够,随机补充
108790
+ for (var i = 0; i < triangles.length; i++) {
108791
+ var _triangles$i = triangles[i],
108792
+ a = _triangles$i.a,
108793
+ b = _triangles$i.b,
108794
+ c = _triangles$i.c;
108795
+ var count = Math.max(1, Math.round(areas[i] / totalArea * maxPoints));
108796
+ for (var j = 0; j < count; j++) {
108797
+ var u = Math.random(),
108798
+ v = Math.random() * (1 - u),
108799
+ w = 1 - u - v;
108800
+ points.push(new Vector3().addScaledVector(a, u).addScaledVector(b, v).addScaledVector(c, w));
108801
+ }
108802
+ }
108817
108803
  while (points.length < maxPoints) {
108818
- var triIdx = Math.floor(Math.random() * triangles.length);
108819
- var _triangles$triIdx = measure_clear_distance_slicedToArray(triangles[triIdx], 3),
108820
- _a3 = _triangles$triIdx[0],
108821
- _b3 = _triangles$triIdx[1],
108822
- _c3 = _triangles$triIdx[2];
108823
- var _u = Math.random();
108824
- var _v = Math.random() * (1 - _u);
108825
- var _w = 1 - _u - _v;
108826
- points.push(new Vector3().addScaledVector(_a3, _u).addScaledVector(_b3, _v).addScaledVector(_c3, _w));
108804
+ var t = triangles[Math.floor(Math.random() * triangles.length)];
108805
+ var _u = Math.random(),
108806
+ _v = Math.random() * (1 - _u),
108807
+ _w = 1 - _u - _v;
108808
+ points.push(new Vector3().addScaledVector(t.a, _u).addScaledVector(t.b, _v).addScaledVector(t.c, _w));
108827
108809
  }
108828
108810
  return points.slice(0, maxPoints);
108829
108811
  },
108830
- generateGenericLocalPoints: function generateGenericLocalPoints(geometry) {
108831
- var maxPoints = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;
108812
+ // 局部采样
108813
+ sampleLocal: function sampleLocal(instancedMesh, instanceId, centerWorld, radius) {
108814
+ var pointsCount = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 300;
108815
+ var worldMatrix = this.getInstanceWorldMatrix(instancedMesh, instanceId);
108816
+ var invMatrix = new Matrix4().copy(worldMatrix).invert();
108817
+ var centerLocal = centerWorld.clone().applyMatrix4(invMatrix);
108818
+ var triangles = this.extractTriangles(instancedMesh.geometry);
108819
+ if (triangles.length === 0) return [];
108820
+ var relevantTris = triangles.filter(function (t) {
108821
+ var box = new Box3().setFromPoints([t.a, t.b, t.c]);
108822
+ return box.distanceToPoint(centerLocal) <= radius;
108823
+ });
108824
+ if (relevantTris.length === 0) return [];
108825
+ var localPoints = [];
108826
+ var perTri = Math.ceil(pointsCount / relevantTris.length);
108827
+ var _iterator = measure_clear_distance_createForOfIteratorHelper(relevantTris),
108828
+ _step;
108829
+ try {
108830
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
108831
+ var _step$value = _step.value,
108832
+ _a = _step$value.a,
108833
+ _b = _step$value.b,
108834
+ _c = _step$value.c;
108835
+ for (var j = 0; j < perTri; j++) {
108836
+ var _u2 = Math.random(),
108837
+ _v2 = Math.random() * (1 - _u2),
108838
+ _w2 = 1 - _u2 - _v2;
108839
+ var _pt = new Vector3().addScaledVector(_a, _u2).addScaledVector(_b, _v2).addScaledVector(_c, _w2);
108840
+ if (_pt.distanceTo(centerLocal) <= radius) localPoints.push(_pt);
108841
+ }
108842
+ }
108843
+ } catch (err) {
108844
+ _iterator.e(err);
108845
+ } finally {
108846
+ _iterator.f();
108847
+ }
108848
+ while (localPoints.length < pointsCount && relevantTris.length > 0) {
108849
+ var _relevantTris$Math$fl = relevantTris[Math.floor(Math.random() * relevantTris.length)],
108850
+ a = _relevantTris$Math$fl.a,
108851
+ b = _relevantTris$Math$fl.b,
108852
+ c = _relevantTris$Math$fl.c;
108853
+ var u = Math.random(),
108854
+ v = Math.random() * (1 - u),
108855
+ w = 1 - u - v;
108856
+ var pt = new Vector3().addScaledVector(a, u).addScaledVector(b, v).addScaledVector(c, w);
108857
+ if (pt.distanceTo(centerLocal) <= radius) localPoints.push(pt);
108858
+ }
108859
+ return localPoints.map(function (p) {
108860
+ return p.clone().applyMatrix4(worldMatrix);
108861
+ });
108862
+ },
108863
+ extractTriangles: function extractTriangles(geometry) {
108832
108864
  var pos = geometry.getAttribute('position');
108833
108865
  if (!pos) return [];
108834
- var allVerts = [];
108835
- for (var i = 0; i < pos.count; i++) {
108836
- allVerts.push(new Vector3(pos.getX(i), pos.getY(i), pos.getZ(i)));
108837
- }
108838
- var sourceVerts = allVerts;
108866
+ var triangles = [];
108839
108867
  if (geometry.index) {
108840
- var indexArr = geometry.index.array;
108841
- var seen = new Set();
108842
- sourceVerts = [];
108843
- for (var _i3 = 0; _i3 < indexArr.length; _i3++) {
108844
- var v = allVerts[indexArr[_i3]];
108845
- var key = "".concat(v.x.toFixed(4), ",").concat(v.y.toFixed(4), ",").concat(v.z.toFixed(4));
108846
- if (!seen.has(key)) {
108847
- seen.add(key);
108848
- sourceVerts.push(v.clone());
108849
- }
108868
+ var idx = geometry.index.array;
108869
+ for (var i = 0; i < idx.length; i += 3) {
108870
+ var a = new Vector3(pos.getX(idx[i]), pos.getY(idx[i]), pos.getZ(idx[i]));
108871
+ var b = new Vector3(pos.getX(idx[i + 1]), pos.getY(idx[i + 1]), pos.getZ(idx[i + 1]));
108872
+ var c = new Vector3(pos.getX(idx[i + 2]), pos.getY(idx[i + 2]), pos.getZ(idx[i + 2]));
108873
+ triangles.push({
108874
+ a: a,
108875
+ b: b,
108876
+ c: c
108877
+ });
108878
+ }
108879
+ } else {
108880
+ for (var _i = 0; _i < pos.count; _i += 3) {
108881
+ var _a2 = new Vector3(pos.getX(_i), pos.getY(_i), pos.getZ(_i));
108882
+ var _b2 = new Vector3(pos.getX(_i + 1), pos.getY(_i + 1), pos.getZ(_i + 1));
108883
+ var _c2 = new Vector3(pos.getX(_i + 2), pos.getY(_i + 2), pos.getZ(_i + 2));
108884
+ triangles.push({
108885
+ a: _a2,
108886
+ b: _b2,
108887
+ c: _c2
108888
+ });
108850
108889
  }
108851
108890
  }
108852
- if (sourceVerts.length > maxPoints) {
108853
- var step = Math.ceil(sourceVerts.length / maxPoints);
108854
- var sampled = [];
108855
- for (var _i4 = 0; _i4 < sourceVerts.length; _i4 += step) sampled.push(sourceVerts[_i4]);
108856
- sourceVerts = sampled;
108857
- }
108858
- return sourceVerts;
108891
+ return triangles;
108859
108892
  },
108860
108893
  findClosestPair: function findClosestPair(points1, points2) {
108861
108894
  var minDist = Infinity;
108862
108895
  var c1 = new Vector3();
108863
108896
  var c2 = new Vector3();
108864
- var _iterator = measure_clear_distance_createForOfIteratorHelper(points1),
108865
- _step;
108897
+ var _iterator2 = measure_clear_distance_createForOfIteratorHelper(points1),
108898
+ _step2;
108866
108899
  try {
108867
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
108868
- var p1 = _step.value;
108869
- var _iterator2 = measure_clear_distance_createForOfIteratorHelper(points2),
108870
- _step2;
108900
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
108901
+ var p1 = _step2.value;
108902
+ var _iterator3 = measure_clear_distance_createForOfIteratorHelper(points2),
108903
+ _step3;
108871
108904
  try {
108872
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
108873
- var p2 = _step2.value;
108874
- var d = p1.distanceTo(p2);
108875
- if (d < minDist) {
108905
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
108906
+ var p2 = _step3.value;
108907
+ var d = Number(p1.distanceTo(p2).toFixed(2));
108908
+ if (d <= minDist) {
108876
108909
  minDist = d;
108877
108910
  c1.copy(p1);
108878
108911
  c2.copy(p2);
108879
108912
  }
108880
108913
  }
108881
108914
  } catch (err) {
108882
- _iterator2.e(err);
108915
+ _iterator3.e(err);
108883
108916
  } finally {
108884
- _iterator2.f();
108917
+ _iterator3.f();
108885
108918
  }
108886
108919
  }
108887
108920
  } catch (err) {
108888
- _iterator.e(err);
108921
+ _iterator2.e(err);
108889
108922
  } finally {
108890
- _iterator.f();
108923
+ _iterator2.f();
108891
108924
  }
108892
108925
  return {
108893
108926
  point1: c1,
@@ -108895,34 +108928,55 @@ measure_clear_distance_MeasureClearDistance.prototype = {
108895
108928
  distance: minDist
108896
108929
  };
108897
108930
  },
108898
- // 平行判断 (基于包围盒主轴方向)
108899
108931
  checkParallelism: function checkParallelism(inst1, id1, inst2, id2) {
108932
+ // 1. 获取世界矩阵
108900
108933
  var mat1 = this.getInstanceWorldMatrix(inst1, id1);
108901
108934
  var mat2 = this.getInstanceWorldMatrix(inst2, id2);
108902
- var box1 = new Box3();
108903
- var box2 = new Box3();
108904
-
108905
- // 确保包围盒存在
108906
- if (!inst1.geometry.boundingBox) inst1.geometry.computeBoundingBox();
108907
- if (!inst2.geometry.boundingBox) inst2.geometry.computeBoundingBox();
108908
- box1.copy(inst1.geometry.boundingBox).applyMatrix4(mat1);
108909
- box2.copy(inst2.geometry.boundingBox).applyMatrix4(mat2);
108910
- var size1 = new Vector3();
108911
- box1.getSize(size1);
108912
- var size2 = new Vector3();
108913
- box2.getSize(size2);
108914
- var getMainDir = function getMainDir(s) {
108915
- if (s.x >= s.y && s.x >= s.z) return new Vector3(1, 0, 0);
108916
- if (s.y >= s.x && s.y >= s.z) return new Vector3(0, 1, 0);
108917
- return new Vector3(0, 0, 1);
108935
+
108936
+ // 2. 提取纯旋转部分(消除缩放和位移)
108937
+ var rotMat1 = new Matrix4().extractRotation(mat1);
108938
+ var rotMat2 = new Matrix4().extractRotation(mat2);
108939
+
108940
+ // 如果物体可能有非均匀缩放,extractRotation 可能会出错,
108941
+ // 更稳健的方法是手动归一化列向量
108942
+ var normalizeMatrix = function normalizeMatrix(m) {
108943
+ var col0 = new Vector3().setFromMatrixColumn(m, 0).normalize();
108944
+ var col1 = new Vector3().setFromMatrixColumn(m, 1).normalize();
108945
+ var col2 = new Vector3().setFromMatrixColumn(m, 2).normalize();
108946
+ var normMat = new Matrix4();
108947
+ normMat.makeBasis(col0, col1, col2);
108948
+ return normMat;
108918
108949
  };
108919
- var d1 = getMainDir(size1);
108920
- var d2 = getMainDir(size2);
108921
- var rot1 = new Quaternion().setFromRotationMatrix(new Matrix4().extractRotation(mat1));
108922
- var rot2 = new Quaternion().setFromRotationMatrix(new Matrix4().extractRotation(mat2));
108923
- d1.applyQuaternion(rot1);
108924
- d2.applyQuaternion(rot2);
108925
- return Math.abs(d1.dot(d2)) > 0.95;
108950
+ var cleanRot1 = normalizeMatrix(rotMat1);
108951
+ var cleanRot2 = normalizeMatrix(rotMat2);
108952
+
108953
+ // 3. 定义三个基向量(局部坐标系的X, Y, Z轴)
108954
+ var axes = [new Vector3(1, 0, 0), new Vector3(0, 1, 0), new Vector3(0, 0, 1)];
108955
+
108956
+ // 4. 检查是否有任意一对基向量在世界空间中平行
108957
+ var threshold = 0.99; // 提高阈值,更严格
108958
+ for (var _i2 = 0, _axes = axes; _i2 < _axes.length; _i2++) {
108959
+ var axis1 = _axes[_i2];
108960
+ // 将局部基向量转换到世界方向
108961
+ var worldDir1 = axis1.clone().applyMatrix4(cleanRot1).normalize();
108962
+ var _iterator4 = measure_clear_distance_createForOfIteratorHelper(axes),
108963
+ _step4;
108964
+ try {
108965
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
108966
+ var axis2 = _step4.value;
108967
+ var worldDir2 = axis2.clone().applyMatrix4(cleanRot2).normalize();
108968
+ var dot = Math.abs(worldDir1.dot(worldDir2));
108969
+ if (dot > threshold) {
108970
+ return true; // 只要有一对方向平行即判为平行
108971
+ }
108972
+ }
108973
+ } catch (err) {
108974
+ _iterator4.e(err);
108975
+ } finally {
108976
+ _iterator4.f();
108977
+ }
108978
+ }
108979
+ return false;
108926
108980
  },
108927
108981
  getInstanceWorldMatrix: function getInstanceWorldMatrix(instancedMesh, instanceId) {
108928
108982
  var matrix = new Matrix4();
@@ -108943,10 +108997,22 @@ measure_clear_distance_MeasureClearDistance.prototype = {
108943
108997
  this.polyline.splice(0);
108944
108998
  this.labels.splice(0);
108945
108999
  this.firstTime = 0;
109000
+ this.selectedObjects.forEach(function (item) {
109001
+ var instanceIndex = item.instanceId;
109002
+ item.object.setColorAt(instanceIndex, item.object.material.userData.nColor);
109003
+ item.object.instanceColor.needsUpdate = true;
109004
+ });
109005
+ this.selectedObjects.splice(0);
108946
109006
  }
108947
109007
  this.renderer.domElement.style.cursor = 'pointer';
108948
109008
  },
108949
109009
  clear: function clear() {
109010
+ this.selectedObjects.forEach(function (item) {
109011
+ var instanceIndex = item.instanceId;
109012
+ item.object.setColorAt(instanceIndex, item.object.material.userData.nColor);
109013
+ item.object.instanceColor.needsUpdate = true;
109014
+ });
109015
+ this.selectedObjects.splice(0);
108950
109016
  this.remove(this.points);
108951
109017
  this.remove(this.polyline);
108952
109018
  this.remove(this.labels);
@@ -124555,6 +124621,7 @@ var COLLISION_PENETRATION_EPSILON = 0.1;
124555
124621
  this.forceSkipRendering = true;
124556
124622
  this.skipNextRenderFrame = true;
124557
124623
  var intersects = this.getRaycasterObjects(event);
124624
+ console.log(intersects);
124558
124625
  var shouldBlockCamera = intersects.some(function (item) {
124559
124626
  return _this22.isActiveTransformControlIntersection(item);
124560
124627
  });
@@ -124588,7 +124655,13 @@ var COLLISION_PENETRATION_EPSILON = 0.1;
124588
124655
  this.mouse.x = x / rect.width * 2 - 1;
124589
124656
  this.mouse.y = -(y / rect.height) * 2 + 1;
124590
124657
  this.raycaster.setFromCamera(this.mouse, this.camera);
124591
- return this.scene && this.scene.children ? this.raycaster.intersectObjects(this.scene.children, true) : [];
124658
+ if (this.scene && this.scene.children) {
124659
+ var intersects = this.raycaster.intersectObjects(this.scene.children, true);
124660
+ return intersects.filter(function (item) {
124661
+ return item.object.type === 'Mesh';
124662
+ });
124663
+ }
124664
+ return [];
124592
124665
  },
124593
124666
  isTransformControlIntersection: function isTransformControlIntersection(intersection) {
124594
124667
  var current = intersection && intersection.object ? intersection.object : null;
@@ -127558,11 +127631,11 @@ var COLLISION_PENETRATION_EPSILON = 0.1;
127558
127631
  });
127559
127632
  // CONCATENATED MODULE: ./packages/components/com-graphics/index.vue?vue&type=script&lang=js
127560
127633
  /* harmony default export */ var components_com_graphicsvue_type_script_lang_js = (com_graphicsvue_type_script_lang_js);
127561
- // EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=0&id=46d6866f&prod&lang=scss&scoped=true
127562
- var com_graphicsvue_type_style_index_0_id_46d6866f_prod_lang_scss_scoped_true = __webpack_require__("cbdd");
127634
+ // EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=0&id=1f8c13ba&prod&lang=scss&scoped=true
127635
+ var com_graphicsvue_type_style_index_0_id_1f8c13ba_prod_lang_scss_scoped_true = __webpack_require__("e573");
127563
127636
 
127564
- // EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=1&id=46d6866f&prod&lang=css
127565
- var com_graphicsvue_type_style_index_1_id_46d6866f_prod_lang_css = __webpack_require__("12fb");
127637
+ // EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=1&id=1f8c13ba&prod&lang=css
127638
+ var com_graphicsvue_type_style_index_1_id_1f8c13ba_prod_lang_css = __webpack_require__("8673");
127566
127639
 
127567
127640
  // CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
127568
127641
  /* globals __VUE_SSR_CONTEXT__ */
@@ -127674,17 +127747,17 @@ function normalizeComponent(
127674
127747
 
127675
127748
  var component = normalizeComponent(
127676
127749
  components_com_graphicsvue_type_script_lang_js,
127677
- com_graphicsvue_type_template_id_46d6866f_scoped_true_render,
127750
+ com_graphicsvue_type_template_id_1f8c13ba_scoped_true_render,
127678
127751
  staticRenderFns,
127679
127752
  false,
127680
127753
  null,
127681
- "46d6866f",
127754
+ "1f8c13ba",
127682
127755
  null
127683
127756
 
127684
127757
  )
127685
127758
 
127686
127759
  /* harmony default export */ var com_graphics = (component.exports);
127687
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"44f05828-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=b313ab6c&scoped=true
127760
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1538a079-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=b313ab6c&scoped=true
127688
127761
  var com_flcanvasvue_type_template_id_b313ab6c_scoped_true_render = function render() {
127689
127762
  var _vm = this,
127690
127763
  _c = _vm._self._c;
@@ -131737,7 +131810,7 @@ var com_flcanvas_component = normalizeComponent(
131737
131810
  )
131738
131811
 
131739
131812
  /* harmony default export */ var com_flcanvas = (com_flcanvas_component.exports);
131740
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"44f05828-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
131813
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1538a079-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
131741
131814
  var per_controlvue_type_template_id_f547d5c6_scoped_true_render = function render() {
131742
131815
  var _vm = this,
131743
131816
  _c = _vm._self._c;
@@ -131845,7 +131918,7 @@ var per_control_component = normalizeComponent(
131845
131918
  )
131846
131919
 
131847
131920
  /* harmony default export */ var per_control = (per_control_component.exports);
131848
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"44f05828-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
131921
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1538a079-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
131849
131922
  var pidvue_type_template_id_2572c0e2_scoped_true_render = function render() {
131850
131923
  var _vm = this,
131851
131924
  _c = _vm._self._c;
@@ -131892,7 +131965,7 @@ var browserify_default = /*#__PURE__*/__webpack_require__.n(browserify);
131892
131965
  var html2canvas = __webpack_require__("c0e9");
131893
131966
  var html2canvas_default = /*#__PURE__*/__webpack_require__.n(html2canvas);
131894
131967
 
131895
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"44f05828-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
131968
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1538a079-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
131896
131969
  var ann_toolvue_type_template_id_4b17bce0_scoped_true_render = function render() {
131897
131970
  var _vm = this,
131898
131971
  _c = _vm._self._c;