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.
- package/dist/fl-web-component.common.js +307 -220
- package/dist/fl-web-component.common.js.map +1 -1
- package/dist/fl-web-component.css +1 -1
- package/package.json +1 -1
- package/packages/components/com-graphics/index.vue +25 -5
- package/packages/utils/StreamLoaderParser.worker.js +20 -20
- package/src/utils/instance-parser.js +64 -64
- package/src/utils/threejs/measure-clear-distance.js +149 -123
|
@@ -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.
|
|
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":"
|
|
78638
|
-
var
|
|
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=
|
|
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
|
|
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,
|
|
79432
|
+
extractClientCoordFromEvent(_this._activePointers, camera_controls_module_v2);
|
|
79444
79433
|
_this._getClientRect(_this._elementRect);
|
|
79445
|
-
dragStartPosition.copy(
|
|
79446
|
-
lastDragPosition.copy(
|
|
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 =
|
|
79451
|
-
var dy =
|
|
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,
|
|
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 -
|
|
79521
|
-
var deltaY = lockedPointer ? -lockedPointer.deltaY : lastDragPosition.y -
|
|
79522
|
-
lastDragPosition.copy(
|
|
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 =
|
|
79541
|
-
var dy =
|
|
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,
|
|
79569
|
-
lastDragPosition.copy(
|
|
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
|
-
|
|
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
|
-
|
|
108659
|
-
|
|
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
|
|
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
|
-
|
|
108723
|
-
|
|
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
|
-
|
|
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
|
-
|
|
108745
|
-
|
|
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
|
|
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
|
-
|
|
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 (
|
|
108792
|
-
return
|
|
108775
|
+
var totalArea = areas.reduce(function (s, a) {
|
|
108776
|
+
return s + a;
|
|
108793
108777
|
}, 0);
|
|
108794
|
-
|
|
108795
|
-
// 按面积比例分配采样点数
|
|
108796
108778
|
var points = [];
|
|
108797
|
-
for (var
|
|
108798
|
-
var _triangles$
|
|
108799
|
-
|
|
108800
|
-
|
|
108801
|
-
|
|
108802
|
-
var
|
|
108803
|
-
var
|
|
108804
|
-
|
|
108805
|
-
|
|
108806
|
-
|
|
108807
|
-
|
|
108808
|
-
|
|
108809
|
-
|
|
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
|
|
108819
|
-
var
|
|
108820
|
-
|
|
108821
|
-
|
|
108822
|
-
|
|
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
|
-
|
|
108831
|
-
|
|
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
|
|
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
|
|
108841
|
-
var
|
|
108842
|
-
|
|
108843
|
-
|
|
108844
|
-
var
|
|
108845
|
-
|
|
108846
|
-
|
|
108847
|
-
|
|
108848
|
-
|
|
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
|
-
|
|
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
|
|
108865
|
-
|
|
108886
|
+
var _iterator2 = measure_clear_distance_createForOfIteratorHelper(points1),
|
|
108887
|
+
_step2;
|
|
108866
108888
|
try {
|
|
108867
|
-
for (
|
|
108868
|
-
var p1 =
|
|
108869
|
-
var
|
|
108870
|
-
|
|
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 (
|
|
108873
|
-
var p2 =
|
|
108874
|
-
var d = p1.distanceTo(p2);
|
|
108875
|
-
if (d
|
|
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
|
-
|
|
108904
|
+
_iterator3.e(err);
|
|
108883
108905
|
} finally {
|
|
108884
|
-
|
|
108906
|
+
_iterator3.f();
|
|
108885
108907
|
}
|
|
108886
108908
|
}
|
|
108887
108909
|
} catch (err) {
|
|
108888
|
-
|
|
108910
|
+
_iterator2.e(err);
|
|
108889
108911
|
} finally {
|
|
108890
|
-
|
|
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
|
-
|
|
108903
|
-
|
|
108904
|
-
|
|
108905
|
-
|
|
108906
|
-
|
|
108907
|
-
|
|
108908
|
-
|
|
108909
|
-
|
|
108910
|
-
|
|
108911
|
-
|
|
108912
|
-
|
|
108913
|
-
|
|
108914
|
-
|
|
108915
|
-
|
|
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
|
|
108920
|
-
var
|
|
108921
|
-
|
|
108922
|
-
|
|
108923
|
-
|
|
108924
|
-
|
|
108925
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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=
|
|
127562
|
-
var
|
|
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=
|
|
127565
|
-
var
|
|
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
|
-
|
|
127753
|
+
com_graphicsvue_type_template_id_35050a2a_scoped_true_render,
|
|
127678
127754
|
staticRenderFns,
|
|
127679
127755
|
false,
|
|
127680
127756
|
null,
|
|
127681
|
-
"
|
|
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":"
|
|
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":"
|
|
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":"
|
|
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":"
|
|
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
|
/******/ });
|