fl-web-component 2.1.9 → 2.1.10

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.
@@ -1 +1 @@
1
- @charset "UTF-8";.fl-model-containor[data-v-aad9e878]{width:100%;height:100%;position:relative;cursor:pointer}[data-v-aad9e878] .tips-label{width:60px;color:#000;font:12px Helvetica;margin-top:-3em;padding:5px;text-align:center;vertical-align:middle;background-color:khaki}[data-v-aad9e878] .measure-label{max-width:100px;margin-top:-1em;border:10px;border-radius:5px;padding:3px 10px;cursor:pointer;color:#009bea;background-color:#f4f4f4;-webkit-box-shadow:0 1px 3px 1px rgba(0,0,0,.25);box-shadow:0 1px 3px 1px rgba(0,0,0,.25)}[data-v-aad9e878] .circle-tag{width:10px;height:10px;margin-top:5px;border-radius:50%;background-color:#ff5000}[data-v-aad9e878] .measure-label-font{word-break:break-all}[data-v-aad9e878] .mark-label-img{padding-top:5px;width:20px;height:20px}.loading-overlay[data-v-aad9e878]{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;-webkit-transition:opacity .3s ease,visibility .3s ease;transition:opacity .3s ease,visibility .3s ease}.loading-overlay--visible[data-v-aad9e878]{opacity:1;visibility:visible}.loading-content[data-v-aad9e878]{background:#fff;border-radius:12px;padding:30px;text-align:center;-webkit-box-shadow:0 8px 32px rgba(0,0,0,.3);box-shadow:0 8px 32px rgba(0,0,0,.3);min-width:300px;max-width:400px}.loading-spinner[data-v-aad9e878]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #409eff;border-radius:50%;-webkit-animation:spin-aad9e878 1s linear infinite;animation:spin-aad9e878 1s linear infinite;margin:0 auto 20px}@-webkit-keyframes spin-aad9e878{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-aad9e878{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-text[data-v-aad9e878]{font-size:16px;font-weight:500;color:#333;margin-bottom:20px}.loading-this.progress-bar[data-v-aad9e878]{width:100%;height:8px;background-color:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:15px}.loading-this.progress-fill[data-v-aad9e878]{height:100%;background:-webkit-gradient(linear,left top,right top,from(#409eff),to(#67c23a));background:linear-gradient(90deg,#409eff,#67c23a);border-radius:4px;-webkit-transition:width .3s ease;transition:width .3s ease}.loading-details[data-v-aad9e878]{font-size:12px;color:#666;line-height:1.5}.lil-this.gui{background:hsla(0,0%,100%,.95)!important;border:1px solid #e0e0e0!important;border-radius:8px!important;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.15)!important;box-shadow:0 4px 12px rgba(0,0,0,.15)!important;backdrop-filter:blur(10px)!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.lil-this.gui .title{background:linear-gradient(135deg,#f8f9fa,#e9ecef)!important;color:#495057!important;border-bottom:1px solid #dee2e6!important;font-weight:600!important;padding:0 12px!important;border-radius:8px 8px 0 0!important}.lil-this.gui .controller{border-bottom:1px solid #f1f3f4!important;background:transparent!important}.lil-this.gui .controller:last-child{border-bottom:none!important}.lil-this.gui .controller .name{color:#495057!important;font-weight:500!important;font-size:12px!important}.lil-this.gui .controller .widget{background:#f8f9fa!important;border:1px solid #ced4da!important;border-radius:4px!important;color:#495057!important}.lil-this.gui .controller .widget:focus,.lil-this.gui .controller .widget:hover{border-color:#80bdff!important;-webkit-box-shadow:0 0 0 2px rgba(0,123,255,.25)!important;box-shadow:0 0 0 2px rgba(0,123,255,.25)!important}.lil-this.gui .controller .widget:focus{outline:none!important}.lil-this.gui .controller input[type=range]{background:#e9ecef!important;height:4px!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;border-radius:2px!important}.lil-this.gui .controller.number .fill{border-right:solid #008de9}.lil-this.gui .controller input[type=range]::-webkit-slider-thumb{background:#007bff!important;border:2px solid #fff!important;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.2)!important;box-shadow:0 2px 4px rgba(0,0,0,.2)!important;width:16px!important;height:16px!important;border-radius:50%!important;-webkit-appearance:none!important;appearance:none!important;cursor:pointer!important}.lil-this.gui .controller input[type=range]::-moz-range-thumb{background:#007bff!important;border:2px solid #fff!important;box-shadow:0 2px 4px rgba(0,0,0,.2)!important;width:16px!important;height:16px!important;border-radius:50%!important;cursor:pointer!important}.lil-this.gui .controller .option{background:#fff!important;color:#495057!important;border-bottom:1px solid #f1f3f4!important}.lil-this.gui .controller .option:hover{background:#f8f9fa!important}.lil-this.gui .controller .option:last-child{border-bottom:none!important}.lil-this.gui input:active{background:#e6eff4}.lil-this.gui .controller button{background:linear-gradient(135deg,#007bff,#0056b3)!important;color:#fff!important;border:none!important;border-radius:4px!important;font-weight:500!important;-webkit-transition:all .2s ease!important;transition:all .2s ease!important}.lil-this.gui .controller button:hover{background:linear-gradient(135deg,#0056b3,#004085)!important;-webkit-transform:translateY(-1px)!important;transform:translateY(-1px)!important;-webkit-box-shadow:0 4px 8px rgba(0,123,255,.3)!important;box-shadow:0 4px 8px rgba(0,123,255,.3)!important}.lil-this.gui .controller .color{border:2px solid #fff!important;border-radius:4px!important;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.1)!important;box-shadow:0 2px 4px rgba(0,0,0,.1)!important}.lil-this.gui .controller.number .slider,.lil-this.gui .controller.number .slider:hover{background-color:#e6eff4}.lil-this.gui input,.lil-this.gui input:hover,.lil-this.gui input[type=number]:focus,.lil-this.gui input[type=text]:focus{background:#e6eff4}.lil-this.gui .controller>.name{min-width:25px}.lil-this.gui .controller.number input{color:#2e3136}.lil-this.gui .controller.number .slider:active{background-color:#e6eff4}.lil-this.gui .folder>.title{background:linear-gradient(135deg,#f1f3f4,#e9ecef)!important;color:#495057!important;border-bottom:1px solid #dee2e6!important}.lil-this.gui .folder>.title:before{color:#6c757d!important}.lil-this.gui .folder.closed>.children{display:none!important}#konva-container[data-v-177cbfe4]{z-index:3;width:100%;height:100%;cursor:pointer;overflow:hidden}span[data-v-f547d5c6]{font-weight:bolder}.text[data-v-f547d5c6]{margin-top:20px}.line[data-v-f547d5c6]{border-bottom:1px solid #dcdfe6;margin:20px 0}.center[data-v-f547d5c6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.center .cen span[data-v-f547d5c6],.center .top span[data-v-f547d5c6]{color:"#53a8ff";display:inline-block;width:30px;height:30px;text-align:center;line-height:30px;border:1px solid;padding:5px;margin-bottom:10px;background-color:#e9f3ff}.center .cen span[data-v-f547d5c6]{margin:10px}.button[data-v-f547d5c6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:end;margin-top:20px}@font-face{font-family:iconfont;src:url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.woff2?t=1646635700216) format("woff2"),url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.woff?t=1646635700216) format("woff"),url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.ttf?t=1646635700216) format("truetype")}.iconfont[data-v-f547d5c6]{font-family:iconfont!important;font-size:50px;font-style:normal;color:"#53a8ff";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-shubiao[data-v-f547d5c6]:before{content:""}.main_body[data-v-4b17bce0]{position:relative;width:100%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.classification_title[data-v-4b17bce0]{margin:0 0 10px 0;color:#fff;font-size:14px;cursor:default}.toolbar[data-v-4b17bce0]{z-index:10;position:absolute;width:520px;padding:8px 16px;border-radius:6px;-webkit-box-shadow:0 2px 10px 0 rgba(6,29,44,.25);box-shadow:0 2px 10px 0 rgba(6,29,44,.25);background-color:#fff;top:10px;left:50%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transform:translateX(-50%);transform:translateX(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.icon_toolbar[data-v-4b17bce0],.text_toolbar[data-v-4b17bce0]{float:left;width:32px;height:32px;padding:0!important;background-repeat:no-repeat;background-size:24px;background-position:50%}.icon_active[data-v-4b17bce0],.icon_toolbar[data-v-4b17bce0]:hover,.text_toolbar[data-v-4b17bce0]:hover{background-color:#eee}[data-v-4b17bce0].icon_color .el-color-picker__trigger{height:24px;margin-top:4px;width:24px!important}[data-v-4b17bce0].el-color-picker--medium,[data-v-4b17bce0].el-color-picker--medium .el-color-picker__trigger{width:24px!important;height:24px!important}.canvas_container[data-v-4b17bce0]{position:relative;width:100%;height:100%;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.canvas_container canvas[data-v-4b17bce0]{position:absolute;left:0}.canvas_container #ctx_front[data-v-4b17bce0]{z-index:5;background-color:transparent}.canvas_container #ctx_back[data-v-4b17bce0]{z-index:3}.canvas_container #ctx_base[data-v-4b17bce0]{z-index:1}#text[data-v-4b17bce0]{position:absolute;z-index:-1;resize:none;outline:none;border:1px dashed #9c9c9c;overflow:hidden;background:transparent;line-height:30px;display:none}#text[data-v-4b17bce0]:hover{border:1px dashed #53a8ff}#svg-component[data-v-2572c0e2],#svg-tigger[data-v-2572c0e2]{cursor:pointer;height:100%;width:100%;position:relative}#toolbar-show[data-v-2572c0e2]{z-index:20;position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden;background:#fff}
1
+ @charset "UTF-8";.fl-model-containor[data-v-66b7a914]{width:100%;height:100%;position:relative;cursor:pointer}[data-v-66b7a914] .tips-label{width:60px;color:#000;font:12px Helvetica;margin-top:-3em;padding:5px;text-align:center;vertical-align:middle;background-color:khaki}[data-v-66b7a914] .measure-label{max-width:100px;margin-top:-1em;border:10px;border-radius:5px;padding:3px 10px;cursor:pointer;color:#009bea;background-color:#f4f4f4;-webkit-box-shadow:0 1px 3px 1px rgba(0,0,0,.25);box-shadow:0 1px 3px 1px rgba(0,0,0,.25)}[data-v-66b7a914] .circle-tag{width:10px;height:10px;margin-top:5px;border-radius:50%;background-color:#ff5000}[data-v-66b7a914] .measure-label-font{word-break:break-all}[data-v-66b7a914] .mark-label-img{padding-top:5px;width:20px;height:20px}.loading-overlay[data-v-66b7a914]{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;-webkit-transition:opacity .3s ease,visibility .3s ease;transition:opacity .3s ease,visibility .3s ease}.loading-overlay--visible[data-v-66b7a914]{opacity:1;visibility:visible}.loading-content[data-v-66b7a914]{background:#fff;border-radius:12px;padding:30px;text-align:center;-webkit-box-shadow:0 8px 32px rgba(0,0,0,.3);box-shadow:0 8px 32px rgba(0,0,0,.3);min-width:300px;max-width:400px}.loading-spinner[data-v-66b7a914]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #409eff;border-radius:50%;-webkit-animation:spin-66b7a914 1s linear infinite;animation:spin-66b7a914 1s linear infinite;margin:0 auto 20px}@-webkit-keyframes spin-66b7a914{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-66b7a914{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-text[data-v-66b7a914]{font-size:16px;font-weight:500;color:#333;margin-bottom:20px}.loading-this.progress-bar[data-v-66b7a914]{width:100%;height:8px;background-color:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:15px}.loading-this.progress-fill[data-v-66b7a914]{height:100%;background:-webkit-gradient(linear,left top,right top,from(#409eff),to(#67c23a));background:linear-gradient(90deg,#409eff,#67c23a);border-radius:4px;-webkit-transition:width .3s ease;transition:width .3s ease}.loading-details[data-v-66b7a914]{font-size:12px;color:#666;line-height:1.5}.lil-this.gui{background:hsla(0,0%,100%,.95)!important;border:1px solid #e0e0e0!important;border-radius:8px!important;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.15)!important;box-shadow:0 4px 12px rgba(0,0,0,.15)!important;backdrop-filter:blur(10px)!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.lil-this.gui .title{background:linear-gradient(135deg,#f8f9fa,#e9ecef)!important;color:#495057!important;border-bottom:1px solid #dee2e6!important;font-weight:600!important;padding:0 12px!important;border-radius:8px 8px 0 0!important}.lil-this.gui .controller{border-bottom:1px solid #f1f3f4!important;background:transparent!important}.lil-this.gui .controller:last-child{border-bottom:none!important}.lil-this.gui .controller .name{color:#495057!important;font-weight:500!important;font-size:12px!important}.lil-this.gui .controller .widget{background:#f8f9fa!important;border:1px solid #ced4da!important;border-radius:4px!important;color:#495057!important}.lil-this.gui .controller .widget:focus,.lil-this.gui .controller .widget:hover{border-color:#80bdff!important;-webkit-box-shadow:0 0 0 2px rgba(0,123,255,.25)!important;box-shadow:0 0 0 2px rgba(0,123,255,.25)!important}.lil-this.gui .controller .widget:focus{outline:none!important}.lil-this.gui .controller input[type=range]{background:#e9ecef!important;height:4px!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;border-radius:2px!important}.lil-this.gui .controller.number .fill{border-right:solid #008de9}.lil-this.gui .controller input[type=range]::-webkit-slider-thumb{background:#007bff!important;border:2px solid #fff!important;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.2)!important;box-shadow:0 2px 4px rgba(0,0,0,.2)!important;width:16px!important;height:16px!important;border-radius:50%!important;-webkit-appearance:none!important;appearance:none!important;cursor:pointer!important}.lil-this.gui .controller input[type=range]::-moz-range-thumb{background:#007bff!important;border:2px solid #fff!important;box-shadow:0 2px 4px rgba(0,0,0,.2)!important;width:16px!important;height:16px!important;border-radius:50%!important;cursor:pointer!important}.lil-this.gui .controller .option{background:#fff!important;color:#495057!important;border-bottom:1px solid #f1f3f4!important}.lil-this.gui .controller .option:hover{background:#f8f9fa!important}.lil-this.gui .controller .option:last-child{border-bottom:none!important}.lil-this.gui input:active{background:#e6eff4}.lil-this.gui .controller button{background:linear-gradient(135deg,#007bff,#0056b3)!important;color:#fff!important;border:none!important;border-radius:4px!important;font-weight:500!important;-webkit-transition:all .2s ease!important;transition:all .2s ease!important}.lil-this.gui .controller button:hover{background:linear-gradient(135deg,#0056b3,#004085)!important;-webkit-transform:translateY(-1px)!important;transform:translateY(-1px)!important;-webkit-box-shadow:0 4px 8px rgba(0,123,255,.3)!important;box-shadow:0 4px 8px rgba(0,123,255,.3)!important}.lil-this.gui .controller .color{border:2px solid #fff!important;border-radius:4px!important;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.1)!important;box-shadow:0 2px 4px rgba(0,0,0,.1)!important}.lil-this.gui .controller.number .slider,.lil-this.gui .controller.number .slider:hover{background-color:#e6eff4}.lil-this.gui input,.lil-this.gui input:hover,.lil-this.gui input[type=number]:focus,.lil-this.gui input[type=text]:focus{background:#e6eff4}.lil-this.gui .controller>.name{min-width:25px}.lil-this.gui .controller.number input{color:#2e3136}.lil-this.gui .controller.number .slider:active{background-color:#e6eff4}.lil-this.gui .folder>.title{background:linear-gradient(135deg,#f1f3f4,#e9ecef)!important;color:#495057!important;border-bottom:1px solid #dee2e6!important}.lil-this.gui .folder>.title:before{color:#6c757d!important}.lil-this.gui .folder.closed>.children{display:none!important}#konva-container[data-v-177cbfe4]{z-index:3;width:100%;height:100%;cursor:pointer;overflow:hidden}span[data-v-3fceaac3]{font-weight:bolder}.text[data-v-3fceaac3]{margin-top:20px}.description[data-v-3fceaac3]{margin-bottom:20px}.line[data-v-3fceaac3]{border-bottom:1px solid #dcdfe6;margin:20px 0}.center[data-v-3fceaac3]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.center .cen span[data-v-3fceaac3],.center .top span[data-v-3fceaac3]{color:#53a8ff;display:inline-block;width:40px;height:40px;text-align:center;line-height:30px;border:1px solid #53a8ff;padding:5px;margin-bottom:10px;background-color:#e9f3ff}.center .cen span[data-v-3fceaac3]{margin:10px}.button[data-v-3fceaac3]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:end;margin-top:20px}@font-face{font-family:iconfont;src:url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.woff2?t=1646635700216) format("woff2"),url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.woff?t=1646635700216) format("woff"),url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.ttf?t=1646635700216) format("truetype")}.iconfont[data-v-3fceaac3]{font-family:iconfont!important;font-size:50px;font-style:normal;color:#53a8ff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-shubiao[data-v-3fceaac3]:before{content:""}.main_body[data-v-4b17bce0]{position:relative;width:100%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.classification_title[data-v-4b17bce0]{margin:0 0 10px 0;color:#fff;font-size:14px;cursor:default}.toolbar[data-v-4b17bce0]{z-index:10;position:absolute;width:520px;padding:8px 16px;border-radius:6px;-webkit-box-shadow:0 2px 10px 0 rgba(6,29,44,.25);box-shadow:0 2px 10px 0 rgba(6,29,44,.25);background-color:#fff;top:10px;left:50%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transform:translateX(-50%);transform:translateX(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.icon_toolbar[data-v-4b17bce0],.text_toolbar[data-v-4b17bce0]{float:left;width:32px;height:32px;padding:0!important;background-repeat:no-repeat;background-size:24px;background-position:50%}.icon_active[data-v-4b17bce0],.icon_toolbar[data-v-4b17bce0]:hover,.text_toolbar[data-v-4b17bce0]:hover{background-color:#eee}[data-v-4b17bce0].icon_color .el-color-picker__trigger{height:24px;margin-top:4px;width:24px!important}[data-v-4b17bce0].el-color-picker--medium,[data-v-4b17bce0].el-color-picker--medium .el-color-picker__trigger{width:24px!important;height:24px!important}.canvas_container[data-v-4b17bce0]{position:relative;width:100%;height:100%;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.canvas_container canvas[data-v-4b17bce0]{position:absolute;left:0}.canvas_container #ctx_front[data-v-4b17bce0]{z-index:5;background-color:transparent}.canvas_container #ctx_back[data-v-4b17bce0]{z-index:3}.canvas_container #ctx_base[data-v-4b17bce0]{z-index:1}#text[data-v-4b17bce0]{position:absolute;z-index:-1;resize:none;outline:none;border:1px dashed #9c9c9c;overflow:hidden;background:transparent;line-height:30px;display:none}#text[data-v-4b17bce0]:hover{border:1px dashed #53a8ff}#svg-component[data-v-2572c0e2],#svg-tigger[data-v-2572c0e2]{cursor:pointer;height:100%;width:100%;position:relative}#toolbar-show[data-v-2572c0e2]{z-index:20;position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden;background:#fff}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fl-web-component",
3
- "version": "2.1.9",
3
+ "version": "2.1.10",
4
4
  "scripts": {
5
5
  "postinstall": "patch-package",
6
6
  "tip1": "仅调试本组件不涉及业务组件,请执行dev",
@@ -7,22 +7,22 @@ export function decimalToRGBHex(decimalValue) {
7
7
  throw new Error('Input must be an integer.');
8
8
  }
9
9
  // Ensure the input is within the valid range for 24-bit colors
10
-
10
+
11
11
  // if (decimalValue < 0 || decimalValue > 0xffffff) {
12
12
  // throw new Error('Input must be between 0 and 16777215 (0xFFFFFF).');
13
13
  // }
14
14
  if (decimalValue < 0) {
15
- throw new Error('Input must be non-negative.')
15
+ throw new Error('Input must be non-negative.');
16
16
  }
17
17
  // 判断一下是否超过24位
18
- const hasAlpha = decimalValue > 0xFFFFFF;
18
+ const hasAlpha = decimalValue > 0xffffff;
19
19
  // 提取 Alpha(高 8 位,仅当存在时)
20
- const alpha = hasAlpha ? (decimalValue >>> 24) & 0xFF : 255;
20
+ const alpha = hasAlpha ? (decimalValue >>> 24) & 0xff : 255;
21
21
  // 提取 RGB(低 24 位)
22
- const rgbValue = decimalValue & 0xFFFFFF;
23
- const red = (rgbValue >> 16) & 0xFF;
24
- const green = (rgbValue >> 8) & 0xFF;
25
- const blue = rgbValue & 0xFF;
22
+ const rgbValue = decimalValue & 0xffffff;
23
+ const red = (rgbValue >> 16) & 0xff;
24
+ const green = (rgbValue >> 8) & 0xff;
25
+ const blue = rgbValue & 0xff;
26
26
  // Convert the RGB components to hexadecimal and format as a string
27
27
  var hex =
28
28
  '#' +
@@ -37,7 +37,16 @@ export function decimalToRGBHex(decimalValue) {
37
37
  hex: hex.toUpperCase(),
38
38
  };
39
39
  }
40
- export function handleFn(functionName, recordDxf, entity, group, key, configParams, konvaLayer, lineTypes) {
40
+ export function handleFn(
41
+ functionName,
42
+ recordDxf,
43
+ entity,
44
+ group,
45
+ key,
46
+ configParams,
47
+ konvaLayer,
48
+ lineTypes
49
+ ) {
41
50
  switch (functionName) {
42
51
  case 'LINE':
43
52
  drawLine(recordDxf, entity, group, key, configParams);
@@ -262,7 +271,7 @@ function drawArc(recordDxf, entity, group, key, configParams) {
262
271
 
263
272
  function drawEllpse(recordDxf, entity, group, key, configParams) {
264
273
  let color = entity.color;
265
- let rgb = decimalToRGBHex(color)
274
+ let rgb = decimalToRGBHex(color);
266
275
  let hex = rgb.hex;
267
276
  if (hex == '#FFFFFF') {
268
277
  hex = '#000000';
@@ -325,7 +334,7 @@ function drawEllpse(recordDxf, entity, group, key, configParams) {
325
334
  }
326
335
  function drawLine(recordDxf, entity, group, key, configParams) {
327
336
  let color = entity.color;
328
- let rgb = decimalToRGBHex(color)
337
+ let rgb = decimalToRGBHex(color);
329
338
  let hex = rgb.hex;
330
339
  if (hex == '#FFFFFF') {
331
340
  hex = '#000000';
@@ -374,10 +383,9 @@ function drawLine(recordDxf, entity, group, key, configParams) {
374
383
  }
375
384
 
376
385
  function drawText(recordDxf, entity, group, key, configParams) {
377
-
378
386
  let color = entity.color;
379
387
  let rgb = decimalToRGBHex(color);
380
-
388
+
381
389
  let hex = rgb.hex;
382
390
 
383
391
  if (hex == '#FFFFFF') {
@@ -477,11 +485,12 @@ function drawText(recordDxf, entity, group, key, configParams) {
477
485
  // group.add(dim);
478
486
  }
479
487
 
488
+ function drawHatch(recordDxf, entity, group, key, configParams) {}
480
489
 
481
490
  function drawLwLine(recordDxf, entity, group, key, configParams, lineTypes) {
482
491
  let color = entity.color;
483
492
  let rgb = decimalToRGBHex(color);
484
-
493
+
485
494
  let hex = rgb.hex;
486
495
 
487
496
  if (hex == '#FFFFFF') {
@@ -500,13 +509,13 @@ function drawLwLine(recordDxf, entity, group, key, configParams, lineTypes) {
500
509
  width = 0.2;
501
510
  }
502
511
  if (entity?.lineType === 'DASH') {
503
- const dashDef = lineTypes['DASH']
504
- let rawDash = []
512
+ const dashDef = lineTypes['DASH'];
513
+ let rawDash = [];
505
514
  if (dashDef && Array.isArray(dashDef.pattern)) {
506
515
  rawDash = dashDef.pattern.map(Math.abs);
507
516
  }
508
- const scale = (entity.lineTypeScale || 1)
509
- const finalDash = rawDash.map(v => v * scale)
517
+ const scale = entity.lineTypeScale || 1;
518
+ const finalDash = rawDash.map(v => v * scale);
510
519
  // 如果找不到线型或实体标记为连续线型,使用实线
511
520
  const useDash = entity.hasContinuousLinetypePattern ? [] : finalDash;
512
521
  group.push({
@@ -544,7 +553,7 @@ function drawLwLine(recordDxf, entity, group, key, configParams, lineTypes) {
544
553
  function drawSpline(recordDxf, entity, group, key, configParams) {
545
554
  let color = entity.color;
546
555
  let rgb = decimalToRGBHex(color);
547
-
556
+
548
557
  let hex = rgb.hex;
549
558
  if (hex == '#FFFFFF') {
550
559
  hex = '#000000';
@@ -717,7 +726,7 @@ export function _GenerateArcVertices({
717
726
  }
718
727
  vertices.push(v);
719
728
  }
720
- return vertices
729
+ return vertices;
721
730
  }
722
731
  export function _GenerateBulgeVertices(vertices, startVtx, endVtx, bulge) {
723
732
  let arcTessellationAngle = (10 / 180) * Math.PI;
@@ -750,25 +759,19 @@ export function _GenerateBulgeVertices(vertices, startVtx, endVtx, bulge) {
750
759
  numSegments = 8;
751
760
  }
752
761
  if (numSegments > 1) {
753
- const startAngle = Math.atan2(
754
- startVtx.y - center.y,
755
- startVtx.x - center.x
756
- );
762
+ const startAngle = Math.atan2(startVtx.y - center.y, startVtx.x - center.x);
757
763
  const step = a / numSegments;
758
764
  if (a < 0) {
759
765
  R = -R;
760
766
  }
761
767
  for (let i = 1; i < numSegments; i++) {
762
768
  const a = startAngle + i * step;
763
- const v = new THREE.Vector2(
764
- center.x + R * Math.cos(a),
765
- center.y + R * Math.sin(a)
766
- );
769
+ const v = new THREE.Vector2(center.x + R * Math.cos(a), center.y + R * Math.sin(a));
767
770
  vertices.push(v);
768
771
  }
769
772
  }
770
773
  vertices.push(new THREE.Vector2(endVtx.x, endVtx.y));
771
- return vertices
774
+ return vertices;
772
775
  }
773
776
  let color = [
774
777
  '0,0,0', //1
@@ -2794,10 +2794,14 @@ export default {
2794
2794
  }
2795
2795
  if (!this._octree) return { pairs };
2796
2796
  sourceEntries = getEntriesByIds(
2797
- sourceIds.length ? softCollisionSourceIds.filter(id => sourceIds.includes(id)) : softCollisionSourceIds
2797
+ sourceIds.length
2798
+ ? softCollisionSourceIds.filter(id => sourceIds.includes(id))
2799
+ : softCollisionSourceIds
2798
2800
  );
2799
2801
  const targetEntries = getEntriesByIds(targetIds);
2800
- root = targetEntries.length ? this._buildCollisionOctreeFromEntries(targetEntries) : this._octree;
2802
+ root = targetEntries.length
2803
+ ? this._buildCollisionOctreeFromEntries(targetEntries)
2804
+ : this._octree;
2801
2805
  if (sourceEntries.length === 0) return { pairs };
2802
2806
  dedupePairKeySet = new Set();
2803
2807
  } else if (sourceIds.length > 0 && targetIds.length > 0) {
@@ -4188,9 +4192,9 @@ export default {
4188
4192
  : visibleIdSet.has(formattedModelId);
4189
4193
  // 镜头运动中恢复驻留实例,避免上一次剔除留下的远移矩阵造成画面空洞。
4190
4194
  // 交互期间优先恢复当前视锥内的驻留实例,避免等待交互结束才显示。
4191
- const shouldShow = skipUnload
4192
- ? isActive || prefetchIdSet.has(formattedModelId)
4193
- : isActive;
4195
+ const shouldShow =
4196
+ this.firstPerSign ||
4197
+ (skipUnload ? isActive || prefetchIdSet.has(formattedModelId) : isActive);
4194
4198
  this.setInstanceCullingVisible(child, modelId, shouldShow);
4195
4199
  if (isActive) {
4196
4200
  allInactive = false;
@@ -4272,9 +4276,9 @@ export default {
4272
4276
  const modelInFrustum = frustumIdSet.has(formattedModelId);
4273
4277
  const isActive = residencyEnabled ? modelInFrustum : visibleIdSet.has(formattedModelId);
4274
4278
  toLoadSet.delete(formattedModelId);
4275
- const shouldShow = skipUnload
4276
- ? isActive || prefetchIdSet.has(formattedModelId)
4277
- : isActive;
4279
+ const shouldShow =
4280
+ this.firstPerSign ||
4281
+ (skipUnload ? isActive || prefetchIdSet.has(formattedModelId) : isActive);
4278
4282
  this.setInstanceCullingVisible(child, modelId, shouldShow);
4279
4283
  const shouldEvict = this.shouldEvictModel(
4280
4284
  modelId,
@@ -5214,7 +5218,7 @@ export default {
5214
5218
  this.setInstanceCullingVisible(
5215
5219
  child,
5216
5220
  modelId,
5217
- visibleIds.has(this.formatModelId(modelId))
5221
+ this.firstPerSign || visibleIds.has(this.formatModelId(modelId))
5218
5222
  );
5219
5223
  });
5220
5224
  });
@@ -7634,7 +7638,7 @@ export default {
7634
7638
  },
7635
7639
  // 页面是否锁定
7636
7640
  initPointerLock() {
7637
- this.home();
7641
+ // this.home();
7638
7642
  setTimeout(() => {
7639
7643
  // 开启第一视角时,将相机与水平面保持水平
7640
7644
  this.camera.rotation.x = 0;
@@ -1,5 +1,8 @@
1
1
  <template>
2
2
  <div>
3
+ <div class="description key">
4
+ <span>说明:进入第一视角后,会从当前视角位置缓慢降落至地面</span>
5
+ </div>
3
6
  <div class="key">
4
7
  <span>漫游</span>
5
8
  <div class="center">
@@ -55,6 +58,9 @@ span {
55
58
  .text {
56
59
  margin-top: 20px;
57
60
  }
61
+ .description {
62
+ margin-bottom: 20px;
63
+ }
58
64
  .line {
59
65
  border-bottom: 1px solid #dcdfe6;
60
66
  margin: 20px 0;
@@ -66,13 +72,13 @@ span {
66
72
  .top,
67
73
  .cen {
68
74
  span {
69
- color: '#53a8ff';
75
+ color: #53a8ff;
70
76
  display: inline-block;
71
- width: 30px;
72
- height: 30px;
77
+ width: 40px;
78
+ height: 40px;
73
79
  text-align: center;
74
80
  line-height: 30px;
75
- border: 1px solid '#53a8ff';
81
+ border: 1px solid #53a8ff;
76
82
  padding: 5px;
77
83
  margin-bottom: 10px;
78
84
  background-color: #e9f3ff;
@@ -90,7 +96,7 @@ span {
90
96
  margin-top: 20px;
91
97
  }
92
98
  @font-face {
93
- font-family: 'iconfont';
99
+ font-family: 'iconfont'; /* Project id 3226805 */
94
100
  src: url('//at.alicdn.com/t/font_3226805_qqvo3ag3r8.woff2?t=1646635700216') format('woff2'),
95
101
  url('//at.alicdn.com/t/font_3226805_qqvo3ag3r8.woff?t=1646635700216') format('woff'),
96
102
  url('//at.alicdn.com/t/font_3226805_qqvo3ag3r8.ttf?t=1646635700216') format('truetype');
@@ -99,7 +105,7 @@ span {
99
105
  font-family: 'iconfont' !important;
100
106
  font-size: 50px;
101
107
  font-style: normal;
102
- color: '#53a8ff';
108
+ color: #53a8ff;
103
109
  -webkit-font-smoothing: antialiased;
104
110
  -moz-osx-font-smoothing: grayscale;
105
111
  }