vim-web 0.6.0-dev.3 → 0.6.0-dev.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/README.md +104 -75
  2. package/dist/style.css +3 -0
  3. package/dist/vim-bim.d.ts +1920 -0
  4. package/dist/vim-web.d.ts +3356 -0
  5. package/dist/vim-web.iife.js +18542 -19507
  6. package/dist/vim-web.iife.js.map +1 -1
  7. package/dist/vim-web.js +18562 -19527
  8. package/dist/vim-web.js.map +1 -1
  9. package/package.json +12 -9
  10. package/dist/types/core-viewers/index.d.ts +0 -3
  11. package/dist/types/core-viewers/shared/baseInputHandler.d.ts +0 -28
  12. package/dist/types/core-viewers/shared/index.d.ts +0 -11
  13. package/dist/types/core-viewers/shared/inputAdapter.d.ts +0 -22
  14. package/dist/types/core-viewers/shared/inputHandler.d.ts +0 -99
  15. package/dist/types/core-viewers/shared/keyboardHandler.d.ts +0 -96
  16. package/dist/types/core-viewers/shared/loadResult.d.ts +0 -55
  17. package/dist/types/core-viewers/shared/mouseHandler.d.ts +0 -30
  18. package/dist/types/core-viewers/shared/raycaster.d.ts +0 -27
  19. package/dist/types/core-viewers/shared/selection.d.ts +0 -105
  20. package/dist/types/core-viewers/shared/touchHandler.d.ts +0 -42
  21. package/dist/types/core-viewers/shared/vim.d.ts +0 -48
  22. package/dist/types/core-viewers/shared/vimCollection.d.ts +0 -25
  23. package/dist/types/core-viewers/ultra/camera.d.ts +0 -116
  24. package/dist/types/core-viewers/ultra/colorManager.d.ts +0 -73
  25. package/dist/types/core-viewers/ultra/decoder.d.ts +0 -108
  26. package/dist/types/core-viewers/ultra/decoderWithWorker.d.ts +0 -80
  27. package/dist/types/core-viewers/ultra/element3d.d.ts +0 -44
  28. package/dist/types/core-viewers/ultra/index.d.ts +0 -29
  29. package/dist/types/core-viewers/ultra/inputAdapter.d.ts +0 -8
  30. package/dist/types/core-viewers/ultra/loadRequest.d.ts +0 -14
  31. package/dist/types/core-viewers/ultra/logger.d.ts +0 -9
  32. package/dist/types/core-viewers/ultra/protocol.d.ts +0 -13
  33. package/dist/types/core-viewers/ultra/raycaster.d.ts +0 -52
  34. package/dist/types/core-viewers/ultra/remoteColor.d.ts +0 -37
  35. package/dist/types/core-viewers/ultra/renderer.d.ts +0 -147
  36. package/dist/types/core-viewers/ultra/rpcClient.d.ts +0 -86
  37. package/dist/types/core-viewers/ultra/rpcMarshal.d.ts +0 -64
  38. package/dist/types/core-viewers/ultra/rpcSafeClient.d.ts +0 -470
  39. package/dist/types/core-viewers/ultra/rpcTypes.d.ts +0 -71
  40. package/dist/types/core-viewers/ultra/rpcUtils.d.ts +0 -8
  41. package/dist/types/core-viewers/ultra/sectionBox.d.ts +0 -33
  42. package/dist/types/core-viewers/ultra/selection.d.ts +0 -4
  43. package/dist/types/core-viewers/ultra/socketClient.d.ts +0 -153
  44. package/dist/types/core-viewers/ultra/streamLogger.d.ts +0 -19
  45. package/dist/types/core-viewers/ultra/streamRenderer.d.ts +0 -7
  46. package/dist/types/core-viewers/ultra/viewer.d.ts +0 -139
  47. package/dist/types/core-viewers/ultra/viewport.d.ts +0 -47
  48. package/dist/types/core-viewers/ultra/vim.d.ts +0 -50
  49. package/dist/types/core-viewers/ultra/vimCollection.d.ts +0 -51
  50. package/dist/types/core-viewers/ultra/visibility.d.ts +0 -100
  51. package/dist/types/core-viewers/webgl/index.d.ts +0 -5
  52. package/dist/types/core-viewers/webgl/loader/averageBoundingBox.d.ts +0 -6
  53. package/dist/types/core-viewers/webgl/loader/colorAttribute.d.ts +0 -34
  54. package/dist/types/core-viewers/webgl/loader/element3d.d.ts +0 -108
  55. package/dist/types/core-viewers/webgl/loader/elementMapping.d.ts +0 -113
  56. package/dist/types/core-viewers/webgl/loader/geometry.d.ts +0 -103
  57. package/dist/types/core-viewers/webgl/loader/index.d.ts +0 -24
  58. package/dist/types/core-viewers/webgl/loader/materials/ghostMaterial.d.ts +0 -16
  59. package/dist/types/core-viewers/webgl/loader/materials/index.d.ts +0 -10
  60. package/dist/types/core-viewers/webgl/loader/materials/maskMaterial.d.ts +0 -8
  61. package/dist/types/core-viewers/webgl/loader/materials/materials.d.ts +0 -161
  62. package/dist/types/core-viewers/webgl/loader/materials/mergeMaterial.d.ts +0 -18
  63. package/dist/types/core-viewers/webgl/loader/materials/outlineMaterial.d.ts +0 -78
  64. package/dist/types/core-viewers/webgl/loader/materials/pickingMaterial.d.ts +0 -42
  65. package/dist/types/core-viewers/webgl/loader/materials/simpleMaterial.d.ts +0 -17
  66. package/dist/types/core-viewers/webgl/loader/materials/skyboxMaterial.d.ts +0 -16
  67. package/dist/types/core-viewers/webgl/loader/materials/standardMaterial.d.ts +0 -57
  68. package/dist/types/core-viewers/webgl/loader/materials/transferMaterial.d.ts +0 -8
  69. package/dist/types/core-viewers/webgl/loader/mesh.d.ts +0 -118
  70. package/dist/types/core-viewers/webgl/loader/progressive/g3dOffsets.d.ts +0 -53
  71. package/dist/types/core-viewers/webgl/loader/progressive/g3dSubset.d.ts +0 -117
  72. package/dist/types/core-viewers/webgl/loader/progressive/insertableGeometry.d.ts +0 -45
  73. package/dist/types/core-viewers/webgl/loader/progressive/insertableMesh.d.ts +0 -63
  74. package/dist/types/core-viewers/webgl/loader/progressive/insertableSubmesh.d.ts +0 -43
  75. package/dist/types/core-viewers/webgl/loader/progressive/instancedMesh.d.ts +0 -39
  76. package/dist/types/core-viewers/webgl/loader/progressive/instancedMeshFactory.d.ts +0 -27
  77. package/dist/types/core-viewers/webgl/loader/progressive/instancedSubmesh.d.ts +0 -31
  78. package/dist/types/core-viewers/webgl/loader/progressive/legacyMeshFactory.d.ts +0 -26
  79. package/dist/types/core-viewers/webgl/loader/progressive/loadRequest.d.ts +0 -21
  80. package/dist/types/core-viewers/webgl/loader/progressive/loadingSynchronizer.d.ts +0 -27
  81. package/dist/types/core-viewers/webgl/loader/progressive/subsetBuilder.d.ts +0 -74
  82. package/dist/types/core-viewers/webgl/loader/progressive/subsetRequest.d.ts +0 -38
  83. package/dist/types/core-viewers/webgl/loader/progressive/vimx.d.ts +0 -17
  84. package/dist/types/core-viewers/webgl/loader/scene.d.ts +0 -90
  85. package/dist/types/core-viewers/webgl/loader/vim.d.ts +0 -163
  86. package/dist/types/core-viewers/webgl/loader/vimCollection.d.ts +0 -79
  87. package/dist/types/core-viewers/webgl/loader/vimSettings.d.ts +0 -69
  88. package/dist/types/core-viewers/webgl/loader/webglAttribute.d.ts +0 -19
  89. package/dist/types/core-viewers/webgl/utils/boxes.d.ts +0 -5
  90. package/dist/types/core-viewers/webgl/viewer/camera/camera.d.ts +0 -149
  91. package/dist/types/core-viewers/webgl/viewer/camera/cameraInterface.d.ts +0 -107
  92. package/dist/types/core-viewers/webgl/viewer/camera/cameraMovement.d.ts +0 -88
  93. package/dist/types/core-viewers/webgl/viewer/camera/cameraMovementLerp.d.ts +0 -28
  94. package/dist/types/core-viewers/webgl/viewer/camera/cameraMovementSnap.d.ts +0 -23
  95. package/dist/types/core-viewers/webgl/viewer/camera/cameraOrthographic.d.ts +0 -11
  96. package/dist/types/core-viewers/webgl/viewer/camera/cameraPerspective.d.ts +0 -11
  97. package/dist/types/core-viewers/webgl/viewer/camera/index.d.ts +0 -7
  98. package/dist/types/core-viewers/webgl/viewer/environment/environment.d.ts +0 -38
  99. package/dist/types/core-viewers/webgl/viewer/environment/index.d.ts +0 -3
  100. package/dist/types/core-viewers/webgl/viewer/environment/light.d.ts +0 -43
  101. package/dist/types/core-viewers/webgl/viewer/environment/skybox.d.ts +0 -39
  102. package/dist/types/core-viewers/webgl/viewer/gizmos/axes/axes.d.ts +0 -14
  103. package/dist/types/core-viewers/webgl/viewer/gizmos/axes/axesSettings.d.ts +0 -20
  104. package/dist/types/core-viewers/webgl/viewer/gizmos/axes/gizmoAxes.d.ts +0 -62
  105. package/dist/types/core-viewers/webgl/viewer/gizmos/axes/index.d.ts +0 -3
  106. package/dist/types/core-viewers/webgl/viewer/gizmos/gizmoLoading.d.ts +0 -23
  107. package/dist/types/core-viewers/webgl/viewer/gizmos/gizmoOrbit.d.ts +0 -76
  108. package/dist/types/core-viewers/webgl/viewer/gizmos/gizmos.d.ts +0 -45
  109. package/dist/types/core-viewers/webgl/viewer/gizmos/index.d.ts +0 -7
  110. package/dist/types/core-viewers/webgl/viewer/gizmos/markers/gizmoMarker.d.ts +0 -113
  111. package/dist/types/core-viewers/webgl/viewer/gizmos/markers/gizmoMarkers.d.ts +0 -52
  112. package/dist/types/core-viewers/webgl/viewer/gizmos/markers/index.d.ts +0 -2
  113. package/dist/types/core-viewers/webgl/viewer/gizmos/measure/index.d.ts +0 -3
  114. package/dist/types/core-viewers/webgl/viewer/gizmos/measure/measure.d.ts +0 -97
  115. package/dist/types/core-viewers/webgl/viewer/gizmos/measure/measureGizmo.d.ts +0 -44
  116. package/dist/types/core-viewers/webgl/viewer/gizmos/measure/measureHtml.d.ts +0 -26
  117. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/SectionBoxMesh.d.ts +0 -15
  118. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/index.d.ts +0 -7
  119. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBox.d.ts +0 -103
  120. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxGizmo.d.ts +0 -18
  121. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxHandle.d.ts +0 -20
  122. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxHandles.d.ts +0 -20
  123. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxInputs.d.ts +0 -118
  124. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxOutline.d.ts +0 -15
  125. package/dist/types/core-viewers/webgl/viewer/index.d.ts +0 -10
  126. package/dist/types/core-viewers/webgl/viewer/inputAdapter.d.ts +0 -3
  127. package/dist/types/core-viewers/webgl/viewer/raycaster.d.ts +0 -71
  128. package/dist/types/core-viewers/webgl/viewer/rendering/gpuPicker.d.ts +0 -145
  129. package/dist/types/core-viewers/webgl/viewer/rendering/index.d.ts +0 -4
  130. package/dist/types/core-viewers/webgl/viewer/rendering/mergePass.d.ts +0 -18
  131. package/dist/types/core-viewers/webgl/viewer/rendering/outlinePass.d.ts +0 -19
  132. package/dist/types/core-viewers/webgl/viewer/rendering/renderScene.d.ts +0 -57
  133. package/dist/types/core-viewers/webgl/viewer/rendering/renderer.d.ts +0 -135
  134. package/dist/types/core-viewers/webgl/viewer/rendering/renderingComposer.d.ts +0 -95
  135. package/dist/types/core-viewers/webgl/viewer/rendering/renderingSection.d.ts +0 -40
  136. package/dist/types/core-viewers/webgl/viewer/rendering/transferPass.d.ts +0 -17
  137. package/dist/types/core-viewers/webgl/viewer/selection.d.ts +0 -9
  138. package/dist/types/core-viewers/webgl/viewer/settings/index.d.ts +0 -3
  139. package/dist/types/core-viewers/webgl/viewer/settings/viewerDefaultSettings.d.ts +0 -5
  140. package/dist/types/core-viewers/webgl/viewer/settings/viewerSettings.d.ts +0 -310
  141. package/dist/types/core-viewers/webgl/viewer/settings/viewerSettingsParsing.d.ts +0 -9
  142. package/dist/types/core-viewers/webgl/viewer/viewer.d.ts +0 -115
  143. package/dist/types/core-viewers/webgl/viewer/viewport.d.ts +0 -73
  144. package/dist/types/index.d.ts +0 -3
  145. package/dist/types/react-viewers/bim/bimInfoBody.d.ts +0 -9
  146. package/dist/types/react-viewers/bim/bimInfoData.d.ts +0 -144
  147. package/dist/types/react-viewers/bim/bimInfoHeader.d.ts +0 -6
  148. package/dist/types/react-viewers/bim/bimInfoObject.d.ts +0 -12
  149. package/dist/types/react-viewers/bim/bimInfoPanel.d.ts +0 -10
  150. package/dist/types/react-viewers/bim/bimInfoVim.d.ts +0 -5
  151. package/dist/types/react-viewers/bim/bimPanel.d.ts +0 -40
  152. package/dist/types/react-viewers/bim/bimSearch.d.ts +0 -17
  153. package/dist/types/react-viewers/bim/bimTree.d.ts +0 -33
  154. package/dist/types/react-viewers/bim/bimTreeData.d.ts +0 -44
  155. package/dist/types/react-viewers/bim/bimUtils.d.ts +0 -13
  156. package/dist/types/react-viewers/bim/index.d.ts +0 -8
  157. package/dist/types/react-viewers/bim/openState.d.ts +0 -5
  158. package/dist/types/react-viewers/container.d.ts +0 -27
  159. package/dist/types/react-viewers/controlbar/controlBar.d.ts +0 -25
  160. package/dist/types/react-viewers/controlbar/controlBarButton.d.ts +0 -15
  161. package/dist/types/react-viewers/controlbar/controlBarIds.d.ts +0 -32
  162. package/dist/types/react-viewers/controlbar/controlBarSection.d.ts +0 -8
  163. package/dist/types/react-viewers/controlbar/index.d.ts +0 -5
  164. package/dist/types/react-viewers/controlbar/style.d.ts +0 -10
  165. package/dist/types/react-viewers/errors/errorStyle.d.ts +0 -15
  166. package/dist/types/react-viewers/errors/errors.d.ts +0 -6
  167. package/dist/types/react-viewers/errors/index.d.ts +0 -2
  168. package/dist/types/react-viewers/generic/genericField.d.ts +0 -31
  169. package/dist/types/react-viewers/generic/genericPanel.d.ts +0 -12
  170. package/dist/types/react-viewers/generic/index.d.ts +0 -2
  171. package/dist/types/react-viewers/generic/inputNumber.d.ts +0 -4
  172. package/dist/types/react-viewers/helpers/cameraObserver.d.ts +0 -8
  173. package/dist/types/react-viewers/helpers/cursor.d.ts +0 -37
  174. package/dist/types/react-viewers/helpers/customizer.d.ts +0 -4
  175. package/dist/types/react-viewers/helpers/data.d.ts +0 -27
  176. package/dist/types/react-viewers/helpers/element.d.ts +0 -14
  177. package/dist/types/react-viewers/helpers/fullScreenObserver.d.ts +0 -9
  178. package/dist/types/react-viewers/helpers/index.d.ts +0 -6
  179. package/dist/types/react-viewers/helpers/layout.d.ts +0 -24
  180. package/dist/types/react-viewers/helpers/loadRequest.d.ts +0 -28
  181. package/dist/types/react-viewers/helpers/reactUtils.d.ts +0 -286
  182. package/dist/types/react-viewers/helpers/requestResult.d.ts +0 -13
  183. package/dist/types/react-viewers/helpers/utils.d.ts +0 -15
  184. package/dist/types/react-viewers/icons.d.ts +0 -61
  185. package/dist/types/react-viewers/index.d.ts +0 -14
  186. package/dist/types/react-viewers/panels/axesPanel.d.ts +0 -21
  187. package/dist/types/react-viewers/panels/contextMenu.d.ts +0 -83
  188. package/dist/types/react-viewers/panels/help.d.ts +0 -10
  189. package/dist/types/react-viewers/panels/index.d.ts +0 -26
  190. package/dist/types/react-viewers/panels/isolationPanel.d.ts +0 -11
  191. package/dist/types/react-viewers/panels/loadingBox.d.ts +0 -29
  192. package/dist/types/react-viewers/panels/logo.d.ts +0 -5
  193. package/dist/types/react-viewers/panels/messageBox.d.ts +0 -15
  194. package/dist/types/react-viewers/panels/modal.d.ts +0 -17
  195. package/dist/types/react-viewers/panels/overlay.d.ts +0 -10
  196. package/dist/types/react-viewers/panels/performance.d.ts +0 -7
  197. package/dist/types/react-viewers/panels/restOfScreen.d.ts +0 -5
  198. package/dist/types/react-viewers/panels/sectionBoxPanel.d.ts +0 -10
  199. package/dist/types/react-viewers/panels/sidePanel.d.ts +0 -20
  200. package/dist/types/react-viewers/panels/toast.d.ts +0 -22
  201. package/dist/types/react-viewers/settings/anySettings.d.ts +0 -7
  202. package/dist/types/react-viewers/settings/index.d.ts +0 -5
  203. package/dist/types/react-viewers/settings/settingsInputBox.d.ts +0 -4
  204. package/dist/types/react-viewers/settings/settingsItem.d.ts +0 -30
  205. package/dist/types/react-viewers/settings/settingsKeys.d.ts +0 -46
  206. package/dist/types/react-viewers/settings/settingsPanel.d.ts +0 -18
  207. package/dist/types/react-viewers/settings/settingsPanelContent.d.ts +0 -6
  208. package/dist/types/react-viewers/settings/settingsState.d.ts +0 -18
  209. package/dist/types/react-viewers/settings/settingsStorage.d.ts +0 -15
  210. package/dist/types/react-viewers/settings/settingsSubtitle.d.ts +0 -2
  211. package/dist/types/react-viewers/settings/settingsToggle.d.ts +0 -11
  212. package/dist/types/react-viewers/settings/userBoolean.d.ts +0 -17
  213. package/dist/types/react-viewers/state/cameraState.d.ts +0 -24
  214. package/dist/types/react-viewers/state/controlBarState.d.ts +0 -88
  215. package/dist/types/react-viewers/state/fullScreenState.d.ts +0 -4
  216. package/dist/types/react-viewers/state/index.d.ts +0 -9
  217. package/dist/types/react-viewers/state/measureState.d.ts +0 -7
  218. package/dist/types/react-viewers/state/pointerState.d.ts +0 -6
  219. package/dist/types/react-viewers/state/sectionBoxState.d.ts +0 -34
  220. package/dist/types/react-viewers/state/sharedIsolation.d.ts +0 -40
  221. package/dist/types/react-viewers/state/sideState.d.ts +0 -22
  222. package/dist/types/react-viewers/state/viewerInputs.d.ts +0 -3
  223. package/dist/types/react-viewers/ultra/camera.d.ts +0 -3
  224. package/dist/types/react-viewers/ultra/controlBar.d.ts +0 -9
  225. package/dist/types/react-viewers/ultra/errors/fileLoadingError.d.ts +0 -2
  226. package/dist/types/react-viewers/ultra/errors/fileOpeningError.d.ts +0 -2
  227. package/dist/types/react-viewers/ultra/errors/serverCompatibilityError.d.ts +0 -2
  228. package/dist/types/react-viewers/ultra/errors/serverConnectionError.d.ts +0 -2
  229. package/dist/types/react-viewers/ultra/errors/serverFileDownloadingError.d.ts +0 -2
  230. package/dist/types/react-viewers/ultra/errors/serverStreamError.d.ts +0 -2
  231. package/dist/types/react-viewers/ultra/errors/ultraErrors.d.ts +0 -3
  232. package/dist/types/react-viewers/ultra/index.d.ts +0 -3
  233. package/dist/types/react-viewers/ultra/isolation.d.ts +0 -3
  234. package/dist/types/react-viewers/ultra/modal.d.ts +0 -5
  235. package/dist/types/react-viewers/ultra/sectionBox.d.ts +0 -3
  236. package/dist/types/react-viewers/ultra/settings.d.ts +0 -13
  237. package/dist/types/react-viewers/ultra/settingsPanel.d.ts +0 -5
  238. package/dist/types/react-viewers/ultra/viewer.d.ts +0 -23
  239. package/dist/types/react-viewers/ultra/viewerRef.d.ts +0 -50
  240. package/dist/types/react-viewers/urls.d.ts +0 -2
  241. package/dist/types/react-viewers/webgl/camera.d.ts +0 -3
  242. package/dist/types/react-viewers/webgl/index.d.ts +0 -4
  243. package/dist/types/react-viewers/webgl/inputsBindings.d.ts +0 -8
  244. package/dist/types/react-viewers/webgl/isolation.d.ts +0 -2
  245. package/dist/types/react-viewers/webgl/loading.d.ts +0 -64
  246. package/dist/types/react-viewers/webgl/sectionBox.d.ts +0 -3
  247. package/dist/types/react-viewers/webgl/settings.d.ts +0 -36
  248. package/dist/types/react-viewers/webgl/settingsPanel.d.ts +0 -12
  249. package/dist/types/react-viewers/webgl/viewer.d.ts +0 -28
  250. package/dist/types/react-viewers/webgl/viewerRef.d.ts +0 -131
  251. package/dist/types/react-viewers/webgl/viewerState.d.ts +0 -13
  252. package/dist/types/utils/array.d.ts +0 -18
  253. package/dist/types/utils/asyncQueue.d.ts +0 -15
  254. package/dist/types/utils/debounce.d.ts +0 -30
  255. package/dist/types/utils/index.d.ts +0 -10
  256. package/dist/types/utils/interfaces.d.ts +0 -3
  257. package/dist/types/utils/math3d.d.ts +0 -19
  258. package/dist/types/utils/partial.d.ts +0 -7
  259. package/dist/types/utils/promise.d.ts +0 -21
  260. package/dist/types/utils/threeUtils.d.ts +0 -4
  261. package/dist/types/utils/url.d.ts +0 -10
  262. package/dist/types/utils/validation.d.ts +0 -29
