fl-web-component 2.1.8 → 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-525e15e8]{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.8",
3
+ "version": "2.1.10",
4
4
  "scripts": {
5
5
  "postinstall": "patch-package",
6
6
  "tip1": "仅调试本组件不涉及业务组件,请执行dev",
@@ -6,33 +6,47 @@ export function decimalToRGBHex(decimalValue) {
6
6
  if (!Number.isInteger(decimalValue)) {
7
7
  throw new Error('Input must be an integer.');
8
8
  }
9
-
10
9
  // Ensure the input is within the valid range for 24-bit colors
11
- if (decimalValue < 0 || decimalValue > 0xffffff) {
12
- throw new Error('Input must be between 0 and 16777215 (0xFFFFFF).');
13
- }
14
-
15
- // Extract the red, green, and blue components
16
- var red = (decimalValue >> 16) & 0xff;
17
- var green = (decimalValue >> 8) & 0xff;
18
- var blue = decimalValue & 0xff;
19
10
 
11
+ // if (decimalValue < 0 || decimalValue > 0xffffff) {
12
+ // throw new Error('Input must be between 0 and 16777215 (0xFFFFFF).');
13
+ // }
14
+ if (decimalValue < 0) {
15
+ throw new Error('Input must be non-negative.');
16
+ }
17
+ // 判断一下是否超过24位
18
+ const hasAlpha = decimalValue > 0xffffff;
19
+ // 提取 Alpha(高 8 位,仅当存在时)
20
+ const alpha = hasAlpha ? (decimalValue >>> 24) & 0xff : 255;
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;
20
26
  // Convert the RGB components to hexadecimal and format as a string
21
27
  var hex =
22
28
  '#' +
23
29
  red.toString(16).padStart(2, '0') +
24
30
  green.toString(16).padStart(2, '0') +
25
31
  blue.toString(16).padStart(2, '0');
26
-
27
32
  return {
28
33
  red: red,
29
34
  green: green,
30
35
  blue: blue,
36
+ alpha: alpha,
31
37
  hex: hex.toUpperCase(),
32
38
  };
33
39
  }
34
- export function handleFn(functionName, recordDxf, entity, group, key, configParams, konvaLayer, lineTypes) {
35
-
40
+ export function handleFn(
41
+ functionName,
42
+ recordDxf,
43
+ entity,
44
+ group,
45
+ key,
46
+ configParams,
47
+ konvaLayer,
48
+ lineTypes
49
+ ) {
36
50
  switch (functionName) {
37
51
  case 'LINE':
38
52
  drawLine(recordDxf, entity, group, key, configParams);
@@ -257,7 +271,7 @@ function drawArc(recordDxf, entity, group, key, configParams) {
257
271
 
258
272
  function drawEllpse(recordDxf, entity, group, key, configParams) {
259
273
  let color = entity.color;
260
- let rgb = decimalToRGBHex(color)
274
+ let rgb = decimalToRGBHex(color);
261
275
  let hex = rgb.hex;
262
276
  if (hex == '#FFFFFF') {
263
277
  hex = '#000000';
@@ -320,7 +334,7 @@ function drawEllpse(recordDxf, entity, group, key, configParams) {
320
334
  }
321
335
  function drawLine(recordDxf, entity, group, key, configParams) {
322
336
  let color = entity.color;
323
- let rgb = decimalToRGBHex(color)
337
+ let rgb = decimalToRGBHex(color);
324
338
  let hex = rgb.hex;
325
339
  if (hex == '#FFFFFF') {
326
340
  hex = '#000000';
@@ -371,7 +385,7 @@ function drawLine(recordDxf, entity, group, key, configParams) {
371
385
  function drawText(recordDxf, entity, group, key, configParams) {
372
386
  let color = entity.color;
373
387
  let rgb = decimalToRGBHex(color);
374
-
388
+
375
389
  let hex = rgb.hex;
376
390
 
377
391
  if (hex == '#FFFFFF') {
@@ -471,11 +485,12 @@ function drawText(recordDxf, entity, group, key, configParams) {
471
485
  // group.add(dim);
472
486
  }
473
487
 
488
+ function drawHatch(recordDxf, entity, group, key, configParams) {}
474
489
 
475
490
  function drawLwLine(recordDxf, entity, group, key, configParams, lineTypes) {
476
491
  let color = entity.color;
477
492
  let rgb = decimalToRGBHex(color);
478
-
493
+
479
494
  let hex = rgb.hex;
480
495
 
481
496
  if (hex == '#FFFFFF') {
@@ -494,13 +509,13 @@ function drawLwLine(recordDxf, entity, group, key, configParams, lineTypes) {
494
509
  width = 0.2;
495
510
  }
496
511
  if (entity?.lineType === 'DASH') {
497
- const dashDef = lineTypes['DASH']
498
- let rawDash = []
512
+ const dashDef = lineTypes['DASH'];
513
+ let rawDash = [];
499
514
  if (dashDef && Array.isArray(dashDef.pattern)) {
500
515
  rawDash = dashDef.pattern.map(Math.abs);
501
516
  }
502
- const scale = (entity.lineTypeScale || 1)
503
- const finalDash = rawDash.map(v => v * scale)
517
+ const scale = entity.lineTypeScale || 1;
518
+ const finalDash = rawDash.map(v => v * scale);
504
519
  // 如果找不到线型或实体标记为连续线型,使用实线
505
520
  const useDash = entity.hasContinuousLinetypePattern ? [] : finalDash;
506
521
  group.push({
@@ -538,7 +553,7 @@ function drawLwLine(recordDxf, entity, group, key, configParams, lineTypes) {
538
553
  function drawSpline(recordDxf, entity, group, key, configParams) {
539
554
  let color = entity.color;
540
555
  let rgb = decimalToRGBHex(color);
541
-
556
+
542
557
  let hex = rgb.hex;
543
558
  if (hex == '#FFFFFF') {
544
559
  hex = '#000000';
@@ -711,7 +726,7 @@ export function _GenerateArcVertices({
711
726
  }
712
727
  vertices.push(v);
713
728
  }
714
- return vertices
729
+ return vertices;
715
730
  }
716
731
  export function _GenerateBulgeVertices(vertices, startVtx, endVtx, bulge) {
717
732
  let arcTessellationAngle = (10 / 180) * Math.PI;
@@ -744,25 +759,19 @@ export function _GenerateBulgeVertices(vertices, startVtx, endVtx, bulge) {
744
759
  numSegments = 8;
745
760
  }
746
761
  if (numSegments > 1) {
747
- const startAngle = Math.atan2(
748
- startVtx.y - center.y,
749
- startVtx.x - center.x
750
- );
762
+ const startAngle = Math.atan2(startVtx.y - center.y, startVtx.x - center.x);
751
763
  const step = a / numSegments;
752
764
  if (a < 0) {
753
765
  R = -R;
754
766
  }
755
767
  for (let i = 1; i < numSegments; i++) {
756
768
  const a = startAngle + i * step;
757
- const v = new THREE.Vector2(
758
- center.x + R * Math.cos(a),
759
- center.y + R * Math.sin(a)
760
- );
769
+ const v = new THREE.Vector2(center.x + R * Math.cos(a), center.y + R * Math.sin(a));
761
770
  vertices.push(v);
762
771
  }
763
772
  }
764
773
  vertices.push(new THREE.Vector2(endVtx.x, endVtx.y));
765
- return vertices
774
+ return vertices;
766
775
  }
767
776
  let color = [
768
777
  '0,0,0', //1
@@ -376,7 +376,6 @@ export default {
376
376
  if (dxf2.entities.length === 0) {
377
377
  return false
378
378
  }
379
- console.log(dxf2)
380
379
  let hatchEntitys = dxf2.entities.filter(item => item.type === 'HATCH');
381
380
  // 处理HATCH部分
382
381
  for (let i = 0; i < hatchEntitys.length; i++) {
@@ -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
  }