fl-web-component 2.1.17 → 2.1.19
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 +200 -170
- package/dist/fl-web-component.common.js.map +1 -1
- package/dist/fl-web-component.css +1 -1
- package/package.json +1 -1
- package/packages/components/com-graphics/index.vue +64 -13
- package/packages/components/com-graphics/mock.json +1417 -44
- package/packages/utils/StreamLoader.js +62 -62
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.fl-model-containor[data-v-23daca8a]{width:100%;height:100%;position:relative;cursor:pointer}[data-v-23daca8a] .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-23daca8a] .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-23daca8a] .circle-tag{width:10px;height:10px;margin-top:5px;border-radius:50%;background-color:#ff5000}[data-v-23daca8a] .measure-label-font{word-break:break-all}[data-v-23daca8a] .mark-label-img{padding-top:5px;width:20px;height:20px}.loading-overlay[data-v-23daca8a]{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-23daca8a]{opacity:1;visibility:visible}.loading-content[data-v-23daca8a]{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-23daca8a]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #409eff;border-radius:50%;-webkit-animation:spin-23daca8a 1s linear infinite;animation:spin-23daca8a 1s linear infinite;margin:0 auto 20px}@-webkit-keyframes spin-23daca8a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-23daca8a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-text[data-v-23daca8a]{font-size:16px;font-weight:500;color:#333;margin-bottom:20px}.loading-this.progress-bar[data-v-23daca8a]{width:100%;height:8px;background-color:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:15px}.loading-this.progress-fill[data-v-23daca8a]{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-23daca8a]{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-e9d7a15c]{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}
|
|
1
|
+
@charset "UTF-8";.fl-model-containor[data-v-c1470bc0]{width:100%;height:100%;position:relative;cursor:pointer}[data-v-c1470bc0] .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-c1470bc0] .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-c1470bc0] .circle-tag{width:10px;height:10px;margin-top:5px;border-radius:50%;background-color:#ff5000}[data-v-c1470bc0] .measure-label-font{word-break:break-all}[data-v-c1470bc0] .mark-label-img{padding-top:5px;width:20px;height:20px}.loading-overlay[data-v-c1470bc0]{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-c1470bc0]{opacity:1;visibility:visible}.loading-content[data-v-c1470bc0]{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-c1470bc0]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #409eff;border-radius:50%;-webkit-animation:spin-c1470bc0 1s linear infinite;animation:spin-c1470bc0 1s linear infinite;margin:0 auto 20px}@-webkit-keyframes spin-c1470bc0{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-c1470bc0{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-text[data-v-c1470bc0]{font-size:16px;font-weight:500;color:#333;margin-bottom:20px}.loading-this.progress-bar[data-v-c1470bc0]{width:100%;height:8px;background-color:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:15px}.loading-this.progress-fill[data-v-c1470bc0]{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-c1470bc0]{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}.lil-gui button{-webkit-tap-highlight-color:transparent;background:none;border:none;color:#000;cursor:pointer;font-family:var(--font-family);font-size:var(--font-size);height:var(--widget-height);line-height:calc(var(--widget-height) - 4px);outline:none;text-align:right;text-transform:none;width:70%}@media (hover:hover){.lil-gui button:hover{background:none;border-color:none}}#konva-container[data-v-e9d7a15c]{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
|
@@ -93,7 +93,10 @@ var clippingMesh = [],
|
|
|
93
93
|
sceneBoundingBoxHelper = null, // 场景包围盒辅助线
|
|
94
94
|
boundingBoxVisible = false; // 包围盒是否可见
|
|
95
95
|
|
|
96
|
-
|
|
96
|
+
const FIRST_PERSON_GROUND_HEIGHT = 1680;
|
|
97
|
+
const FIRST_PERSON_POINTER_SPEED = 0.3;
|
|
98
|
+
|
|
99
|
+
var removeSpeed = 1000,
|
|
97
100
|
upSpeed = 200; //控制器移动速度 , //控制跳起时的速度
|
|
98
101
|
var roamConfig = {
|
|
99
102
|
loop: false,
|
|
@@ -312,7 +315,7 @@ export default {
|
|
|
312
315
|
this[item] = [];
|
|
313
316
|
});
|
|
314
317
|
['removeSpeed', 'upSpeed'].forEach(item => {
|
|
315
|
-
this[item] = 200;
|
|
318
|
+
this[item] = item === 'removeSpeed' ? 1000 : 200;
|
|
316
319
|
});
|
|
317
320
|
|
|
318
321
|
this.gui = null;
|
|
@@ -7480,7 +7483,14 @@ export default {
|
|
|
7480
7483
|
};
|
|
7481
7484
|
this.clippingPlanesConstants = null;
|
|
7482
7485
|
this.renderer.clippingPlanes = Object.freeze([]);
|
|
7483
|
-
|
|
7486
|
+
if (this.gui) {
|
|
7487
|
+
this.gui.destroy();
|
|
7488
|
+
this.gui = null;
|
|
7489
|
+
}
|
|
7490
|
+
},
|
|
7491
|
+
closeGlobalClipping() {
|
|
7492
|
+
this.cancelGlobalClipping();
|
|
7493
|
+
this.$emit('globalClippingClosed');
|
|
7484
7494
|
},
|
|
7485
7495
|
// 单个实体的剖切/ 局部剖切 obj 实体对象 flag 代表是否使用图形组件自带的剖切面板 默认为true
|
|
7486
7496
|
setLocalClipping(obj, flag = true) {
|
|
@@ -7589,6 +7599,10 @@ export default {
|
|
|
7589
7599
|
},
|
|
7590
7600
|
// 添加剖切轴工具
|
|
7591
7601
|
addClippingGui(title, boudingValue, objClipp1, objClipp2) {
|
|
7602
|
+
if (this.gui) {
|
|
7603
|
+
this.gui.destroy();
|
|
7604
|
+
this.gui = null;
|
|
7605
|
+
}
|
|
7592
7606
|
const xRange = this.getExpandedClippingRange(boudingValue.min.x, boudingValue.max.x);
|
|
7593
7607
|
const yRange = this.getExpandedClippingRange(boudingValue.min.y, boudingValue.max.y);
|
|
7594
7608
|
const zRange = this.getExpandedClippingRange(boudingValue.min.z, boudingValue.max.z);
|
|
@@ -7619,6 +7633,19 @@ export default {
|
|
|
7619
7633
|
this.gui = new GUI({
|
|
7620
7634
|
title: title,
|
|
7621
7635
|
});
|
|
7636
|
+
if (title === '全局剖切') {
|
|
7637
|
+
const closeButton = document.createElement('button');
|
|
7638
|
+
closeButton.type = 'button';
|
|
7639
|
+
closeButton.className = 'global-clipping-close';
|
|
7640
|
+
closeButton.textContent = '关闭';
|
|
7641
|
+
closeButton.title = '关闭全局剖切';
|
|
7642
|
+
closeButton.addEventListener('click', event => {
|
|
7643
|
+
event.preventDefault();
|
|
7644
|
+
event.stopPropagation();
|
|
7645
|
+
this.closeGlobalClipping();
|
|
7646
|
+
});
|
|
7647
|
+
this.gui.domElement.querySelector('.title').appendChild(closeButton);
|
|
7648
|
+
}
|
|
7622
7649
|
this.gui
|
|
7623
7650
|
.add(this.guiParams, 'x轴')
|
|
7624
7651
|
.step(0.001)
|
|
@@ -7680,7 +7707,7 @@ export default {
|
|
|
7680
7707
|
Number.isFinite(customMoveSpeed) && customMoveSpeed > 0
|
|
7681
7708
|
? customMoveSpeed
|
|
7682
7709
|
: defaultMoveSpeed;
|
|
7683
|
-
const minMoveSpeed = Math.max(
|
|
7710
|
+
const minMoveSpeed = Math.max(1000, optionMoveSpeed * 0.1);
|
|
7684
7711
|
const maxMoveSpeed = Math.max(16000, optionMoveSpeed * 2);
|
|
7685
7712
|
let nextMoveSpeed = optionMoveSpeed;
|
|
7686
7713
|
|
|
@@ -7737,7 +7764,8 @@ export default {
|
|
|
7737
7764
|
// 开启第一视角
|
|
7738
7765
|
startFirstPer(options) {
|
|
7739
7766
|
let { moveSpeed = 200, jumpSpeed = 200 } = options || {};
|
|
7740
|
-
this.removeSpeed =
|
|
7767
|
+
this.removeSpeed = 3500;
|
|
7768
|
+
// this.removeSpeed = this.getFirstPersonMoveSpeed(moveSpeed);
|
|
7741
7769
|
const jumpConfig = this.getFirstPersonJumpConfig(jumpSpeed);
|
|
7742
7770
|
this.upSpeed = jumpConfig.jumpSpeed;
|
|
7743
7771
|
this.firstPersonGravity = jumpConfig.gravity;
|
|
@@ -7763,6 +7791,7 @@ export default {
|
|
|
7763
7791
|
this.camera.rotation.z = 0;
|
|
7764
7792
|
|
|
7765
7793
|
this.pointControls = new PointerLockControls(this.camera, this.renderer.domElement);
|
|
7794
|
+
this.pointControls.pointerSpeed = FIRST_PERSON_POINTER_SPEED;
|
|
7766
7795
|
this.pointControls.lock();
|
|
7767
7796
|
if (!this._onFirstPersonChange) {
|
|
7768
7797
|
this._onFirstPersonChange = () => {
|
|
@@ -7830,20 +7859,21 @@ export default {
|
|
|
7830
7859
|
let control = this.pointControls.object;
|
|
7831
7860
|
// 获取刷新时间
|
|
7832
7861
|
let delta = this.clock.getDelta();
|
|
7833
|
-
const
|
|
7834
|
-
//
|
|
7835
|
-
this.velocity.x -= this.velocity.x *
|
|
7836
|
-
this.velocity.z -= this.velocity.z *
|
|
7862
|
+
const damping = 10.0;
|
|
7863
|
+
// 速度采用阻尼加速,保证 removeSpeed 表示最终移动速度,而不是加速度。
|
|
7864
|
+
this.velocity.x -= this.velocity.x * damping * delta;
|
|
7865
|
+
this.velocity.z -= this.velocity.z * damping * delta;
|
|
7837
7866
|
this.velocity.y -= (this.firstPersonGravity || 9.8 * 100.0) * delta; // 默认下降的速度
|
|
7838
7867
|
// 获取当前按键的方向并获取朝哪个方向移动
|
|
7839
7868
|
this.direction.z = Number(this.moveForward) - Number(this.moveBackward);
|
|
7840
7869
|
this.direction.x = Number(this.moveRight) - Number(this.moveLeft);
|
|
7841
7870
|
// 将法向量的值归一化
|
|
7842
7871
|
this.direction.normalize();
|
|
7872
|
+
const acceleration = this.removeSpeed * damping;
|
|
7843
7873
|
if (this.moveForward || this.moveBackward)
|
|
7844
|
-
this.velocity.z -= this.direction.z *
|
|
7874
|
+
this.velocity.z -= this.direction.z * acceleration * delta;
|
|
7845
7875
|
if (this.moveLeft || this.moveRight)
|
|
7846
|
-
this.velocity.x -= this.direction.x *
|
|
7876
|
+
this.velocity.x -= this.direction.x * acceleration * delta;
|
|
7847
7877
|
// }
|
|
7848
7878
|
// 复制相机的位置
|
|
7849
7879
|
this.downRaycaster.ray.origin.copy(control.position);
|
|
@@ -7864,9 +7894,9 @@ export default {
|
|
|
7864
7894
|
this.pointControls.moveForward(-this.velocity.z * delta);
|
|
7865
7895
|
control.position.y += this.velocity.y * delta;
|
|
7866
7896
|
// 保证控制器的y轴在平面上
|
|
7867
|
-
if (control.position.y <
|
|
7897
|
+
if (control.position.y < FIRST_PERSON_GROUND_HEIGHT) {
|
|
7868
7898
|
this.velocity.y = -0 / 10;
|
|
7869
|
-
control.position.y =
|
|
7899
|
+
control.position.y = FIRST_PERSON_GROUND_HEIGHT;
|
|
7870
7900
|
this.canJump = true;
|
|
7871
7901
|
}
|
|
7872
7902
|
if (this.noObserver) {
|
|
@@ -9614,4 +9644,25 @@ export default {
|
|
|
9614
9644
|
.lil-this.gui .folder.closed > .children {
|
|
9615
9645
|
display: none !important;
|
|
9616
9646
|
}
|
|
9647
|
+
.lil-gui button {
|
|
9648
|
+
-webkit-tap-highlight-color: transparent;
|
|
9649
|
+
background: none;
|
|
9650
|
+
border: none;
|
|
9651
|
+
color: #000000;
|
|
9652
|
+
cursor: pointer;
|
|
9653
|
+
font-family: var(--font-family);
|
|
9654
|
+
font-size: var(--font-size);
|
|
9655
|
+
height: var(--widget-height);
|
|
9656
|
+
line-height: calc(var(--widget-height) - 4px);
|
|
9657
|
+
outline: none;
|
|
9658
|
+
text-align: right;
|
|
9659
|
+
text-transform: none;
|
|
9660
|
+
width: 70%;
|
|
9661
|
+
}
|
|
9662
|
+
@media (hover: hover) {
|
|
9663
|
+
.lil-gui button:hover {
|
|
9664
|
+
background: none;
|
|
9665
|
+
border-color: none;
|
|
9666
|
+
}
|
|
9667
|
+
}
|
|
9617
9668
|
</style>
|