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.
- package/dist/fl-web-component.common.js +132 -119
- 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 +40 -31
- package/packages/components/com-flcanvas/index.vue +0 -1
- 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-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
|
@@ -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(
|
|
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 =
|
|
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
|
|
@@ -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
|
}
|