fl-web-component 2.0.19-beta.1 → 2.0.19-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.
@@ -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":
@@ -13838,6 +13827,13 @@ function isVNode(node) {
13838
13827
 
13839
13828
  /***/ }),
13840
13829
 
13830
+ /***/ "4388":
13831
+ /***/ (function(module, exports, __webpack_require__) {
13832
+
13833
+ // extracted by mini-css-extract-plugin
13834
+
13835
+ /***/ }),
13836
+
13841
13837
  /***/ "4546":
13842
13838
  /***/ (function(module, exports, __webpack_require__) {
13843
13839
 
@@ -30356,6 +30352,13 @@ module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exp
30356
30352
 
30357
30353
  /***/ }),
30358
30354
 
30355
+ /***/ "5a72":
30356
+ /***/ (function(module, exports, __webpack_require__) {
30357
+
30358
+ // extracted by mini-css-extract-plugin
30359
+
30360
+ /***/ }),
30361
+
30359
30362
  /***/ "5a94":
30360
30363
  /***/ (function(module, exports, __webpack_require__) {
30361
30364
 
@@ -56500,7 +56503,7 @@ module.exports = document && document.documentElement;
56500
56503
  /***/ "9224":
56501
56504
  /***/ (function(module) {
56502
56505
 
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\"]}");
56506
+ module.exports = JSON.parse("{\"name\":\"fl-web-component\",\"version\":\"2.0.19-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\"]}");
56504
56507
 
56505
56508
  /***/ }),
56506
56509
 
@@ -69126,17 +69129,6 @@ module.exports = function (it) {
69126
69129
  return it;
69127
69130
  };
69128
69131
 
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
69132
  /***/ }),
69141
69133
 
69142
69134
  /***/ "cc15":
@@ -69246,6 +69238,17 @@ module.exports = function (it) {
69246
69238
  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
69247
69239
  };
69248
69240
 
69241
+ /***/ }),
69242
+
69243
+ /***/ "d29b":
69244
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
69245
+
69246
+ "use strict";
69247
+ /* 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_35050a2a_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("5a72");
69248
+ /* 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_35050a2a_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_35050a2a_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__);
69249
+ /* unused harmony reexport * */
69250
+
69251
+
69249
69252
  /***/ }),
69250
69253
 
69251
69254
  /***/ "d397":
@@ -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
 