@@ -1,26 +0,0 @@
1
- /**
2
- * @module vim-loader
3
- */
4
- import { Scene } from '../scene';
5
- import { G3dMaterial, G3d } from 'vim-format';
6
- import { G3dSubset } from './g3dSubset';
7
- import { ElementMapping } from '../elementMapping';
8
- /**
9
- * Mesh factory to load a standard vim using the progressive pipeline.
10
- */
11
- export declare class VimMeshFactory {
12
- readonly g3d: G3d;
13
- private _materials;
14
- private _instancedFactory;
15
- private _scene;
16
- private _mapping;
17
- private _vimIndex;
18
- constructor(g3d: G3d, materials: G3dMaterial, scene: Scene, mapping: ElementMapping, vimIndex?: number);
19
- /**
20
- * Adds all instances from subset to the scene
21
- */
22
- add(subset: G3dSubset): void;
23
- private addMergedMesh;
24
- private createMergedMesh;
25
- private addInstancedMeshes;
26
- }
@@ -1,21 +0,0 @@
1
- import { VimPartialSettings } from '../vimSettings';
2
- import { Vim } from '../vim';
3
- import { LoadRequest as BaseLoadRequest, ILoadRequest as BaseILoadRequest } from '../../../shared/loadResult';
4
- import { VimSource } from '../..';
5
- export type RequestSource = {
6
- url?: string;
7
- buffer?: ArrayBuffer;
8
- headers?: Record<string, string>;
9
- };
10
- export type ILoadRequest = BaseILoadRequest<Vim>;
11
- /**
12
- * A request to load a VIM file. Extends the base LoadRequest to add BFast abort handling.
13
- * Loading starts immediately upon construction.
14
- */
15
- export declare class LoadRequest extends BaseLoadRequest<Vim> {
16
- private _bfast;
17
- constructor(source: VimSource, settings: VimPartialSettings, vimIndex: number);
18
- private startRequest;
19
- private loadFromVim;
20
- abort(): void;
21
- }
@@ -1,27 +0,0 @@
1
- /**
2
- * @module vim-loader
3
- */
4
- import { G3dMesh } from 'vim-format';
5
- import { G3dSubset } from './g3dSubset';
6
- /**
7
- * Makes sure both instanced meshes and merged meshes are requested in the right order
8
- * Also decouples downloads and processing.
9
- */
10
- export declare class LoadingSynchronizer {
11
- done: boolean;
12
- uniques: G3dSubset;
13
- nonUniques: G3dSubset;
14
- getMesh: (mesh: number) => Promise<G3dMesh>;
15
- mergeAction: (mesh: G3dMesh, index: number) => void;
16
- instanceAction: (mesh: G3dMesh, index: number) => void;
17
- mergeQueue: (() => void)[];
18
- instanceQueue: (() => void)[];
19
- constructor(uniques: G3dSubset, nonUniques: G3dSubset, getMesh: (mesh: number) => Promise<G3dMesh>, mergeAction: (mesh: G3dMesh, index: number) => void, instanceAction: (mesh: G3dMesh, index: number) => void);
20
- get isDone(): boolean;
21
- abort(): void;
22
- loadAll(): Promise<void>;
23
- private consumeQueues;
24
- private getSortedPromises;
25
- merge(mesh: number, index: number): Promise<void>;
26
- instance(mesh: number, index: number): Promise<void>;
27
- }
@@ -1,74 +0,0 @@
1
- /**
2
- * @module vim-loader
3
- */
4
- import { VimMeshFactory } from './legacyMeshFactory';
5
- import { LoadPartialSettings, LoadSettings } from './subsetRequest';
6
- import { G3dSubset } from './g3dSubset';
7
- import { ISignal, ISignalHandler } from 'ste-signals';
8
- import { ISubscribable, SubscriptionChangeEventHandler } from 'ste-core';
9
- import { Vimx } from './vimx';
10
- import { Scene } from '../scene';
11
- export interface SubsetBuilder {
12
- /** Dispatched whenever a subset begins or finishes loading. */
13
- onUpdate: ISignal;
14
- /** Returns true when some subset is being loaded. */
15
- isLoading: boolean;
16
- /** Returns all instances as a subset */
17
- getFullSet(): G3dSubset;
18
- /** Loads given subset with given options */
19
- loadSubset(subset: G3dSubset, settings?: LoadPartialSettings): any;
20
- /** Stops and clears all loading processes */
21
- clear(): any;
22
- dispose(): any;
23
- }
24
- /**
25
- * Loads and builds subsets from a Vim file.
26
- */
27
- export declare class VimSubsetBuilder implements SubsetBuilder {
28
- factory: VimMeshFactory;
29
- private _onUpdate;
30
- get onUpdate(): ISignal;
31
- get isLoading(): boolean;
32
- constructor(factory: VimMeshFactory);
33
- getFullSet(): G3dSubset;
34
- loadSubset(subset: G3dSubset, settings?: LoadPartialSettings): void;
35
- clear(): void;
36
- dispose(): void;
37
- }
38
- /**
39
- * Loads and builds subsets from a VimX file.
40
- */
41
- export declare class VimxSubsetBuilder {
42
- private _localVimx;
43
- private _scene;
44
- private _vimIndex;
45
- private _set;
46
- private _onUpdate;
47
- get onUpdate(): ISignal;
48
- get isLoading(): boolean;
49
- constructor(localVimx: Vimx, scene: Scene, vimIndex?: number);
50
- getFullSet(): G3dSubset;
51
- loadSubset(subset: G3dSubset, settings?: LoadPartialSettings): Promise<void>;
52
- clear(): void;
53
- dispose(): void;
54
- }
55
- export declare class DummySubsetBuilder implements SubsetBuilder {
56
- get onUpdate(): AlwaysTrueSignal;
57
- get isLoading(): boolean;
58
- getFullSet(): G3dSubset;
59
- loadSubset(subset: G3dSubset, settings?: Partial<LoadSettings>): void;
60
- clear(): void;
61
- dispose(): void;
62
- }
63
- declare class AlwaysTrueSignal implements ISignal {
64
- count: number;
65
- subscribe(fn: ISignalHandler): () => void;
66
- sub(fn: ISignalHandler): () => void;
67
- unsubscribe(fn: ISignalHandler): void;
68
- unsub(fn: ISignalHandler): void;
69
- one(fn: ISignalHandler): () => void;
70
- has(fn: ISignalHandler): boolean;
71
- clear(): void;
72
- onSubscriptionChange: ISubscribable<SubscriptionChangeEventHandler>;
73
- }
74
- export {};
@@ -1,38 +0,0 @@
1
- /**
2
- * @module vim-loader
3
- */
4
- import { Scene } from '../scene';
5
- import { Vimx } from './vimx';
6
- import { G3dSubset } from './g3dSubset';
7
- export type LoadSettings = {
8
- /** Delay in ms between each rendering list update. @default: 400ms */
9
- updateDelayMs: number;
10
- /** If true, will wait for geometry to be ready before it is added to the renderer. @default: false */
11
- delayRender: boolean;
12
- };
13
- export type LoadPartialSettings = Partial<LoadSettings>;
14
- /**
15
- * Manages geometry downloads and loads it into a scene for rendering.
16
- */
17
- export declare class SubsetRequest {
18
- private _subset;
19
- private _uniques;
20
- private _nonUniques;
21
- private _opaqueMesh;
22
- private _transparentMesh;
23
- private _synchronizer;
24
- private _meshFactory;
25
- private _meshes;
26
- private _pushedMesh;
27
- private _disposed;
28
- private _started;
29
- private _scene;
30
- getBoundingBox(): import("three").Box3;
31
- constructor(scene: Scene, localVimx: Vimx, subset: G3dSubset, vimIndex?: number);
32
- dispose(): void;
33
- start(settings: LoadPartialSettings): Promise<void>;
34
- private nextFrame;
35
- private mergeMesh;
36
- private instanceMesh;
37
- private updateMeshes;
38
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * @module vim-loader
3
- */
4
- import { G3dMaterial, RemoteVimx, VimHeader, G3dScene } from 'vim-format';
5
- /**
6
- * Interface to interact with a vimx
7
- */
8
- export declare class Vimx {
9
- private readonly vimx;
10
- readonly scene: G3dScene;
11
- readonly materials: G3dMaterial;
12
- readonly header: VimHeader;
13
- static fromRemote(vimx: RemoteVimx, downloadMeshes: boolean): Promise<Vimx>;
14
- private constructor();
15
- getMesh(mesh: number): Promise<import("vim-format").G3dMesh>;
16
- abort(): void;
17
- }
@@ -1,90 +0,0 @@
1
- /**
2
- * @module vim-loader
3
- */
4
- import * as THREE from 'three';
5
- import { Mesh, Submesh } from './mesh';
6
- import { Vim } from './vim';
7
- import { InsertableMesh } from './progressive/insertableMesh';
8
- import { InstancedMesh } from './progressive/instancedMesh';
9
- import { ModelMaterial } from './materials/materials';
10
- import { Renderer } from '../viewer/rendering/renderer';
11
- /**
12
- * Interface for a renderer object, providing methods to add and remove objects from a scene, update bounding boxes, and notify scene updates.
13
- */
14
- export interface IRenderer {
15
- add(scene: Scene | THREE.Object3D): any;
16
- remove(scene: Scene): any;
17
- updateBox(box: THREE.Box3): any;
18
- notifySceneUpdate(): any;
19
- }
20
- /**
21
- * Represents a scene that contains multiple meshes.
22
- * It tracks the global bounding box as meshes are added and maintains a mapping between g3d instance indices and meshes.
23
- */
24
- export declare class Scene {
25
- private _renderer;
26
- private _vim;
27
- private _matrix;
28
- insertables: InsertableMesh[];
29
- meshes: (Mesh | InsertableMesh | InstancedMesh)[];
30
- private _boundingBox;
31
- private _averageBoundingBox;
32
- private _instanceToMeshes;
33
- private _material;
34
- constructor(matrix: THREE.Matrix4);
35
- setDirty(): void;
36
- clearUpdateFlag(): void;
37
- /**
38
- * Returns the scene bounding box. Returns undefined if scene is empty.
39
- */
40
- getBoundingBox(target?: THREE.Box3): THREE.Box3;
41
- /**
42
- * Returns the bounding box of the average center of all meshes.
43
- * Less precise but is more stable against outliers.
44
- */
45
- getAverageBoundingBox(): THREE.Box3;
46
- updateBox(box: THREE.Box3): void;
47
- getMemory(): number;
48
- /**
49
- * Returns the THREE.Mesh in which this instance is represented along with index
50
- * For merged mesh, index refers to submesh index
51
- * For instanced mesh, index refers to instance index.
52
- */
53
- getMeshFromInstance(instance: number): Submesh[];
54
- getMeshesFromInstances(instances: number[] | undefined): Submesh[];
55
- get renderer(): Renderer;
56
- set renderer(value: Renderer);
57
- get vim(): Vim;
58
- /**
59
- * Sets vim index for this scene and all its THREE.Meshes.
60
- */
61
- set vim(value: Vim);
62
- addSubmesh(submesh: Submesh): void;
63
- /**
64
- * Add an instanced mesh to the Scene and recomputes fields as needed.
65
- * @param mesh Is expected to have:
66
- * userData.instances = number[] (indices of the g3d instances that went into creating the mesh)
67
- * userData.boxes = THREE.Box3[] (bounding box of each instance)
68
- */
69
- addMesh(mesh: Mesh | InsertableMesh | InstancedMesh): this;
70
- /**
71
- * Adds the content of other Scene to this Scene and recomputes fields as needed.
72
- */
73
- merge(other: Scene): this;
74
- /**
75
- * Gets the current material override or undefined if none.
76
- */
77
- get material(): ModelMaterial;
78
- /**
79
- * Sets and apply a material override to the scene, set to undefined to remove override.
80
- */
81
- set material(value: ModelMaterial);
82
- /**
83
- * Unloads and disposes all meshes and leaves the scene ready to add new ones.
84
- */
85
- clear(): void;
86
- /**
87
- * Disposes of all resources.
88
- */
89
- dispose(): void;
90
- }
@@ -1,163 +0,0 @@
1
- /**
2
- * @module vim-loader
3
- */
4
- import * as THREE from 'three';
5
- import { VimDocument, G3d, VimHeader, FilterMode } from 'vim-format';
6
- import { Scene } from './scene';
7
- import { VimSettings } from './vimSettings';
8
- import { Element3D } from './element3d';
9
- import { ElementMapping, ElementMapping2, ElementNoMapping } from './elementMapping';
10
- import { ISignal } from 'ste-signals';
11
- import { G3dSubset } from './progressive/g3dSubset';
12
- import { SubsetBuilder } from './progressive/subsetBuilder';
13
- import { LoadPartialSettings } from './progressive/subsetRequest';
14
- import { IVim } from '../../shared/vim';
15
- type VimFormat = 'vim' | 'vimx';
16
- /**
17
- * Represents a container for the built three.js meshes and the vim data from which they were constructed.
18
- * Facilitates high-level scene manipulation by providing access to objects.
19
- */
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";
26
- /**
27
- * The stable ID of this vim in the scene's vim collection (0-255).
28
- * Used for GPU picking to identify which vim an element belongs to.
29
- */
30
- readonly vimIndex: number;
31
- /**
32
- * Indicates whether the vim was opened from a vim or vimx file.
33
- */
34
- readonly format: VimFormat;
35
- /**
36
- * Indicates the url this vim came from if applicable.
37
- */
38
- readonly source: string | undefined;
39
- /**
40
- * The header for this vim.
41
- */
42
- readonly header: VimHeader | undefined;
43
- /**
44
- * The interface to access bim data related to this vim if available.
45
- */
46
- readonly bim: VimDocument | undefined;
47
- /**
48
- * The raw g3d geometry scene definition.
49
- */
50
- readonly g3d: G3d | undefined;
51
- /**
52
- * The settings used when this vim was opened.
53
- */
54
- readonly settings: VimSettings;
55
- /**
56
- * Mostly Internal - The scene in which the vim geometry is added.
57
- */
58
- readonly scene: Scene;
59
- /**
60
- * The mapping from Bim to Geometry for this vim.
61
- */
62
- readonly map: ElementMapping | ElementNoMapping | ElementMapping2;
63
- private readonly _builder;
64
- private readonly _loadedInstances;
65
- private readonly _elementToObject;
66
- /**
67
- * Getter for accessing the event dispatched whenever a subset begins or finishes loading.
68
- * @returns {ISignal} The event dispatcher for loading updates.
69
- */
70
- get onLoadingUpdate(): ISignal;
71
- /**
72
- * Indicates whether there are subsets currently being loaded.
73
- * @returns {boolean} True if subsets are being loaded; otherwise, false.
74
- */
75
- get isLoading(): boolean;
76
- /**
77
- * Getter for accessing the signal dispatched when the object is disposed.
78
- * @returns {ISignal} The signal for disposal events.
79
- */
80
- get onDispose(): ISignal;
81
- private _onDispose;
82
- /**
83
- * Constructs a new instance of a Vim object with the provided parameters.
84
- * @param {VimHeader | undefined} header - The Vim header, if available.
85
- * @param {VimDocument} document - The Vim document.
86
- * @param {G3d | undefined} g3d - The G3d object, if available.
87
- * @param {Scene} scene - The scene containing the vim's geometry.
88
- * @param {VimSettings} settings - The settings used to open this vim.
89
- * @param {number} vimIndex - The stable ID of this vim (0-255) for GPU picking.
90
- * @param {ElementMapping | ElementNoMapping | ElementMapping2} map - The element mapping.
91
- * @param {SubsetBuilder} builder - The subset builder for constructing subsets of the Vim object.
92
- * @param {string} source - The source of the Vim object.
93
- * @param {VimFormat} format - The format of the Vim object.
94
- */
95
- constructor(header: VimHeader | undefined, document: VimDocument, g3d: G3d | undefined, scene: Scene, settings: VimSettings, vimIndex: number, map: ElementMapping | ElementNoMapping | ElementMapping2, builder: SubsetBuilder, source: string, format: VimFormat);
96
- getBoundingBox(): Promise<THREE.Box3>;
97
- /**
98
- * Retrieves the matrix representation of the Vim object's position, rotation, and scale.
99
- * @returns {THREE.Matrix4} The matrix representing the Vim object's transformation.
100
- */
101
- getMatrix(): THREE.Matrix4;
102
- /**
103
- * Retrieves the object associated with the specified instance number.
104
- * @param {number} instance - The instance number of the object.
105
- * @returns {THREE.Object3D | undefined} The object corresponding to the instance, or undefined if not found.
106
- */
107
- getElement(instance: number): Element3D;
108
- /**
109
- * Retrieves the objects associated with the specified element ID.
110
- * @param {number} id - The element ID to retrieve objects for.
111
- * @returns {THREE.Object3D[]} An array of objects corresponding to the element ID, or an empty array if none are found.
112
- */
113
- getElementsFromId(id: number): any;
114
- /**
115
- * Retrieves the Vim object associated with the given Vim element index.
116
- * @param {number} element - The index of the Vim element.
117
- * @returns {WebglElement3D | undefined} The Vim object corresponding to the element index, or undefined if not found.
118
- */
119
- getElementFromIndex(element: number): Element3D | undefined;
120
- /**
121
- * Retrieves an array of all objects within the Vim.
122
- * @returns {WebglElement3D[]} An array containing all objects within the Vim.
123
- */
124
- getAllElements(): Element3D[];
125
- /**
126
- * Retrieves an array containing all objects within the specified subset.
127
- * @param {G3dSubset} subset - The subset to retrieve objects from.
128
- * @returns {WebglElement3D[]} An array of objects within the specified subset.
129
- */
130
- getObjectsInSubset(subset: G3dSubset): Element3D[];
131
- /**
132
- * Retrieves all instances as a subset.
133
- * @returns {G3dSubset} A subset containing all instances.
134
- */
135
- getFullSet(): G3dSubset;
136
- /**
137
- * Asynchronously loads all geometry according to the provided settings.
138
- * @param {LoadPartialSettings} [settings] - Optional settings for the loading process.
139
- */
140
- loadAll(settings?: LoadPartialSettings): Promise<void>;
141
- /**
142
- * Asynchronously loads geometry for the specified subset according to the provided settings.
143
- * @param {G3dSubset} subset - The subset to load resources for.
144
- * @param {LoadPartialSettings} [settings] - Optional settings for the loading process.
145
- */
146
- loadSubset(subset: G3dSubset, settings?: LoadPartialSettings): Promise<void>;
147
- /**
148
- * Asynchronously loads geometry based on a specified filter mode and criteria.
149
- * @param {FilterMode} filterMode - The mode of filtering to apply.
150
- * @param {number[]} filter - The filter criteria.
151
- * @param {LoadPartialSettings} [settings] - Optional settings for the loading process.
152
- */
153
- loadFilter(filterMode: FilterMode, filter: number[], settings?: LoadPartialSettings): Promise<void>;
154
- /**
155
- * Removes the current geometry from the renderer.
156
- */
157
- clear(): void;
158
- /**
159
- * Cleans up and releases resources associated with the vim.
160
- */
161
- dispose(): void;
162
- }
163
- export {};
@@ -1,79 +0,0 @@
1
- /**
2
- * @module vim-loader
3
- */
4
- import { ISignal } from 'ste-signals';
5
- import { IVimCollection } from '../../shared/vimCollection';
6
- import { Vim } from './vim';
7
- /**
8
- * Maximum number of vims that can be loaded simultaneously.
9
- * Limited by the 8-bit vimIndex in GPU picking.
10
- * Index 255 is reserved for marker gizmos, so vims use 0-254.
11
- */
12
- export declare const MAX_VIMS = 255;
13
- /**
14
- * Manages a collection of Vim objects with stable IDs for GPU picking.
15
- *
16
- * Each vim is assigned a stable ID (0-255) that persists for its lifetime.
17
- * IDs are allocated sequentially and only reused after all 256 have been used.
18
- * This ensures GPU picker can correctly identify vims even after removals.
19
- */
20
- export declare class VimCollection implements IVimCollection<Vim> {
21
- private _vimsById;
22
- private _nextId;
23
- private _freedIds;
24
- private _count;
25
- private _onChanged;
26
- /**
27
- * Signal dispatched when collection changes (add/remove/clear).
28
- */
29
- get onChanged(): ISignal;
30
- /**
31
- * Allocates a stable ID for a new vim.
32
- * Fresh IDs are allocated sequentially (0, 1, 2, ..., 255).
33
- * Freed IDs are only reused after all 256 have been allocated once.
34
- * @returns The allocated ID, or undefined if all 256 IDs are in use
35
- */
36
- allocateId(): number | undefined;
37
- /**
38
- * Whether the collection has reached maximum capacity (256 vims).
39
- */
40
- get isFull(): boolean;
41
- /**
42
- * The number of vims currently in the collection.
43
- */
44
- get count(): number;
45
- /**
46
- * Adds a vim to the collection using its vimIndex as the ID.
47
- * The vim's vimIndex should have been allocated via allocateId().
48
- * @param vim The vim to add
49
- * @throws Error if the vim's vimIndex slot is already occupied
50
- */
51
- add(vim: Vim): void;
52
- /**
53
- * Removes a vim from the collection and frees its ID for reuse.
54
- * @param vim The vim to remove
55
- * @throws Error if the vim is not in the collection
56
- */
57
- remove(vim: Vim): void;
58
- /**
59
- * Gets a vim by its stable ID.
60
- * @param id The stable ID (0-255)
61
- * @returns The vim at that ID, or undefined if empty
62
- */
63
- getFromId(id: number): Vim | undefined;
64
- /**
65
- * Checks if a vim is in the collection.
66
- * @param vim The vim to check
67
- * @returns True if the vim is in the collection
68
- */
69
- has(vim: Vim): boolean;
70
- /**
71
- * Returns all vims as a packed array (for iteration).
72
- * @returns Array of all vims currently in the collection
73
- */
74
- getAll(): Vim[];
75
- /**
76
- * Clears all vims from the collection and resets ID allocation.
77
- */
78
- clear(): void;
79
- }
@@ -1,69 +0,0 @@
1
- /**
2
- * @module vim-loader
3
- */
4
- import { Transparency } from './geometry';
5
- import * as THREE from 'three';
6
- type FileType = 'vim' | 'vimx' | undefined;
7
- /**
8
- * Represents settings for configuring the behavior and rendering of a vim object.
9
- */
10
- export type VimSettings = {
11
- /**
12
- * The positional offset for the vim object.
13
- */
14
- position: THREE.Vector3;
15
- /**
16
- * The XYZ rotation applied to the vim object.
17
- */
18
- rotation: THREE.Vector3;
19
- /**
20
- * The scaling factor applied to the vim object.
21
- */
22
- scale: number;
23
- /**
24
- * The matrix representation of the vim object's position, rotation, and scale.
25
- * Setting this will override individual position, rotation, and scale properties.
26
- */
27
- matrix: THREE.Matrix4;
28
- /**
29
- * Determines whether objects are drawn based on their transparency.
30
- */
31
- transparency: Transparency.Mode;
32
- /**
33
- * Set to true to enable verbose HTTP logging.
34
- */
35
- verboseHttp: boolean;
36
- };
37
- /**
38
- * Internal settings type that includes vimx-specific fields.
39
- * Used internally for loading vimx files.
40
- */
41
- export type VimSettingsFull = VimSettings & {
42
- /**
43
- * Specifies the file type (vim or vimx) if it cannot or should not be inferred from the file extension.
44
- */
45
- fileType: FileType;
46
- /**
47
- * Set to true to stream geometry to the scene. Only supported with vimx files.
48
- */
49
- progressive: boolean;
50
- /**
51
- * The time in milliseconds between each scene refresh during progressive loading.
52
- */
53
- progressiveInterval: number;
54
- };
55
- /**
56
- * Default configuration settings for a vim object.
57
- */
58
- export declare function getDefaultVimSettings(): VimSettingsFull;
59
- /**
60
- * Represents a partial configuration of settings for a vim object.
61
- */
62
- export type VimPartialSettings = Partial<VimSettings>;
63
- /**
64
- * Wraps Vim options, converting values to related THREE.js types and providing default values.
65
- * @param {VimPartialSettings} [options] - Optional partial settings for the Vim object.
66
- * @returns {VimSettingsFull} The complete settings for the Vim object, including defaults.
67
- */
68
- export declare function createVimSettings(options?: VimPartialSettings): VimSettingsFull;
69
- export {};
@@ -1,19 +0,0 @@
1
- /**
2
- * @module vim-loader
3
- */
4
- import { SimpleInstanceSubmesh, Submesh } from './mesh';
5
- export type WebglAttributeTarget = Submesh | SimpleInstanceSubmesh;
6
- export declare class WebglAttribute<T> {
7
- readonly vertexAttribute: string;
8
- readonly instanceAttribute: string;
9
- readonly defaultValue: T;
10
- readonly toNumber: (value: T) => number;
11
- private _value;
12
- private _meshes;
13
- constructor(value: T, vertexAttribute: string, instanceAttribute: string, meshes: WebglAttributeTarget[] | undefined, toNumber: (value: T) => number);
14
- updateMeshes(meshes: WebglAttributeTarget[] | undefined): void;
15
- get value(): T;
16
- apply(value: T): boolean;
17
- private applyInstanced;
18
- private applyMerged;
19
- }
@@ -1,5 +0,0 @@
1
- /**
2
- * @module utils
3
- */
4
- import * as THREE from 'three';
5
- export declare function createBoxes(boxes: THREE.Box3[]): THREE.InstancedMesh<THREE.BoxGeometry, THREE.MeshBasicMaterial, THREE.InstancedMeshEventMap>;