@babylonjs/gui-editor 5.0.0-beta.3 → 5.0.0-beta.4
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/babylon.guiEditor.max.js +495 -203
- package/babylon.guiEditor.max.js.map +1 -1
- package/babylon.guiEditor.module.d.ts +44 -24
- package/package.json +2 -2
package/babylon.guiEditor.max.js
CHANGED
@@ -10165,7 +10165,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
10165
10165
|
|
10166
10166
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);
|
10167
10167
|
// Module
|
10168
|
-
___CSS_LOADER_EXPORT___.push([module.i, ":root {\n --blackBarHeight: 55px; }\n\n#gui-editor-workbench-root {\n display: grid;\n grid-template-rows: calc(100% - 55px);\n height: 100%;\n width: 100%;\n background: #e2e2e2;\n font: 14px \"acumin-pro-condensed\"; }\n\n.wait-screen {\n display: grid;\n justify-content: center;\n align-content: center;\n height: 100%;\n width: 100%;\n background: #464646;\n opacity: 0.95;\n color: white;\n font: 24px \"acumin-pro-condensed\";\n position: absolute;\n top: 0;\n left: 0; }\n .wait-screen.hidden {\n visibility: hidden; }\n\n#leftGrab {\n grid-row: 1 / span 2;\n grid-column: 2;\n cursor: ew-resize; }\n\n#rightGrab {\n grid-row: 1 / span 2;\n grid-column: 5;\n cursor: ew-resize; }\n\n#toolbarGrab {\n background: #333333;\n grid-row: 1 / span 3;\n grid-column: 3;\n height: 100%; }\n #toolbarGrab .blackLine {\n height: 5px;\n background: black; }\n #toolbarGrab .toolbar-label {\n color: white;\n font-size: 18px;\n display: grid;\n align-items: center;\n cursor: pointer;\n user-select: none;\n grid-template-columns: 1fr 20px;\n grid-template-rows: 100%;\n position: relative; }\n #toolbarGrab .toolbar-label.active {\n font-weight: bold;\n font-size: 20px; }\n #toolbarGrab .toolbar-label:hover {\n background: var(--selectionGrey); }\n #toolbarGrab .toolbar-label:hover .sub-items {\n display: block; }\n #toolbarGrab .toolbar-icon {\n width: 40px;\n height: 40px; }\n\n.diagram-container {\n position: relative;\n display: grid;\n grid-row: 1;\n grid-column: 4;\n background: #5f5b60;\n width: 100%;\n height: 100%; }\n .diagram-container .diagram {\n display: none;\n width: 100%;\n height: 100%; }\n .diagram-container .ge-scalePoint {\n width: 10px;\n height: 10px;\n background: transparent;\n outline: #7d7d7d 2px solid; }\n .diagram-container .ge-pivotPoint {\n width: 30px;\n height: 30px;\n background: transparent; }\n\n.right-panel {\n grid-row: 1 / span 2;\n grid-column: 6;\n display: grid;\n grid-template-rows: 1fr 40px auto 40px;\n grid-template-columns: 100%;\n height: calc(100% - var(--blackBarHeight));\n overflow-y: auto; }\n .right-panel #propertyTab {\n grid-row: 1;\n grid-column: 1; }\n .right-panel .button {\n display: grid;\n justify-content: center;\n align-content: center;\n height: auto;\n width: calc(100% / 7);\n cursor: pointer; }\n .right-panel .button:hover {\n background: #337ab7;\n color: white;\n opacity: 0.8; }\n .right-panel .button.selected {\n background: #337ab7;\n color: white; }\n .right-panel .button.align {\n justify-content: stretch;\n text-align: center; }\n\n.blocker {\n visibility: hidden;\n position: absolute;\n width: calc(100% - 40px);\n height: 100%;\n top: 0;\n left: 0;\n background: rgba(20, 20, 20, 0.95);\n font-family: \"acumin-pro-condensed\";\n color: white;\n font-size: 24px;\n display: grid;\n align-content: center;\n justify-content: center;\n user-select: none;\n padding: 20px;\n text-align: center; }\n\n#log-console {\n grid-row: 2;\n grid-column: 4;\n display: none; }\n\n.dialog-container {\n position: absolute;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.6);\n display: grid;\n font-family: \"acumin-pro-condensed\";\n top: 0; }\n .dialog-container .dialog {\n align-self: center;\n justify-self: center;\n min-height: 140px;\n max-width: 400px;\n border-radius: 10px;\n background: white;\n display: grid;\n grid-template-columns: 100%;\n grid-template-rows: calc(100% - 50px) 50px; }\n .dialog-container .dialog .dialog-message {\n grid-row: 1;\n grid-column: 1;\n margin-top: 20px;\n padding: 10px;\n font-size: 18px;\n color: black; }\n .dialog-container .dialog .dialog-buttons {\n grid-row: 2;\n grid-column: 1;\n display: grid;\n grid-template-rows: 100%;\n grid-template-columns: 100%;\n color: white; }\n .dialog-container .dialog .dialog-buttons .dialog-button-ok {\n cursor: pointer;\n justify-self: center;\n background: green;\n min-width: 80px;\n justify-content: center;\n display: grid;\n align-content: center;\n align-self: center;\n height: 35px;\n border-radius: 10px; }\n .dialog-container .dialog .dialog-buttons .dialog-button-ok:hover {\n opacity: 0.8; }\n .dialog-container .dialog .dialog-buttons .dialog-button-ok.error {\n background: red; }\n", "",{"version":3,"sources":["webpack://./main.scss"],"names":[],"mappings":"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","sourcesContent":[":root {\r\n --blackBarHeight: 55px;\r\n}\r\n\r\n#gui-editor-workbench-root {\r\n display: grid;\r\n grid-template-rows: calc(100% - 55px);\r\n height: 100%;\r\n width: 100%;\r\n background: #e2e2e2;\r\n font: 14px \"acumin-pro-condensed\"; \r\n}\r\n\r\n.wait-screen {\r\n display: grid;\r\n justify-content: center;\r\n align-content: center;\r\n height: 100%;\r\n width: 100%;\r\n background: #464646;\r\n opacity: 0.95;\r\n color:white;\r\n font: 24px \"acumin-pro-condensed\"; \r\n position: absolute;\r\n top: 0;\r\n left: 0; \r\n\r\n &.hidden {\r\n visibility: hidden;\r\n }\r\n}\r\n\r\n#leftGrab {\r\n grid-row: 1 / span 2;\r\n grid-column: 2;\r\n cursor: ew-resize;\r\n}\r\n\r\n#rightGrab {\r\n grid-row: 1 / span 2;\r\n grid-column: 5;\r\n cursor: ew-resize;\r\n}\r\n\r\n\r\n#toolbarGrab {\r\n background: #333333;\r\n grid-row: 1 / span 3;\r\n grid-column: 3;\r\n height: 100%;\r\n\r\n .blackLine {\r\n height: 5px;\r\n background: black;\r\n }\r\n .toolbar-label {\r\n color:white;\r\n font-size: 18px;\r\n display: grid;\r\n align-items: center;\r\n cursor: pointer;\r\n user-select: none;\r\n grid-template-columns: 1fr 20px;\r\n grid-template-rows: 100%;\r\n position: relative;\r\n\r\n &.active {\r\n font-weight: bold;\r\n font-size: 20px;\r\n }\r\n\r\n &:hover {\r\n background: var(--selectionGrey);\r\n .sub-items {\r\n display: block;\r\n }\r\n } \r\n }\r\n .toolbar-icon {\r\n width: 40px;\r\n height: 40px;\r\n }\r\n}\r\n\r\n.diagram-container {\r\n position: relative;\r\n display: grid;\r\n grid-row: 1;\r\n grid-column: 4;\r\n background: #5f5b60;\r\n width: 100%;\r\n height: 100%;\r\n\r\n .diagram {\r\n display: none;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .ge-scalePoint {\r\n width: 10px;\r\n height: 10px;\r\n background: transparent;\r\n outline: rgb(125, 125, 125) 2px solid;\r\n }\r\n\r\n .ge-pivotPoint {\r\n width: 30px;\r\n height: 30px;\r\n background: transparent;\r\n }\r\n}\r\n\r\n.right-panel {\r\n grid-row: 1 / span 2;\r\n grid-column: 6;\r\n display: grid;\r\n grid-template-rows: 1fr 40px auto 40px;\r\n grid-template-columns: 100%;\r\n height: calc(100% - var(--blackBarHeight));\r\n overflow-y: auto;\r\n\r\n #propertyTab {\r\n grid-row: 1;\r\n grid-column: 1;\r\n } \r\n \r\n .button {\r\n display: grid;\r\n justify-content: center;\r\n align-content: center;\r\n height: auto;\r\n width: calc(100% / 7);\r\n cursor: pointer;\r\n\r\n &:hover {\r\n background: rgb(51, 122, 183);\r\n color: white;\r\n opacity: 0.8;\r\n }\r\n\r\n &.selected {\r\n background: rgb(51, 122, 183);\r\n color: white;\r\n }\r\n \r\n &.align {\r\n justify-content: stretch;\r\n text-align: center;\r\n }\r\n } \r\n}\r\n\r\n.blocker {\r\n visibility: hidden;\r\n position: absolute;\r\n width: calc(100% - 40px);\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n\r\n background: rgba(20, 20, 20, 0.95); \r\n font-family: \"acumin-pro-condensed\";\r\n color: white;\r\n font-size: 24px;\r\n\r\n display: grid;\r\n align-content: center;\r\n justify-content: center;\r\n\r\n user-select: none;\r\n\r\n padding: 20px;\r\n text-align: center;\r\n}\r\n\r\n#log-console {\r\n grid-row: 2;\r\n grid-column: 4;\r\n display: none;\r\n}\r\n\r\n.dialog-container {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n background: rgba(0.1, 0.1, 0.1, 0.6);\r\n display: grid;\r\n font-family: \"acumin-pro-condensed\";\r\n top:0;\r\n\r\n .dialog {\r\n align-self: center;\r\n justify-self: center;\r\n min-height: 140px;\r\n max-width: 400px;\r\n border-radius: 10px;\r\n background: white;\r\n\r\n display: grid;\r\n grid-template-columns: 100%;\r\n grid-template-rows: calc(100% - 50px) 50px;\r\n\r\n .dialog-message {\r\n grid-row: 1;\r\n grid-column: 1;\r\n margin-top: 20px;\r\n padding: 10px;\r\n font-size: 18px;\r\n color: black;\r\n }\r\n\r\n .dialog-buttons {\r\n grid-row: 2;\r\n grid-column: 1;\r\n display: grid;\r\n grid-template-rows: 100%;\r\n grid-template-columns: 100%;\r\n color: white;\r\n\r\n .dialog-button-ok {\r\n cursor: pointer;\r\n justify-self: center;\r\n background:green;\r\n min-width: 80px;\r\n justify-content: center;\r\n display: grid;\r\n align-content: center;\r\n align-self: center;\r\n height: 35px; \r\n border-radius: 10px;\r\n\r\n &:hover {\r\n opacity: 0.8;\r\n }\r\n\r\n &.error {\r\n background: red;\r\n }\r\n }\r\n }\r\n }\r\n}"],"sourceRoot":""}]);
|
10168
|
+
___CSS_LOADER_EXPORT___.push([module.i, ":root {\n --blackBarHeight: 55px; }\n\n#gui-editor-workbench-root {\n display: grid;\n grid-template-rows: calc(100% - 55px);\n height: 100%;\n width: 100%;\n background: #e2e2e2;\n font: 14px \"acumin-pro-condensed\"; }\n\n.wait-screen {\n display: grid;\n justify-content: center;\n align-content: center;\n height: 100%;\n width: 100%;\n background: #464646;\n opacity: 0.95;\n color: white;\n font: 24px \"acumin-pro-condensed\";\n position: absolute;\n top: 0;\n left: 0; }\n .wait-screen.hidden {\n visibility: hidden; }\n\n#leftGrab {\n grid-row: 1 / span 2;\n grid-column: 2;\n cursor: ew-resize; }\n\n#rightGrab {\n grid-row: 1 / span 2;\n grid-column: 5;\n cursor: ew-resize; }\n\n#toolbarGrab {\n background: #333333;\n grid-row: 1 / span 3;\n grid-column: 3;\n height: 100%; }\n #toolbarGrab .blackLine {\n height: 5px;\n background: black; }\n #toolbarGrab .toolbar-label {\n color: white;\n font-size: 18px;\n display: grid;\n align-items: center;\n cursor: pointer;\n user-select: none;\n grid-template-columns: 1fr 20px;\n grid-template-rows: 100%;\n position: relative; }\n #toolbarGrab .toolbar-label.active {\n font-weight: bold;\n font-size: 20px; }\n #toolbarGrab .toolbar-label:hover {\n background: var(--selectionGrey); }\n #toolbarGrab .toolbar-label:hover .sub-items {\n display: block; }\n #toolbarGrab .toolbar-icon {\n width: 40px;\n height: 40px; }\n\n.diagram-container {\n position: relative;\n display: grid;\n grid-row: 1;\n grid-column: 4;\n background: #5f5b60;\n width: 100%;\n height: 100%; }\n .diagram-container .diagram {\n display: none;\n width: 100%;\n height: 100%; }\n\n.right-panel {\n grid-row: 1 / span 2;\n grid-column: 6;\n display: grid;\n grid-template-rows: 1fr 40px auto 40px;\n grid-template-columns: 100%;\n height: calc(100% - var(--blackBarHeight));\n overflow-y: auto; }\n .right-panel #propertyTab {\n grid-row: 1;\n grid-column: 1; }\n .right-panel .button {\n display: grid;\n justify-content: center;\n align-content: center;\n height: auto;\n width: calc(100% / 7);\n cursor: pointer; }\n .right-panel .button:hover {\n background: #337ab7;\n color: white;\n opacity: 0.8; }\n .right-panel .button.selected {\n background: #337ab7;\n color: white; }\n .right-panel .button.align {\n justify-content: stretch;\n text-align: center; }\n\n.blocker {\n visibility: hidden;\n position: absolute;\n width: calc(100% - 40px);\n height: 100%;\n top: 0;\n left: 0;\n background: rgba(20, 20, 20, 0.95);\n font-family: \"acumin-pro-condensed\";\n color: white;\n font-size: 24px;\n display: grid;\n align-content: center;\n justify-content: center;\n user-select: none;\n padding: 20px;\n text-align: center; }\n\n#log-console {\n grid-row: 2;\n grid-column: 4;\n display: none; }\n\n.dialog-container {\n position: absolute;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.6);\n display: grid;\n font-family: \"acumin-pro-condensed\";\n top: 0; }\n .dialog-container .dialog {\n align-self: center;\n justify-self: center;\n min-height: 140px;\n max-width: 400px;\n border-radius: 10px;\n background: white;\n display: grid;\n grid-template-columns: 100%;\n grid-template-rows: calc(100% - 50px) 50px; }\n .dialog-container .dialog .dialog-message {\n grid-row: 1;\n grid-column: 1;\n margin-top: 20px;\n padding: 10px;\n font-size: 18px;\n color: black; }\n .dialog-container .dialog .dialog-buttons {\n grid-row: 2;\n grid-column: 1;\n display: grid;\n grid-template-rows: 100%;\n grid-template-columns: 100%;\n color: white; }\n .dialog-container .dialog .dialog-buttons .dialog-button-ok {\n cursor: pointer;\n justify-self: center;\n background: green;\n min-width: 80px;\n justify-content: center;\n display: grid;\n align-content: center;\n align-self: center;\n height: 35px;\n border-radius: 10px; }\n .dialog-container .dialog .dialog-buttons .dialog-button-ok:hover {\n opacity: 0.8; }\n .dialog-container .dialog .dialog-buttons .dialog-button-ok.error {\n background: red; }\n\n.gizmo .bounding-box-line {\n background-color: black;\n position: absolute;\n line-height: 1px;\n height: 1px;\n pointer-events: none; }\n\n.gizmo .scale-point-container {\n position: absolute;\n width: 30px;\n height: 30px; }\n .gizmo .scale-point-container .scale-point {\n top: 10px;\n left: 10px;\n position: absolute;\n width: 10px;\n height: 10px;\n background: transparent;\n outline: #7d7d7d 2px solid; }\n .gizmo .scale-point-container .rotate-click-area {\n width: 20px;\n height: 20px;\n position: absolute; }\n .gizmo .scale-point-container .scale-click-area {\n width: 20px;\n height: 20px;\n position: absolute; }\n\n.gizmo .pivot-point {\n width: 30px;\n height: 30px;\n background: transparent;\n position: absolute; }\n", "",{"version":3,"sources":["webpack://./main.scss"],"names":[],"mappings":"AAAA;EACI,sBAAiB,EAAA;;AAGrB;EACI,aAAa;EACb,qCAAqC;EACrC,YAAY;EACZ,WAAW;EACX,mBAAmB;EACnB,iCAAiC,EAAA;;AAGrC;EACI,aAAa;EACb,uBAAuB;EACvB,qBAAqB;EACrB,YAAY;EACZ,WAAW;EACX,mBAAmB;EACnB,aAAa;EACb,YAAW;EACX,iCAAiC;EACjC,kBAAkB;EAClB,MAAM;EACN,OAAO,EAAA;EAZX;IAeQ,kBAAkB,EAAA;;AAI1B;EACI,oBAAoB;EACpB,cAAc;EACd,iBAAiB,EAAA;;AAGrB;EACI,oBAAoB;EACpB,cAAc;EACd,iBAAiB,EAAA;;AAIrB;EACI,mBAAmB;EACnB,oBAAoB;EACpB,cAAc;EACd,YAAY,EAAA;EAJhB;IAOQ,WAAY;IACZ,iBAAiB,EAAA;EARzB;IAWQ,YAAW;IACX,eAAe;IACf,aAAa;IACb,mBAAmB;IACnB,eAAe;IACf,iBAAiB;IACjB,+BAA+B;IAC/B,wBAAwB;IACxB,kBAAkB,EAAA;IAnB1B;MAsBY,iBAAiB;MACjB,eAAe,EAAA;IAvB3B;MA2BY,gCAAgC,EAAA;MA3B5C;QA6BgB,cAAc,EAAA;EA7B9B;IAkCQ,WAAW;IACX,YAAY,EAAA;;AAIpB;EACI,kBAAkB;EAClB,aAAa;EACb,WAAW;EACX,cAAc;EACd,mBAAmB;EACnB,WAAW;EACX,YAAY,EAAA;EAPhB;IAUQ,aAAa;IACb,WAAW;IACX,YAAY,EAAA;;AAIpB;EACI,oBAAoB;EACpB,cAAc;EACd,aAAa;EACb,sCAAsC;EACtC,2BAA2B;EAC3B,0CAA0C;EAC1C,gBAAgB,EAAA;EAPpB;IAUQ,WAAW;IACX,cAAc,EAAA;EAXtB;IAeQ,aAAa;IACb,uBAAuB;IACvB,qBAAqB;IACrB,YAAY;IACZ,qBAAqB;IACrB,eAAe,EAAA;IApBvB;MAuBY,mBAA6B;MAC7B,YAAY;MACZ,YAAY,EAAA;IAzBxB;MA6BY,mBAA6B;MAC7B,YAAY,EAAA;IA9BxB;MAkCY,wBAAwB;MACxB,kBAAkB,EAAA;;AAK9B;EACI,kBAAkB;EAClB,kBAAkB;EAClB,wBAAwB;EACxB,YAAY;EACZ,MAAM;EACN,OAAO;EAEP,kCAAkC;EAClC,mCAAmC;EACnC,YAAY;EACZ,eAAe;EAEf,aAAa;EACb,qBAAqB;EACrB,uBAAuB;EAEvB,iBAAiB;EAEjB,aAAa;EACb,kBAAkB,EAAA;;AAGtB;EACI,WAAW;EACX,cAAc;EACd,aAAa,EAAA;;AAGjB;EACI,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,8BAAoC;EACpC,aAAa;EACb,mCAAmC;EACnC,MAAK,EAAA;EAPT;IAUQ,kBAAkB;IAClB,oBAAoB;IACpB,iBAAiB;IACjB,gBAAgB;IAChB,mBAAmB;IACnB,iBAAiB;IAEjB,aAAa;IACb,2BAA2B;IAC3B,0CAA0C,EAAA;IAnBlD;MAsBY,WAAW;MACX,cAAc;MACd,gBAAgB;MAChB,aAAa;MACb,eAAe;MACf,YAAY,EAAA;IA3BxB;MA+BY,WAAW;MACX,cAAc;MACd,aAAa;MACb,wBAAwB;MACxB,2BAA2B;MAC3B,YAAY,EAAA;MApCxB;QAuCgB,eAAe;QACf,oBAAoB;QACpB,iBAAgB;QAChB,eAAe;QACf,uBAAuB;QACvB,aAAa;QACb,qBAAqB;QACrB,kBAAkB;QAClB,YAAY;QACZ,mBAAmB,EAAA;QAhDnC;UAmDoB,YAAY,EAAA;QAnDhC;UAuDoB,eAAe,EAAA;;AAMnC;EAEQ,uBAAuB;EACvB,kBAAkB;EAClB,gBAAgB;EAChB,WAAW;EACX,oBAAoB,EAAA;;AAN5B;EASQ,kBAAkB;EAClB,WAAW;EACX,YAAY,EAAA;EAXpB;IAaY,SAAS;IACT,UAAU;IACV,kBAAkB;IAClB,WAAW;IACX,YAAY;IACZ,uBAAuB;IACvB,0BAAqC,EAAA;EAnBjD;IAsBY,WAAW;IACX,YAAY;IACZ,kBAAkB,EAAA;EAxB9B;IA2BY,WAAW;IACX,YAAY;IACZ,kBAAkB,EAAA;;AA7B9B;EAiCQ,WAAW;EACX,YAAY;EACZ,uBAAuB;EACvB,kBAAkB,EAAA","sourcesContent":[":root {\r\n --blackBarHeight: 55px;\r\n}\r\n\r\n#gui-editor-workbench-root {\r\n display: grid;\r\n grid-template-rows: calc(100% - 55px);\r\n height: 100%;\r\n width: 100%;\r\n background: #e2e2e2;\r\n font: 14px \"acumin-pro-condensed\"; \r\n}\r\n\r\n.wait-screen {\r\n display: grid;\r\n justify-content: center;\r\n align-content: center;\r\n height: 100%;\r\n width: 100%;\r\n background: #464646;\r\n opacity: 0.95;\r\n color:white;\r\n font: 24px \"acumin-pro-condensed\"; \r\n position: absolute;\r\n top: 0;\r\n left: 0; \r\n\r\n &.hidden {\r\n visibility: hidden;\r\n }\r\n}\r\n\r\n#leftGrab {\r\n grid-row: 1 / span 2;\r\n grid-column: 2;\r\n cursor: ew-resize;\r\n}\r\n\r\n#rightGrab {\r\n grid-row: 1 / span 2;\r\n grid-column: 5;\r\n cursor: ew-resize;\r\n}\r\n\r\n\r\n#toolbarGrab {\r\n background: #333333;\r\n grid-row: 1 / span 3;\r\n grid-column: 3;\r\n height: 100%;\r\n\r\n .blackLine {\r\n height: 5px;\r\n background: black;\r\n }\r\n .toolbar-label {\r\n color:white;\r\n font-size: 18px;\r\n display: grid;\r\n align-items: center;\r\n cursor: pointer;\r\n user-select: none;\r\n grid-template-columns: 1fr 20px;\r\n grid-template-rows: 100%;\r\n position: relative;\r\n\r\n &.active {\r\n font-weight: bold;\r\n font-size: 20px;\r\n }\r\n\r\n &:hover {\r\n background: var(--selectionGrey);\r\n .sub-items {\r\n display: block;\r\n }\r\n } \r\n }\r\n .toolbar-icon {\r\n width: 40px;\r\n height: 40px;\r\n }\r\n}\r\n\r\n.diagram-container {\r\n position: relative;\r\n display: grid;\r\n grid-row: 1;\r\n grid-column: 4;\r\n background: #5f5b60;\r\n width: 100%;\r\n height: 100%;\r\n\r\n .diagram {\r\n display: none;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n}\r\n\r\n.right-panel {\r\n grid-row: 1 / span 2;\r\n grid-column: 6;\r\n display: grid;\r\n grid-template-rows: 1fr 40px auto 40px;\r\n grid-template-columns: 100%;\r\n height: calc(100% - var(--blackBarHeight));\r\n overflow-y: auto;\r\n\r\n #propertyTab {\r\n grid-row: 1;\r\n grid-column: 1;\r\n } \r\n \r\n .button {\r\n display: grid;\r\n justify-content: center;\r\n align-content: center;\r\n height: auto;\r\n width: calc(100% / 7);\r\n cursor: pointer;\r\n\r\n &:hover {\r\n background: rgb(51, 122, 183);\r\n color: white;\r\n opacity: 0.8;\r\n }\r\n\r\n &.selected {\r\n background: rgb(51, 122, 183);\r\n color: white;\r\n }\r\n \r\n &.align {\r\n justify-content: stretch;\r\n text-align: center;\r\n }\r\n } \r\n}\r\n\r\n.blocker {\r\n visibility: hidden;\r\n position: absolute;\r\n width: calc(100% - 40px);\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n\r\n background: rgba(20, 20, 20, 0.95); \r\n font-family: \"acumin-pro-condensed\";\r\n color: white;\r\n font-size: 24px;\r\n\r\n display: grid;\r\n align-content: center;\r\n justify-content: center;\r\n\r\n user-select: none;\r\n\r\n padding: 20px;\r\n text-align: center;\r\n}\r\n\r\n#log-console {\r\n grid-row: 2;\r\n grid-column: 4;\r\n display: none;\r\n}\r\n\r\n.dialog-container {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n background: rgba(0.1, 0.1, 0.1, 0.6);\r\n display: grid;\r\n font-family: \"acumin-pro-condensed\";\r\n top:0;\r\n\r\n .dialog {\r\n align-self: center;\r\n justify-self: center;\r\n min-height: 140px;\r\n max-width: 400px;\r\n border-radius: 10px;\r\n background: white;\r\n\r\n display: grid;\r\n grid-template-columns: 100%;\r\n grid-template-rows: calc(100% - 50px) 50px;\r\n\r\n .dialog-message {\r\n grid-row: 1;\r\n grid-column: 1;\r\n margin-top: 20px;\r\n padding: 10px;\r\n font-size: 18px;\r\n color: black;\r\n }\r\n\r\n .dialog-buttons {\r\n grid-row: 2;\r\n grid-column: 1;\r\n display: grid;\r\n grid-template-rows: 100%;\r\n grid-template-columns: 100%;\r\n color: white;\r\n\r\n .dialog-button-ok {\r\n cursor: pointer;\r\n justify-self: center;\r\n background:green;\r\n min-width: 80px;\r\n justify-content: center;\r\n display: grid;\r\n align-content: center;\r\n align-self: center;\r\n height: 35px; \r\n border-radius: 10px;\r\n\r\n &:hover {\r\n opacity: 0.8;\r\n }\r\n\r\n &.error {\r\n background: red;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n.gizmo {\r\n .bounding-box-line {\r\n background-color: black;\r\n position: absolute;\r\n line-height: 1px;\r\n height: 1px;\r\n pointer-events: none;\r\n }\r\n .scale-point-container {\r\n position: absolute;\r\n width: 30px;\r\n height: 30px;\r\n .scale-point {\r\n top: 10px;\r\n left: 10px;\r\n position: absolute;\r\n width: 10px;\r\n height: 10px;\r\n background: transparent;\r\n outline: rgb(125, 125, 125) 2px solid;\r\n }\r\n .rotate-click-area {\r\n width: 20px;\r\n height: 20px;\r\n position: absolute;\r\n }\r\n .scale-click-area {\r\n width: 20px;\r\n height: 20px;\r\n position: absolute;\r\n }\r\n }\r\n .pivot-point {\r\n width: 30px;\r\n height: 30px;\r\n background: transparent;\r\n position: absolute;\r\n }\r\n}"],"sourceRoot":""}]);
|
10169
10169
|
// Exports
|
10170
10170
|
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
10171
10171
|
|
@@ -42321,6 +42321,46 @@ module.exports = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' w
|
|
42321
42321
|
|
42322
42322
|
/***/ }),
|
42323
42323
|
|
42324
|
+
/***/ "../public/imgs sync recursive ^\\.\\/cursor_rotate.*\\.svg$":
|
42325
|
+
/*!******************************************************!*\
|
42326
|
+
!*** ../public/imgs sync ^\.\/cursor_rotate.*\.svg$ ***!
|
42327
|
+
\******************************************************/
|
42328
|
+
/*! no static exports found */
|
42329
|
+
/***/ (function(module, exports, __webpack_require__) {
|
42330
|
+
|
42331
|
+
var map = {
|
42332
|
+
"./cursor_rotate0.svg": "../public/imgs/cursor_rotate0.svg",
|
42333
|
+
"./cursor_rotate1.svg": "../public/imgs/cursor_rotate1.svg",
|
42334
|
+
"./cursor_rotate2.svg": "../public/imgs/cursor_rotate2.svg",
|
42335
|
+
"./cursor_rotate3.svg": "../public/imgs/cursor_rotate3.svg",
|
42336
|
+
"./cursor_rotate4.svg": "../public/imgs/cursor_rotate4.svg",
|
42337
|
+
"./cursor_rotate5.svg": "../public/imgs/cursor_rotate5.svg",
|
42338
|
+
"./cursor_rotate6.svg": "../public/imgs/cursor_rotate6.svg",
|
42339
|
+
"./cursor_rotate7.svg": "../public/imgs/cursor_rotate7.svg"
|
42340
|
+
};
|
42341
|
+
|
42342
|
+
|
42343
|
+
function webpackContext(req) {
|
42344
|
+
var id = webpackContextResolve(req);
|
42345
|
+
return __webpack_require__(id);
|
42346
|
+
}
|
42347
|
+
function webpackContextResolve(req) {
|
42348
|
+
if(!__webpack_require__.o(map, req)) {
|
42349
|
+
var e = new Error("Cannot find module '" + req + "'");
|
42350
|
+
e.code = 'MODULE_NOT_FOUND';
|
42351
|
+
throw e;
|
42352
|
+
}
|
42353
|
+
return map[req];
|
42354
|
+
}
|
42355
|
+
webpackContext.keys = function webpackContextKeys() {
|
42356
|
+
return Object.keys(map);
|
42357
|
+
};
|
42358
|
+
webpackContext.resolve = webpackContextResolve;
|
42359
|
+
module.exports = webpackContext;
|
42360
|
+
webpackContext.id = "../public/imgs sync recursive ^\\.\\/cursor_rotate.*\\.svg$";
|
42361
|
+
|
42362
|
+
/***/ }),
|
42363
|
+
|
42324
42364
|
/***/ "../public/imgs/adtIcon.svg":
|
42325
42365
|
/*!**********************************!*\
|
42326
42366
|
!*** ../public/imgs/adtIcon.svg ***!
|
@@ -42442,6 +42482,138 @@ module.exports = "data:image/svg+xml,%3Csvg id='icons' xmlns='http://www.w3.org/
|
|
42442
42482
|
|
42443
42483
|
/***/ }),
|
42444
42484
|
|
42485
|
+
/***/ "../public/imgs/cursor_rotate0.svg":
|
42486
|
+
/*!*****************************************!*\
|
42487
|
+
!*** ../public/imgs/cursor_rotate0.svg ***!
|
42488
|
+
\*****************************************/
|
42489
|
+
/*! no static exports found */
|
42490
|
+
/***/ (function(module, exports) {
|
42491
|
+
|
42492
|
+
module.exports = "data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 25' width='25' height='25'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cpath d='M18.91,12.11l-.66-.66a8.14,8.14,0,0,0-11.5,0l-.66.66L4.68,10.7,3.39,15.51l4.82-1.29L6.8,12.81l.65-.65a7.16,7.16,0,0,1,10.1,0l.65.65-1.41,1.41,4.82,1.29L20.32,10.7Z'/%3E%3Cpath class='cls-1' d='M12.5,9.07a8.13,8.13,0,0,1,5.75,2.38l.66.66,1.41-1.41,1.29,4.81-4.82-1.29,1.41-1.41-.65-.65a7.15,7.15,0,0,0-10.1,0l-.65.65,1.41,1.41L3.39,15.51,4.68,10.7l1.41,1.41.66-.66A8.13,8.13,0,0,1,12.5,9.07m0-1a9.08,9.08,0,0,0-6.41,2.62l-.7-.7L4.16,8.77l-.44,1.67L2.43,15.25,2,16.93l1.67-.45,4.82-1.29,1.67-.45L8.91,13.52l-.7-.71a6.16,6.16,0,0,1,8.58,0l-.71.71-1.22,1.22,1.67.45,4.82,1.29,1.67.45-.45-1.68-1.29-4.81-.44-1.67L19.61,10l-.7.7A9.08,9.08,0,0,0,12.5,8.07Z'/%3E%3C/svg%3E"
|
42493
|
+
|
42494
|
+
/***/ }),
|
42495
|
+
|
42496
|
+
/***/ "../public/imgs/cursor_rotate1.svg":
|
42497
|
+
/*!*****************************************!*\
|
42498
|
+
!*** ../public/imgs/cursor_rotate1.svg ***!
|
42499
|
+
\*****************************************/
|
42500
|
+
/*! no static exports found */
|
42501
|
+
/***/ (function(module, exports) {
|
42502
|
+
|
42503
|
+
module.exports = "data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 25' width='25' height='25'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cpath d='M18.33,15.74v-.93a8.15,8.15,0,0,0-8.14-8.14H9.26v-2L5,7.17l4.31,2.5v-2h.93a7.14,7.14,0,0,1,7.14,7.14v.93h-2l2.5,4.31,2.49-4.31Z'/%3E%3Cpath class='cls-1' d='M9.26,4.68v2h.93a8.15,8.15,0,0,1,8.14,8.14v.93h2l-2.49,4.31-2.5-4.31h2v-.93a7.14,7.14,0,0,0-7.14-7.14H9.26v2L5,7.17,9.26,4.68m1-1.73-1.5.86L4.45,6.31,3,7.17,4.45,8l4.31,2.49,1.5.87V8.67a6.15,6.15,0,0,1,6.07,6.07H13.6l.87,1.5L17,20.55l.87,1.5.86-1.5,2.5-4.31.86-1.5H19.33a9.16,9.16,0,0,0-9.07-9.07V3Z'/%3E%3C/svg%3E"
|
42504
|
+
|
42505
|
+
/***/ }),
|
42506
|
+
|
42507
|
+
/***/ "../public/imgs/cursor_rotate2.svg":
|
42508
|
+
/*!*****************************************!*\
|
42509
|
+
!*** ../public/imgs/cursor_rotate2.svg ***!
|
42510
|
+
\*****************************************/
|
42511
|
+
/*! no static exports found */
|
42512
|
+
/***/ (function(module, exports) {
|
42513
|
+
|
42514
|
+
module.exports = "data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 25' width='25' height='25'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cpath d='M12.89,18.91l.66-.66a8.14,8.14,0,0,0,0-11.5l-.66-.66L14.3,4.68,9.49,3.39l1.29,4.82L12.19,6.8l.65.65a7.16,7.16,0,0,1,0,10.1l-.65.65-1.41-1.41L9.49,21.61l4.81-1.29Z'/%3E%3Cpath class='cls-1' d='M9.49,3.39,14.3,4.68,12.89,6.09l.66.66a8.14,8.14,0,0,1,0,11.5l-.66.66,1.41,1.41L9.49,21.61l1.29-4.82,1.41,1.41.65-.65a7.16,7.16,0,0,0,0-10.1l-.65-.65L10.78,8.21,9.49,3.39M8.07,2l.45,1.67L9.81,8.47l.45,1.67,1.22-1.23.71-.7a6.16,6.16,0,0,1,0,8.58l-.71-.7-1.22-1.23-.45,1.67L8.52,21.35,8.07,23l1.68-.45,4.81-1.29,1.67-.44L15,19.61l-.7-.7a9.15,9.15,0,0,0,0-12.82l.7-.7,1.22-1.23-1.67-.44L9.75,2.43,8.07,2Z'/%3E%3C/svg%3E"
|
42515
|
+
|
42516
|
+
/***/ }),
|
42517
|
+
|
42518
|
+
/***/ "../public/imgs/cursor_rotate3.svg":
|
42519
|
+
/*!*****************************************!*\
|
42520
|
+
!*** ../public/imgs/cursor_rotate3.svg ***!
|
42521
|
+
\*****************************************/
|
42522
|
+
/*! no static exports found */
|
42523
|
+
/***/ (function(module, exports) {
|
42524
|
+
|
42525
|
+
module.exports = "data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 25' width='25' height='25'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cpath d='M9.26,18.33h.93a8.15,8.15,0,0,0,8.14-8.14V9.26h2L17.83,5l-2.5,4.31h2v.93a7.14,7.14,0,0,1-7.14,7.14H9.26v-2L5,17.83l4.31,2.49Z'/%3E%3Cpath class='cls-1' d='M17.83,5l2.49,4.31h-2v.93a8.15,8.15,0,0,1-8.14,8.14H9.26v2L5,17.83l4.31-2.5v2h.93a7.14,7.14,0,0,0,7.14-7.14V9.26h-2L17.83,5m0-2L17,4.45,14.47,8.76l-.87,1.5h2.73a6.15,6.15,0,0,1-6.07,6.07V13.6l-1.5.87L4.45,17,3,17.83l1.5.86,4.31,2.5,1.5.86V19.33a9.16,9.16,0,0,0,9.07-9.07h2.72l-.86-1.5-2.5-4.31L17.83,3Z'/%3E%3C/svg%3E"
|
42526
|
+
|
42527
|
+
/***/ }),
|
42528
|
+
|
42529
|
+
/***/ "../public/imgs/cursor_rotate4.svg":
|
42530
|
+
/*!*****************************************!*\
|
42531
|
+
!*** ../public/imgs/cursor_rotate4.svg ***!
|
42532
|
+
\*****************************************/
|
42533
|
+
/*! no static exports found */
|
42534
|
+
/***/ (function(module, exports) {
|
42535
|
+
|
42536
|
+
module.exports = "data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 25' width='25' height='25'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cpath d='M6.09,12.89l.66.66a8.14,8.14,0,0,0,11.5,0l.66-.66,1.41,1.41,1.29-4.81-4.82,1.29,1.41,1.41-.65.65a7.16,7.16,0,0,1-10.1,0l-.65-.65,1.41-1.41L3.39,9.49,4.68,14.3Z'/%3E%3Cpath class='cls-1' d='M21.61,9.49,20.32,14.3l-1.41-1.41-.66.66a8.14,8.14,0,0,1-11.5,0l-.66-.66L4.68,14.3,3.39,9.49l4.82,1.29L6.8,12.19l.65.65a7.15,7.15,0,0,0,10.1,0l.65-.65-1.41-1.41,4.82-1.29M23,8.07l-1.67.45L16.53,9.81l-1.67.45,1.23,1.22.7.71a6.16,6.16,0,0,1-8.58,0l.7-.71,1.23-1.22L8.47,9.81,3.65,8.52,2,8.07l.45,1.68,1.29,4.81.44,1.67L5.39,15l.7-.7a9.15,9.15,0,0,0,12.82,0l.7.7,1.23,1.22.44-1.67,1.29-4.81L23,8.07Z'/%3E%3C/svg%3E"
|
42537
|
+
|
42538
|
+
/***/ }),
|
42539
|
+
|
42540
|
+
/***/ "../public/imgs/cursor_rotate5.svg":
|
42541
|
+
/*!*****************************************!*\
|
42542
|
+
!*** ../public/imgs/cursor_rotate5.svg ***!
|
42543
|
+
\*****************************************/
|
42544
|
+
/*! no static exports found */
|
42545
|
+
/***/ (function(module, exports) {
|
42546
|
+
|
42547
|
+
module.exports = "data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 25' width='25' height='25'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cpath d='M6.67,9.26v.93a8.15,8.15,0,0,0,8.14,8.14h.93v2l4.31-2.49-4.31-2.5v2h-.93a7.14,7.14,0,0,1-7.14-7.14V9.26h2L7.17,5,4.68,9.26Z'/%3E%3Cpath class='cls-1' d='M7.17,5l2.5,4.31h-2v.93a7.14,7.14,0,0,0,7.14,7.14h.93v-2l4.31,2.5-4.31,2.49v-2h-.93a8.15,8.15,0,0,1-8.14-8.14V9.26h-2L7.17,5m0-2-.86,1.5L3.81,8.76,3,10.26H5.67a9.16,9.16,0,0,0,9.07,9.07v2.72l1.5-.86,4.31-2.5,1.5-.86L20.55,17l-4.31-2.49-1.5-.87v2.73a6.15,6.15,0,0,1-6.07-6.07H11.4l-.87-1.5L8,4.45,7.17,3Z'/%3E%3C/svg%3E"
|
42548
|
+
|
42549
|
+
/***/ }),
|
42550
|
+
|
42551
|
+
/***/ "../public/imgs/cursor_rotate6.svg":
|
42552
|
+
/*!*****************************************!*\
|
42553
|
+
!*** ../public/imgs/cursor_rotate6.svg ***!
|
42554
|
+
\*****************************************/
|
42555
|
+
/*! no static exports found */
|
42556
|
+
/***/ (function(module, exports) {
|
42557
|
+
|
42558
|
+
module.exports = "data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 25' width='25' height='25'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cpath d='M12.11,6.09l-.66.66a8.14,8.14,0,0,0,0,11.5l.66.66L10.7,20.32l4.81,1.29-1.29-4.82L12.81,18.2l-.65-.65a7.16,7.16,0,0,1,0-10.1l.65-.65,1.41,1.41,1.29-4.82L10.7,4.68Z'/%3E%3Cpath class='cls-1' d='M15.51,3.39,14.22,8.21,12.81,6.8l-.65.65a7.16,7.16,0,0,0,0,10.1l.65.65,1.41-1.41,1.29,4.82L10.7,20.32l1.41-1.41-.66-.66a8.14,8.14,0,0,1,0-11.5l.66-.66L10.7,4.68l4.81-1.29M16.93,2l-1.68.45L10.44,3.72l-1.67.44L10,5.39l.7.7a9.15,9.15,0,0,0,0,12.82l-.7.7L8.77,20.84l1.67.44,4.81,1.29,1.68.45-.45-1.67-1.29-4.82-.45-1.67-1.22,1.23-.71.7a6.16,6.16,0,0,1,0-8.58l.71.7,1.22,1.23.45-1.67,1.29-4.82L16.93,2Z'/%3E%3C/svg%3E"
|
42559
|
+
|
42560
|
+
/***/ }),
|
42561
|
+
|
42562
|
+
/***/ "../public/imgs/cursor_rotate7.svg":
|
42563
|
+
/*!*****************************************!*\
|
42564
|
+
!*** ../public/imgs/cursor_rotate7.svg ***!
|
42565
|
+
\*****************************************/
|
42566
|
+
/*! no static exports found */
|
42567
|
+
/***/ (function(module, exports) {
|
42568
|
+
|
42569
|
+
module.exports = "data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 25' width='25' height='25'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cpath d='M15.74,6.67h-.93a8.15,8.15,0,0,0-8.14,8.14v.93h-2l2.49,4.31,2.5-4.31h-2v-.93a7.14,7.14,0,0,1,7.14-7.14h.93v2l4.31-2.5L15.74,4.68Z'/%3E%3Cpath class='cls-1' d='M15.74,4.68l4.31,2.49-4.31,2.5v-2h-.93a7.14,7.14,0,0,0-7.14,7.14v.93h2l-2.5,4.31L4.68,15.74h2v-.93a8.15,8.15,0,0,1,8.14-8.14h.93v-2M14.74,3V5.67a9.16,9.16,0,0,0-9.07,9.07H3l.86,1.5,2.5,4.31.86,1.5L8,20.55l2.49-4.31.87-1.5H8.67a6.15,6.15,0,0,1,6.07-6.07V11.4l1.5-.87L20.55,8l1.5-.87-1.5-.86-4.31-2.5L14.74,3Z'/%3E%3C/svg%3E"
|
42570
|
+
|
42571
|
+
/***/ }),
|
42572
|
+
|
42573
|
+
/***/ "../public/imgs/cursor_scaleDiagonalLeft.svg":
|
42574
|
+
/*!***************************************************!*\
|
42575
|
+
!*** ../public/imgs/cursor_scaleDiagonalLeft.svg ***!
|
42576
|
+
\***************************************************/
|
42577
|
+
/*! no static exports found */
|
42578
|
+
/***/ (function(module, exports) {
|
42579
|
+
|
42580
|
+
module.exports = "data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 25' width='25' height='25'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cpolygon points='7.51 11.04 6.22 6.22 11.04 7.51 9.63 8.92 16.08 15.37 17.48 13.96 18.77 18.77 13.96 17.48 15.37 16.08 8.92 9.63 7.51 11.04'/%3E%3Cpath class='cls-1' d='M6.22,6.22,11,7.51,9.63,8.92l6.45,6.45L17.49,14l1.29,4.82L14,17.49l1.41-1.41L8.92,9.63,7.51,11,6.22,6.22M4.81,4.81l.45,1.67L6.55,11.3,7,13l1.22-1.22.7-.7,5,5-.7.7L12,18l1.67.45,4.82,1.29,1.67.45-.45-1.67L18.45,13.7,18,12l-1.22,1.22-.7.7-5-5,.7-.7L13,7,11.3,6.55,6.48,5.26,4.81,4.81Z'/%3E%3C/svg%3E"
|
42581
|
+
|
42582
|
+
/***/ }),
|
42583
|
+
|
42584
|
+
/***/ "../public/imgs/cursor_scaleDiagonalRight.svg":
|
42585
|
+
/*!****************************************************!*\
|
42586
|
+
!*** ../public/imgs/cursor_scaleDiagonalRight.svg ***!
|
42587
|
+
\****************************************************/
|
42588
|
+
/*! no static exports found */
|
42589
|
+
/***/ (function(module, exports) {
|
42590
|
+
|
42591
|
+
module.exports = "data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 25' width='25' height='25'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cpolygon points='17.48 11.04 18.77 6.22 13.96 7.51 15.37 8.92 8.92 15.37 7.51 13.96 6.22 18.77 11.04 17.48 9.63 16.08 16.08 9.63 17.48 11.04'/%3E%3Cpath class='cls-1' d='M18.78,6.22,17.49,11,16.08,9.63,9.63,16.08,11,17.49,6.22,18.78,7.51,14l1.41,1.41,6.45-6.45L14,7.51l4.82-1.29m1.41-1.41-1.67.45L13.7,6.55,12,7l1.22,1.22.7.7-5,5-.7-.7L7,12,6.55,13.7,5.26,18.52l-.45,1.67,1.67-.45,4.82-1.29L13,18l-1.22-1.22-.7-.7,5-5,.7.7L18,13l.45-1.67,1.29-4.82.45-1.67Z'/%3E%3C/svg%3E"
|
42592
|
+
|
42593
|
+
/***/ }),
|
42594
|
+
|
42595
|
+
/***/ "../public/imgs/cursor_scaleHorizontal.svg":
|
42596
|
+
/*!*************************************************!*\
|
42597
|
+
!*** ../public/imgs/cursor_scaleHorizontal.svg ***!
|
42598
|
+
\*************************************************/
|
42599
|
+
/*! no static exports found */
|
42600
|
+
/***/ (function(module, exports) {
|
42601
|
+
|
42602
|
+
module.exports = "data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 25' width='25' height='25'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cpolygon points='7.94 10.01 3.63 12.5 7.94 14.99 7.94 13 17.06 13 17.06 14.99 21.38 12.5 17.06 10.01 17.06 12 7.94 12 7.94 10.01'/%3E%3Cpath class='cls-1' d='M7.94,10v2h9.12V10l4.31,2.49L17.06,15V13H7.94v2L3.63,12.5,7.94,10m1-1.74-1.5.87L3.13,11.63l-1.5.87,1.5.87,4.31,2.49,1.5.87V14h7.12v2.73l1.5-.87,4.31-2.49,1.5-.87-1.5-.87L17.56,9.14l-1.5-.87V11H8.94V8.27Z'/%3E%3C/svg%3E"
|
42603
|
+
|
42604
|
+
/***/ }),
|
42605
|
+
|
42606
|
+
/***/ "../public/imgs/cursor_scaleVertical.svg":
|
42607
|
+
/*!***********************************************!*\
|
42608
|
+
!*** ../public/imgs/cursor_scaleVertical.svg ***!
|
42609
|
+
\***********************************************/
|
42610
|
+
/*! no static exports found */
|
42611
|
+
/***/ (function(module, exports) {
|
42612
|
+
|
42613
|
+
module.exports = "data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 25' width='25' height='25'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cpolygon points='14.99 7.94 12.5 3.63 10.01 7.94 12 7.94 12 17.06 10.01 17.06 12.5 21.38 14.99 17.06 13 17.06 13 7.94 14.99 7.94'/%3E%3Cpath class='cls-1' d='M12.5,3.63,15,7.94H13v9.12h2L12.5,21.37,10,17.06h2V7.94H10L12.5,3.63m0-2-.87,1.5L9.14,7.44l-.87,1.5H11v7.12H8.27l.87,1.5,2.49,4.31.87,1.5.87-1.5,2.49-4.31.87-1.5H14V8.94h2.73l-.87-1.5L13.37,3.13l-.87-1.5Z'/%3E%3C/svg%3E"
|
42614
|
+
|
42615
|
+
/***/ }),
|
42616
|
+
|
42445
42617
|
/***/ "../public/imgs/displaygridIcon.svg":
|
42446
42618
|
/*!******************************************!*\
|
42447
42619
|
!*** ../public/imgs/displaygridIcon.svg ***!
|
@@ -43679,7 +43851,7 @@ var CommonControlPropertyGridComponent = /** @class */ (function (_super) {
|
|
43679
43851
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("hr", { className: "ge" }),
|
43680
43852
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_2__["TextLineComponent"], { tooltip: "", label: "TRANSFORMATION", value: " ", color: "grey" }),
|
43681
43853
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
|
43682
|
-
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__["FloatLineComponent"], { iconLabel: "
|
43854
|
+
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__["FloatLineComponent"], { iconLabel: "Transform Center", icon: positionIcon, lockObject: this.props.lockObject, label: "X", target: control, propertyName: "transformCenterX", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
|
43683
43855
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Y", target: control, propertyName: "transformCenterY", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
|
43684
43856
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
|
43685
43857
|
react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__["FloatLineComponent"], { iconLabel: "Scale", icon: scaleIcon, lockObject: this.props.lockObject, label: "X", target: control, propertyName: "scaleX", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
|
@@ -47862,38 +48034,95 @@ __webpack_require__.r(__webpack_exports__);
|
|
47862
48034
|
|
47863
48035
|
__webpack_require__(/*! ./workbenchCanvas.scss */ "./diagram/workbenchCanvas.scss");
|
47864
48036
|
var gizmoPivotIcon = __webpack_require__(/*! ../../public/imgs/gizmoPivotIcon.svg */ "../public/imgs/gizmoPivotIcon.svg");
|
48037
|
+
// which side of the bounding box are we on?
|
48038
|
+
var ScalePointPosition;
|
48039
|
+
(function (ScalePointPosition) {
|
48040
|
+
ScalePointPosition[ScalePointPosition["Top"] = -1] = "Top";
|
48041
|
+
ScalePointPosition[ScalePointPosition["Left"] = -1] = "Left";
|
48042
|
+
ScalePointPosition[ScalePointPosition["Center"] = 0] = "Center";
|
48043
|
+
ScalePointPosition[ScalePointPosition["Right"] = 1] = "Right";
|
48044
|
+
ScalePointPosition[ScalePointPosition["Bottom"] = 1] = "Bottom";
|
48045
|
+
})(ScalePointPosition || (ScalePointPosition = {}));
|
48046
|
+
var Rect = /** @class */ (function () {
|
48047
|
+
function Rect(left, top, right, bottom) {
|
48048
|
+
this.left = left;
|
48049
|
+
this.top = top;
|
48050
|
+
this.right = right;
|
48051
|
+
this.bottom = bottom;
|
48052
|
+
}
|
48053
|
+
Object.defineProperty(Rect.prototype, "center", {
|
48054
|
+
get: function () {
|
48055
|
+
var topLeft = new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector2"](this.left, this.top);
|
48056
|
+
return topLeft.addInPlace(new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector2"](this.right, this.bottom).subtractInPlace(topLeft).multiplyByFloats(0.5, 0.5));
|
48057
|
+
},
|
48058
|
+
enumerable: false,
|
48059
|
+
configurable: true
|
48060
|
+
});
|
48061
|
+
Object.defineProperty(Rect.prototype, "width", {
|
48062
|
+
get: function () {
|
48063
|
+
return this.right - this.left;
|
48064
|
+
},
|
48065
|
+
enumerable: false,
|
48066
|
+
configurable: true
|
48067
|
+
});
|
48068
|
+
Object.defineProperty(Rect.prototype, "height", {
|
48069
|
+
get: function () {
|
48070
|
+
return this.bottom - this.top;
|
48071
|
+
},
|
48072
|
+
enumerable: false,
|
48073
|
+
configurable: true
|
48074
|
+
});
|
48075
|
+
return Rect;
|
48076
|
+
}());
|
47865
48077
|
var roundFactor = 100;
|
47866
48078
|
var round = function (value) { return Math.round(value * roundFactor) / roundFactor; };
|
48079
|
+
// this defines the lines that link the corners, making up the bounding box
|
48080
|
+
var lines = [
|
48081
|
+
[0, 2],
|
48082
|
+
[0, 6],
|
48083
|
+
[2, 8],
|
48084
|
+
[6, 8],
|
48085
|
+
];
|
48086
|
+
// load in custom cursor icons
|
48087
|
+
var cursorScaleDiagonaLeft = "url(\"" + __webpack_require__(/*! ../../public/imgs/cursor_scaleDiagonalLeft.svg */ "../public/imgs/cursor_scaleDiagonalLeft.svg") + "\") 12 12, nwse-resize";
|
48088
|
+
var cursorScaleDiagonalRight = "url(\"" + __webpack_require__(/*! ../../public/imgs/cursor_scaleDiagonalRight.svg */ "../public/imgs/cursor_scaleDiagonalRight.svg") + "\") 12 12, nesw-resize";
|
48089
|
+
var cursorScaleHorizontal = "url(\"" + __webpack_require__(/*! ../../public/imgs/cursor_scaleHorizontal.svg */ "../public/imgs/cursor_scaleHorizontal.svg") + "\") 12 12, pointer";
|
48090
|
+
var cursorScaleVertical = "url(\"" + __webpack_require__(/*! ../../public/imgs/cursor_scaleVertical.svg */ "../public/imgs/cursor_scaleVertical.svg") + "\") 12 12, ns-resize";
|
48091
|
+
var scalePointCursors = [cursorScaleVertical, cursorScaleDiagonalRight, cursorScaleHorizontal, cursorScaleDiagonaLeft, cursorScaleVertical, cursorScaleDiagonalRight, cursorScaleHorizontal, cursorScaleDiagonaLeft];
|
48092
|
+
var rotateCursors = [];
|
48093
|
+
for (var idx = 0; idx < 8; idx++) {
|
48094
|
+
rotateCursors.push("url(\"" + __webpack_require__("../public/imgs sync recursive ^\\.\\/cursor_rotate.*\\.svg$")("./cursor_rotate" + idx + ".svg") + "\") 12 12, pointer");
|
48095
|
+
}
|
48096
|
+
// used to calculate which cursor icon we should display for the scalepoints
|
48097
|
+
var defaultScalePointRotations = [
|
48098
|
+
315, 0, 45,
|
48099
|
+
270, 0, 90,
|
48100
|
+
225, 180, 135,
|
48101
|
+
];
|
47867
48102
|
var GuiGizmoComponent = /** @class */ (function (_super) {
|
47868
48103
|
Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(GuiGizmoComponent, _super);
|
47869
48104
|
function GuiGizmoComponent(props) {
|
47870
48105
|
var _this = _super.call(this, props) || this;
|
47871
|
-
|
47872
|
-
_this._scalePointIndex = -1;
|
47873
|
-
_this._plane = _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Plane"].FromPositionAndNormal(_babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector3"].Zero(), _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Axis"].Y);
|
47874
|
-
_this._onUp = function (evt) {
|
47875
|
-
// cleanup on pointer up
|
47876
|
-
_this._pointerData.pointerDown = false;
|
47877
|
-
document.querySelectorAll(".ge-scalePoint").forEach(function (scalePoint) {
|
47878
|
-
scalePoint.style.pointerEvents = "auto";
|
47879
|
-
});
|
47880
|
-
_this._scalePointIndex = -1;
|
47881
|
-
};
|
48106
|
+
// used for scaling computations
|
47882
48107
|
_this._initH = 0;
|
47883
48108
|
_this._initW = 0;
|
47884
48109
|
_this._initX = 0;
|
47885
48110
|
_this._initY = 0;
|
48111
|
+
_this._plane = _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Plane"].FromPositionAndNormal(_babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector3"].Zero(), _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Axis"].Y);
|
48112
|
+
_this._onUp = function (evt) {
|
48113
|
+
// cleanup on pointer up
|
48114
|
+
_this.setState({ scalePointDragging: -1, isRotating: false });
|
48115
|
+
};
|
47886
48116
|
_this._onMove = function () {
|
47887
|
-
|
47888
|
-
|
47889
|
-
|
47890
|
-
if (selectedGuiNodes.length
|
48117
|
+
var scene = _this.props.globalState.workbench._scene;
|
48118
|
+
var selectedGuiNodes = _this.props.globalState.workbench.selectedGuiNodes;
|
48119
|
+
if (_this.state.scalePointDragging !== -1) {
|
48120
|
+
if (selectedGuiNodes.length === 1) {
|
47891
48121
|
var node = selectedGuiNodes[0];
|
47892
|
-
// get the mouse position in node space
|
47893
48122
|
var inRTT = _this._mousePointerToRTTSpace(node, scene.pointerX, scene.pointerY);
|
47894
48123
|
var inNodeSpace = _this._rttToLocalNodeSpace(node, inRTT.x, inRTT.y, undefined, true);
|
47895
|
-
|
47896
|
-
_this.
|
48124
|
+
_this._dragLocalBounds(inNodeSpace);
|
48125
|
+
_this._updateNodeFromLocalBounds(node, _this.state.scalePointDragging);
|
47897
48126
|
//convert to percentage
|
47898
48127
|
if (_this._responsive) {
|
47899
48128
|
_this.props.globalState.workbench.convertToPercentage(node, false);
|
@@ -47902,97 +48131,185 @@ var GuiGizmoComponent = /** @class */ (function (_super) {
|
|
47902
48131
|
_this.props.globalState.onPropertyGridUpdateRequiredObservable.notifyObservers();
|
47903
48132
|
}
|
47904
48133
|
}
|
48134
|
+
if (_this.state.isRotating) {
|
48135
|
+
selectedGuiNodes.forEach(function (node, index) {
|
48136
|
+
var nodeRotationData = _this._rotation.nodeRotations[index];
|
48137
|
+
var angle = Math.atan2(scene.pointerY - _this._rotation.pivot.y, scene.pointerX - _this._rotation.pivot.x);
|
48138
|
+
node.rotation = nodeRotationData + (angle - _this._rotation.initialAngleToPivot);
|
48139
|
+
});
|
48140
|
+
_this.props.globalState.onPropertyGridUpdateRequiredObservable.notifyObservers();
|
48141
|
+
}
|
47905
48142
|
};
|
47906
|
-
_this.
|
47907
|
-
_this._pointerData.pointerDown = true;
|
47908
|
-
_this._scalePointIndex = index;
|
47909
|
-
document.querySelectorAll(".ge-scalePoint").forEach(function (scalePoint) {
|
47910
|
-
scalePoint.style.pointerEvents = "none";
|
47911
|
-
});
|
48143
|
+
_this._beginDraggingScalePoint = function (scalePointIndex) {
|
47912
48144
|
var selectedGuiNodes = _this.props.globalState.workbench.selectedGuiNodes;
|
48145
|
+
_this.setState({ scalePointDragging: scalePointIndex });
|
47913
48146
|
if (selectedGuiNodes.length > 0) {
|
47914
48147
|
var node = selectedGuiNodes[0];
|
47915
|
-
_this.
|
48148
|
+
_this._localBounds = _this._computeLocalBounds(node);
|
47916
48149
|
_this._initW = node.widthInPixels;
|
47917
48150
|
_this._initH = node.heightInPixels;
|
47918
48151
|
_this._initY = node.topInPixels;
|
47919
48152
|
_this._initX = node.leftInPixels;
|
47920
48153
|
}
|
47921
48154
|
};
|
48155
|
+
_this._beginRotate = function () {
|
48156
|
+
var scene = _this.props.globalState.workbench._scene;
|
48157
|
+
var selectedGuiNodes = _this.props.globalState.workbench.selectedGuiNodes;
|
48158
|
+
var pivot;
|
48159
|
+
if (selectedGuiNodes.length === 1) {
|
48160
|
+
var node = selectedGuiNodes[0];
|
48161
|
+
var nodeSpace = new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector2"](node.transformCenterX, node.transformCenterY);
|
48162
|
+
var rtt = _this._nodeToRTTSpace(node, nodeSpace.x, nodeSpace.y, undefined, false);
|
48163
|
+
var canvas = _this._rttToCanvasSpace(rtt.x, rtt.y);
|
48164
|
+
pivot = new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector2"](canvas.x, canvas.y);
|
48165
|
+
}
|
48166
|
+
else {
|
48167
|
+
pivot = _this.state.canvasBounds.center;
|
48168
|
+
}
|
48169
|
+
var initialAngleToPivot = Math.atan2(scene.pointerY - pivot.y, scene.pointerX - pivot.x);
|
48170
|
+
var nodeRotations = [];
|
48171
|
+
selectedGuiNodes.forEach(function (node) {
|
48172
|
+
nodeRotations.push(node.rotation);
|
48173
|
+
});
|
48174
|
+
_this._rotation = {
|
48175
|
+
pivot: pivot,
|
48176
|
+
initialAngleToPivot: initialAngleToPivot,
|
48177
|
+
nodeRotations: nodeRotations
|
48178
|
+
};
|
48179
|
+
_this.setState({ isRotating: true });
|
48180
|
+
};
|
47922
48181
|
_this.props.globalState.guiGizmo = _this;
|
47923
48182
|
_this._responsive = _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["DataStorage"].ReadBoolean("Responsive", true);
|
47924
|
-
_this._pointerData = { corners: [new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector2"](), new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector2"](), new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector2"](), new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector2"]()], pointerDown: false };
|
47925
|
-
_this._htmlPoints = [new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector2"](), new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector2"](), new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector2"](), new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector2"](), new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector2"](), new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector2"](), new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector2"](), new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector2"](), new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector2"]()];
|
47926
48183
|
_this._matrixCache = [_babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_1__["Matrix2D"].Identity(), _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_1__["Matrix2D"].Identity(), _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_1__["Matrix2D"].Identity(), _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_1__["Matrix2D"].Identity()];
|
47927
|
-
|
47928
|
-
|
47929
|
-
|
47930
|
-
|
47931
|
-
|
47932
|
-
});
|
47933
|
-
}
|
47934
|
-
else {
|
47935
|
-
_this.scalePoints.forEach(function (scalePoint) {
|
47936
|
-
scalePoint.style.display = "none";
|
47937
|
-
});
|
48184
|
+
var scalePoints = [];
|
48185
|
+
for (var vertical = ScalePointPosition.Top; vertical <= ScalePointPosition.Bottom; vertical++) {
|
48186
|
+
for (var horizontal = ScalePointPosition.Left; horizontal <= ScalePointPosition.Right; horizontal++) {
|
48187
|
+
var isPivot = horizontal === ScalePointPosition.Center && vertical === ScalePointPosition.Center;
|
48188
|
+
scalePoints.push({ position: new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector2"](), horizontalPosition: horizontal, verticalPosition: vertical, rotation: 0, isPivot: isPivot });
|
47938
48189
|
}
|
48190
|
+
}
|
48191
|
+
_this._localBounds = new Rect(0, 0, 0, 0);
|
48192
|
+
_this.state = {
|
48193
|
+
canvasBounds: new Rect(0, 0, 0, 0),
|
48194
|
+
scalePoints: scalePoints,
|
48195
|
+
scalePointDragging: -1,
|
48196
|
+
isRotating: false
|
48197
|
+
};
|
48198
|
+
props.globalState.onSelectionChangedObservable.add(function (selection) {
|
47939
48199
|
_this.updateGizmo(true);
|
47940
48200
|
});
|
47941
48201
|
_this.props.globalState.onResponsiveChangeObservable.add(function (value) {
|
47942
48202
|
_this._responsive = value;
|
47943
48203
|
});
|
47944
48204
|
_this.props.globalState.onGizmoUpdateRequireObservable.add(function () {
|
47945
|
-
// TODO - no need to update on each frame.
|
47946
48205
|
_this.updateGizmo(true);
|
47947
48206
|
});
|
48207
|
+
_this.updateGizmo(true);
|
47948
48208
|
return _this;
|
47949
48209
|
}
|
47950
48210
|
GuiGizmoComponent.prototype.componentDidMount = function () { };
|
47951
48211
|
/**
|
47952
|
-
* Update the gizmo's
|
48212
|
+
* Update the gizmo's positions
|
47953
48213
|
* @param force should the update be forced. otherwise it will be updated only when the pointer is down
|
47954
48214
|
*/
|
47955
48215
|
GuiGizmoComponent.prototype.updateGizmo = function (force) {
|
47956
48216
|
var _this = this;
|
47957
48217
|
var selectedGuiNodes = this.props.globalState.workbench.selectedGuiNodes;
|
47958
|
-
if (selectedGuiNodes.length > 0 && (force || this.
|
47959
|
-
var node_1 = selectedGuiNodes[0];
|
48218
|
+
if (selectedGuiNodes.length > 0 && (force || this.state.scalePointDragging !== -1)) {
|
47960
48219
|
// Calculating the offsets for each scale point.
|
47961
|
-
var
|
47962
|
-
|
47963
|
-
|
47964
|
-
|
47965
|
-
|
47966
|
-
|
47967
|
-
|
47968
|
-
|
47969
|
-
|
47970
|
-
|
47971
|
-
|
47972
|
-
|
47973
|
-
|
47974
|
-
|
47975
|
-
|
47976
|
-
|
47977
|
-
|
47978
|
-
|
47979
|
-
|
47980
|
-
|
47981
|
-
|
47982
|
-
|
47983
|
-
|
47984
|
-
|
47985
|
-
|
47986
|
-
|
47987
|
-
|
47988
|
-
|
47989
|
-
scalePoint.
|
47990
|
-
|
47991
|
-
|
47992
|
-
|
47993
|
-
|
48220
|
+
var half_1 = 1 / 2;
|
48221
|
+
var canvasBounds_1 = new Rect(Number.MAX_VALUE, Number.MAX_VALUE, 0, 0);
|
48222
|
+
selectedGuiNodes.forEach(function (node) {
|
48223
|
+
var localBounds = _this._computeLocalBounds(node);
|
48224
|
+
_this.state.scalePoints.forEach(function (scalePoint) {
|
48225
|
+
var nodeSpace = new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector2"]();
|
48226
|
+
switch (scalePoint.horizontalPosition) {
|
48227
|
+
case ScalePointPosition.Left:
|
48228
|
+
nodeSpace.x = localBounds.left;
|
48229
|
+
break;
|
48230
|
+
case ScalePointPosition.Center:
|
48231
|
+
nodeSpace.x = localBounds.center.x;
|
48232
|
+
break;
|
48233
|
+
case ScalePointPosition.Right:
|
48234
|
+
nodeSpace.x = localBounds.right;
|
48235
|
+
break;
|
48236
|
+
}
|
48237
|
+
switch (scalePoint.verticalPosition) {
|
48238
|
+
case ScalePointPosition.Top:
|
48239
|
+
nodeSpace.y = localBounds.top;
|
48240
|
+
break;
|
48241
|
+
case ScalePointPosition.Center:
|
48242
|
+
nodeSpace.y = localBounds.center.y;
|
48243
|
+
break;
|
48244
|
+
case ScalePointPosition.Bottom:
|
48245
|
+
nodeSpace.y = localBounds.bottom;
|
48246
|
+
break;
|
48247
|
+
}
|
48248
|
+
if (scalePoint.isPivot) {
|
48249
|
+
// Calculate the pivot point
|
48250
|
+
var pivotX = (node.transformCenterX - 0.5) * 2;
|
48251
|
+
var pivotY = (node.transformCenterY - 0.5) * 2;
|
48252
|
+
nodeSpace.x = node.widthInPixels * half_1 * pivotX;
|
48253
|
+
nodeSpace.y = node.heightInPixels * half_1 * pivotY;
|
48254
|
+
}
|
48255
|
+
var rtt = _this._nodeToRTTSpace(node, nodeSpace.x, nodeSpace.y, undefined, false);
|
48256
|
+
var canvas = _this._rttToCanvasSpace(rtt.x, rtt.y);
|
48257
|
+
if (canvas.x < canvasBounds_1.left) {
|
48258
|
+
canvasBounds_1.left = canvas.x;
|
48259
|
+
}
|
48260
|
+
if (canvas.x > canvasBounds_1.right) {
|
48261
|
+
canvasBounds_1.right = canvas.x;
|
48262
|
+
}
|
48263
|
+
if (canvas.y < canvasBounds_1.top) {
|
48264
|
+
canvasBounds_1.top = canvas.y;
|
48265
|
+
}
|
48266
|
+
if (canvas.y > canvasBounds_1.bottom) {
|
48267
|
+
canvasBounds_1.bottom = canvas.y;
|
48268
|
+
}
|
48269
|
+
// if we have a single control selected, put scale points at its edges, and rotate based on the rotation of the control
|
48270
|
+
if (selectedGuiNodes.length === 1) {
|
48271
|
+
scalePoint.position.x = canvas.x;
|
48272
|
+
scalePoint.position.y = canvas.y;
|
48273
|
+
scalePoint.rotation = _this.getRotation(node) * (180 / Math.PI);
|
48274
|
+
}
|
48275
|
+
});
|
48276
|
+
});
|
48277
|
+
// if we are in multiselect mode, use the bounds to determine the scale point locations, and set rotation = 0
|
48278
|
+
if (selectedGuiNodes.length > 1) {
|
48279
|
+
this.state.scalePoints.forEach(function (scalePoint) {
|
48280
|
+
switch (scalePoint.verticalPosition) {
|
48281
|
+
case ScalePointPosition.Top:
|
48282
|
+
scalePoint.position.y = canvasBounds_1.top;
|
48283
|
+
break;
|
48284
|
+
case ScalePointPosition.Center:
|
48285
|
+
scalePoint.position.y = canvasBounds_1.center.y;
|
48286
|
+
break;
|
48287
|
+
case ScalePointPosition.Bottom:
|
48288
|
+
scalePoint.position.y = canvasBounds_1.bottom;
|
48289
|
+
break;
|
48290
|
+
}
|
48291
|
+
switch (scalePoint.horizontalPosition) {
|
48292
|
+
case ScalePointPosition.Left:
|
48293
|
+
scalePoint.position.x = canvasBounds_1.left;
|
48294
|
+
break;
|
48295
|
+
case ScalePointPosition.Center:
|
48296
|
+
scalePoint.position.x = canvasBounds_1.center.x;
|
48297
|
+
break;
|
48298
|
+
case ScalePointPosition.Right:
|
48299
|
+
scalePoint.position.x = canvasBounds_1.right;
|
48300
|
+
break;
|
48301
|
+
}
|
48302
|
+
scalePoint.rotation = 0;
|
48303
|
+
});
|
48304
|
+
}
|
48305
|
+
this.setState({
|
48306
|
+
canvasBounds: canvasBounds_1,
|
48307
|
+
scalePoints: Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__spreadArray"])([], this.state.scalePoints, true),
|
47994
48308
|
});
|
47995
48309
|
}
|
48310
|
+
else {
|
48311
|
+
this.forceUpdate();
|
48312
|
+
}
|
47996
48313
|
};
|
47997
48314
|
GuiGizmoComponent.prototype._resetMatrixArray = function () {
|
47998
48315
|
this._matrixCache.forEach(function (matrix) {
|
@@ -48087,7 +48404,7 @@ var GuiGizmoComponent = /** @class */ (function (_super) {
|
|
48087
48404
|
parent = parent.parent;
|
48088
48405
|
}
|
48089
48406
|
this._resetMatrixArray();
|
48090
|
-
var matrices = listOfNodes.map(function (node, index) { return _this._getNodeMatrix(node, index === 0 && _this.
|
48407
|
+
var matrices = listOfNodes.map(function (node, index) { return _this._getNodeMatrix(node, index === 0 && _this.state.scalePointDragging !== -1 && useStoredValuesIfPossible); });
|
48091
48408
|
return matrices.reduce(function (acc, cur) {
|
48092
48409
|
acc.multiplyToRef(cur, acc);
|
48093
48410
|
return acc;
|
@@ -48113,8 +48430,7 @@ var GuiGizmoComponent = /** @class */ (function (_super) {
|
|
48113
48430
|
reference.y = round(reference.y);
|
48114
48431
|
return reference;
|
48115
48432
|
};
|
48116
|
-
GuiGizmoComponent.prototype._rttToCanvasSpace = function (
|
48117
|
-
if (reference === void 0) { reference = new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector2"](); }
|
48433
|
+
GuiGizmoComponent.prototype._rttToCanvasSpace = function (x, y) {
|
48118
48434
|
var tmpVec = new _babylonjs_core_Maths_math_axis__WEBPACK_IMPORTED_MODULE_2__["Vector3"](x, 0, -y);
|
48119
48435
|
// Get the final projection in view space
|
48120
48436
|
var camera = this.props.globalState.workbench._camera;
|
@@ -48167,95 +48483,46 @@ var GuiGizmoComponent = /** @class */ (function (_super) {
|
|
48167
48483
|
}
|
48168
48484
|
return rotation;
|
48169
48485
|
};
|
48170
|
-
GuiGizmoComponent.prototype.createBaseGizmo = function () {
|
48171
|
-
var _this = this;
|
48172
|
-
var _a, _b;
|
48173
|
-
// Get the canvas element from the DOM.
|
48174
|
-
var canvas = this.props.globalState.hostDocument.getElementById("workbench-canvas");
|
48175
|
-
var scalePointCursors = [
|
48176
|
-
"nesw-resize",
|
48177
|
-
"nwse-resize",
|
48178
|
-
"nesw-resize",
|
48179
|
-
"nwse-resize",
|
48180
|
-
"ew-resize",
|
48181
|
-
"ns-resize",
|
48182
|
-
"ew-resize",
|
48183
|
-
"ns-resize"
|
48184
|
-
];
|
48185
|
-
var _loop_1 = function (i) {
|
48186
|
-
var scalePoint = canvas.ownerDocument.createElement("div");
|
48187
|
-
scalePoint.className = "ge-scalePoint";
|
48188
|
-
(_a = canvas.parentElement) === null || _a === void 0 ? void 0 : _a.appendChild(scalePoint);
|
48189
|
-
scalePoint.style.position = "absolute";
|
48190
|
-
scalePoint.style.display = "none";
|
48191
|
-
scalePoint.style.left = i * 100 + "px";
|
48192
|
-
scalePoint.style.top = i * 100 + "px";
|
48193
|
-
scalePoint.style.transform = "translate(-50%, -50%)";
|
48194
|
-
scalePoint.style.cursor = scalePointCursors[i];
|
48195
|
-
scalePoint.addEventListener("pointerdown", function () {
|
48196
|
-
_this._setMousePosition(i);
|
48197
|
-
});
|
48198
|
-
scalePoint.ondragstart = function (evt) {
|
48199
|
-
evt.preventDefault();
|
48200
|
-
};
|
48201
|
-
scalePoint.draggable = true;
|
48202
|
-
scalePoint.addEventListener("pointerup", this_1._onUp);
|
48203
|
-
this_1.scalePoints.push(scalePoint);
|
48204
|
-
};
|
48205
|
-
var this_1 = this;
|
48206
|
-
for (var i = 0; i < 8; ++i) {
|
48207
|
-
_loop_1(i);
|
48208
|
-
}
|
48209
|
-
// Create the pivot point which is special
|
48210
|
-
var pivotPoint = canvas.ownerDocument.createElement("img");
|
48211
|
-
pivotPoint.src = gizmoPivotIcon;
|
48212
|
-
pivotPoint.className = "ge-pivotPoint";
|
48213
|
-
(_b = canvas.parentElement) === null || _b === void 0 ? void 0 : _b.appendChild(pivotPoint);
|
48214
|
-
pivotPoint.style.position = "absolute";
|
48215
|
-
pivotPoint.style.display = "none";
|
48216
|
-
this.scalePoints.push(pivotPoint);
|
48217
|
-
pivotPoint.ondragstart = function (evt) {
|
48218
|
-
evt.preventDefault();
|
48219
|
-
};
|
48220
|
-
pivotPoint.draggable = true;
|
48221
|
-
this.updateGizmo();
|
48222
|
-
};
|
48223
48486
|
GuiGizmoComponent.prototype.onUp = function (evt) {
|
48224
48487
|
this._onUp(evt);
|
48225
48488
|
};
|
48226
48489
|
GuiGizmoComponent.prototype.onMove = function (evt) {
|
48227
48490
|
this._onMove();
|
48228
48491
|
};
|
48229
|
-
|
48230
|
-
|
48231
|
-
|
48232
|
-
|
48233
|
-
|
48234
|
-
var half = 0.5;
|
48235
|
-
this._pointerData.corners[0].x = -node.widthInPixels * half;
|
48236
|
-
this._pointerData.corners[0].y = node.heightInPixels * half;
|
48237
|
-
this._pointerData.corners[1].x = -node.widthInPixels * half;
|
48238
|
-
this._pointerData.corners[1].y = -node.heightInPixels * half;
|
48239
|
-
this._pointerData.corners[2].x = node.widthInPixels * half;
|
48240
|
-
this._pointerData.corners[2].y = -node.heightInPixels * half;
|
48241
|
-
this._pointerData.corners[3].x = node.widthInPixels * half;
|
48242
|
-
this._pointerData.corners[3].y = node.heightInPixels * half;
|
48492
|
+
GuiGizmoComponent.prototype._rotate = function (x, y, centerX, centerY, angle) {
|
48493
|
+
return {
|
48494
|
+
x: (x - centerX) * Math.cos(angle) - (y - centerY) * Math.sin(angle) + centerX,
|
48495
|
+
y: (x - centerX) * Math.sin(angle) + (y - centerY) * Math.cos(angle) + centerY,
|
48496
|
+
};
|
48243
48497
|
};
|
48244
|
-
|
48245
|
-
|
48246
|
-
|
48247
|
-
|
48248
|
-
|
48249
|
-
|
48250
|
-
|
48251
|
-
|
48252
|
-
|
48253
|
-
|
48254
|
-
|
48498
|
+
GuiGizmoComponent.prototype._computeLocalBounds = function (node) {
|
48499
|
+
return new Rect(-node.widthInPixels * 0.5, -node.heightInPixels * 0.5, node.widthInPixels * 0.5, node.heightInPixels * 0.5);
|
48500
|
+
};
|
48501
|
+
GuiGizmoComponent.prototype._dragLocalBounds = function (toPosition) {
|
48502
|
+
var scalePoint = this.state.scalePoints[this.state.scalePointDragging];
|
48503
|
+
if (scalePoint.horizontalPosition === ScalePointPosition.Left) {
|
48504
|
+
this._localBounds.left = toPosition.x;
|
48505
|
+
}
|
48506
|
+
if (scalePoint.horizontalPosition === ScalePointPosition.Right) {
|
48507
|
+
this._localBounds.right = toPosition.x;
|
48508
|
+
}
|
48509
|
+
if (scalePoint.verticalPosition === ScalePointPosition.Left) {
|
48510
|
+
this._localBounds.top = toPosition.y;
|
48511
|
+
}
|
48512
|
+
if (scalePoint.verticalPosition === ScalePointPosition.Bottom) {
|
48513
|
+
this._localBounds.bottom = toPosition.y;
|
48514
|
+
}
|
48515
|
+
};
|
48516
|
+
GuiGizmoComponent.prototype._updateNodeFromLocalBounds = function (node, scalePointIndex) {
|
48517
|
+
var width = this._localBounds.right - this._localBounds.left;
|
48518
|
+
var height = this._localBounds.bottom - this._localBounds.top;
|
48519
|
+
var scalePoint = this.state.scalePoints[scalePointIndex];
|
48520
|
+
var left = scalePoint.horizontalPosition === ScalePointPosition.Left && scalePoint.verticalPosition !== ScalePointPosition.Center;
|
48521
|
+
var top = scalePoint.verticalPosition === ScalePointPosition.Top && scalePoint.horizontalPosition !== ScalePointPosition.Center;
|
48255
48522
|
// calculate the center point
|
48256
48523
|
var localRotation = this.getRotation(node, true);
|
48257
48524
|
var localScaling = this.getScale(node, true);
|
48258
|
-
var absoluteCenter =
|
48525
|
+
var absoluteCenter = this._localBounds.center;
|
48259
48526
|
var center = absoluteCenter.clone();
|
48260
48527
|
// move to pivot
|
48261
48528
|
center.multiplyInPlace(localScaling);
|
@@ -48303,46 +48570,71 @@ var GuiGizmoComponent = /** @class */ (function (_super) {
|
|
48303
48570
|
this.props.globalState.workbench.convertToPercentage(node, true);
|
48304
48571
|
}
|
48305
48572
|
};
|
48306
|
-
GuiGizmoComponent.prototype._rotate = function (x, y, centerX, centerY, angle) {
|
48307
|
-
return {
|
48308
|
-
x: (x - centerX) * Math.cos(angle) - (y - centerY) * Math.sin(angle) + centerX,
|
48309
|
-
y: (x - centerX) * Math.sin(angle) + (y - centerY) * Math.cos(angle) + centerY,
|
48310
|
-
};
|
48311
|
-
};
|
48312
|
-
GuiGizmoComponent.prototype._setNodeCorner = function (node, corner, cornerIndex) {
|
48313
|
-
// are we in a fixed-axis situation
|
48314
|
-
var fixedAxis = cornerIndex > 3;
|
48315
|
-
// the actual corner to update. This relies on the fact that the corners are in a specific order
|
48316
|
-
var toUpdate = cornerIndex % 4;
|
48317
|
-
if (fixedAxis) {
|
48318
|
-
// check which axis is fixed
|
48319
|
-
if (cornerIndex === 4 || cornerIndex === 6) {
|
48320
|
-
// set the corner's y axis correctly
|
48321
|
-
corner.y = this._pointerData.corners[toUpdate].y;
|
48322
|
-
}
|
48323
|
-
else {
|
48324
|
-
// set the corner's x axis correctly
|
48325
|
-
corner.x = this._pointerData.corners[toUpdate].x;
|
48326
|
-
}
|
48327
|
-
}
|
48328
|
-
this._pointerData.corners[toUpdate].copyFrom(corner);
|
48329
|
-
// also update the other corners
|
48330
|
-
var next = (cornerIndex + 1) % 4;
|
48331
|
-
var prev = (cornerIndex + 3) % 4;
|
48332
|
-
// Update the next and the previous points
|
48333
|
-
if (toUpdate % 2 === 0) {
|
48334
|
-
this._pointerData.corners[next].x = this._pointerData.corners[toUpdate].x;
|
48335
|
-
this._pointerData.corners[prev].y = this._pointerData.corners[toUpdate].y;
|
48336
|
-
}
|
48337
|
-
else {
|
48338
|
-
this._pointerData.corners[next].y = this._pointerData.corners[toUpdate].y;
|
48339
|
-
this._pointerData.corners[prev].x = this._pointerData.corners[toUpdate].x;
|
48340
|
-
}
|
48341
|
-
// update the transformation accordingly
|
48342
|
-
this._updateNodeFromCorners(node);
|
48343
|
-
};
|
48344
48573
|
GuiGizmoComponent.prototype.render = function () {
|
48345
|
-
|
48574
|
+
var _this = this;
|
48575
|
+
// don't render if we don't have anything selected, or if we're currently dragging
|
48576
|
+
if (this.props.globalState.workbench.selectedGuiNodes.length === 0 || this.state.scalePointDragging !== -1)
|
48577
|
+
return null;
|
48578
|
+
return (react__WEBPACK_IMPORTED_MODULE_3__["createElement"]("div", { className: "gizmo" },
|
48579
|
+
lines.map(function (line, index) {
|
48580
|
+
var start = _this.state.scalePoints[line[0]];
|
48581
|
+
var end = _this.state.scalePoints[line[1]];
|
48582
|
+
// the vector between start and end
|
48583
|
+
var delta = end.position.subtract(start.position);
|
48584
|
+
var angle = Math.atan2(delta.y, delta.x);
|
48585
|
+
var length = delta.length();
|
48586
|
+
return (react__WEBPACK_IMPORTED_MODULE_3__["createElement"]("div", { className: "bounding-box-line", key: index, style: {
|
48587
|
+
left: start.position.x + delta.x / 2 + "px",
|
48588
|
+
top: start.position.y + delta.y / 2 + "px",
|
48589
|
+
width: length + "px",
|
48590
|
+
transform: "translate(-50%, -50%) rotate(" + angle + "rad)",
|
48591
|
+
} }));
|
48592
|
+
}),
|
48593
|
+
this.state.scalePoints.map(function (scalePoint, index) {
|
48594
|
+
var style = {
|
48595
|
+
left: scalePoint.position.x + "px",
|
48596
|
+
top: scalePoint.position.y + "px",
|
48597
|
+
transform: "translate(-50%, -50%) rotate(" + scalePoint.rotation + "deg)",
|
48598
|
+
pointerEvents: _this.state.scalePointDragging === -1 && !scalePoint.isPivot && !_this.state.isRotating ? "auto" : "none",
|
48599
|
+
};
|
48600
|
+
if (scalePoint.isPivot) {
|
48601
|
+
if (_this.props.globalState.workbench.selectedGuiNodes.length > 1) {
|
48602
|
+
return null;
|
48603
|
+
}
|
48604
|
+
return react__WEBPACK_IMPORTED_MODULE_3__["createElement"]("img", { className: "pivot-point", src: gizmoPivotIcon, style: style, key: index });
|
48605
|
+
}
|
48606
|
+
// compute which cursor icon to use on hover
|
48607
|
+
var angleOfCursor = (defaultScalePointRotations[index] + scalePoint.rotation);
|
48608
|
+
var angleAdjusted = angleOfCursor % (360);
|
48609
|
+
if (angleAdjusted < 0)
|
48610
|
+
angleAdjusted += 360;
|
48611
|
+
var increment = 45;
|
48612
|
+
var cursorIndex = Math.round(angleAdjusted / increment) % 8;
|
48613
|
+
var cursor = scalePointCursors[cursorIndex];
|
48614
|
+
var scalePointContainerSize = 30; // .scale-point-container width/height in px
|
48615
|
+
var rotateClickAreaSize = 20; // .rotate-click-area width/height
|
48616
|
+
var rotateClickAreaOffset = 7; // how much to offset the invisible rotate click area from the center
|
48617
|
+
var rotateClickAreaStyle = {
|
48618
|
+
top: (scalePointContainerSize - rotateClickAreaSize) / 2 + rotateClickAreaOffset * scalePoint.verticalPosition,
|
48619
|
+
left: (scalePointContainerSize - rotateClickAreaSize) / 2 + rotateClickAreaOffset * scalePoint.horizontalPosition,
|
48620
|
+
cursor: rotateCursors[cursorIndex]
|
48621
|
+
};
|
48622
|
+
var scaleClickAreaSize = 20; // .scale-click-area width/height
|
48623
|
+
var scaleClickAreaOffset = 5; // how much to offset the invisible scale click area from the center
|
48624
|
+
var scaleClickAreaStyle = {
|
48625
|
+
top: (scalePointContainerSize - scaleClickAreaSize) / 2 - scaleClickAreaOffset * scalePoint.verticalPosition,
|
48626
|
+
left: (scalePointContainerSize - scaleClickAreaSize) / 2 - scaleClickAreaOffset * scalePoint.horizontalPosition,
|
48627
|
+
cursor: cursor
|
48628
|
+
};
|
48629
|
+
return (react__WEBPACK_IMPORTED_MODULE_3__["createElement"]("div", { key: index, style: style, className: "scale-point-container" },
|
48630
|
+
react__WEBPACK_IMPORTED_MODULE_3__["createElement"]("div", { className: "rotate-click-area", onPointerDown: function () { return _this._beginRotate(); }, style: rotateClickAreaStyle }),
|
48631
|
+
react__WEBPACK_IMPORTED_MODULE_3__["createElement"]("div", { className: "scale-click-area", draggable: true, onDragStart: function (evt) { return evt.preventDefault(); }, onPointerDown: function () {
|
48632
|
+
_this._beginDraggingScalePoint(index);
|
48633
|
+
}, onPointerUp: _this._onUp, style: scaleClickAreaStyle }),
|
48634
|
+
react__WEBPACK_IMPORTED_MODULE_3__["createElement"]("div", { className: "scale-point", draggable: true, onDragStart: function (evt) { return evt.preventDefault(); }, onPointerDown: function () {
|
48635
|
+
_this._beginDraggingScalePoint(index);
|
48636
|
+
}, onPointerUp: _this._onUp, style: { cursor: cursor } })));
|
48637
|
+
})));
|
48346
48638
|
};
|
48347
48639
|
return GuiGizmoComponent;
|
48348
48640
|
}(react__WEBPACK_IMPORTED_MODULE_3__["Component"]));
|
@@ -48574,7 +48866,7 @@ var WorkbenchComponent = /** @class */ (function (_super) {
|
|
48574
48866
|
_this.props.globalState.hostDocument.addEventListener("keydown", _this.keyEvent, false);
|
48575
48867
|
_this.props.globalState.hostDocument.defaultView.addEventListener("blur", _this.blurEvent, false);
|
48576
48868
|
props.globalState.onWindowResizeObservable.add(function () {
|
48577
|
-
|
48869
|
+
_this.props.globalState.onGizmoUpdateRequireObservable.notifyObservers();
|
48578
48870
|
_this._engine.resize();
|
48579
48871
|
});
|
48580
48872
|
_this.props.globalState.workbench = _this;
|
@@ -49149,6 +49441,7 @@ var WorkbenchComponent = /** @class */ (function (_super) {
|
|
49149
49441
|
this.globalState.guiTexture = _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__["AdvancedDynamicTexture"].CreateForMesh(this._textureMesh, textureSize, textureSize, true);
|
49150
49442
|
this.globalState.guiTexture.rootContainer.clipChildren = false;
|
49151
49443
|
this.globalState.guiTexture.useInvalidateRectOptimization = false;
|
49444
|
+
this.globalState.guiTexture.onEndRenderObservable.add(function () { return _this.props.globalState.onGizmoUpdateRequireObservable.notifyObservers(); });
|
49152
49445
|
this._textureMesh.showBoundingBox = true;
|
49153
49446
|
this.artBoardBackground = new _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__["Rectangle"]("Art-Board-Background");
|
49154
49447
|
this.artBoardBackground.width = "100%";
|
@@ -49229,13 +49522,13 @@ var WorkbenchComponent = /** @class */ (function (_super) {
|
|
49229
49522
|
var panningFn = function () {
|
49230
49523
|
var pos = _this.getPosition(scene, camera, plane);
|
49231
49524
|
_this.panning(pos, initialPos, camera.inertia, inertialPanning);
|
49232
|
-
//this.props.globalState.onGizmoUpdateRequireObservable.notifyObservers();
|
49233
49525
|
};
|
49234
49526
|
var inertialPanningFn = function () {
|
49235
49527
|
if (inertialPanning.x !== 0 || inertialPanning.y !== 0 || inertialPanning.z !== 0) {
|
49236
49528
|
camera.target.addInPlace(inertialPanning);
|
49237
49529
|
inertialPanning.scaleInPlace(camera.inertia);
|
49238
49530
|
_this.zeroIfClose(inertialPanning);
|
49531
|
+
_this.props.globalState.onGizmoUpdateRequireObservable.notifyObservers();
|
49239
49532
|
}
|
49240
49533
|
};
|
49241
49534
|
var wheelPrecisionFn = function () {
|
@@ -49302,7 +49595,8 @@ var WorkbenchComponent = /** @class */ (function (_super) {
|
|
49302
49595
|
break;
|
49303
49596
|
}
|
49304
49597
|
}, _babylonjs_core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_4__["KeyboardEventTypes"].KEYDOWN);
|
49305
|
-
scene.onAfterRenderObservable.add(function () { _this.
|
49598
|
+
scene.onAfterRenderObservable.add(function () { if (_this._camera.inertialRadiusOffset != 0)
|
49599
|
+
_this.props.globalState.onGizmoUpdateRequireObservable.notifyObservers(); });
|
49306
49600
|
scene.onPointerObservable.add(zoomFnScrollWheel, _babylonjs_core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_4__["PointerEventTypes"].POINTERWHEEL);
|
49307
49601
|
scene.onBeforeRenderObservable.add(inertialPanningFn);
|
49308
49602
|
scene.onBeforeRenderObservable.add(wheelPrecisionFn);
|
@@ -49372,7 +49666,6 @@ var WorkbenchComponent = /** @class */ (function (_super) {
|
|
49372
49666
|
offset.scaleInPlace(inertiaComp);
|
49373
49667
|
ref.addInPlace(offset);
|
49374
49668
|
camera.inertialRadiusOffset += delta;
|
49375
|
-
//this.props.globalState.onGizmoUpdateRequireObservable.notifyObservers();
|
49376
49669
|
};
|
49377
49670
|
//Sets x y or z of passed in vector to zero if less than Epsilon
|
49378
49671
|
WorkbenchComponent.prototype.zeroIfClose = function (vec) {
|
@@ -49585,7 +49878,6 @@ var GUIEditor = /** @class */ (function () {
|
|
49585
49878
|
react_dom__WEBPACK_IMPORTED_MODULE_2__["render"](graphEditor, hostElement);
|
49586
49879
|
if (!!globalState.guiTexture) return [3 /*break*/, 4];
|
49587
49880
|
globalState.workbench.createGUICanvas();
|
49588
|
-
globalState.guiGizmo.createBaseGizmo();
|
49589
49881
|
if (!options.currentSnippetToken) return [3 /*break*/, 4];
|
49590
49882
|
_a.label = 1;
|
49591
49883
|
case 1:
|