fl-web-component 2.1.1-beta.5 → 2.1.1-beta.6
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 +72 -71
- 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 +6 -8
- package/packages/components/com-flcanvas/index.vue +61 -63
- package/packages/components/com-graphics/index.vue +34 -34
- package/src/utils/instance-parser.js +16 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.fl-model-containor[data-v-7f8842df]{width:100%;height:100%;position:relative;cursor:pointer}[data-v-7f8842df] .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-7f8842df] .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-7f8842df] .circle-tag{width:10px;height:10px;margin-top:5px;border-radius:50%;background-color:#ff5000}[data-v-7f8842df] .measure-label-font{word-break:break-all}[data-v-7f8842df] .mark-label-img{padding-top:5px;width:20px;height:20px}.loading-overlay[data-v-7f8842df]{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-7f8842df]{opacity:1;visibility:visible}.loading-content[data-v-7f8842df]{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-7f8842df]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #409eff;border-radius:50%;-webkit-animation:spin-7f8842df 1s linear infinite;animation:spin-7f8842df 1s linear infinite;margin:0 auto 20px}@-webkit-keyframes spin-7f8842df{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-7f8842df{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-text[data-v-7f8842df]{font-size:16px;font-weight:500;color:#333;margin-bottom:20px}.loading-this.progress-bar[data-v-7f8842df]{width:100%;height:8px;background-color:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:15px}.loading-this.progress-fill[data-v-7f8842df]{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-7f8842df]{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-0f76e7f4]{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-7f8842df]{width:100%;height:100%;position:relative;cursor:pointer}[data-v-7f8842df] .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-7f8842df] .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-7f8842df] .circle-tag{width:10px;height:10px;margin-top:5px;border-radius:50%;background-color:#ff5000}[data-v-7f8842df] .measure-label-font{word-break:break-all}[data-v-7f8842df] .mark-label-img{padding-top:5px;width:20px;height:20px}.loading-overlay[data-v-7f8842df]{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-7f8842df]{opacity:1;visibility:visible}.loading-content[data-v-7f8842df]{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-7f8842df]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #409eff;border-radius:50%;-webkit-animation:spin-7f8842df 1s linear infinite;animation:spin-7f8842df 1s linear infinite;margin:0 auto 20px}@-webkit-keyframes spin-7f8842df{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-7f8842df{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-text[data-v-7f8842df]{font-size:16px;font-weight:500;color:#333;margin-bottom:20px}.loading-this.progress-bar[data-v-7f8842df]{width:100%;height:8px;background-color:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:15px}.loading-this.progress-fill[data-v-7f8842df]{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-7f8842df]{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-cb260cfc]{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}
|
package/package.json
CHANGED
|
@@ -33,7 +33,6 @@ function decimalToRGBHex(decimalValue) {
|
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
export function handleFn(functionName, recordDxf, entity, group, key, configParams, konvaLayer) {
|
|
36
|
-
console.log(functionName);
|
|
37
36
|
|
|
38
37
|
switch (functionName) {
|
|
39
38
|
case 'LINE':
|
|
@@ -198,7 +197,7 @@ function mtextContentAndFormattingToTextAndStyle(textAndControlChars, entity, co
|
|
|
198
197
|
function drawArc(recordDxf, entity, group, key, configParams) {
|
|
199
198
|
let color = entity.color;
|
|
200
199
|
let rgb = decimalToRGBHex(color);
|
|
201
|
-
|
|
200
|
+
|
|
202
201
|
let hex = rgb.hex;
|
|
203
202
|
let startAngle, endAngle;
|
|
204
203
|
if (entity.type === 'CIRCLE') {
|
|
@@ -265,8 +264,7 @@ function drawEllpse(recordDxf, entity, group, key, configParams) {
|
|
|
265
264
|
parseFloat(entity.majorAxisEndPoint.y),
|
|
266
265
|
parseFloat(entity.majorAxisEndPoint.x)
|
|
267
266
|
);
|
|
268
|
-
|
|
269
|
-
console.log(entity.endAngle);
|
|
267
|
+
|
|
270
268
|
let curve = new THREE.EllipseCurve(
|
|
271
269
|
parseFloat(entity.center.x),
|
|
272
270
|
parseFloat(entity.center.y),
|
|
@@ -316,7 +314,7 @@ function drawEllpse(recordDxf, entity, group, key, configParams) {
|
|
|
316
314
|
function drawLine(recordDxf, entity, group, key, configParams) {
|
|
317
315
|
let color = entity.color;
|
|
318
316
|
let rgb = decimalToRGBHex(color);
|
|
319
|
-
|
|
317
|
+
|
|
320
318
|
let hex = rgb.hex;
|
|
321
319
|
let x1 = entity.vertices[0].x;
|
|
322
320
|
let y1 = entity.vertices[0].y;
|
|
@@ -364,7 +362,7 @@ function drawLine(recordDxf, entity, group, key, configParams) {
|
|
|
364
362
|
function drawText(recordDxf, entity, group, key, configParams) {
|
|
365
363
|
let color = entity.color;
|
|
366
364
|
let rgb = decimalToRGBHex(color);
|
|
367
|
-
|
|
365
|
+
|
|
368
366
|
let hex = rgb.hex;
|
|
369
367
|
|
|
370
368
|
if (hex == '#FFFFFF') {
|
|
@@ -466,13 +464,13 @@ function drawText(recordDxf, entity, group, key, configParams) {
|
|
|
466
464
|
}
|
|
467
465
|
|
|
468
466
|
function drawHatch(recordDxf, entity, group, key, configParams) {
|
|
469
|
-
|
|
467
|
+
|
|
470
468
|
}
|
|
471
469
|
|
|
472
470
|
function drawLwLine(recordDxf, entity, group, key, configParams) {
|
|
473
471
|
let color = entity.color;
|
|
474
472
|
let rgb = decimalToRGBHex(color);
|
|
475
|
-
|
|
473
|
+
|
|
476
474
|
let hex = rgb.hex;
|
|
477
475
|
|
|
478
476
|
if (hex == '#FFFFFF') {
|
|
@@ -35,11 +35,17 @@ function downloadPDF(base64, fileName) {
|
|
|
35
35
|
URL.revokeObjectURL(url); // 释放URL对象
|
|
36
36
|
}
|
|
37
37
|
import Konva from 'konva';
|
|
38
|
-
import { Vector2 } from
|
|
38
|
+
import { Vector2 } from 'three';
|
|
39
39
|
import DxfParser from 'dxf-parser';
|
|
40
40
|
import DxfParser2 from '@/utils/dxf-parser/DxfParser';
|
|
41
41
|
import jsPDF from 'jspdf';
|
|
42
|
-
import {
|
|
42
|
+
import {
|
|
43
|
+
formatEntity,
|
|
44
|
+
handleFn,
|
|
45
|
+
centering,
|
|
46
|
+
_GenerateArcVertices,
|
|
47
|
+
_GenerateBulgeVertices,
|
|
48
|
+
} from './components/entityFormatting';
|
|
43
49
|
export default {
|
|
44
50
|
name: 'Fl2dcanvas',
|
|
45
51
|
components: {},
|
|
@@ -72,8 +78,8 @@ export default {
|
|
|
72
78
|
this.konvaStage._resizeDOM();
|
|
73
79
|
}
|
|
74
80
|
});
|
|
75
|
-
|
|
76
81
|
this.$nextTick(() => {
|
|
82
|
+
console.log(this.$refs.svgDraw.clientHeight)
|
|
77
83
|
this.konvaStage = new Konva.Stage({
|
|
78
84
|
className: 'stage',
|
|
79
85
|
container: 'konva-container',
|
|
@@ -94,7 +100,6 @@ export default {
|
|
|
94
100
|
var scaleBy = 1.1;
|
|
95
101
|
//初始化缩放方法
|
|
96
102
|
this.konvaStage.on('wheel', e => {
|
|
97
|
-
console.log(e);
|
|
98
103
|
e.evt.preventDefault();
|
|
99
104
|
var oldScale = this.konvaStage.scaleX();
|
|
100
105
|
var pointer = this.konvaStage.getPointerPosition();
|
|
@@ -156,27 +161,42 @@ export default {
|
|
|
156
161
|
|
|
157
162
|
*/
|
|
158
163
|
|
|
159
|
-
const { scale, x, y } = this.calculateScaleAndPosition(
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
);
|
|
164
|
+
// const { scale, x, y } = this.calculateScaleAndPosition(
|
|
165
|
+
// this.bounds,
|
|
166
|
+
// this.konvaStage.width(),
|
|
167
|
+
// this.konvaStage.height(),
|
|
168
|
+
// 0.05 // 5% 边距
|
|
169
|
+
// );
|
|
165
170
|
|
|
166
|
-
this.konvaStage.position({ x: x, y: y });
|
|
167
|
-
this.konvaStage.scale({ x: scale, y: scale });
|
|
171
|
+
// this.konvaStage.position({ x: x, y: y });
|
|
172
|
+
// this.konvaStage.scale({ x: scale, y: scale });
|
|
168
173
|
|
|
169
|
-
this.konvaStage.batchDraw();
|
|
174
|
+
// this.konvaStage.batchDraw();
|
|
175
|
+
this.centerDraw();
|
|
170
176
|
});
|
|
171
177
|
this.konvaStage.on('click', e => {
|
|
172
178
|
let target = this.konvaStage.mouseClickEndShape;
|
|
173
|
-
this.$emit('leftClick', target ? target.attrs : null)
|
|
179
|
+
this.$emit('leftClick', target ? target.attrs : null);
|
|
174
180
|
});
|
|
175
181
|
});
|
|
176
182
|
},
|
|
177
183
|
//销毁方法
|
|
178
184
|
|
|
179
185
|
methods: {
|
|
186
|
+
// 图纸居中展示
|
|
187
|
+
centerDraw() {
|
|
188
|
+
const { scale, x, y } = this.calculateScaleAndPosition(
|
|
189
|
+
this.bounds,
|
|
190
|
+
this.konvaStage.width(),
|
|
191
|
+
this.konvaStage.height(),
|
|
192
|
+
0.05 // 5% 边距
|
|
193
|
+
);
|
|
194
|
+
|
|
195
|
+
this.konvaStage.position({ x: x, y: y });
|
|
196
|
+
this.konvaStage.scale({ x: scale, y: scale });
|
|
197
|
+
|
|
198
|
+
this.konvaStage.batchDraw();
|
|
199
|
+
},
|
|
180
200
|
calculateScaleAndPosition(contentBounds, stageWidth, stageHeight, padding = 0.1) {
|
|
181
201
|
// 1. 计算内容的实际宽高
|
|
182
202
|
const contentWidth = contentBounds.maxX - contentBounds.minX;
|
|
@@ -219,7 +239,6 @@ export default {
|
|
|
219
239
|
|
|
220
240
|
return { scale, x, y };
|
|
221
241
|
},
|
|
222
|
-
|
|
223
242
|
updateBounds(v) {
|
|
224
243
|
if (this.bounds === null) {
|
|
225
244
|
this.bounds = { minX: v.x, maxX: v.x, minY: v.y, maxY: v.y };
|
|
@@ -274,14 +293,11 @@ export default {
|
|
|
274
293
|
for (let i = 0; i < hatchEntitys.length; i++) {
|
|
275
294
|
let entity = hatchEntitys[i];
|
|
276
295
|
let layerConfig = this.recordLayerConfig[entity.layer];
|
|
277
|
-
let configParams =
|
|
278
|
-
|
|
279
|
-
? layerConfig
|
|
280
|
-
: null;
|
|
281
|
-
let color = configParams ? configParams.color : "#000";
|
|
296
|
+
let configParams = layerConfig && Object.keys(layerConfig).length > 0 ? layerConfig : null;
|
|
297
|
+
let color = configParams ? configParams.color : '#000';
|
|
282
298
|
let visible = configParams ? configParams.visible : true;
|
|
283
|
-
let name = entity.layer.replace(/\s*/g,
|
|
284
|
-
if (entity.type ==
|
|
299
|
+
let name = entity.layer.replace(/\s*/g, '');
|
|
300
|
+
if (entity.type == 'HATCH') {
|
|
285
301
|
let boundaryLoops = entity.boundaryLoops;
|
|
286
302
|
for (let j = 0; j < boundaryLoops.length; j++) {
|
|
287
303
|
let list = [];
|
|
@@ -298,10 +314,7 @@ export default {
|
|
|
298
314
|
);
|
|
299
315
|
const axisRatio = entity.radius;
|
|
300
316
|
const yR = xR * axisRatio;
|
|
301
|
-
const rotation = Math.atan2(
|
|
302
|
-
majorAxisEndPoint.y,
|
|
303
|
-
majorAxisEndPoint.x
|
|
304
|
-
);
|
|
317
|
+
const rotation = Math.atan2(majorAxisEndPoint.y, majorAxisEndPoint.x);
|
|
305
318
|
|
|
306
319
|
const arcVertices = _GenerateArcVertices({
|
|
307
320
|
vertices: [],
|
|
@@ -330,10 +343,8 @@ export default {
|
|
|
330
343
|
list.push(arcVertices[i].x);
|
|
331
344
|
list.push(-parseFloat(arcVertices[i].y));
|
|
332
345
|
}
|
|
333
|
-
|
|
334
346
|
}
|
|
335
347
|
if (entity.type == 1) {
|
|
336
|
-
|
|
337
348
|
list.push(entity.start.x);
|
|
338
349
|
list.push(-parseFloat(entity.start.y));
|
|
339
350
|
list.push(entity.end.x);
|
|
@@ -350,7 +361,7 @@ export default {
|
|
|
350
361
|
stroke: color,
|
|
351
362
|
customColor: color,
|
|
352
363
|
visible: visible,
|
|
353
|
-
shapeType: 'hatch'
|
|
364
|
+
shapeType: 'hatch',
|
|
354
365
|
});
|
|
355
366
|
this.konvaLayer.add(line);
|
|
356
367
|
}
|
|
@@ -359,20 +370,14 @@ export default {
|
|
|
359
370
|
let loop = boundaryLoops[0];
|
|
360
371
|
if (loop.type == 7) {
|
|
361
372
|
let vertices = [];
|
|
362
|
-
for (
|
|
363
|
-
let vtxIdx = 0;
|
|
364
|
-
vtxIdx < loop.polyline.vertices.length;
|
|
365
|
-
vtxIdx++
|
|
366
|
-
) {
|
|
373
|
+
for (let vtxIdx = 0; vtxIdx < loop.polyline.vertices.length; vtxIdx++) {
|
|
367
374
|
const vtx = loop.polyline.vertices[vtxIdx];
|
|
368
375
|
if ((vtx.bulge ?? 0) == 0) {
|
|
369
376
|
vertices.push(new Vector2(vtx.x, vtx.y));
|
|
370
377
|
} else {
|
|
371
378
|
const prevVtx =
|
|
372
379
|
loop.polyline.vertices[
|
|
373
|
-
vtxIdx == 0
|
|
374
|
-
? loop.polyline.vertices.length - 1
|
|
375
|
-
: vtxIdx - 1
|
|
380
|
+
vtxIdx == 0 ? loop.polyline.vertices.length - 1 : vtxIdx - 1
|
|
376
381
|
];
|
|
377
382
|
if ((prevVtx.bulge ?? 0) == 0) {
|
|
378
383
|
/* Start vertex is not produced by _GenerateBulgeVertices(). */
|
|
@@ -380,16 +385,9 @@ export default {
|
|
|
380
385
|
}
|
|
381
386
|
const nextVtx =
|
|
382
387
|
loop.polyline.vertices[
|
|
383
|
-
vtxIdx == loop.polyline.vertices.length - 1
|
|
384
|
-
? 0
|
|
385
|
-
: vtxIdx + 1
|
|
388
|
+
vtxIdx == loop.polyline.vertices.length - 1 ? 0 : vtxIdx + 1
|
|
386
389
|
];
|
|
387
|
-
vertices = _GenerateBulgeVertices(
|
|
388
|
-
[],
|
|
389
|
-
vtx,
|
|
390
|
-
nextVtx,
|
|
391
|
-
vtx.bulge
|
|
392
|
-
);
|
|
390
|
+
vertices = _GenerateBulgeVertices([], vtx, nextVtx, vtx.bulge);
|
|
393
391
|
}
|
|
394
392
|
}
|
|
395
393
|
let list = [];
|
|
@@ -408,7 +406,7 @@ export default {
|
|
|
408
406
|
stroke: color,
|
|
409
407
|
customColor: color,
|
|
410
408
|
visible: visible,
|
|
411
|
-
shapeType: 'hatch'
|
|
409
|
+
shapeType: 'hatch',
|
|
412
410
|
});
|
|
413
411
|
this.konvaLayer.add(line);
|
|
414
412
|
}
|
|
@@ -447,7 +445,6 @@ export default {
|
|
|
447
445
|
}
|
|
448
446
|
|
|
449
447
|
if (group[0].stroke == undefined) {
|
|
450
|
-
console.log(group);
|
|
451
448
|
group[0].stroke = '#000';
|
|
452
449
|
}
|
|
453
450
|
let customShape = new Konva.Shape({
|
|
@@ -558,6 +555,7 @@ export default {
|
|
|
558
555
|
this.activedSvgPan.x = x;
|
|
559
556
|
this.activedSvgPan.y = x;
|
|
560
557
|
setTimeout(() => {
|
|
558
|
+
this.centerDraw();
|
|
561
559
|
this.$emit('loaded');
|
|
562
560
|
}, 100);
|
|
563
561
|
},
|
|
@@ -670,9 +668,6 @@ export default {
|
|
|
670
668
|
}
|
|
671
669
|
}
|
|
672
670
|
|
|
673
|
-
console.log('bounds1');
|
|
674
|
-
console.log(_this.bounds1);
|
|
675
|
-
|
|
676
671
|
for (let key in entities) {
|
|
677
672
|
if (entities[key]) {
|
|
678
673
|
let group = [];
|
|
@@ -702,7 +697,6 @@ export default {
|
|
|
702
697
|
}
|
|
703
698
|
|
|
704
699
|
if (group[0].stroke == undefined) {
|
|
705
|
-
console.log(group);
|
|
706
700
|
group[0].stroke = '#000';
|
|
707
701
|
}
|
|
708
702
|
|
|
@@ -774,8 +768,6 @@ export default {
|
|
|
774
768
|
this.konvaStage.height(),
|
|
775
769
|
0.05 // 5% 边距
|
|
776
770
|
);
|
|
777
|
-
console.log('test1:');
|
|
778
|
-
console.log(this.bounds1);
|
|
779
771
|
|
|
780
772
|
_this.bounds1 = null;
|
|
781
773
|
|
|
@@ -822,32 +814,38 @@ export default {
|
|
|
822
814
|
// 更改图纸的色系 区分明暗两种 darkness 暗色系 bright 明亮
|
|
823
815
|
setColorScheme(colorType) {
|
|
824
816
|
// const backgroundColor = colorType === "darkness" ? "#000" : "transparent";
|
|
825
|
-
const color = colorType ===
|
|
817
|
+
const color = colorType === 'darkness' ? '#fff' : '#000';
|
|
826
818
|
// konvaStage.container().style.background = backgroundColor;
|
|
827
|
-
this.konvaLayer.children.forEach(
|
|
819
|
+
this.konvaLayer.children.forEach(item => {
|
|
828
820
|
this.traverseLayer(item, color);
|
|
829
821
|
});
|
|
830
822
|
},
|
|
831
|
-
|
|
823
|
+
|
|
832
824
|
traverseLayer(obj, color) {
|
|
833
825
|
if (!obj.attrs.isGroup) {
|
|
834
826
|
if (color === '#fff') {
|
|
835
|
-
|
|
827
|
+
let setColor =
|
|
828
|
+
obj.attrs.customColor === '#000' ||
|
|
829
|
+
obj.attrs.customColor === '#000000' ||
|
|
830
|
+
obj.attrs.customColor === 'rgb(0, 0, 0)' ||
|
|
831
|
+
obj.attrs.customColor === 'rgba(0, 0, 0, 1)'
|
|
832
|
+
? color
|
|
833
|
+
: obj.attrs.customColor;
|
|
836
834
|
if (obj.attrs.shapeType === 'hatch' || obj.attrs.shapeType === 'text') {
|
|
837
835
|
obj.setFill(setColor);
|
|
838
836
|
}
|
|
839
837
|
obj.setStroke(setColor);
|
|
840
|
-
obj.attrs.oldCustomColor = obj.attrs.customColor
|
|
841
|
-
obj.attrs.customColor = setColor
|
|
838
|
+
obj.attrs.oldCustomColor = obj.attrs.customColor;
|
|
839
|
+
obj.attrs.customColor = setColor;
|
|
842
840
|
} else {
|
|
843
|
-
obj.attrs.customColor = obj.attrs.oldCustomColor
|
|
841
|
+
obj.attrs.customColor = obj.attrs.oldCustomColor;
|
|
844
842
|
if (obj.attrs.shapeType === 'hatch' || obj.attrs.shapeType === 'text') {
|
|
845
843
|
obj.setFill(obj.attrs.customColor);
|
|
846
844
|
}
|
|
847
845
|
obj.setStroke(obj.attrs.customColor);
|
|
848
846
|
}
|
|
849
847
|
} else {
|
|
850
|
-
obj.children.forEach(
|
|
848
|
+
obj.children.forEach(item => {
|
|
851
849
|
this.traverseLayer(item, color);
|
|
852
850
|
});
|
|
853
851
|
}
|
|
@@ -855,7 +853,7 @@ export default {
|
|
|
855
853
|
},
|
|
856
854
|
beforeDestroy() {
|
|
857
855
|
this.clearCache();
|
|
858
|
-
}
|
|
856
|
+
},
|
|
859
857
|
};
|
|
860
858
|
</script>
|
|
861
859
|
<style lang="scss" scoped>
|
|
@@ -213,27 +213,27 @@ export default {
|
|
|
213
213
|
loadedCount: 0,
|
|
214
214
|
totalCount: 0,
|
|
215
215
|
isPaused: false,
|
|
216
|
-
},
|
|
217
|
-
isolateMode: false,
|
|
218
|
-
sceneBoundingBoxDebugEnabled: false,
|
|
219
|
-
// collisionObbDebugEnabled: isDebug,
|
|
220
|
-
collisionObbDebugEnabled: false,
|
|
221
|
-
};
|
|
216
|
+
},
|
|
217
|
+
isolateMode: false,
|
|
218
|
+
sceneBoundingBoxDebugEnabled: false,
|
|
219
|
+
// collisionObbDebugEnabled: isDebug,
|
|
220
|
+
collisionObbDebugEnabled: false,
|
|
221
|
+
};
|
|
222
|
+
},
|
|
223
|
+
watch: {
|
|
224
|
+
transformEditDisabled(val) {
|
|
225
|
+
if (val) {
|
|
226
|
+
this.detachTransformControls();
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
sceneBoundingBoxDebugEnabled(val) {
|
|
230
|
+
if (val) {
|
|
231
|
+
this.refreshSceneBoundingBoxHelper(true);
|
|
232
|
+
} else {
|
|
233
|
+
this.hideSceneBoundingBox();
|
|
234
|
+
}
|
|
235
|
+
},
|
|
222
236
|
},
|
|
223
|
-
watch: {
|
|
224
|
-
transformEditDisabled(val) {
|
|
225
|
-
if (val) {
|
|
226
|
-
this.detachTransformControls();
|
|
227
|
-
}
|
|
228
|
-
},
|
|
229
|
-
sceneBoundingBoxDebugEnabled(val) {
|
|
230
|
-
if (val) {
|
|
231
|
-
this.refreshSceneBoundingBoxHelper(true);
|
|
232
|
-
} else {
|
|
233
|
-
this.hideSceneBoundingBox();
|
|
234
|
-
}
|
|
235
|
-
},
|
|
236
|
-
},
|
|
237
237
|
beforeCreate() {
|
|
238
238
|
this.spaceUp = true;
|
|
239
239
|
let arr = [
|
|
@@ -1513,12 +1513,12 @@ export default {
|
|
|
1513
1513
|
|
|
1514
1514
|
if (hasValidBox) {
|
|
1515
1515
|
this.sceneBoundingBox = mergedBox;
|
|
1516
|
-
this.refreshSceneBoundingBoxHelper(this.sceneBoundingBoxDebugEnabled);
|
|
1516
|
+
this.refreshSceneBoundingBoxHelper(this.sceneBoundingBoxDebugEnabled);
|
|
1517
1517
|
return this.sceneBoundingBox;
|
|
1518
1518
|
}
|
|
1519
1519
|
|
|
1520
1520
|
this.sceneBoundingBox = new this.THREE.Box3();
|
|
1521
|
-
this.refreshSceneBoundingBoxHelper(this.sceneBoundingBoxDebugEnabled);
|
|
1521
|
+
this.refreshSceneBoundingBoxHelper(this.sceneBoundingBoxDebugEnabled);
|
|
1522
1522
|
return this.sceneBoundingBox;
|
|
1523
1523
|
},
|
|
1524
1524
|
upsertIndexedBox(indexMap, modelId, box) {
|
|
@@ -4353,7 +4353,7 @@ export default {
|
|
|
4353
4353
|
},
|
|
4354
4354
|
maxBorder,
|
|
4355
4355
|
});
|
|
4356
|
-
this.refreshSceneBoundingBoxHelper(this.sceneBoundingBoxDebugEnabled);
|
|
4356
|
+
this.refreshSceneBoundingBoxHelper(this.sceneBoundingBoxDebugEnabled);
|
|
4357
4357
|
}
|
|
4358
4358
|
// this.cameraControls.this.camera.far = maxBorder * 10; // 设置相机的远裁剪面
|
|
4359
4359
|
this.cameraControls.minDistance = maxBorder * 0.2; // 动态设置视角滚轮的距离
|
|
@@ -7623,9 +7623,9 @@ export default {
|
|
|
7623
7623
|
return true;
|
|
7624
7624
|
},
|
|
7625
7625
|
|
|
7626
|
-
showSceneBoundingBox() {
|
|
7627
|
-
this.sceneBoundingBoxDebugEnabled = true;
|
|
7628
|
-
const shown = this.refreshSceneBoundingBoxHelper(true);
|
|
7626
|
+
showSceneBoundingBox() {
|
|
7627
|
+
this.sceneBoundingBoxDebugEnabled = true;
|
|
7628
|
+
const shown = this.refreshSceneBoundingBoxHelper(true);
|
|
7629
7629
|
if (!shown) {
|
|
7630
7630
|
console.warn('sceneBoundingBox 无有效范围,无法绘制调试线框');
|
|
7631
7631
|
return;
|
|
@@ -7647,9 +7647,9 @@ export default {
|
|
|
7647
7647
|
});
|
|
7648
7648
|
},
|
|
7649
7649
|
|
|
7650
|
-
hideSceneBoundingBox() {
|
|
7651
|
-
this.sceneBoundingBoxDebugEnabled = false;
|
|
7652
|
-
if (this.sceneBoundingBoxHelper && this.scene) {
|
|
7650
|
+
hideSceneBoundingBox() {
|
|
7651
|
+
this.sceneBoundingBoxDebugEnabled = false;
|
|
7652
|
+
if (this.sceneBoundingBoxHelper && this.scene) {
|
|
7653
7653
|
this.scene.remove(this.sceneBoundingBoxHelper);
|
|
7654
7654
|
this.sceneBoundingBoxHelper.geometry && this.sceneBoundingBoxHelper.geometry.dispose();
|
|
7655
7655
|
if (Array.isArray(this.sceneBoundingBoxHelper.material)) {
|
|
@@ -7671,11 +7671,11 @@ export default {
|
|
|
7671
7671
|
/**
|
|
7672
7672
|
* 切换场景包围盒显示状态
|
|
7673
7673
|
*/
|
|
7674
|
-
toggleSceneBoundingBox() {
|
|
7675
|
-
if (this.sceneBoundingBoxDebugEnabled) {
|
|
7676
|
-
this.hideSceneBoundingBox();
|
|
7677
|
-
} else {
|
|
7678
|
-
this.showSceneBoundingBox();
|
|
7674
|
+
toggleSceneBoundingBox() {
|
|
7675
|
+
if (this.sceneBoundingBoxDebugEnabled) {
|
|
7676
|
+
this.hideSceneBoundingBox();
|
|
7677
|
+
} else {
|
|
7678
|
+
this.showSceneBoundingBox();
|
|
7679
7679
|
}
|
|
7680
7680
|
},
|
|
7681
7681
|
},
|
|
@@ -1068,10 +1068,10 @@ function draw3Dmodel(
|
|
|
1068
1068
|
* @param {String} instanceName - 模型实例的名称
|
|
1069
1069
|
* @returns {Object} - 包含所有 2D 模型的组对象
|
|
1070
1070
|
*/
|
|
1071
|
-
function draw2Dmodel(geom, instanceName, instanceCount, nColor, nOpacity, options = {}) {
|
|
1072
|
-
const points = geom.points;
|
|
1073
|
-
const normals = geom.normals;
|
|
1074
|
-
const geometry = new THREE.BufferGeometry();
|
|
1071
|
+
function draw2Dmodel(geom, instanceName, instanceCount, nColor, nOpacity, options = {}) {
|
|
1072
|
+
const points = geom.points;
|
|
1073
|
+
const normals = geom.normals;
|
|
1074
|
+
const geometry = new THREE.BufferGeometry();
|
|
1075
1075
|
|
|
1076
1076
|
if (points && points.length) {
|
|
1077
1077
|
const position = new Float32Array(points);
|
|
@@ -1082,18 +1082,18 @@ function draw2Dmodel(geom, instanceName, instanceCount, nColor, nOpacity, option
|
|
|
1082
1082
|
const normal = new Float32Array(normals);
|
|
1083
1083
|
geometry.setAttribute('normal', new THREE.BufferAttribute(normal, 3));
|
|
1084
1084
|
}
|
|
1085
|
-
|
|
1086
|
-
const { color, linewidth } = geom.prop;
|
|
1087
|
-
const formatLinewidth = (linewidth < 1 ? linewidth * 50 : linewidth) || 5;
|
|
1088
|
-
const meshLineResolution = options.meshLineResolution || {};
|
|
1089
|
-
const resolutionWidth = meshLineResolution.width || window.innerWidth || 1;
|
|
1090
|
-
const resolutionHeight = meshLineResolution.height || window.innerHeight || 1;
|
|
1091
|
-
const material = new MeshLineMaterial({
|
|
1092
|
-
color: new THREE.Color(`rgb(${color[0]}, ${color[1]}, ${color[2]})`),
|
|
1093
|
-
lineWidth: formatLinewidth,
|
|
1094
|
-
resolution: new THREE.Vector2(resolutionWidth, resolutionHeight),
|
|
1095
|
-
sizeAttenuation: 0,
|
|
1096
|
-
});
|
|
1085
|
+
|
|
1086
|
+
const { color, linewidth } = geom.prop;
|
|
1087
|
+
const formatLinewidth = (linewidth < 1 ? linewidth * 50 : linewidth) || 5;
|
|
1088
|
+
const meshLineResolution = options.meshLineResolution || {};
|
|
1089
|
+
const resolutionWidth = meshLineResolution.width || window.innerWidth || 1;
|
|
1090
|
+
const resolutionHeight = meshLineResolution.height || window.innerHeight || 1;
|
|
1091
|
+
const material = new MeshLineMaterial({
|
|
1092
|
+
color: new THREE.Color(`rgb(${color[0]}, ${color[1]}, ${color[2]})`),
|
|
1093
|
+
lineWidth: formatLinewidth,
|
|
1094
|
+
resolution: new THREE.Vector2(resolutionWidth, resolutionHeight),
|
|
1095
|
+
sizeAttenuation: 0,
|
|
1096
|
+
});
|
|
1097
1097
|
|
|
1098
1098
|
const lineGeometry = new MeshLineGeometry();
|
|
1099
1099
|
lineGeometry.setPoints(geometry);
|