@@ -78634,8 +78623,8 @@ if (typeof window !== 'undefined') {
78634
78623
  // Indicate to webpack that this file can be concatenated
78635
78624
  /* harmony default export */ var setPublicPath = (null);
78636
78625
 
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() {
78626
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"29757e0f-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=35050a2a&scoped=true
78627
+ var com_graphicsvue_type_template_id_35050a2a_scoped_true_render = function render() {
78639
78628
  var _vm = this,
78640
78629
  _c = _vm._self._c;
78641
78630
  return _c('div', {
@@ -78647,7 +78636,7 @@ var com_graphicsvue_type_template_id_46d6866f_scoped_true_render = function rend
78647
78636
  };
78648
78637
  var staticRenderFns = [];
78649
78638
 
78650
- // CONCATENATED MODULE: ./packages/components/com-graphics/index.vue?vue&type=template&id=46d6866f&scoped=true
78639
+ // CONCATENATED MODULE: ./packages/components/com-graphics/index.vue?vue&type=template&id=35050a2a&scoped=true
78651
78640
 
78652
78641
  // CONCATENATED MODULE: ./node_modules/camera-controls/dist/camera-controls.module.js
78653
78642
  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 +78913,7 @@ var camera_controls_module_THREE;
78924
78913
  var _ORIGIN;
78925
78914
  var _AXIS_Y;
78926
78915
  var _AXIS_Z;
78927
- var _v2;
78916
+ var camera_controls_module_v2;
78928
78917
  var _v3A;
78929
78918
  var _v3B;
78930
78919
  var _v3C;
@@ -79440,15 +79429,15 @@ var CameraControls = /*#__PURE__*/function (_EventDispatcher) {
79440
79429
  };
79441
79430
  var startDragging = function startDragging(event) {
79442
79431
  if (!_this._enabled) return;
79443
- extractClientCoordFromEvent(_this._activePointers, _v2);
79432
+ extractClientCoordFromEvent(_this._activePointers, camera_controls_module_v2);
79444
79433
  _this._getClientRect(_this._elementRect);
79445
- dragStartPosition.copy(_v2);
79446
- lastDragPosition.copy(_v2);
79434
+ dragStartPosition.copy(camera_controls_module_v2);
79435
+ lastDragPosition.copy(camera_controls_module_v2);
79447
79436
  var isMultiTouch = _this._activePointers.length >= 2;
79448
79437
  if (isMultiTouch) {
79449
79438
  // 2 finger pinch
79450
- var dx = _v2.x - _this._activePointers[1].clientX;
79451
- var dy = _v2.y - _this._activePointers[1].clientY;
79439
+ var dx = camera_controls_module_v2.x - _this._activePointers[1].clientX;
79440
+ var dy = camera_controls_module_v2.y - _this._activePointers[1].clientY;
79452
79441
  var distance = Math.sqrt(dx * dx + dy * dy);
79453
79442
  dollyStart.set(0, distance);
79454
79443
  // center coords of 2 finger truck
@@ -79512,14 +79501,14 @@ var CameraControls = /*#__PURE__*/function (_EventDispatcher) {
79512
79501
  var dragging = function dragging() {
79513
79502
  if (!_this._enabled || !_this._dragNeedsUpdate) return;
79514
79503
  _this._dragNeedsUpdate = false;
79515
- extractClientCoordFromEvent(_this._activePointers, _v2);
79504
+ extractClientCoordFromEvent(_this._activePointers, camera_controls_module_v2);
79516
79505
  // When pointer lock is enabled clientX, clientY, screenX, and screenY remain 0.
79517
79506
  // If pointer lock is enabled, use the Delta directory, and assume active-pointer is not multiple.
79518
79507
  var isPointerLockActive = _this._domElement && _this._domElement.ownerDocument.pointerLockElement === _this._domElement;
79519
79508
  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);
79509
+ var deltaX = lockedPointer ? -lockedPointer.deltaX : lastDragPosition.x - camera_controls_module_v2.x;
79510
+ var deltaY = lockedPointer ? -lockedPointer.deltaY : lastDragPosition.y - camera_controls_module_v2.y;
79511
+ lastDragPosition.copy(camera_controls_module_v2);
79523
79512
  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
79513
  _this._rotateInternal(deltaX, deltaY);
79525
79514
  _this._isUserControllingRotate = true;
@@ -79537,8 +79526,8 @@ var CameraControls = /*#__PURE__*/function (_EventDispatcher) {
79537
79526
  }
79538
79527
  }
79539
79528
  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;
79529
+ var dx = camera_controls_module_v2.x - _this._activePointers[1].clientX;
79530
+ var dy = camera_controls_module_v2.y - _this._activePointers[1].clientY;
79542
79531
  var distance = Math.sqrt(dx * dx + dy * dy);
79543
79532
  var dollyDelta = dollyStart.y - distance;
79544
79533
  dollyStart.set(0, distance);
@@ -79565,8 +79554,8 @@ var CameraControls = /*#__PURE__*/function (_EventDispatcher) {
79565
79554
  });
79566
79555
  };
79567
79556
  var endDragging = function endDragging() {
79568
- extractClientCoordFromEvent(_this._activePointers, _v2);
79569
- lastDragPosition.copy(_v2);
79557
+ extractClientCoordFromEvent(_this._activePointers, camera_controls_module_v2);
79558
+ lastDragPosition.copy(camera_controls_module_v2);
79570
79559
  _this._dragNeedsUpdate = false;
79571
79560
  if (_this._activePointers.length === 0 || _this._activePointers.length === 1 && _this._activePointers[0] === _this._lockedPointer) {
79572
79561
  _this._isDragging = false;
@@ -81190,7 +81179,7 @@ var CameraControls = /*#__PURE__*/function (_EventDispatcher) {
81190
81179
  _ORIGIN = Object.freeze(new camera_controls_module_THREE.Vector3(0, 0, 0));
81191
81180
  _AXIS_Y = Object.freeze(new camera_controls_module_THREE.Vector3(0, 1, 0));
81192
81181
  _AXIS_Z = Object.freeze(new camera_controls_module_THREE.Vector3(0, 0, 1));
81193
- _v2 = new camera_controls_module_THREE.Vector2();
81182
+ camera_controls_module_v2 = new camera_controls_module_THREE.Vector2();
81194
81183
  _v3A = new camera_controls_module_THREE.Vector3();
81195
81184
  _v3B = new camera_controls_module_THREE.Vector3();
81196
81185
  _v3C = new camera_controls_module_THREE.Vector3();
@@ -108606,12 +108595,8 @@ measure_height_MeasureHeight.prototype = {
108606
108595
  });
108607
108596
  // CONCATENATED MODULE: ./src/utils/threejs/measure-clear-distance.js
108608
108597
  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
108598
  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
108599
  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
108600
 
108616
108601
 
108617
108602
 
@@ -108655,10 +108640,17 @@ measure_clear_distance_MeasureClearDistance.prototype = {
108655
108640
  mouse.y = -(canvasY / elRect.height) * 2.0 + 1.0;
108656
108641
  measure_clear_distance_this.raycaster.setFromCamera(mouse, this.camera);
108657
108642
  var intersects = measure_clear_distance_this.raycaster.intersectObjects(measure_clear_distance_this.scene.children, true);
108658
- if (intersects.length > 0) {
108659
- return intersects[0];
108643
+ var l = intersects.length;
108644
+ var obj = null;
108645
+ if (l > 0) {
108646
+ for (var index = 0; index < l; index++) {
108647
+ if (intersects[index].object.type === 'Mesh') {
108648
+ obj = intersects[index];
108649
+ break;
108650
+ }
108651
+ }
108660
108652
  }
108661
- return null;
108653
+ return obj;
108662
108654
  },
108663
108655
  createLine: function createLine(p1, p2) {
108664
108656
  var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
@@ -108703,8 +108695,15 @@ measure_clear_distance_MeasureClearDistance.prototype = {
108703
108695
  var lastTime = new Date().getTime();
108704
108696
  if (lastTime - this.firstTime < 300) {
108705
108697
  var measureObj = measure_clear_distance_this.getPosition(e);
108698
+ console.log(measureObj);
108706
108699
  if (measureObj) {
108707
108700
  measure_clear_distance_this.selectedObjects.push(measureObj);
108701
+ // 高亮选中的
108702
+ // const instanceInfo = measureObj.object.userData?.instancesMap?.get(measureObj.object.name);
108703
+ // const { instanceIndex } = instanceInfo;
108704
+ var instanceIndex = measureObj.instanceId;
108705
+ measureObj.object.setColorAt(instanceIndex, new Color(0x53a8ff));
108706
+ measureObj.object.instanceColor.needsUpdate = true;
108708
108707
  if (measure_clear_distance_this.selectedObjects.length % 2 === 0) {
108709
108708
  measure_clear_distance_this.calculateClearDistance();
108710
108709
  }
@@ -108719,13 +108718,35 @@ measure_clear_distance_MeasureClearDistance.prototype = {
108719
108718
  var obj1 = this.selectedObjects[l - 2];
108720
108719
  var obj2 = this.selectedObjects[l - 1];
108721
108720
  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) {
108721
+ if (!isParallel) {
108722
+ element_ui_common["Message"].warning('请选择两个平行的物体');
108726
108723
  return;
108727
108724
  }
108728
- var closestPair = this.findClosestPair(pts1, pts2);
108725
+ // 全局采样
108726
+ var localPts1 = this.sampleGlobal(obj1.object.geometry, 1000);
108727
+ var localPts2 = this.sampleGlobal(obj2.object.geometry, 1000);
108728
+ var wm1 = this.getInstanceWorldMatrix(obj1.object, obj1.instanceId);
108729
+ var wm2 = this.getInstanceWorldMatrix(obj2.object, obj2.instanceId);
108730
+ var worldPts1 = localPts1.map(function (p) {
108731
+ return p.clone().applyMatrix4(wm1);
108732
+ });
108733
+ var worldPts2 = localPts2.map(function (p) {
108734
+ return p.clone().applyMatrix4(wm2);
108735
+ });
108736
+ var closestPair = this.findClosestPair(worldPts1, worldPts2);
108737
+ // 局部精细搜索
108738
+ var radius = closestPair.distance * 2 + 0.1;
108739
+ var localPts1Fine = this.sampleLocal(obj1.object, obj1.instanceId, closestPair.point1, radius, 1000);
108740
+ var localPts2Fine = this.sampleLocal(obj2.object, obj2.instanceId, closestPair.point2, radius, 1000);
108741
+ var combined1 = worldPts1.filter(function (p) {
108742
+ return p.distanceTo(closestPair.point1) < radius;
108743
+ }).concat(localPts1Fine);
108744
+ var combined2 = worldPts2.filter(function (p) {
108745
+ return p.distanceTo(closestPair.point2) < radius;
108746
+ }).concat(localPts2Fine);
108747
+ if (combined1.length > 0 && combined2.length > 0) {
108748
+ closestPair = this.findClosestPair(combined1, combined2, true);
108749
+ }
108729
108750
  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
108751
  // 将测量结果显示在页面中
108731
108752
  var circleTag1 = this.createLabel('circle-tag', '', closestPair.point1);
@@ -108741,153 +108762,154 @@ measure_clear_distance_MeasureClearDistance.prototype = {
108741
108762
  this.scene.add(line);
108742
108763
  this.scene.add(label);
108743
108764
  },
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) {
108765
+ // 全部采样
108766
+ sampleGlobal: function sampleGlobal(geometry) {
108756
108767
  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
- }
108768
+ var triangles = this.extractTriangles(geometry);
108779
108769
  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);
108770
+ var areas = triangles.map(function (t) {
108771
+ var ab = new Vector3().subVectors(t.b, t.a);
108772
+ var ac = new Vector3().subVectors(t.c, t.a);
108789
108773
  return new Vector3().crossVectors(ab, ac).length() * 0.5;
108790
108774
  });
108791
- var totalArea = areas.reduce(function (sum, a) {
108792
- return sum + a;
108775
+ var totalArea = areas.reduce(function (s, a) {
108776
+ return s + a;
108793
108777
  }, 0);
108794
-
108795
- // 按面积比例分配采样点数
108796
108778
  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
- // 如果点数不够,随机补充
108779
+ for (var i = 0; i < triangles.length; i++) {
108780
+ var _triangles$i = triangles[i],
108781
+ a = _triangles$i.a,
108782
+ b = _triangles$i.b,
108783
+ c = _triangles$i.c;
108784
+ var count = Math.max(1, Math.round(areas[i] / totalArea * maxPoints));
108785
+ for (var j = 0; j < count; j++) {
108786
+ var u = Math.random(),
108787
+ v = Math.random() * (1 - u),
108788
+ w = 1 - u - v;
108789
+ points.push(new Vector3().addScaledVector(a, u).addScaledVector(b, v).addScaledVector(c, w));
108790
+ }
108791
+ }
108817
108792
  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));
108793
+ var t = triangles[Math.floor(Math.random() * triangles.length)];
108794
+ var _u = Math.random(),
108795
+ _v = Math.random() * (1 - _u),
108796
+ _w = 1 - _u - _v;
108797
+ points.push(new Vector3().addScaledVector(t.a, _u).addScaledVector(t.b, _v).addScaledVector(t.c, _w));
108827
108798
  }
108828
108799
  return points.slice(0, maxPoints);
108829
108800
  },
108830
- generateGenericLocalPoints: function generateGenericLocalPoints(geometry) {
108831
- var maxPoints = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;
108801
+ // 局部采样
108802
+ sampleLocal: function sampleLocal(instancedMesh, instanceId, centerWorld, radius) {
108803
+ var pointsCount = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 300;
108804
+ var worldMatrix = this.getInstanceWorldMatrix(instancedMesh, instanceId);
108805
+ var invMatrix = new Matrix4().copy(worldMatrix).invert();
108806
+ var centerLocal = centerWorld.clone().applyMatrix4(invMatrix);
108807
+ var triangles = this.extractTriangles(instancedMesh.geometry);
108808
+ if (triangles.length === 0) return [];
108809
+ var relevantTris = triangles.filter(function (t) {
108810
+ var box = new Box3().setFromPoints([t.a, t.b, t.c]);
108811
+ return box.distanceToPoint(centerLocal) <= radius;
108812
+ });
108813
+ if (relevantTris.length === 0) return [];
108814
+ var localPoints = [];
108815
+ var perTri = Math.ceil(pointsCount / relevantTris.length);
108816
+ var _iterator = measure_clear_distance_createForOfIteratorHelper(relevantTris),
108817
+ _step;
108818
+ try {
108819
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
108820
+ var _step$value = _step.value,
108821
+ _a = _step$value.a,
108822
+ _b = _step$value.b,
108823
+ _c = _step$value.c;
108824
+ for (var j = 0; j < perTri; j++) {
108825
+ var _u2 = Math.random(),
108826
+ _v2 = Math.random() * (1 - _u2),
108827
+ _w2 = 1 - _u2 - _v2;
108828
+ var _pt = new Vector3().addScaledVector(_a, _u2).addScaledVector(_b, _v2).addScaledVector(_c, _w2);
108829
+ if (_pt.distanceTo(centerLocal) <= radius) localPoints.push(_pt);
108830
+ }
108831
+ }
108832
+ } catch (err) {
108833
+ _iterator.e(err);
108834
+ } finally {
108835
+ _iterator.f();
108836
+ }
108837
+ while (localPoints.length < pointsCount && relevantTris.length > 0) {
108838
+ var _relevantTris$Math$fl = relevantTris[Math.floor(Math.random() * relevantTris.length)],
108839
+ a = _relevantTris$Math$fl.a,
108840
+ b = _relevantTris$Math$fl.b,
108841
+ c = _relevantTris$Math$fl.c;
108842
+ var u = Math.random(),
108843
+ v = Math.random() * (1 - u),
108844
+ w = 1 - u - v;
108845
+ var pt = new Vector3().addScaledVector(a, u).addScaledVector(b, v).addScaledVector(c, w);
108846
+ if (pt.distanceTo(centerLocal) <= radius) localPoints.push(pt);
108847
+ }
108848
+ return localPoints.map(function (p) {
108849
+ return p.clone().applyMatrix4(worldMatrix);
108850
+ });
108851
+ },
108852
+ extractTriangles: function extractTriangles(geometry) {
108832
108853
  var pos = geometry.getAttribute('position');
108833
108854
  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;
108855
+ var triangles = [];
108839
108856
  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
- }
108857
+ var idx = geometry.index.array;
108858
+ for (var i = 0; i < idx.length; i += 3) {
108859
+ var a = new Vector3(pos.getX(idx[i]), pos.getY(idx[i]), pos.getZ(idx[i]));
108860
+ var b = new Vector3(pos.getX(idx[i + 1]), pos.getY(idx[i + 1]), pos.getZ(idx[i + 1]));
108861
+ var c = new Vector3(pos.getX(idx[i + 2]), pos.getY(idx[i + 2]), pos.getZ(idx[i + 2]));
108862
+ triangles.push({
108863
+ a: a,
108864
+ b: b,
108865
+ c: c
108866
+ });
108867
+ }
108868
+ } else {
108869
+ for (var _i = 0; _i < pos.count; _i += 3) {
108870
+ var _a2 = new Vector3(pos.getX(_i), pos.getY(_i), pos.getZ(_i));
108871
+ var _b2 = new Vector3(pos.getX(_i + 1), pos.getY(_i + 1), pos.getZ(_i + 1));
108872
+ var _c2 = new Vector3(pos.getX(_i + 2), pos.getY(_i + 2), pos.getZ(_i + 2));
108873
+ triangles.push({
108874
+ a: _a2,
108875
+ b: _b2,
108876
+ c: _c2
108877
+ });
108850
108878
  }
108851
108879
  }
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;
108880
+ return triangles;
108859
108881
  },
108860
108882
  findClosestPair: function findClosestPair(points1, points2) {
108861
108883
  var minDist = Infinity;
108862
108884
  var c1 = new Vector3();
108863
108885
  var c2 = new Vector3();
108864
- var _iterator = measure_clear_distance_createForOfIteratorHelper(points1),
108865
- _step;
108886
+ var _iterator2 = measure_clear_distance_createForOfIteratorHelper(points1),
108887
+ _step2;
108866
108888
  try {
108867
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
108868
- var p1 = _step.value;
108869
- var _iterator2 = measure_clear_distance_createForOfIteratorHelper(points2),
108870
- _step2;
108889
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
108890
+ var p1 = _step2.value;
108891
+ var _iterator3 = measure_clear_distance_createForOfIteratorHelper(points2),
108892
+ _step3;
108871
108893
  try {
108872
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
108873
- var p2 = _step2.value;
108874
- var d = p1.distanceTo(p2);
108875
- if (d < minDist) {
108894
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
108895
+ var p2 = _step3.value;
108896
+ var d = Number(p1.distanceTo(p2).toFixed(2));
108897
+ if (d <= minDist) {
108876
108898
  minDist = d;
108877
108899
  c1.copy(p1);
108878
108900
  c2.copy(p2);
108879
108901
  }
108880
108902
  }
108881
108903
  } catch (err) {
108882
- _iterator2.e(err);
108904
+ _iterator3.e(err);
108883
108905
  } finally {
108884
- _iterator2.f();
108906
+ _iterator3.f();
108885
108907
  }
108886
108908
  }
108887
108909
  } catch (err) {
108888
- _iterator.e(err);
108910
+ _iterator2.e(err);
108889
108911
  } finally {
108890
- _iterator.f();
108912
+ _iterator2.f();
108891
108913
  }
108892
108914
  return {
108893
108915
  point1: c1,
@@ -108895,34 +108917,55 @@ measure_clear_distance_MeasureClearDistance.prototype = {
108895
108917
  distance: minDist
108896
108918
  };
108897
108919
  },
108898
- // 平行判断 (基于包围盒主轴方向)
108899
108920
  checkParallelism: function checkParallelism(inst1, id1, inst2, id2) {
108921
+ // 1. 获取世界矩阵
108900
108922
  var mat1 = this.getInstanceWorldMatrix(inst1, id1);
108901
108923
  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);
108924
+
108925
+ // 2. 提取纯旋转部分(消除缩放和位移)
108926
+ var rotMat1 = new Matrix4().extractRotation(mat1);
108927
+ var rotMat2 = new Matrix4().extractRotation(mat2);
108928
+
108929
+ // 如果物体可能有非均匀缩放,extractRotation 可能会出错,
108930
+ // 更稳健的方法是手动归一化列向量
108931
+ var normalizeMatrix = function normalizeMatrix(m) {
108932
+ var col0 = new Vector3().setFromMatrixColumn(m, 0).normalize();
108933
+ var col1 = new Vector3().setFromMatrixColumn(m, 1).normalize();
108934
+ var col2 = new Vector3().setFromMatrixColumn(m, 2).normalize();
108935
+ var normMat = new Matrix4();
108936
+ normMat.makeBasis(col0, col1, col2);
108937
+ return normMat;
108918
108938
  };
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;
108939
+ var cleanRot1 = normalizeMatrix(rotMat1);
108940
+ var cleanRot2 = normalizeMatrix(rotMat2);
108941
+
108942
+ // 3. 定义三个基向量(局部坐标系的X, Y, Z轴)
108943
+ var axes = [new Vector3(1, 0, 0), new Vector3(0, 1, 0), new Vector3(0, 0, 1)];
108944
+
108945
+ // 4. 检查是否有任意一对基向量在世界空间中平行
108946
+ var threshold = 0.99; // 提高阈值,更严格
108947
+ for (var _i2 = 0, _axes = axes; _i2 < _axes.length; _i2++) {
108948
+ var axis1 = _axes[_i2];
108949
+ // 将局部基向量转换到世界方向
108950
+ var worldDir1 = axis1.clone().applyMatrix4(cleanRot1).normalize();
108951
+ var _iterator4 = measure_clear_distance_createForOfIteratorHelper(axes),
108952
+ _step4;
108953
+ try {
108954
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
108955
+ var axis2 = _step4.value;
108956
+ var worldDir2 = axis2.clone().applyMatrix4(cleanRot2).normalize();
108957
+ var dot = Math.abs(worldDir1.dot(worldDir2));
108958
+ if (dot > threshold) {
108959
+ return true; // 只要有一对方向平行即判为平行
108960
+ }
108961
+ }
108962
+ } catch (err) {
108963
+ _iterator4.e(err);
108964
+ } finally {
108965
+ _iterator4.f();
108966
+ }
108967
+ }
108968
+ return false;
108926
108969
  },
108927
108970
  getInstanceWorldMatrix: function getInstanceWorldMatrix(instancedMesh, instanceId) {
108928
108971
  var matrix = new Matrix4();
@@ -108943,10 +108986,22 @@ measure_clear_distance_MeasureClearDistance.prototype = {
108943
108986
  this.polyline.splice(0);
108944
108987
  this.labels.splice(0);
108945
108988
  this.firstTime = 0;
108989
+ this.selectedObjects.forEach(function (item) {
108990
+ var instanceIndex = item.instanceId;
108991
+ item.object.setColorAt(instanceIndex, item.object.material.userData.nColor);
108992
+ item.object.instanceColor.needsUpdate = true;
108993
+ });
108994
+ this.selectedObjects.splice(0);
108946
108995
  }
108947
108996
  this.renderer.domElement.style.cursor = 'pointer';
108948
108997
  },
108949
108998
  clear: function clear() {
108999
+ this.selectedObjects.forEach(function (item) {
109000
+ var instanceIndex = item.instanceId;
109001
+ item.object.setColorAt(instanceIndex, item.object.material.userData.nColor);
109002
+ item.object.instanceColor.needsUpdate = true;
109003
+ });
109004
+ this.selectedObjects.splice(0);
108950
109005
  this.remove(this.points);
108951
109006
  this.remove(this.polyline);
108952
109007
  this.remove(this.labels);
@@ -111581,8 +111636,8 @@ function composeInstanceMatrix(instance, mesh, geometry) {
111581
111636
  return resultMatrix;
111582
111637
  }
111583
111638
 
111584
- /**
111585
- * 重置处理状态,用于新的批量加载会话
111639
+ /**
111640
+ * 重置处理状态,用于新的批量加载会话
111586
111641
  */
111587
111642
  function resetProcessingState() {
111588
111643
  drawObjMapInstance = {};
@@ -124555,6 +124610,7 @@ var COLLISION_PENETRATION_EPSILON = 0.1;
124555
124610
  this.forceSkipRendering = true;
124556
124611
  this.skipNextRenderFrame = true;
124557
124612
  var intersects = this.getRaycasterObjects(event);
124613
+ console.log(intersects);
124558
124614
  var shouldBlockCamera = intersects.some(function (item) {
124559
124615
  return _this22.isActiveTransformControlIntersection(item);
124560
124616
  });
@@ -124588,7 +124644,13 @@ var COLLISION_PENETRATION_EPSILON = 0.1;
124588
124644
  this.mouse.x = x / rect.width * 2 - 1;
124589
124645
  this.mouse.y = -(y / rect.height) * 2 + 1;
124590
124646
  this.raycaster.setFromCamera(this.mouse, this.camera);
124591
- return this.scene && this.scene.children ? this.raycaster.intersectObjects(this.scene.children, true) : [];
124647
+ if (this.scene && this.scene.children) {
124648
+ var intersects = this.raycaster.intersectObjects(this.scene.children, true);
124649
+ return intersects.filter(function (item) {
124650
+ return item.object.type === 'Mesh';
124651
+ });
124652
+ }
124653
+ return [];
124592
124654
  },
124593
124655
  isTransformControlIntersection: function isTransformControlIntersection(intersection) {
124594
124656
  var current = intersection && intersection.object ? intersection.object : null;
@@ -125030,6 +125092,20 @@ var COLLISION_PENETRATION_EPSILON = 0.1;
125030
125092
  this.buildOctreeFromBoxIndex();
125031
125093
  }
125032
125094
  },
125095
+ safeTraverse: function safeTraverse(object, callback) {
125096
+ var stack = [object];
125097
+ while (stack.length > 0) {
125098
+ var current = stack.pop();
125099
+ if (!current) continue;
125100
+ callback(current);
125101
+ var children = Array.isArray(current.children) ? current.children : [];
125102
+ for (var i = children.length - 1; i >= 0; i--) {
125103
+ if (children[i]) {
125104
+ stack.push(children[i]);
125105
+ }
125106
+ }
125107
+ }
125108
+ },
125033
125109
  setAllModelVisible: function setAllModelVisible(visible) {
125034
125110
  var _this27 = this;
125035
125111
  var isVisible = Boolean(visible);
@@ -125041,7 +125117,7 @@ var COLLISION_PENETRATION_EPSILON = 0.1;
125041
125117
  });
125042
125118
  }
125043
125119
  if (this.scene) {
125044
- this.scene.traverse(function (child) {
125120
+ this.safeTraverse(this.scene, function (child) {
125045
125121
  if (!child || !child.isInstancedMesh) return;
125046
125122
  var userData = child.userData || {};
125047
125123
  if (!(userData.instancesMap instanceof Map) || userData.instancesMap.size === 0) return;
@@ -125071,7 +125147,7 @@ var COLLISION_PENETRATION_EPSILON = 0.1;
125071
125147
  return nodeType === 'custom-root' || rootType === 'custom-root';
125072
125148
  });
125073
125149
  if (customRoot) {
125074
- customRoot.traverse(function (object) {
125150
+ this.safeTraverse(customRoot, function (object) {
125075
125151
  object.visible = isVisible;
125076
125152
  });
125077
125153
  }
@@ -127558,11 +127634,11 @@ var COLLISION_PENETRATION_EPSILON = 0.1;
127558
127634
  });
127559
127635
  // CONCATENATED MODULE: ./packages/components/com-graphics/index.vue?vue&type=script&lang=js
127560
127636
  /* 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");
127637
+ // EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=0&id=35050a2a&prod&lang=scss&scoped=true
127638
+ var com_graphicsvue_type_style_index_0_id_35050a2a_prod_lang_scss_scoped_true = __webpack_require__("feec");
127563
127639
 
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");
127640
+ // EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=1&id=35050a2a&prod&lang=css
127641
+ var com_graphicsvue_type_style_index_1_id_35050a2a_prod_lang_css = __webpack_require__("d29b");
127566
127642
 
127567
127643
  // CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
127568
127644
  /* globals __VUE_SSR_CONTEXT__ */
@@ -127674,17 +127750,17 @@ function normalizeComponent(
127674
127750
 
127675
127751
  var component = normalizeComponent(
127676
127752
  components_com_graphicsvue_type_script_lang_js,
127677
- com_graphicsvue_type_template_id_46d6866f_scoped_true_render,
127753
+ com_graphicsvue_type_template_id_35050a2a_scoped_true_render,
127678
127754
  staticRenderFns,
127679
127755
  false,
127680
127756
  null,
127681
- "46d6866f",
127757
+ "35050a2a",
127682
127758
  null
127683
127759
 
127684
127760
  )
127685
127761
 
127686
127762
  /* 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
127763
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"29757e0f-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
127764
  var com_flcanvasvue_type_template_id_b313ab6c_scoped_true_render = function render() {
127689
127765
  var _vm = this,
127690
127766
  _c = _vm._self._c;
@@ -131737,7 +131813,7 @@ var com_flcanvas_component = normalizeComponent(
131737
131813
  )
131738
131814
 
131739
131815
  /* 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
131816
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"29757e0f-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
131817
  var per_controlvue_type_template_id_f547d5c6_scoped_true_render = function render() {
131742
131818
  var _vm = this,
131743
131819
  _c = _vm._self._c;
@@ -131845,7 +131921,7 @@ var per_control_component = normalizeComponent(
131845
131921
  )
131846
131922
 
131847
131923
  /* 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
131924
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"29757e0f-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
131925
  var pidvue_type_template_id_2572c0e2_scoped_true_render = function render() {
131850
131926
  var _vm = this,
131851
131927
  _c = _vm._self._c;
@@ -131892,7 +131968,7 @@ var browserify_default = /*#__PURE__*/__webpack_require__.n(browserify);
131892
131968
  var html2canvas = __webpack_require__("c0e9");
131893
131969
  var html2canvas_default = /*#__PURE__*/__webpack_require__.n(html2canvas);
131894
131970
 
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
131971
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"29757e0f-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
131972
  var ann_toolvue_type_template_id_4b17bce0_scoped_true_render = function render() {
131897
131973
  var _vm = this,
131898
131974
  _c = _vm._self._c;
@@ -133612,6 +133688,17 @@ exports.Konva = _CoreInternals_1.Konva.Util._assign(_CoreInternals_1.Konva, {
133612
133688
 
133613
133689
  exports.f = Object.getOwnPropertySymbols;
133614
133690
 
133691
+ /***/ }),
133692
+
133693
+ /***/ "feec":
133694
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
133695
+
133696
+ "use strict";
133697
+ /* 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_35050a2a_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4388");
133698
+ /* 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_35050a2a_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_35050a2a_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
133699
+ /* unused harmony reexport * */
133700
+
133701
+
133615
133702
  /***/ })
133616
133703
 
133617
133704
  /******/ });