vim-web 0.5.0-dev.9 → 0.5.1
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/style.css +34 -7
- package/dist/types/core-viewers/shared/inputAdapter.d.ts +1 -0
- package/dist/types/core-viewers/shared/keyboardHandler.d.ts +1 -1
- package/dist/types/core-viewers/shared/mouseHandler.d.ts +3 -0
- package/dist/types/core-viewers/ultra/viewer.d.ts +5 -0
- package/dist/types/core-viewers/ultra/viewport.d.ts +6 -0
- package/dist/types/core-viewers/ultra/vim.d.ts +3 -1
- package/dist/types/core-viewers/webgl/loader/mesh.d.ts +3 -1
- package/dist/types/core-viewers/webgl/loader/progressive/insertableMesh.d.ts +4 -2
- package/dist/types/core-viewers/webgl/loader/progressive/instancedMesh.d.ts +5 -0
- package/dist/types/core-viewers/webgl/loader/vim.d.ts +5 -0
- package/dist/types/core-viewers/webgl/viewer/gizmos/markers/gizmoMarker.d.ts +1 -0
- package/dist/types/core-viewers/webgl/viewer/rendering/renderer.d.ts +7 -0
- package/dist/types/core-viewers/webgl/viewer/viewer.d.ts +5 -0
- package/dist/types/core-viewers/webgl/viewer/viewport.d.ts +1 -1
- package/dist/types/react-viewers/bim/bimPanel.d.ts +3 -3
- package/dist/types/react-viewers/controlbar/controlBarIds.d.ts +32 -36
- package/dist/types/react-viewers/errors/errorStyle.d.ts +1 -1
- package/dist/types/react-viewers/helpers/reactUtils.d.ts +2 -1
- package/dist/types/react-viewers/helpers/utils.d.ts +8 -0
- package/dist/types/react-viewers/panels/axesPanel.d.ts +2 -1
- package/dist/types/react-viewers/panels/index.d.ts +1 -0
- package/dist/types/react-viewers/panels/isolationPanel.d.ts +2 -0
- package/dist/types/react-viewers/panels/messageBox.d.ts +2 -0
- package/dist/types/react-viewers/panels/sidePanel.d.ts +1 -1
- package/dist/types/react-viewers/settings/anySettings.d.ts +7 -0
- package/dist/types/react-viewers/settings/index.d.ts +1 -1
- package/dist/types/react-viewers/settings/settingsInputBox.d.ts +4 -0
- package/dist/types/react-viewers/settings/settingsItem.d.ts +30 -0
- package/dist/types/react-viewers/settings/settingsKeys.d.ts +46 -0
- package/dist/types/react-viewers/settings/settingsPanel.d.ts +5 -4
- package/dist/types/react-viewers/settings/settingsPanelContent.d.ts +6 -0
- package/dist/types/react-viewers/settings/settingsState.d.ts +11 -11
- package/dist/types/react-viewers/settings/settingsStorage.d.ts +3 -3
- package/dist/types/react-viewers/settings/settingsSubtitle.d.ts +2 -0
- package/dist/types/react-viewers/settings/settingsToggle.d.ts +11 -0
- package/dist/types/react-viewers/state/controlBarState.d.ts +41 -7
- package/dist/types/react-viewers/state/sharedIsolation.d.ts +2 -0
- package/dist/types/react-viewers/ultra/controlBar.d.ts +4 -1
- package/dist/types/react-viewers/ultra/index.d.ts +1 -0
- package/dist/types/react-viewers/ultra/settings.d.ts +13 -0
- package/dist/types/react-viewers/ultra/settingsPanel.d.ts +5 -0
- package/dist/types/react-viewers/ultra/viewer.d.ts +3 -1
- package/dist/types/react-viewers/ultra/viewerRef.d.ts +3 -0
- package/dist/types/react-viewers/urls.d.ts +0 -1
- package/dist/types/react-viewers/webgl/index.d.ts +1 -0
- package/dist/types/react-viewers/webgl/loading.d.ts +2 -2
- package/dist/types/react-viewers/webgl/settings.d.ts +36 -0
- package/dist/types/react-viewers/webgl/settingsPanel.d.ts +12 -0
- package/dist/types/react-viewers/webgl/viewer.d.ts +3 -3
- package/dist/types/react-viewers/webgl/viewerRef.d.ts +12 -5
- package/dist/vim-web.iife.js +1384 -728
- package/dist/vim-web.iife.js.map +1 -1
- package/dist/vim-web.js +1384 -728
- package/dist/vim-web.js.map +1 -1
- package/package.json +1 -1
- package/dist/types/react-viewers/settings/settings.d.ts +0 -61
package/dist/style.css
CHANGED
|
@@ -733,8 +733,8 @@ video:where(.vim-component,.vim-component *) {
|
|
|
733
733
|
.vc-top-4 {
|
|
734
734
|
top: 1rem;
|
|
735
735
|
}
|
|
736
|
-
.vc-top-
|
|
737
|
-
top:
|
|
736
|
+
.vc-top-8 {
|
|
737
|
+
top: 2rem;
|
|
738
738
|
}
|
|
739
739
|
.vc-top-\[10\%\] {
|
|
740
740
|
top: 10%;
|
|
@@ -828,6 +828,9 @@ video:where(.vim-component,.vim-component *) {
|
|
|
828
828
|
.vc-mt-6 {
|
|
829
829
|
margin-top: 1.5rem;
|
|
830
830
|
}
|
|
831
|
+
.vc-box-border {
|
|
832
|
+
box-sizing: border-box;
|
|
833
|
+
}
|
|
831
834
|
.vc-box-content {
|
|
832
835
|
box-sizing: content-box;
|
|
833
836
|
}
|
|
@@ -987,6 +990,11 @@ video:where(.vim-component,.vim-component *) {
|
|
|
987
990
|
margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
|
|
988
991
|
margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
|
|
989
992
|
}
|
|
993
|
+
.vc-space-y-2 > :not([hidden]) ~ :not([hidden]) {
|
|
994
|
+
--tw-space-y-reverse: 0;
|
|
995
|
+
margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
|
|
996
|
+
margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
|
|
997
|
+
}
|
|
990
998
|
.vc-self-center {
|
|
991
999
|
align-self: center;
|
|
992
1000
|
}
|
|
@@ -1025,6 +1033,9 @@ video:where(.vim-component,.vim-component *) {
|
|
|
1025
1033
|
.vc-rounded-md {
|
|
1026
1034
|
border-radius: 0.375rem;
|
|
1027
1035
|
}
|
|
1036
|
+
.vc-rounded-sm {
|
|
1037
|
+
border-radius: 0.125rem;
|
|
1038
|
+
}
|
|
1028
1039
|
.vc-rounded-t {
|
|
1029
1040
|
border-top-left-radius: 0.25rem;
|
|
1030
1041
|
border-top-right-radius: 0.25rem;
|
|
@@ -1069,6 +1080,9 @@ video:where(.vim-component,.vim-component *) {
|
|
|
1069
1080
|
--tw-border-opacity: 1;
|
|
1070
1081
|
border-color: rgb(223 223 225 / var(--tw-border-opacity, 1));
|
|
1071
1082
|
}
|
|
1083
|
+
.vc-border-gray {
|
|
1084
|
+
border-color: var(--c-gray);
|
|
1085
|
+
}
|
|
1072
1086
|
.vc-border-gray-divider {
|
|
1073
1087
|
border-color: var(--c-gray-divider);
|
|
1074
1088
|
}
|
|
@@ -1120,6 +1134,9 @@ video:where(.vim-component,.vim-component *) {
|
|
|
1120
1134
|
.vc-p-1 {
|
|
1121
1135
|
padding: 0.25rem;
|
|
1122
1136
|
}
|
|
1137
|
+
.vc-p-2 {
|
|
1138
|
+
padding: 0.5rem;
|
|
1139
|
+
}
|
|
1123
1140
|
.vc-p-5 {
|
|
1124
1141
|
padding: 1.25rem;
|
|
1125
1142
|
}
|
|
@@ -1157,6 +1174,9 @@ video:where(.vim-component,.vim-component *) {
|
|
|
1157
1174
|
.vc-pl-6 {
|
|
1158
1175
|
padding-left: 1.5rem;
|
|
1159
1176
|
}
|
|
1177
|
+
.vc-pr-2 {
|
|
1178
|
+
padding-right: 0.5rem;
|
|
1179
|
+
}
|
|
1160
1180
|
.vc-text-center {
|
|
1161
1181
|
text-align: center;
|
|
1162
1182
|
}
|
|
@@ -1193,6 +1213,9 @@ video:where(.vim-component,.vim-component *) {
|
|
|
1193
1213
|
.vc-font-bold {
|
|
1194
1214
|
font-weight: 700;
|
|
1195
1215
|
}
|
|
1216
|
+
.vc-font-medium {
|
|
1217
|
+
font-weight: 500;
|
|
1218
|
+
}
|
|
1196
1219
|
.vc-font-normal {
|
|
1197
1220
|
font-weight: 400;
|
|
1198
1221
|
}
|
|
@@ -1284,6 +1307,11 @@ video:where(.vim-component,.vim-component *) {
|
|
|
1284
1307
|
--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
|
|
1285
1308
|
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
1286
1309
|
}
|
|
1310
|
+
.vc-shadow-sm {
|
|
1311
|
+
--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
1312
|
+
--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
|
|
1313
|
+
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
1314
|
+
}
|
|
1287
1315
|
.vc-outline-none {
|
|
1288
1316
|
outline: 2px solid transparent;
|
|
1289
1317
|
outline-offset: 2px;
|
|
@@ -1763,6 +1791,10 @@ video:where(.vim-component,.vim-component *) {
|
|
|
1763
1791
|
}
|
|
1764
1792
|
|
|
1765
1793
|
/* === Cursors ===*/
|
|
1794
|
+
.cursor-regular {
|
|
1795
|
+
cursor: default;
|
|
1796
|
+
}
|
|
1797
|
+
|
|
1766
1798
|
.cursor-orbit:hover {
|
|
1767
1799
|
cursor: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojZmZmO30uY2xzLTJ7ZmlsbDojMjEyMzI5O30uY2xzLTN7ZmlsbDpub25lO308L3N0eWxlPjwvZGVmcz48ZyBpZD0iRlJBTUVTIj48ZyBpZD0iZnJhbWUiPjxyZWN0IGNsYXNzPSJjbHMtMyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+PC9nPjwvZz48ZyBpZD0iSUNPTlMiPjxnPjxnPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTE0LDIwLjIzNGMtNS42NTIsMC0xMC4yNS0yLjYzNi0xMC4yNS01Ljg3NSwwLTEuNzUxLDEuMzA2LTMuMzY2LDMuNjA0LTQuNDgtLjUwOC0uMzEyLS43MDYtLjk2Mi0uNDQtMS40ODgsLjE5NC0uMzg2LC41ODItLjYyNSwxLjAxLS42MjUsLjE0MiwwLC4yODIsLjAyNiwuNDE2LC4wNzlsLjA5NywuMDQyLDIuMTQ4LDEuMDg2Yy42OSwuMzQ5LC45NjksMS4xOTUsLjYyLDEuODg2bC0xLjA4MywyLjE0NWMtLjE5NSwuMzg2LS41ODIsLjYyNS0xLjAxMiwuNjI1LS4xNDEsMC0uMjgtLjAyNS0uNDE0LS4wNzdsLS4wOTgtLjA0NGMtLjU1LS4yNzgtLjY3OC0uODI4LS41NjctMS4zMDYtLjAyMSwuMDExLS4wNDEsLjAyMS0uMDYsLjAzMy0xLjE1NiwuNjUtMS44NDYsMS40NDQtMS44NDYsMi4xMjVzLjY5LDEuNDc2LDEuODQ2LDIuMTI2YzEuNTUzLC44NzMsMy43NTEsMS4zNzQsNi4wMjksMS4zNzRzNC40NzYtLjUwMSw2LjAyOS0xLjM3NGMxLjE1Ni0uNjUsMS44NDYtMS40NDUsMS44NDYtMi4xMjZzLS42OS0xLjQ3NS0xLjg0Ni0yLjEyNWMtMS41NTMtLjg3NC0zLjc1LTEuMzc1LTYuMDI5LTEuMzc1aC0uMTAyYy0uNjI0LDAtMS4xMzItLjQ1Ni0xLjE5Ni0xLjA2Mi0uMDM1LS4zMzQsLjA3My0uNjY4LC4yOTYtLjkxNywuMjIzLS4yNDgsLjU0Mi0uMzkzLC44NzUtLjM5NWguMTI2YzUuNjUyLDAsMTAuMjUsMi42MzUsMTAuMjUsNS44NzRzLTQuNTk4LDUuODc1LTEwLjI1LDUuODc1WiIvPjxwYXRoIGQ9Ik03LjkyNSw4LjAxNmMuMTA4LDAsLjIxNywuMDIsLjMyMywuMDYxLC4wMjYsLjAxMSwuMDUyLC4wMjIsLjA3OCwuMDM1bDIuMTQ1LDEuMDgzYy41NjgsLjI4NywuNzk3LC45ODIsLjUxLDEuNTVsLTEuMDgzLDIuMTQ2Yy0uMTU1LC4zMDgtLjQ2MywuNDg3LS43ODgsLjQ4Ny0uMTA4LDAtLjIxNy0uMDItLjMyNC0uMDYyLS4wMjYtLjAxLS4wNTItLjAyMi0uMDc4LS4wMzUtLjUxMi0uMjU5LS41MzEtLjc5MS0uMzkxLTEuMTY4bC4xNTItLjQxMWMtLjIxNiwuMDk5LS40MjUsLjIwMy0uNjIyLC4zMTMtMS4yNTQsLjcwNi0xLjk3MywxLjU2LTEuOTczLDIuMzQzcy43MTksMS42MzgsMS45NzMsMi4zNDNjMS41ODksLjg5NCwzLjgzMiwxLjQwNyw2LjE1MiwxLjQwN3M0LjU2Mi0uNTEzLDYuMTUyLTEuNDA3YzEuMjU0LS43MDUsMS45NzMtMS41NTksMS45NzMtMi4zNDNzLS43MTktMS42MzgtMS45NzMtMi4zNDNjLTEuNTg5LS44OTQtMy44MzItMS40MDctNi4xNTItMS40MDctLjAzNiwwLS4wNzMsMC0uMTA5LDBoLS4wMDhjLS40OCwwLS44ODMtLjM2Mi0uOTMyLS44NC0uMDU3LS41NSwuMzcyLTEuMDMxLC45MjUtMS4wMzUsLjA0MSwwLC4wODMsMCwuMTI0LDAsNS41MjMsMCwxMCwyLjUxOSwxMCw1LjYyNXMtNC40NzcsNS42MjUtMTAsNS42MjUtMTAtMi41MTgtMTAtNS42MjVjMC0xLjgxNywxLjUzMi0zLjQzMiwzLjkwOS00LjQ2bC0uMDA0LS4wMTEtLjM2Ni0uMTkxYy0uNDM4LS4yMjktLjYxOS0uNzY1LS40MDItMS4xOTQsLjE1Ni0uMzA4LC40NjQtLjQ4NywuNzg4LS40ODdtMC0uNWgwYy0uNTI0LDAtLjk5NywuMjkyLTEuMjM0LC43NjItLjI2MSwuNTE4LS4xNTcsMS4xMzEsLjIxNCwxLjU0OS0yLjE3NiwxLjE1MS0zLjQwNSwyLjc3Mi0zLjQwNSw0LjUzMywwLDMuNDM1LDQuNjEyLDYuMTI1LDEwLjUsNi4xMjVzMTAuNS0yLjY5LDEwLjUtNi4xMjUtNC42MTItNi4xMjUtMTAuNS02LjEyNWgtLjA2NXMtLjA1OSwwLS4wNTksMGMtLjQwNywuMDAzLS43OTMsLjE3Ny0xLjA2MywuNDc5LS4yNywuMzAyLS40MDEsLjcwNi0uMzU5LDEuMTA4LC4wNzYsLjczNCwuNjkxLDEuMjg4LDEuNDMsMS4yODhoLjA2NXMuMDUxLDAsLjA1MSwwYzIuMjM3LDAsNC4zOSwuNDg5LDUuOTA3LDEuMzQyLDEuMDc2LC42MDUsMS43MTgsMS4zMTksMS43MTgsMS45MDhzLS42NDIsMS4zMDItMS43MTgsMS45MDdjLTEuNTE3LC44NTQtMy42NywxLjM0My01LjkwNywxLjM0M3MtNC4zOS0uNDg5LTUuOTA3LTEuMzQyYy0xLjA3Ni0uNjA1LTEuNzE4LTEuMzE4LTEuNzE4LTEuOTA4LDAtLjUyMywuNTA3LTEuMTQ0LDEuMzc0LTEuNzAxLC4wMzgsLjQyMiwuMjU2LC44MjgsLjczNCwxLjA3LC4wNDIsLjAyMSwuMDgyLC4wMzksLjEyMSwuMDU0LC4xNjMsLjA2NCwuMzMzLC4wOTYsLjUwNiwuMDk2LC41MjQsMCwuOTk3LS4yOTIsMS4yMzQtLjc2MmwxLjA4My0yLjE0NWMuMTk5LS4zOTQsLjIzMy0uODQyLC4wOTQtMS4yNjJzLS40MzEtLjc2MS0uODI1LS45NmwtMi4xNDYtMS4wODNjLS4wMzUtLjAxOC0uMDc0LS4wMzUtLjExMy0uMDUxLS4xNzEtLjA2Ny0uMzQxLS4wOTktLjUxMy0uMDk5aDBaIi8+PC9nPjxnPjxjaXJjbGUgY2xhc3M9ImNscy0xIiBjeD0iMTQiIGN5PSIxNC4zNTkiIHI9IjIuNDM4Ii8+PHBhdGggZD0iTTE0LDEyLjE3MmMxLjIwNiwwLDIuMTg4LC45ODEsMi4xODgsMi4xODhzLS45ODEsMi4xODgtMi4xODgsMi4xODgtMi4xODgtLjk4MS0yLjE4OC0yLjE4OCwuOTgxLTIuMTg4LDIuMTg4LTIuMTg4bTAtLjVjLTEuNDgyLDAtMi42ODgsMS4yMDYtMi42ODgsMi42ODhzMS4yMDYsMi42ODgsMi42ODgsMi42ODgsMi42ODgtMS4yMDYsMi42ODgtMi42ODgtMS4yMDYtMi42ODgtMi42ODgtMi42ODhoMFoiLz48L2c+PC9nPjxnPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEuMDA3LDUuNzVjLS4zNzIsMC0uNzU3LS4yODEtLjc1Ny0uNzUyVjFDLjI1LC41ODcsLjU4NiwuMjUsMSwuMjVoMy45OThjLjM2OSwwLC42LC4yMzksLjY5MywuNDYzcy4wOTksLjU1Ny0uMTYzLC44MTdMMS41Myw1LjUyOGMtLjE4MywuMTg0LS4zODYsLjIyMi0uNTIzLC4yMjJaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNC45OTgsLjVjLjMxLDAsLjQzMiwuMjM2LC40NjIsLjMwOXMuMTExLC4zMjYtLjEwOCwuNTQ1TDEuMzU0LDUuMzUyYy0uMTIzLC4xMjMtLjI1NiwuMTQ4LS4zNDYsLjE0OC0uMjUsMC0uNTA3LS4xODgtLjUwNy0uNTAyVjFjMC0uMjc2LC4yMjQtLjUsLjUtLjVoMy45OThtMC0uNUgxQy40NDgsMCwwLC40NDgsMCwxdjMuOTk4YzAsLjYwMywuNDkzLDEuMDAyLDEuMDA3LDEuMDAyLC4yNDYsMCwuNDk2LS4wOTEsLjctLjI5NUw1LjcwNSwxLjcwN2MuNjMtLjYzLC4xODQtMS43MDctLjcwNy0xLjcwN2gwWiIvPjwvZz48L2c+PC9zdmc+'),
|
|
1768
1800
|
auto;
|
|
@@ -1778,11 +1810,6 @@ video:where(.vim-component,.vim-component *) {
|
|
|
1778
1810
|
auto;
|
|
1779
1811
|
}
|
|
1780
1812
|
|
|
1781
|
-
.cursor-pan:active {
|
|
1782
|
-
cursor: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojZmZmO30uY2xzLTJ7ZmlsbDojMjEyMzI5O30uY2xzLTN7ZmlsbDpub25lO308L3N0eWxlPjwvZGVmcz48ZyBpZD0iRlJBTUVTIj48ZyBpZD0iZnJhbWUiPjxyZWN0IGNsYXNzPSJjbHMtMyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+PC9nPjwvZz48ZyBpZD0iSUNPTlMiPjxnPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEuMDA3LDUuNzVjLS4zNzIsMC0uNzU3LS4yODEtLjc1Ny0uNzUyVjFDLjI1LC41ODcsLjU4NiwuMjUsMSwuMjVoMy45OThjLjM2OSwwLC42LC4yMzksLjY5MywuNDYzcy4wOTksLjU1Ny0uMTYzLC44MTdMMS41Myw1LjUyOGMtLjE4MywuMTg0LS4zODYsLjIyMi0uNTIzLC4yMjJaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNC45OTgsLjVjLjMxLDAsLjQzMiwuMjM2LC40NjIsLjMwOXMuMTExLC4zMjYtLjEwOCwuNTQ1TDEuMzU0LDUuMzUyYy0uMTIzLC4xMjMtLjI1NiwuMTQ4LS4zNDYsLjE0OC0uMjUsMC0uNTA3LS4xODgtLjUwNy0uNTAyVjFjMC0uMjc2LC4yMjQtLjUsLjUtLjVoMy45OThtMC0uNUgxQy40NDgsMCwwLC40NDgsMCwxdjMuOTk4YzAsLjYwMywuNDkzLDEuMDAyLDEuMDA3LDEuMDAyLC4yNDYsMCwuNDk2LS4wOTEsLjctLjI5NUw1LjcwNSwxLjcwN2MuNjMtLjYzLC4xODQtMS43MDctLjcwNy0xLjcwN2gwWiIvPjwvZz48Zz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xNC4xMzksMjMuMDYyYy0xLjY0NywwLTMuMTUzLS43OTMtNC4wMy0yLjEyMmwtMi4xNTktMy4yOTFjLS4yMDktLjMxOS0uMjc1LS42OTUtLjE4Ny0xLjA2MSwuMDg5LS4zNjYsLjMyMi0uNjc3LC42NTYtLjg3NiwuMjM1LS4xNCwuNTA1LS4yMTQsLjc4MS0uMjE0LC4wOCwwLC4xNjEsLjAwNiwuMjQxLC4wMTlsLjU3MiwuMDl2LTMuNjg3YzAtLjY0MiwuNTEzLTEuMTY5LDEuMTY5LTEuMiwuMDIxLDAsLjA0MS0uMDAxLC4wNjItLjAwMSwuNjc4LDAsMS4yMywuNTI2LDEuMjMsMS4xNzJ2LjM5MWMwLC4wODYsLjA3NCwuMTU2LC4xNjQsLjE1NnMuMTY0LS4wNywuMTY0LS4xNTZ2LTEuMjk5YzAtLjY0MiwuNTEzLTEuMTY5LDEuMTY5LTEuMiwuMDIxLDAsLjA0MS0uMDAxLC4wNjItLjAwMSwuNjc4LDAsMS4yMywuNTI2LDEuMjMsMS4xNzJ2MS40ODRjMCwuMDg2LC4wNzQsLjE1NiwuMTY0LC4xNTZzLjE2NC0uMDcsLjE2NC0uMTU2di0uODNjMC0uNjQyLC41MTMtMS4xNjksMS4xNjktMS4yLC4wMjEsMCwuMDQxLS4wMDEsLjA2Mi0uMDAxLC42NzgsMCwxLjIzLC41MjYsMS4yMywxLjE3MnYxLjAxNmMwLC4wODYsLjA3NCwuMTU2LC4xNjQsLjE1NnMuMTY0LS4wNywuMTY0LS4xNTZ2LS4zNjFjMC0uNjQyLC41MTMtMS4xNjksMS4xNjktMS4yLC4wMjEsMCwuMDQxLS4wMDEsLjA2Mi0uMDAxLC42NzgsMCwxLjIzLC41MjYsMS4yMywxLjE3MnY2LjMyOGMwLDIuNDk5LTIuMTM0LDQuNTMxLTQuNzU4LDQuNTMxaC0xLjk0NFoiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yMC42NzcsMTIuOTA2djUuNjI1YzAsMi40MTYtMi4wNTcsNC4zNzUtNC41OTQsNC4zNzVoLTEuOTQ0Yy0xLjU5LDAtMy4wNDUtLjc2Ni0zLjg5MS0yLjA0OWwtMi4xNTktMy4yOWMtLjE4Ni0uMjgzLS4yNDUtLjYxOC0uMTY2LS45NDQsLjA3OS0uMzI1LC4yODYtLjYwMiwuNTgzLS43NzksLjIwOS0uMTI0LC40NDktLjE5LC42OTQtLjE5LC4wNzEsMCwuMTQzLC4wMDYsLjIxNCwuMDE3bC43NjMsLjExOXYtLjczNnMwLTMuMTM0LDAtMy4xMzRjMC0uNTQ2LC40NC0xLjAxNywxLjAxMy0xLjA0NCwuNjEyLS4wMjksMS4xMiwuNDM3LDEuMTIsMS4wMTR2LjM5MWMwLC4xNzMsLjE0NywuMzEyLC4zMjgsLjMxMmgwYy4xODEsMCwuMzI4LS4xNCwuMzI4LS4zMTJ2LTEuMjk5YzAtLjU0NiwuNDQtMS4wMTcsMS4wMTMtMS4wNDQsLjYxMi0uMDI5LDEuMTIsLjQzNywxLjEyLDEuMDE0djEuNDg0YzAsLjE3MywuMTQ3LC4zMTIsLjMyOCwuMzEyaDBjLjE4MSwwLC4zMjgtLjE0LC4zMjgtLjMxMnYtLjgzYzAtLjU0NiwuNDQtMS4wMTcsMS4wMTMtMS4wNDQsLjYxMi0uMDI5LDEuMTIsLjQzNywxLjEyLDEuMDE0djEuMDE2YzAsLjE3MywuMTQ3LC4zMTIsLjMyOCwuMzEyaDBjLjE4MSwwLC4zMjgtLjE0LC4zMjgtLjMxMnYtLjM2MWMwLS41NDYsLjQ0LTEuMDE3LDEuMDEzLTEuMDQ0LC42MTItLjAyOSwxLjEyLC40MzcsMS4xMiwxLjAxNHYuNzAzWiIvPjxwYXRoIGQ9Ik0yMS4zMzMsMTIuMjAzYzAtLjkwNi0uNzcxLTEuNjQxLTEuNzIzLTEuNjQxLS40NTUsMC0uODY4LC4xNjktMS4xNzYsLjQ0NC0uMjQ0LS42MjQtLjg3My0xLjA2OS0xLjYxMy0xLjA2OWgwYy0uNDU1LDAtLjg2OCwuMTY5LTEuMTc2LC40NDQtLjI0NC0uNjI0LS44NzMtMS4wNjktMS42MTMtMS4wNjktLjgzNSwwLTEuNTMsLjU2Ni0xLjY4OSwxLjMxNi0uMjk4LS4yMzYtLjY4Mi0uMzc5LTEuMS0uMzc5aDBjLS45NTEsMC0xLjcyMywuNzM1LTEuNzIzLDEuNjQxdjMuMTY0Yy0uMTA2LS4wMTctLjIxMy0uMDI1LS4zMjEtLjAyNS0uMzU2LDAtLjcxNywuMDkyLTEuMDQxLC4yODUtLjkyMiwuNTQ5LTEuMjAzLDEuNzA2LS42MjYsMi41ODRsMi4xNTksMy4yOWMuOTI5LDEuNDA3LDIuNTc0LDIuMzQzLDQuNDQ4LDIuMzQzaDEuOTQ0YzIuOSwwLDUuMjUtMi4yMzksNS4yNS01di02LjMyOFptLS42NTYsLjcwM3Y1LjYyNWMwLDIuNDE2LTIuMDU3LDQuMzc1LTQuNTk0LDQuMzc1aC0xLjk0NGMtMS41OSwwLTMuMDQ1LS43NjYtMy44OTEtMi4wNDlsLTIuMTU5LTMuMjljLS4xODYtLjI4My0uMjQ1LS42MTgtLjE2Ni0uOTQ0LC4wNzktLjMyNSwuMjg2LS42MDIsLjU4My0uNzc5LC4yMDktLjEyNCwuNDQ5LS4xOSwuNjk0LS4xOSwuMDcxLDAsLjE0MywuMDA2LC4yMTQsLjAxN2wuNzYzLC4xMTl2LS43MzZzMC0zLjEzNCwwLTMuMTM0YzAtLjU0NiwuNDQtMS4wMTcsMS4wMTMtMS4wNDQsLjYxMi0uMDI5LDEuMTIsLjQzNywxLjEyLDEuMDE0di4zOTFjMCwuMTczLC4xNDcsLjMxMiwuMzI4LC4zMTJoMGMuMTgxLDAsLjMyOC0uMTQsLjMyOC0uMzEydi0xLjI5OWMwLS41NDYsLjQ0LTEuMDE3LDEuMDEzLTEuMDQ0LC42MTItLjAyOSwxLjEyLC40MzcsMS4xMiwxLjAxNHYxLjQ4NGMwLC4xNzMsLjE0NywuMzEyLC4zMjgsLjMxMmgwYy4xODEsMCwuMzI4LS4xNCwuMzI4LS4zMTJ2LS44M2MwLS41NDYsLjQ0LTEuMDE3LDEuMDEzLTEuMDQ0LC42MTItLjAyOSwxLjEyLC40MzcsMS4xMiwxLjAxNHYxLjAxNmMwLC4xNzMsLjE0NywuMzEyLC4zMjgsLjMxMmgwYy4xODEsMCwuMzI4LS4xNCwuMzI4LS4zMTJ2LS4zNjFjMC0uNTQ2LC40NC0xLjAxNywxLjAxMy0xLjA0NCwuNjEyLS4wMjksMS4xMiwuNDM3LDEuMTIsMS4wMTR2LjcwM1oiLz48L2c+PC9nPjwvc3ZnPg=='),
|
|
1783
|
-
auto;
|
|
1784
|
-
}
|
|
1785
|
-
|
|
1786
1813
|
.cursor-zoom:hover {
|
|
1787
1814
|
cursor: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+DQogIDxnIGlkPSJhIiBkYXRhLW5hbWU9IkZSQU1FUyI+DQogICAgPGcgaWQ9ImIiIGRhdGEtbmFtZT0iZnJhbWUiPg0KICAgICAgPHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJub25lIi8+DQogICAgPC9nPg0KICA8L2c+DQogIDxnIGlkPSJjIiBkYXRhLW5hbWU9IklDT05TIj4NCiAgICA8cGF0aCBpZD0iZCIgZGF0YS1uYW1lPSJQYXRoIDE1MDc4IiBkPSJNMTQsNC43ODFjLS4wNTYsMC0uMTEyLC4wMDMtLjE2NywuMDA4cy0uMTExLC4wMTMtLjE2NSwuMDI0LS4xMDgsLjAyNC0uMTYxLC4wMzljLS4wNTMsLjAxNi0uMTA0LC4wMzQtLjE1NSwuMDU1bC00LjIyMSwxLjc2Yy0uMTU0LC4wNjMtLjI5NiwuMTUzLS40MTksLjI2NS0uMTA4LC4wOTktLjE5MywuMjE5LS4yNTEsLjM1Mi0uMDU0LC4xMjUtLjA3NiwuMjYxLS4wNjUsLjM5NywuMDE0LC4xNDIsLjA2NCwuMjc3LC4xNDUsLjM5NCwuMDU5LC4wODYsLjEzMSwuMTYzLC4yMTIsLjIyOCwuMDg1LC4wNjgsLjE3OSwuMTI1LC4yNzgsLjE2OSwuMTA0LC4wNDcsLjIxMywuMDgyLC4zMjUsLjEwNSwuMTE2LC4wMjQsLjIzNCwuMDM2LC4zNTIsLjAzNiwuMDU3LDAsLjExNC0uMDAzLC4xNzItLjAwOHMuMTE1LS4wMTQsLjE3MS0uMDI1Yy4wNTctLjAxMSwuMTEzLS4wMjUsLjE2OS0uMDQyLC4wNTYtLjAxNywuMTExLS4wMzcsLjE2NS0uMDZsMi4yNTgtLjk2NS0uNzcsMTEuOTU2LTMuMzA3LTEuNzE3Yy0uMDU5LS4wMy0uMTE5LS4wNTctLjE4MS0uMDgtLjA2Mi0uMDIzLS4xMjUtLjA0MS0uMTg5LS4wNTYtLjA2NC0uMDE1LS4xMjgtLjAyNi0uMTkzLS4wMzMtLjA2NS0uMDA3LS4xMy0uMDExLS4xOTYtLjAxMS0uMTI3LDAtLjI1NCwuMDE0LS4zNzgsLjA0LS4xMjQsLjAyNi0uMjQ0LC4wNjYtLjM1OSwuMTE4LS4xMTQsLjA1Mi0uMjIzLC4xMTYtLjMyMiwuMTkzLS4xLC4wNzYtLjE4OSwuMTY1LS4yNjYsLjI2NC0uMTExLC4xNDEtLjE5MSwuMzA0LS4yMzQsLjQ3OS0uMDM5LC4xNjItLjA0LC4zMzEtLjAwNCwuNDk0LC4wMzcsLjE2NSwuMTExLC4zMTksLjIxNiwuNDUyLC4xMTUsLjE0NSwuMjYsLjI2NSwuNDI1LC4zNTFsNi4zMDksMy4zNjhjLjA2MiwuMDMzLC4xMjYsLjA2MiwuMTkyLC4wODcsLjA2NiwuMDI1LC4xMzMsLjA0NiwuMjAxLC4wNjIsLjI3NCwuMDY2LC41NiwuMDY2LC44MzQsMCwuMDY4LS4wMTcsLjEzNS0uMDM3LC4yMDEtLjA2MiwuMDY2LS4wMjUsLjEzLS4wNTQsLjE5Mi0uMDg3bDYuMzA3LTMuMzY4Yy4xNjQtLjA4NiwuMzA5LS4yMDYsLjQyNC0uMzUxLC4xMDUtLjEzMywuMTc4LS4yODcsLjIxNi0uNDUyLC4wMzYtLjE2MywuMDM1LS4zMzItLjAwNC0uNDk0LS4wNDMtLjE3NC0uMTIyLS4zMzgtLjIzNC0uNDc5LS4wNzctLjA5OS0uMTY3LS4xODgtLjI2Ni0uMjY0LS4xLS4wNzYtLjIwOC0uMTQxLS4zMjItLjE5My0uMTE1LS4wNTItLjIzNi0uMDkyLS4zNTktLjExOC0uMTI0LS4wMjctLjI1MS0uMDQtLjM3OC0uMDQtLjA2NSwwLS4xMzEsLjAwNC0uMTk2LC4wMTEtLjA2NSwuMDA3LS4xMywuMDE4LS4xOTMsLjAzMy0uMDY0LC4wMTUtLjEyNywuMDM0LS4xODksLjA1Ni0uMDYyLC4wMjMtLjEyMiwuMDQ5LS4xODEsLjA4bC0zLjMwNywxLjcxNy0uNzcyLTExLjk1NywyLjI1OCwuOTY1Yy4wNTQsLjAyMywuMTA5LC4wNDMsLjE2NSwuMDYsLjA1NiwuMDE3LC4xMTIsLjAzMSwuMTY5LC4wNDIsLjA1NywuMDExLC4xMTQsLjAyLC4xNzEsLjAyNXMuMTE1LC4wMDgsLjE3MiwuMDA4Yy4xMTgsMCwuMjM2LS4wMTIsLjM1Mi0uMDM2LC4xMTItLjAyMywuMjIxLS4wNTgsLjMyNS0uMTA1LC4wOTktLjA0NCwuMTkzLS4xMDEsLjI3OC0uMTY5LC4wODItLjA2NSwuMTUzLS4xNDIsLjIxMi0uMjI4LC4wODEtLjExNywuMTMxLS4yNTMsLjE0NS0uMzk0LC4wMTItLjEzNS0uMDExLS4yNzEtLjA2NC0uMzk2LS4wNTgtLjEzNC0uMTQ0LS4yNTQtLjI1Mi0uMzUyLS4xMjMtLjExMi0uMjY1LS4yMDItLjQxOS0uMjY1bC00LjIyMS0xLjc2MWMtLjA1MS0uMDIxLS4xMDItLjA0LS4xNTUtLjA1NS0uMDUyLS4wMTYtLjEwNi0uMDI5LS4xNjEtLjAzOXMtLjEwOS0uMDE4LS4xNjUtLjAyNC0uMTExLS4wMDgtLjE2Ny0uMDA4IiBmaWxsPSIjZmZmIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIuNSIvPg0KICAgIDxnPg0KICAgICAgPHBhdGggZD0iTTEuMDA3LDUuNzVjLS4zNzIsMC0uNzU3LS4yODEtLjc1Ny0uNzUyVjFDLjI1LC41ODcsLjU4NiwuMjUsMSwuMjVoMy45OThjLjM2OSwwLC42LC4yMzksLjY5MywuNDYzcy4wOTksLjU1Ny0uMTYzLC44MTdMMS41Myw1LjUyOGMtLjE4MywuMTg0LS4zODYsLjIyMi0uNTIzLC4yMjJaIiBmaWxsPSIjZmZmIi8+DQogICAgICA8cGF0aCBkPSJNNC45OTgsLjVjLjMxLDAsLjQzMiwuMjM2LC40NjIsLjMwOXMuMTExLC4zMjYtLjEwOCwuNTQ1TDEuMzU0LDUuMzUyYy0uMTIzLC4xMjMtLjI1NiwuMTQ4LS4zNDYsLjE0OC0uMjUsMC0uNTA3LS4xODgtLjUwNy0uNTAyVjFjMC0uMjc2LC4yMjQtLjUsLjUtLjVoMy45OThtMC0uNUgxQy40NDgsMCwwLC40NDgsMCwxdjMuOTk4YzAsLjYwMywuNDkzLDEuMDAyLDEuMDA3LDEuMDAyLC4yNDYsMCwuNDk2LS4wOTEsLjctLjI5NUw1LjcwNSwxLjcwN2MuNjMtLjYzLC4xODQtMS43MDctLjcwNy0xLjcwN2gwWiIgZmlsbD0iIzIxMjMyOSIvPg0KICAgIDwvZz4NCiAgPC9nPg0KPC9zdmc+'),
|
|
1788
1815
|
auto;
|
|
@@ -72,7 +72,7 @@ export declare class KeyboardHandler extends BaseInputHandler {
|
|
|
72
72
|
* @param code The event.code of the key.
|
|
73
73
|
* @param handler Callback invoked on key up.
|
|
74
74
|
*/
|
|
75
|
-
registerKeyUp(code: string, mode: CallbackMode, handler: () => void): void;
|
|
75
|
+
registerKeyUp(code: string | string[], mode: CallbackMode, handler: () => void): void;
|
|
76
76
|
private registerKey;
|
|
77
77
|
/**
|
|
78
78
|
* Internal key down event handler.
|
|
@@ -6,6 +6,7 @@ export declare class MouseHandler extends BaseInputHandler {
|
|
|
6
6
|
private _capture;
|
|
7
7
|
private _dragHandler;
|
|
8
8
|
private _doubleClickHandler;
|
|
9
|
+
private _clickHandler;
|
|
9
10
|
onButtonDown: (pos: THREE.Vector2, button: number) => void;
|
|
10
11
|
onButtonUp: (pos: THREE.Vector2, button: number) => void;
|
|
11
12
|
onMouseMove: (event: THREE.Vector2) => void;
|
|
@@ -13,12 +14,14 @@ export declare class MouseHandler extends BaseInputHandler {
|
|
|
13
14
|
onClick: (position: THREE.Vector2, ctrl: boolean) => void;
|
|
14
15
|
onDoubleClick: (position: THREE.Vector2) => void;
|
|
15
16
|
onWheel: (value: number, ctrl: boolean) => void;
|
|
17
|
+
onContextMenu: (position: THREE.Vector2) => void;
|
|
16
18
|
constructor(canvas: HTMLCanvasElement);
|
|
17
19
|
protected addListeners(): void;
|
|
18
20
|
dispose(): void;
|
|
19
21
|
private handlePointerDown;
|
|
20
22
|
private handlePointerUp;
|
|
21
23
|
private handleMouseClick;
|
|
24
|
+
private handleContextMenu;
|
|
22
25
|
private handlePointerMove;
|
|
23
26
|
private handleDoubleClick;
|
|
24
27
|
private onMouseScroll;
|
|
@@ -20,6 +20,11 @@ export declare const INVALID_HANDLE = 4294967295;
|
|
|
20
20
|
* handling connections, and coordinating various components like the camera, decoder, and inputs.
|
|
21
21
|
*/
|
|
22
22
|
export declare class Viewer {
|
|
23
|
+
/**
|
|
24
|
+
* The type of the viewer, indicating it is a WebGL viewer.
|
|
25
|
+
* Useful for distinguishing between different viewer types in a multi-viewer application.
|
|
26
|
+
*/
|
|
27
|
+
readonly type = "ultra";
|
|
23
28
|
private readonly _decoder;
|
|
24
29
|
private readonly _socketClient;
|
|
25
30
|
private readonly _input;
|
|
@@ -8,6 +8,8 @@ export interface IViewport {
|
|
|
8
8
|
canvas: HTMLCanvasElement;
|
|
9
9
|
/** Updates the aspect ratio of the viewport on the server */
|
|
10
10
|
update(): void;
|
|
11
|
+
/** Resizes the viewport to match its parent's dimensions */
|
|
12
|
+
resizeToParent(): void;
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
13
15
|
* Class managing the viewport and canvas resizing functionality
|
|
@@ -34,6 +36,10 @@ export declare class Viewport {
|
|
|
34
36
|
* Updates the aspect ratio of the viewport on the server
|
|
35
37
|
*/
|
|
36
38
|
update(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Resizes the viewport to match its parent's dimensions
|
|
41
|
+
*/
|
|
42
|
+
resizeToParent(): void;
|
|
37
43
|
/**
|
|
38
44
|
* Cleans up resources by removing resize observer and clearing timeouts
|
|
39
45
|
*/
|
|
@@ -8,6 +8,7 @@ import { Renderer } from './renderer';
|
|
|
8
8
|
import { RpcSafeClient, VimSource } from './rpcSafeClient';
|
|
9
9
|
import * as THREE from 'three';
|
|
10
10
|
export declare class Vim implements IVim<Element3D> {
|
|
11
|
+
readonly type = "ultra";
|
|
11
12
|
readonly source: VimSource;
|
|
12
13
|
private _handle;
|
|
13
14
|
private _request;
|
|
@@ -18,6 +19,7 @@ export declare class Vim implements IVim<Element3D> {
|
|
|
18
19
|
readonly visibility: VisibilitySynchronizer;
|
|
19
20
|
private _elementColors;
|
|
20
21
|
private _updatedColors;
|
|
22
|
+
private _removedColors;
|
|
21
23
|
private _updateScheduled;
|
|
22
24
|
private _elementCount;
|
|
23
25
|
private _objects;
|
|
@@ -34,7 +36,7 @@ export declare class Vim implements IVim<Element3D> {
|
|
|
34
36
|
private _load;
|
|
35
37
|
private getErrorType;
|
|
36
38
|
private _getHandle;
|
|
37
|
-
|
|
39
|
+
getBoundingBoxForElements(elements: number[] | 'all'): Promise<THREE.Box3 | undefined>;
|
|
38
40
|
getBoundingBox(): Promise<THREE.Box3 | undefined>;
|
|
39
41
|
getColor(elementIndex: number): THREE.Color | undefined;
|
|
40
42
|
setColor(elementIndex: number[], color: THREE.Color | undefined): Promise<void>;
|
|
@@ -52,9 +52,11 @@ export declare class Mesh {
|
|
|
52
52
|
static createMerged(mesh: THREE.Mesh, instances: number[], boxes: THREE.Box3[], submeshes: number[]): Mesh;
|
|
53
53
|
static createInstanced(mesh: THREE.Mesh, instances: number[], boxes: THREE.Box3[]): Mesh;
|
|
54
54
|
/**
|
|
55
|
-
*
|
|
55
|
+
* Sets the material for this mesh.
|
|
56
|
+
* Set to undefined to reset to original materials.
|
|
56
57
|
*/
|
|
57
58
|
setMaterial(value: ModelMaterial): void;
|
|
59
|
+
private _mergeMaterials;
|
|
58
60
|
/**
|
|
59
61
|
* Returns submesh for given index.
|
|
60
62
|
*/
|
|
@@ -54,7 +54,9 @@ export declare class InsertableMesh {
|
|
|
54
54
|
*/
|
|
55
55
|
getSubmesh(index: number): InsertableSubmesh;
|
|
56
56
|
/**
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
* Sets the material for this mesh.
|
|
58
|
+
* Set to undefined to reset to original materials.
|
|
59
|
+
*/
|
|
59
60
|
setMaterial(value: ModelMaterial): void;
|
|
61
|
+
private _mergeMaterials;
|
|
60
62
|
}
|
|
@@ -27,7 +27,12 @@ export declare class InstancedMesh {
|
|
|
27
27
|
* Returns all submeshes for given index.
|
|
28
28
|
*/
|
|
29
29
|
getSubmeshes(): InstancedSubmesh[];
|
|
30
|
+
/**
|
|
31
|
+
* Sets the material for this mesh.
|
|
32
|
+
* Set to undefined to reset to original materials.
|
|
33
|
+
*/
|
|
30
34
|
setMaterial(value: ModelMaterial): void;
|
|
35
|
+
private _mergeMaterials;
|
|
31
36
|
private computeBoundingBoxes;
|
|
32
37
|
private importBoundingBoxes;
|
|
33
38
|
computeBoundingBox(boxes: THREE.Box3[]): THREE.Box3;
|
|
@@ -18,6 +18,11 @@ type VimFormat = 'vim' | 'vimx';
|
|
|
18
18
|
* Facilitates high-level scene manipulation by providing access to objects.
|
|
19
19
|
*/
|
|
20
20
|
export declare class Vim implements IVim<Element3D> {
|
|
21
|
+
/**
|
|
22
|
+
* The type of the viewer, indicating it is a WebGL viewer.
|
|
23
|
+
* Useful for distinguishing between different viewer types in a multi-viewer application.
|
|
24
|
+
*/
|
|
25
|
+
readonly type = "webgl";
|
|
21
26
|
/**
|
|
22
27
|
* Indicates whether the vim was opened from a vim or vimx file.
|
|
23
28
|
*/
|
|
@@ -62,8 +62,15 @@ export declare class Renderer implements IRenderer {
|
|
|
62
62
|
*/
|
|
63
63
|
get background(): THREE.Color | THREE.Texture;
|
|
64
64
|
set background(color: THREE.Color | THREE.Texture);
|
|
65
|
+
/**
|
|
66
|
+
* Sets the material used to render models. If set to undefined, the default model or mesh material is used.
|
|
67
|
+
*/
|
|
65
68
|
get modelMaterial(): ModelMaterial;
|
|
66
69
|
set modelMaterial(material: ModelMaterial);
|
|
70
|
+
/**
|
|
71
|
+
* The material that will be used when setting model material to undefined.
|
|
72
|
+
*/
|
|
73
|
+
defaultModelMaterial: ModelMaterial;
|
|
67
74
|
/**
|
|
68
75
|
* Signal dispatched at the end of each frame if the scene was updated, such as visibility changes.
|
|
69
76
|
*/
|
|
@@ -17,6 +17,11 @@ import { Renderer } from './rendering/renderer';
|
|
|
17
17
|
* Viewer and loader for vim files.
|
|
18
18
|
*/
|
|
19
19
|
export declare class Viewer {
|
|
20
|
+
/**
|
|
21
|
+
* The type of the viewer, indicating it is a WebGL viewer.
|
|
22
|
+
* Useful for distinguishing between different viewer types in a multi-viewer application.
|
|
23
|
+
*/
|
|
24
|
+
readonly type = "webgl";
|
|
20
25
|
/**
|
|
21
26
|
* The settings configuration used by the viewer.
|
|
22
27
|
*/
|
|
@@ -62,7 +62,7 @@ export declare class Viewport {
|
|
|
62
62
|
/**
|
|
63
63
|
* Resizes the canvas and updates the camera to match new parent dimensions.
|
|
64
64
|
*/
|
|
65
|
-
|
|
65
|
+
resizeToParent(): void;
|
|
66
66
|
/**
|
|
67
67
|
* Set a callback for canvas resize with debouncing
|
|
68
68
|
* https://stackoverflow.com/questions/5825447/javascript-event-for-canvas-resize/30688151
|
|
@@ -3,19 +3,19 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import * as Core from '../../core-viewers';
|
|
6
|
-
import { Settings } from '../settings';
|
|
7
6
|
import { CameraRef } from '../state/cameraState';
|
|
8
7
|
import { IsolationRef } from '../state/sharedIsolation';
|
|
9
8
|
import { ViewerState } from '../webgl/viewerState';
|
|
10
9
|
import { BimInfoPanelRef } from './bimInfoData';
|
|
11
10
|
import { TreeActionRef } from './bimTree';
|
|
11
|
+
import { WebglSettings } from '../webgl/settings';
|
|
12
12
|
export declare function OptionalBimPanel(props: {
|
|
13
13
|
viewer: Core.Webgl.Viewer;
|
|
14
14
|
camera: CameraRef;
|
|
15
15
|
viewerState: ViewerState;
|
|
16
16
|
isolation: IsolationRef;
|
|
17
17
|
visible: boolean;
|
|
18
|
-
settings:
|
|
18
|
+
settings: WebglSettings;
|
|
19
19
|
treeRef: React.MutableRefObject<TreeActionRef | undefined>;
|
|
20
20
|
bimInfoRef: BimInfoPanelRef;
|
|
21
21
|
}): JSX.Element;
|
|
@@ -34,7 +34,7 @@ export declare function BimPanel(props: {
|
|
|
34
34
|
viewerState: ViewerState;
|
|
35
35
|
isolation: IsolationRef;
|
|
36
36
|
visible: boolean;
|
|
37
|
-
settings:
|
|
37
|
+
settings: WebglSettings;
|
|
38
38
|
treeRef: React.MutableRefObject<TreeActionRef | undefined>;
|
|
39
39
|
bimInfoRef: BimInfoPanelRef;
|
|
40
40
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,36 +1,32 @@
|
|
|
1
|
-
export declare const
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const
|
|
8
|
-
export declare const
|
|
9
|
-
export declare const
|
|
10
|
-
export declare const
|
|
11
|
-
export declare const
|
|
12
|
-
export declare const
|
|
13
|
-
export declare const
|
|
14
|
-
export declare const
|
|
15
|
-
export declare const
|
|
16
|
-
export declare const
|
|
17
|
-
export declare const
|
|
18
|
-
export declare const
|
|
19
|
-
export declare const
|
|
20
|
-
export declare const
|
|
21
|
-
export declare const
|
|
22
|
-
export declare const
|
|
23
|
-
export declare const
|
|
24
|
-
export declare const
|
|
25
|
-
export declare const
|
|
26
|
-
export declare const
|
|
27
|
-
export declare const
|
|
28
|
-
export declare const
|
|
29
|
-
export declare const
|
|
30
|
-
export declare const
|
|
31
|
-
export declare const
|
|
32
|
-
export declare const
|
|
33
|
-
export declare const buttonSectionBoxToSelection = "controlBar.sectionBox.sectionSelection";
|
|
34
|
-
export declare const buttonSectionBoxToScene = "controlBar.sectionBox.sectionScene";
|
|
35
|
-
export declare const buttonSectionBoxAuto = "controlBar.sectionBox.auto";
|
|
36
|
-
export declare const buttonSectionBoxSettings = "controlBar.sectionBox.settings";
|
|
1
|
+
export declare const cameraSpan = "controlBar.cameraSpan";
|
|
2
|
+
export declare const cameraFrameSelection = "controlBar.cameraFrameSelection";
|
|
3
|
+
export declare const cameraFrameScene = "controlBar.cameraFrameScene";
|
|
4
|
+
export declare const cameraAuto = "controlBar.cameraAuto";
|
|
5
|
+
export declare const cursorSpan = "controlBar.cursorSpan";
|
|
6
|
+
export declare const cursorOrbit = "controlBar.cursorOrbit";
|
|
7
|
+
export declare const cursorLook = "controlBar.cursorLook";
|
|
8
|
+
export declare const cursorPan = "controlBar.cursorPan";
|
|
9
|
+
export declare const cursorZoom = "controlBar.cursorZoom";
|
|
10
|
+
export declare const cursorZoomWindow = "controlBar.cursorZoomWindow";
|
|
11
|
+
export declare const visibilitySpan = "controlBar.visibilitySpan";
|
|
12
|
+
export declare const visibilityClearSelection = "controlBar.visibilityClearSelection";
|
|
13
|
+
export declare const visibilityShowAll = "controlBar.visibilityShowAll";
|
|
14
|
+
export declare const visibilityIsolateSelection = "controlBar.visibilityIsolateSelection";
|
|
15
|
+
export declare const visibilityHideSelection = "controlBar.visibilityHideSelection";
|
|
16
|
+
export declare const visibilityShowSelection = "controlBar.visibilityShowSelection";
|
|
17
|
+
export declare const visibilityAutoIsolate = "controlBar.visibilityAutoIsolate";
|
|
18
|
+
export declare const visibilitySettings = "controlBar.visibilitySettings";
|
|
19
|
+
export declare const sectioningSpan = "controlBar.sectioningSpan";
|
|
20
|
+
export declare const sectioningEnable = "controlBar.sectioningEnable";
|
|
21
|
+
export declare const sectioningVisible = "controlBar.sectioningVisible";
|
|
22
|
+
export declare const sectioningFitSelection = "controlBar.sectioningFitSelection";
|
|
23
|
+
export declare const sectioningFitScene = "controlBar.sectioningFitScene";
|
|
24
|
+
export declare const sectioningAuto = "controlBar.sectioningAuto";
|
|
25
|
+
export declare const sectioningSettings = "controlBar.sectioningSettings";
|
|
26
|
+
export declare const measureSpan = "controlBar.measureSpan";
|
|
27
|
+
export declare const measureEnable = "controlBar.measureEnable";
|
|
28
|
+
export declare const miscSpan = "controlBar.miscSpan";
|
|
29
|
+
export declare const miscInspector = "controlBar.miscInspector";
|
|
30
|
+
export declare const miscSettings = "controlBar.miscSettings";
|
|
31
|
+
export declare const miscHelp = "controlBar.miscHelp";
|
|
32
|
+
export declare const miscMaximize = "controlBar.miscMaximize";
|
|
@@ -4,7 +4,7 @@ export declare const vcColorLink = "vc-text-[#0590CC]";
|
|
|
4
4
|
export declare const vcLink = "vc-text-[#0590CC] vc-underline";
|
|
5
5
|
export declare const vcLabel = "vc-text-[#3F444F]";
|
|
6
6
|
export declare const vcRoboto = "vc-font-['Roboto',sans-serif]";
|
|
7
|
-
export declare function footer(
|
|
7
|
+
export declare function footer(): import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
export declare function mainText(text: JSX.Element): import("react/jsx-runtime").JSX.Element;
|
|
9
9
|
export declare function detailText(text: string): import("react/jsx-runtime").JSX.Element;
|
|
10
10
|
export declare function bold(text: string): import("react/jsx-runtime").JSX.Element;
|
|
@@ -55,9 +55,10 @@ export declare function useRefresher(): StateRefresher;
|
|
|
55
55
|
* The reference provides access to the state, along with event dispatching, validation, and confirmation logic.
|
|
56
56
|
*
|
|
57
57
|
* @param initialValue - The initial state value.
|
|
58
|
+
* @param isLazy - Whether to treat the initialValue as a lazy initializer function.
|
|
58
59
|
* @returns An object implementing StateRef along with additional helper hooks.
|
|
59
60
|
*/
|
|
60
|
-
export declare function useStateRef<T>(initialValue: T | (() => T)): {
|
|
61
|
+
export declare function useStateRef<T>(initialValue: T | (() => T), isLazy?: boolean): {
|
|
61
62
|
/**
|
|
62
63
|
* Returns the current state value.
|
|
63
64
|
*/
|
|
@@ -5,3 +5,11 @@ export declare function whenAllTrue(value: (UserBoolean | boolean)[], element: J
|
|
|
5
5
|
export declare function whenAllFalse(value: (UserBoolean | boolean)[], element: JSX.Element): JSX.Element;
|
|
6
6
|
export declare function whenSomeTrue(value: (UserBoolean | boolean)[], element: JSX.Element): JSX.Element;
|
|
7
7
|
export declare function whenSomeFalse(value: (UserBoolean | boolean)[], element: JSX.Element): JSX.Element;
|
|
8
|
+
/**
|
|
9
|
+
* Makes all fields optional recursively
|
|
10
|
+
* @template T - The type to make recursively partial
|
|
11
|
+
* @returns A type with all nested properties made optional
|
|
12
|
+
*/
|
|
13
|
+
export type RecursivePartial<T> = {
|
|
14
|
+
[P in keyof T]?: T[P] extends (infer U)[] ? RecursivePartial<U>[] : T[P] extends object ? RecursivePartial<T[P]> : T[P];
|
|
15
|
+
};
|
|
@@ -5,6 +5,7 @@ import React from 'react';
|
|
|
5
5
|
import * as Core from '../../core-viewers';
|
|
6
6
|
import { CameraRef } from '../state/cameraState';
|
|
7
7
|
import { SettingsState } from '../settings/settingsState';
|
|
8
|
+
import { WebglSettings } from '../webgl/settings';
|
|
8
9
|
/**
|
|
9
10
|
* Memoized version of the AxesPanelMemo.
|
|
10
11
|
*/
|
|
@@ -15,6 +16,6 @@ export declare const AxesPanelMemo: React.MemoExoticComponent<typeof AxesPanel>;
|
|
|
15
16
|
declare function AxesPanel(props: {
|
|
16
17
|
viewer: Core.Webgl.Viewer;
|
|
17
18
|
camera: CameraRef;
|
|
18
|
-
settings: SettingsState
|
|
19
|
+
settings: SettingsState<WebglSettings>;
|
|
19
20
|
}): import("react/jsx-runtime").JSX.Element;
|
|
20
21
|
export {};
|
|
@@ -3,7 +3,9 @@ import { GenericPanelHandle } from "../generic/genericPanel";
|
|
|
3
3
|
export declare const Ids: {
|
|
4
4
|
showGhost: string;
|
|
5
5
|
ghostOpacity: string;
|
|
6
|
+
transparency: string;
|
|
6
7
|
};
|
|
7
8
|
export declare const IsolationPanel: import("react").ForwardRefExoticComponent<{
|
|
8
9
|
state: IsolationRef;
|
|
10
|
+
transparency: boolean;
|
|
9
11
|
} & import("react").RefAttributes<GenericPanelHandle>>;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export type MessageBoxProps = {
|
|
2
2
|
title: string;
|
|
3
3
|
body: string | JSX.Element;
|
|
4
|
+
icon?: JSX.Element;
|
|
4
5
|
footer?: string | JSX.Element;
|
|
5
6
|
canClose?: boolean;
|
|
7
|
+
minimize?: boolean;
|
|
6
8
|
onClose?: () => void;
|
|
7
9
|
};
|
|
8
10
|
export type MessageBoxPropsTyped = MessageBoxProps & {
|
|
@@ -15,6 +15,6 @@ export declare const SidePanelMemo: React.MemoExoticComponent<typeof SidePanel>;
|
|
|
15
15
|
export declare function SidePanel(props: {
|
|
16
16
|
container: Container;
|
|
17
17
|
side: SideState;
|
|
18
|
-
viewer: Core.Webgl.Viewer;
|
|
18
|
+
viewer: Core.Webgl.Viewer | Core.Ultra.Viewer;
|
|
19
19
|
content: () => JSX.Element;
|
|
20
20
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { SettingsBox } from './settingsItem';
|
|
2
|
+
import { SettingsState } from './settingsState';
|
|
3
|
+
import { AnySettings } from './anySettings';
|
|
4
|
+
export declare function renderSettingsInputBox(settings: SettingsState<AnySettings>, item: SettingsBox<AnySettings>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { AnySettings } from './anySettings';
|
|
2
|
+
import { UserBoolean } from './userBoolean';
|
|
3
|
+
export type SettingsCustomizer<T extends AnySettings> = (items: SettingsItem<T>[]) => SettingsItem<T>[];
|
|
4
|
+
export type SettingsItem<T extends AnySettings> = SettingsSubtitle | SettingsToggle<T> | SettingsBox<T> | SettingsElement;
|
|
5
|
+
export type BaseSettingsItem = {
|
|
6
|
+
type: string;
|
|
7
|
+
key: string;
|
|
8
|
+
};
|
|
9
|
+
export type SettingsSubtitle = BaseSettingsItem & {
|
|
10
|
+
type: 'subtitle';
|
|
11
|
+
title: string;
|
|
12
|
+
};
|
|
13
|
+
export type SettingsToggle<T extends AnySettings> = BaseSettingsItem & {
|
|
14
|
+
type: 'toggle';
|
|
15
|
+
label: string;
|
|
16
|
+
getter: (settings: T) => UserBoolean;
|
|
17
|
+
setter: (settings: T, b: boolean) => void;
|
|
18
|
+
};
|
|
19
|
+
export type SettingsBox<T extends AnySettings> = BaseSettingsItem & {
|
|
20
|
+
type: 'box';
|
|
21
|
+
label: string;
|
|
22
|
+
info: string;
|
|
23
|
+
transform: (value: number) => number;
|
|
24
|
+
getter: (settings: T) => number;
|
|
25
|
+
setter: (settings: T, b: number) => void;
|
|
26
|
+
};
|
|
27
|
+
export type SettingsElement = BaseSettingsItem & {
|
|
28
|
+
type: 'element';
|
|
29
|
+
element: JSX.Element;
|
|
30
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export declare class SettingsPanelKeys {
|
|
2
|
+
static InputsSubtitle: string;
|
|
3
|
+
static InputsScrollSpeedBox: string;
|
|
4
|
+
static PanelsSubtitle: string;
|
|
5
|
+
static PanelsShowLogoToggle: string;
|
|
6
|
+
static PanelsShowBimTreeToggle: string;
|
|
7
|
+
static PanelsShowBimInfoToggle: string;
|
|
8
|
+
static PanelsShowAxesPanelToggle: string;
|
|
9
|
+
static PanelsShowPerformancePanelToggle: string;
|
|
10
|
+
static AxesSubtitle: string;
|
|
11
|
+
static AxesShowOrthographicButtonToggle: string;
|
|
12
|
+
static AxesShowResetCameraButtonToggle: string;
|
|
13
|
+
static ControlBarSubtitle: string;
|
|
14
|
+
static ControlBarShowControlBarToggle: string;
|
|
15
|
+
static ControlBarCursorsSubtitle: string;
|
|
16
|
+
static ControlBarCursorsShowOrbitButtonToggle: string;
|
|
17
|
+
static ControlBarCursorsShowLookAroundButtonToggle: string;
|
|
18
|
+
static ControlBarCursorsShowPanButtonToggle: string;
|
|
19
|
+
static ControlBarCursorsShowZoomButtonToggle: string;
|
|
20
|
+
static ControlBarCursorsShowZoomWindowButtonToggle: string;
|
|
21
|
+
static ControlBarToolsSubtitle: string;
|
|
22
|
+
static ControlBarToolsShowMeasuringModeButtonToggle: string;
|
|
23
|
+
static ControlBarCameraSubtitle: string;
|
|
24
|
+
static ControlBarAutoCamera: string;
|
|
25
|
+
static ControlBarFrameSelection: string;
|
|
26
|
+
static ControlBarFrameAll: string;
|
|
27
|
+
static ControlBarSectioningSubtitle: string;
|
|
28
|
+
static ControlBarSectioningEnable: string;
|
|
29
|
+
static ControlBarSectioningFitToSelection: string;
|
|
30
|
+
static ControlBarSectioningReset: string;
|
|
31
|
+
static ControlBarSectioningShow: string;
|
|
32
|
+
static ControlBarSectioningAuto: string;
|
|
33
|
+
static ControlBarSectioningSettings: string;
|
|
34
|
+
static ControlBarVisibilitySubtitle: string;
|
|
35
|
+
static ControlBarVisibilityClearSelection: string;
|
|
36
|
+
static ControlBarVisibilityShowAll: string;
|
|
37
|
+
static ControlBarVisibilityToggle: string;
|
|
38
|
+
static ControlBarVisibilityIsolate: string;
|
|
39
|
+
static ControlBarVisibilityAutoIsolate: string;
|
|
40
|
+
static ControlBarVisibilitySettings: string;
|
|
41
|
+
static ControlBarMiscSubtitle: string;
|
|
42
|
+
static ControlBarMiscShowProjectInspectorButtonToggle: string;
|
|
43
|
+
static ControlBarMiscShowSettingsButtonToggle: string;
|
|
44
|
+
static ControlBarMiscShowHelpButtonToggle: string;
|
|
45
|
+
static ControlBarMiscShowMaximiseButtonToggle: string;
|
|
46
|
+
}
|