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.
- package/dist/fl-web-component.common.js +96 -89
- 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-flcanvas/components/entityFormatting.js +32 -29
- package/packages/components/com-graphics/index.vue +14 -10
- package/packages/components/com-graphics/per-control.vue +12 -6
|
@@ -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
|
@@ -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 >
|
|
18
|
+
const hasAlpha = decimalValue > 0xffffff;
|
|
19
19
|
// 提取 Alpha(高 8 位,仅当存在时)
|
|
20
|
-
const alpha = hasAlpha ? (decimalValue >>> 24) &
|
|
20
|
+
const alpha = hasAlpha ? (decimalValue >>> 24) & 0xff : 255;
|
|
21
21
|
// 提取 RGB(低 24 位)
|
|
22
|
-
const rgbValue = decimalValue &
|
|
23
|
-
const red = (rgbValue >> 16) &
|
|
24
|
-
const green = (rgbValue >> 8) &
|
|
25
|
-
const blue = rgbValue &
|
|
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(
|
|
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 =
|
|
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
|
|
2797
|
+
sourceIds.length
|
|
2798
|
+
? softCollisionSourceIds.filter(id => sourceIds.includes(id))
|
|
2799
|
+
: softCollisionSourceIds
|
|
2798
2800
|
);
|
|
2799
2801
|
const targetEntries = getEntriesByIds(targetIds);
|
|
2800
|
-
root = targetEntries.length
|
|
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 =
|
|
4192
|
-
|
|
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 =
|
|
4276
|
-
|
|
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:
|
|
75
|
+
color: #53a8ff;
|
|
70
76
|
display: inline-block;
|
|
71
|
-
width:
|
|
72
|
-
height:
|
|
77
|
+
width: 40px;
|
|
78
|
+
height: 40px;
|
|
73
79
|
text-align: center;
|
|
74
80
|
line-height: 30px;
|
|
75
|
-
border: 1px solid
|
|
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:
|
|
108
|
+
color: #53a8ff;
|
|
103
109
|
-webkit-font-smoothing: antialiased;
|
|
104
110
|
-moz-osx-font-smoothing: grayscale;
|
|
105
111
|
}
|