vim-web 0.6.0-dev.0 → 0.6.0-dev.10

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 +3364 -0
  5. package/dist/vim-web.iife.js +13597 -14585
  6. package/dist/vim-web.iife.js.map +1 -1
  7. package/dist/vim-web.js +13626 -14614
  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 -78
  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 -127
  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 -27
  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,42 +0,0 @@
1
- /**
2
- * @module vim-loader/materials
3
- * Material for GPU picking that outputs element index, depth, and surface normal in a single pass.
4
- */
5
- import * as THREE from 'three';
6
- /**
7
- * Creates a material for GPU picking that outputs packed IDs, depth, and surface normal.
8
- *
9
- * Expects a `packedId` uint attribute pre-packed during mesh building as: (vimIndex << 24) | elementIndex
10
- *
11
- * Output format (Float32 RGBA):
12
- * - R = packed uint as float bits - supports 256 vims × 16M elements
13
- * - G = depth (distance along camera direction, 0 = miss)
14
- * - B = normal.x (surface normal X component)
15
- * - A = normal.y (surface normal Y component)
16
- *
17
- * Normal.z is reconstructed as: sqrt(1 - x² - y²), always positive since normal faces camera.
18
- *
19
- * @returns A custom shader material for GPU picking.
20
- */
21
- export declare function createPickingMaterial(): THREE.ShaderMaterial;
22
- /**
23
- * PickingMaterial class that wraps the shader material with camera update functionality.
24
- */
25
- export declare class PickingMaterial {
26
- readonly material: THREE.ShaderMaterial;
27
- constructor();
28
- /**
29
- * Updates the camera uniforms for depth calculation.
30
- * Must be called before rendering.
31
- */
32
- updateCamera(camera: THREE.Camera): void;
33
- /**
34
- * Gets or sets the clipping planes for section box support.
35
- */
36
- get clippingPlanes(): THREE.Plane[];
37
- set clippingPlanes(planes: THREE.Plane[]);
38
- /**
39
- * Disposes of the material resources.
40
- */
41
- dispose(): void;
42
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * @module vim-loader/materials
3
- * This module provides custom materials for visualizing and isolating objects in VIM.
4
- */
5
- import * as THREE from 'three';
6
- /**
7
- * Creates a material for isolation mode.
8
- *
9
- * - **Non-visible items**: Completely excluded from rendering by pushing them out of view.
10
- * - **Visible items**: Rendered with flat shading and basic pseudo-lighting.
11
- * - **Object coloring**: Supports both instance-based and vertex-based coloring for visible objects.
12
- *
13
- * This material is optimized for both instanced and merged meshes, with support for clipping planes.
14
- *
15
- * @returns {THREE.ShaderMaterial} A custom shader material for isolation mode.
16
- */
17
- export declare function createSimpleMaterial(): THREE.ShaderMaterial;
@@ -1,16 +0,0 @@
1
- /**
2
- * @module vim-loader/materials
3
- */
4
- import * as THREE from 'three';
5
- /**
6
- * Material for the skybox
7
- */
8
- export declare class SkyboxMaterial extends THREE.ShaderMaterial {
9
- get skyColor(): THREE.Color;
10
- set skyColor(value: THREE.Color);
11
- get groundColor(): THREE.Color;
12
- set groundColor(value: THREE.Color);
13
- get sharpness(): number;
14
- set sharpness(value: number);
15
- constructor(skyColor?: THREE.Color, groundColor?: THREE.Color, sharpness?: number);
16
- }
@@ -1,57 +0,0 @@
1
- /**
2
- * @module vim-loader/materials
3
- */
4
- import * as THREE from 'three';
5
- /**
6
- * Type alias for THREE uniforms
7
- */
8
- export type ShaderUniforms = {
9
- [uniform: string]: THREE.IUniform<any>;
10
- };
11
- export declare function createOpaque(): StandardMaterial;
12
- export declare function createTransparent(): StandardMaterial;
13
- /**
14
- * Creates a new instance of the default loader opaque material.
15
- * @returns {THREE.MeshLambertMaterial} A new instance of MeshLambertMaterial with transparency.
16
- */
17
- export declare function createBasicOpaque(): THREE.MeshLambertMaterial;
18
- /**
19
- * Creates a new instance of the default loader transparent material.
20
- * @returns {THREE.MeshPhongMaterial} A new instance of MeshPhongMaterial with transparency.
21
- */
22
- export declare function createBasicTransparent(): THREE.MeshLambertMaterial;
23
- /**
24
- * Material used for both opaque and tranparent surfaces of a VIM model.
25
- */
26
- export declare class StandardMaterial {
27
- material: THREE.Material;
28
- uniforms: ShaderUniforms | undefined;
29
- _focusIntensity: number;
30
- _focusColor: THREE.Color;
31
- _sectionStrokeWitdh: number;
32
- _sectionStrokeFallof: number;
33
- _sectionStrokeColor: THREE.Color;
34
- constructor(material: THREE.Material);
35
- get color(): THREE.Color;
36
- set color(color: THREE.Color);
37
- get focusIntensity(): number;
38
- set focusIntensity(value: number);
39
- get focusColor(): THREE.Color;
40
- set focusColor(value: THREE.Color);
41
- get sectionStrokeWitdh(): number;
42
- set sectionStrokeWitdh(value: number);
43
- get sectionStrokeFallof(): number;
44
- set sectionStrokeFallof(value: number);
45
- get sectionStrokeColor(): THREE.Color;
46
- set sectionStrokeColor(value: THREE.Color);
47
- get clippingPlanes(): THREE.Plane[] | null;
48
- set clippingPlanes(value: THREE.Plane[] | null);
49
- dispose(): void;
50
- /**
51
- * Patches phong shader to be able to control when lighting should be applied to resulting color.
52
- * Instanced meshes ignore light when InstanceColor is defined
53
- * Instanced meshes ignore vertex color when instance attribute useVertexColor is 0
54
- * Regular meshes ignore light in favor of vertex color when uv.y = 0
55
- */
56
- patchShader(material: THREE.Material): void;
57
- }
@@ -1,8 +0,0 @@
1
- /**
2
- * @module vim-loader/materials
3
- */
4
- import * as THREE from 'three';
5
- /**
6
- * This material simply sample and returns the value at each texel position of the texture.
7
- */
8
- export declare function createTransferMaterial(): THREE.ShaderMaterial;
@@ -1,118 +0,0 @@
1
- /**
2
- * @module vim-loader
3
- */
4
- import * as THREE from 'three';
5
- import { InsertableSubmesh } from './progressive/insertableSubmesh';
6
- import { Vim } from './vim';
7
- import { InstancedSubmesh } from './progressive/instancedSubmesh';
8
- import { ModelMaterial } from './materials/materials';
9
- /**
10
- * Wrapper around THREE.Mesh
11
- * Keeps track of what VIM instances are part of this mesh.
12
- * Is either merged on instanced.
13
- */
14
- export declare class Mesh {
15
- /**
16
- * the wrapped THREE mesh
17
- */
18
- mesh: THREE.Mesh;
19
- /**
20
- * Vim file from which this mesh was created.
21
- */
22
- vim: Vim | undefined;
23
- /**
24
- * Whether the mesh is merged or not.
25
- */
26
- merged: boolean;
27
- /**
28
- * Indices of the g3d instances that went into creating the mesh
29
- */
30
- instances: number[];
31
- /**
32
- * startPosition of each submesh on a merged mesh.
33
- */
34
- submeshes: number[];
35
- /**
36
- * bounding box of each instance
37
- */
38
- boxes: THREE.Box3[];
39
- /**
40
- * Set to true to ignore SetMaterial calls.
41
- */
42
- ignoreSceneMaterial: boolean;
43
- /**
44
- * Total bounding box for this mesh.
45
- */
46
- boundingBox: THREE.Box3;
47
- /**
48
- * initial material.
49
- */
50
- private _material;
51
- private constructor();
52
- static createMerged(mesh: THREE.Mesh, instances: number[], boxes: THREE.Box3[], submeshes: number[]): Mesh;
53
- static createInstanced(mesh: THREE.Mesh, instances: number[], boxes: THREE.Box3[]): Mesh;
54
- /**
55
- * Sets the material for this mesh.
56
- * Set to undefined to reset to original materials.
57
- */
58
- setMaterial(value: ModelMaterial): void;
59
- private _mergeMaterials;
60
- /**
61
- * Returns submesh for given index.
62
- */
63
- getSubMesh(index: number): StandardSubmesh;
64
- /**
65
- * Returns submesh corresponding to given face on a merged mesh.
66
- */
67
- getSubmeshFromFace(faceIndex: number): StandardSubmesh;
68
- /**
69
- *
70
- * @returns Returns all submeshes
71
- */
72
- getSubmeshes(): StandardSubmesh[];
73
- private binarySearch;
74
- private unionAllBox;
75
- }
76
- export type MergedSubmesh = StandardSubmesh | InsertableSubmesh;
77
- export type Submesh = MergedSubmesh | InstancedSubmesh;
78
- export declare class SimpleInstanceSubmesh {
79
- mesh: THREE.InstancedMesh;
80
- get three(): THREE.InstancedMesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.InstancedMeshEventMap>;
81
- index: number;
82
- readonly merged = false;
83
- constructor(mesh: THREE.InstancedMesh, index: number);
84
- }
85
- export declare class StandardSubmesh {
86
- mesh: Mesh;
87
- index: number;
88
- constructor(mesh: Mesh, index: number);
89
- equals(other: Submesh): boolean;
90
- /**
91
- * Returns parent three mesh.
92
- */
93
- get three(): THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>;
94
- /**
95
- * True if parent mesh is merged.
96
- */
97
- get merged(): boolean;
98
- /**
99
- * Returns vim instance associated with this submesh.
100
- */
101
- get instance(): number;
102
- /**
103
- * Returns bounding box for this submesh.
104
- */
105
- get boundingBox(): THREE.Box3;
106
- /**
107
- * Returns starting position in parent mesh for merged mesh.
108
- */
109
- get meshStart(): number;
110
- /**
111
- * Returns ending position in parent mesh for merged mesh.
112
- */
113
- get meshEnd(): number;
114
- /**
115
- * Returns vim object for this submesh.
116
- */
117
- get object(): import("./element3d").Element3D;
118
- }
@@ -1,53 +0,0 @@
1
- /**
2
- * @module vim-loader
3
- */
4
- import { MeshSection } from 'vim-format';
5
- import { G3dSubset } from './g3dSubset';
6
- export declare class G3dMeshCounts {
7
- instances: number;
8
- meshes: number;
9
- indices: number;
10
- vertices: number;
11
- }
12
- /**
13
- * Holds the offsets needed to preallocate geometry for a given meshIndexSubset
14
- */
15
- export declare class G3dMeshOffsets {
16
- readonly subset: G3dSubset;
17
- readonly section: MeshSection;
18
- readonly counts: G3dMeshCounts;
19
- private readonly _indexOffsets;
20
- private readonly _vertexOffsets;
21
- /**
22
- * Computes geometry offsets for given subset and section
23
- * @param subset subset for which to compute offsets
24
- * @param section 'opaque' | 'transparent' | 'all'
25
- */
26
- constructor(subset: G3dSubset, section: MeshSection);
27
- private computeOffsets;
28
- /**
29
- * Returns the index offset for given mesh and its instances.
30
- * @param mesh subset-based mesh index
31
- */
32
- getIndexOffset(mesh: number): number;
33
- /**
34
- * Returns the vertex offset for given mesh and its instances.
35
- * @param mesh subset-based mesh index
36
- */
37
- getVertexOffset(mesh: number): number;
38
- /**
39
- * Returns instance counts of given mesh.
40
- * @param mesh subset-based mesh index
41
- */
42
- getMeshInstanceCount(mesh: number): number;
43
- /**
44
- * Returns source-based instance for given mesh and index.
45
- * @mesh subset-based mesh index
46
- * @index mesh-based instance index
47
- */
48
- getMeshInstance(mesh: number, index: number): number;
49
- /**
50
- * Returns the source-based mesh index at given index
51
- */
52
- getSourceMesh(index: number): number;
53
- }
@@ -1,117 +0,0 @@
1
- /**
2
- * @module vim-loader
3
- */
4
- import { G3d, MeshSection, G3dScene, FilterMode } from 'vim-format';
5
- import { G3dMeshOffsets, G3dMeshCounts } from './g3dOffsets';
6
- import * as THREE from 'three';
7
- /**
8
- * Represents a subset of a complete scene definition.
9
- * Allows for further filtering or to get offsets needed to build the scene.
10
- */
11
- export declare class G3dSubset {
12
- private _source;
13
- private _instances;
14
- /** Source-based mesh indices */
15
- private _meshes;
16
- /** Source-based instances aligned with corresponding mesh */
17
- private _meshInstances;
18
- /**
19
- * @param source Underlying data source for the subset
20
- * @param instances source-based instance indices of included instances.
21
- */
22
- constructor(source: G3dScene | G3d, instances?: number[]);
23
- chunks(count: number): G3dSubset[];
24
- /**
25
- /**
26
- * Returns total instance count in subset.
27
- */
28
- getInstanceCount(): number;
29
- /**
30
- * Returns the vim-based instance (node) for given subset-based instance.
31
- */
32
- getVimInstance(subsetIndex: number): number;
33
- /**
34
- * Returns the vim-based instances (nodes) for current subset.
35
- */
36
- getVimInstances(): number[];
37
- /**
38
- * Returns source-based mesh index.
39
- * @param index subset-based mesh index
40
- */
41
- getSourceMesh(index: number): number;
42
- /**
43
- * Returns total mesh count in subset.
44
- */
45
- getMeshCount(): number;
46
- /**
47
- * Returns total index count for given mesh and section.
48
- * @param mesh subset-based mesh index
49
- * @param section sections to include based on opacity
50
- */
51
- getMeshIndexCount(mesh: number, section: MeshSection): number;
52
- /**
53
- * Returns total vertex count for given mesh and section.
54
- * @param mesh subset-based mesh index
55
- * @param section sections to include based on opacity
56
- */
57
- getMeshVertexCount(mesh: number, section: MeshSection): number;
58
- /**
59
- * Returns instance count for given mesh.
60
- * @param mesh subset-based mesh index.
61
- */
62
- getMeshInstanceCount(mesh: number): number;
63
- /**
64
- * Returns a list of source-based instance indices for given mesh.
65
- * @param mesh subset-based mesh index.
66
- */
67
- getMeshInstances(mesh: number): number[];
68
- /**
69
- * Returns the source-based instance index for given mesh and index.
70
- * @param mesh subset-based mesh index.
71
- * @param index mesh-based instance index
72
- */
73
- getMeshInstance(mesh: number, index: number): number;
74
- /**
75
- * Returns a new subset that only contains unique meshes.
76
- */
77
- filterUniqueMeshes(): G3dSubset;
78
- /**
79
- * Returns a new subset that contains only the N largest meshes sorted by largest
80
- */
81
- filterLargests(count: number): G3dSubset;
82
- /**
83
- * Returns a new subset that only contains non-unique meshes.
84
- */
85
- filterNonUniqueMeshes(): G3dSubset;
86
- filterByCount(predicate: (i: number) => boolean): G3dSubset;
87
- /**
88
- * Returns offsets needed to build geometry.
89
- */
90
- getOffsets(section: MeshSection): G3dMeshOffsets;
91
- /**
92
- * Returns the count of each mesh attribute.
93
- */
94
- getAttributeCounts(section?: MeshSection): G3dMeshCounts;
95
- /**
96
- * Returns a new subset where the order of meshes is inverted.
97
- */
98
- reverse(): G3dSubset;
99
- /**
100
- * Returns a new subset with instances not included in given filter.
101
- * @param mode Defines which field the filter will be applied to.
102
- * @param filter Array of all values to match for.
103
- */
104
- except(mode: FilterMode, filter: number[] | Set<number>): G3dSubset;
105
- /**
106
- * Returns a new subset with instances matching given filter.
107
- * @param mode Defines which field the filter will be applied to.
108
- * @param filter Array of all values to match for.
109
- */
110
- filter(mode: FilterMode, filter: number[] | Set<number>): G3dSubset;
111
- private _filter;
112
- private filterOnArray;
113
- /**
114
- * Return the bounding box of the current subset or undefined if subset is empty.
115
- */
116
- getBoundingBox(): THREE.Box3;
117
- }
@@ -1,45 +0,0 @@
1
- /**
2
- * @module vim-loader
3
- */
4
- import * as THREE from 'three';
5
- import { G3d, G3dMesh, G3dMaterial } from 'vim-format';
6
- import { Scene } from '../scene';
7
- import { G3dMeshOffsets } from './g3dOffsets';
8
- import { ElementMapping } from '../elementMapping';
9
- export declare class GeometrySubmesh {
10
- instance: number;
11
- start: number;
12
- end: number;
13
- boundingBox: THREE.Box3;
14
- expandBox(point: THREE.Vector3): void;
15
- }
16
- export declare class InsertableGeometry {
17
- _scene: Scene;
18
- materials: G3dMaterial;
19
- offsets: G3dMeshOffsets;
20
- geometry: THREE.BufferGeometry;
21
- submeshes: GeometrySubmesh[];
22
- boundingBox: THREE.Box3;
23
- private _computeBoundingBox;
24
- private _indexAttribute;
25
- private _vertexAttribute;
26
- private _colorAttribute;
27
- private _packedIdAttribute;
28
- private _mapping;
29
- private _vimIndex;
30
- private _updateStartMesh;
31
- private _updateEndMesh;
32
- private _meshToUpdate;
33
- constructor(offsets: G3dMeshOffsets, materials: G3dMaterial, transparent: boolean, mapping?: ElementMapping, vimIndex?: number);
34
- get progress(): number;
35
- insert(mesh: G3dMesh, at: number): number[];
36
- float32ArraysAreEqual(array1: Float32Array, array2: Float32Array): boolean;
37
- insertFromG3d(g3d: G3d, mesh: number): number[];
38
- private setIndex;
39
- private setVertex;
40
- private setColor;
41
- private setPackedId;
42
- private expandBox;
43
- flushUpdate(): void;
44
- update(): void;
45
- }
@@ -1,63 +0,0 @@
1
- /**
2
- * @module vim-loader
3
- */
4
- import * as THREE from 'three';
5
- import { G3d, G3dMesh, G3dMaterial } from 'vim-format';
6
- import { InsertableGeometry } from './insertableGeometry';
7
- import { InsertableSubmesh } from './insertableSubmesh';
8
- import { G3dMeshOffsets } from './g3dOffsets';
9
- import { Vim } from '../vim';
10
- import { ModelMaterial } from '../materials/materials';
11
- import { ElementMapping } from '../elementMapping';
12
- export declare class InsertableMesh {
13
- offsets: G3dMeshOffsets;
14
- mesh: THREE.Mesh;
15
- vim: Vim;
16
- /**
17
- * Whether the mesh is merged or not.
18
- */
19
- get merged(): boolean;
20
- /**
21
- * Whether the mesh is transparent or not.
22
- */
23
- transparent: boolean;
24
- /**
25
- * Total bounding box for this mesh.
26
- */
27
- get boundingBox(): THREE.Box3;
28
- /**
29
- * Set to true to ignore SetMaterial calls.
30
- */
31
- ignoreSceneMaterial: boolean;
32
- /**
33
- * initial material.
34
- */
35
- private _material;
36
- geometry: InsertableGeometry;
37
- constructor(offsets: G3dMeshOffsets, materials: G3dMaterial, transparent: boolean, mapping?: ElementMapping, vimIndex?: number);
38
- get progress(): number;
39
- insert(g3d: G3dMesh, mesh: number): void;
40
- insertFromVim(g3d: G3d, mesh: number): void;
41
- update(): void;
42
- clearUpdate(): void;
43
- /**
44
- * Returns submesh corresponding to given face on a merged mesh.
45
- */
46
- getSubmeshFromFace(faceIndex: number): InsertableSubmesh;
47
- /**
48
- *
49
- * @returns Returns all submeshes
50
- */
51
- getSubmeshes(): InsertableSubmesh[];
52
- /**
53
- *
54
- * @returns Returns submesh for given index.
55
- */
56
- getSubmesh(index: number): InsertableSubmesh;
57
- /**
58
- * Sets the material for this mesh.
59
- * Set to undefined to reset to original materials.
60
- */
61
- setMaterial(value: ModelMaterial): void;
62
- private _mergeMaterials;
63
- }
@@ -1,43 +0,0 @@
1
- /**
2
- * @module vim-loader
3
- */
4
- import { Submesh } from '../mesh';
5
- import { InsertableMesh } from './insertableMesh';
6
- export declare class InsertableSubmesh {
7
- mesh: InsertableMesh;
8
- index: number;
9
- private _colors;
10
- constructor(mesh: InsertableMesh, index: number);
11
- equals(other: Submesh): boolean;
12
- /**
13
- * Returns parent three mesh.
14
- */
15
- get three(): import("three").Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap>;
16
- /**
17
- * True if parent mesh is merged.
18
- */
19
- get merged(): boolean;
20
- private get submesh();
21
- /**
22
- * Returns vim instance associated with this submesh.
23
- */
24
- get instance(): number;
25
- /**
26
- * Returns bounding box for this submesh.
27
- */
28
- get boundingBox(): import("three").Box3;
29
- /**
30
- * Returns starting position in parent mesh for merged mesh.
31
- */
32
- get meshStart(): number;
33
- /**
34
- * Returns ending position in parent mesh for merged mesh.
35
- */
36
- get meshEnd(): number;
37
- /**
38
- * Returns vim object for this submesh.
39
- */
40
- get object(): import("..").Element3D;
41
- saveColors(colors: Float32Array): void;
42
- popColors(): Float32Array<ArrayBufferLike>;
43
- }
@@ -1,39 +0,0 @@
1
- /**
2
- * @module vim-loader
3
- */
4
- import * as THREE from 'three';
5
- import { Vim } from '../vim';
6
- import { InstancedSubmesh } from './instancedSubmesh';
7
- import { G3d, G3dMesh } from 'vim-format';
8
- import { ModelMaterial } from '../materials/materials';
9
- export declare class InstancedMesh {
10
- g3dMesh: G3dMesh | G3d;
11
- vim: Vim;
12
- mesh: THREE.InstancedMesh;
13
- bimInstances: ArrayLike<number>;
14
- meshInstances: ArrayLike<number>;
15
- boundingBox: THREE.Box3;
16
- boxes: THREE.Box3[];
17
- ignoreSceneMaterial: boolean;
18
- private _material;
19
- readonly size: number;
20
- constructor(g3d: G3dMesh | G3d, mesh: THREE.InstancedMesh, instances: Array<number>);
21
- get merged(): boolean;
22
- /**
23
- * Returns submesh for given index.
24
- */
25
- getSubMesh(index: number): InstancedSubmesh;
26
- /**
27
- * Returns all submeshes for given index.
28
- */
29
- getSubmeshes(): InstancedSubmesh[];
30
- /**
31
- * Sets the material for this mesh.
32
- * Set to undefined to reset to original materials.
33
- */
34
- setMaterial(value: ModelMaterial): void;
35
- private _mergeMaterials;
36
- private computeBoundingBoxes;
37
- private importBoundingBoxes;
38
- computeBoundingBox(boxes: THREE.Box3[]): THREE.Box3;
39
- }
@@ -1,27 +0,0 @@
1
- /**
2
- * @module vim-loader
3
- */
4
- import { G3d, G3dMesh, G3dMaterial, MeshSection } from 'vim-format';
5
- import { InstancedMesh } from './instancedMesh';
6
- import { ElementMapping } from '../elementMapping';
7
- export declare class InstancedMeshFactory {
8
- materials: G3dMaterial;
9
- private _mapping;
10
- private _vimIndex;
11
- constructor(materials: G3dMaterial, mapping?: ElementMapping, vimIndex?: number);
12
- createTransparent(mesh: G3dMesh, instances: number[]): InstancedMesh;
13
- createOpaque(mesh: G3dMesh, instances: number[]): InstancedMesh;
14
- createOpaqueFromVim(g3d: G3d, mesh: number, instances: number[]): InstancedMesh;
15
- createTransparentFromVim(g3d: G3d, mesh: number, instances: number[]): InstancedMesh;
16
- createFromVimx(mesh: G3dMesh, instances: number[], section: MeshSection, transparent: boolean): InstancedMesh;
17
- createFromVim(g3d: G3d, mesh: number, instances: number[] | undefined, section: MeshSection, transparent: boolean): InstancedMesh;
18
- private createGeometry;
19
- private computeIndices;
20
- private computeVertices;
21
- private computeColors;
22
- private setMatricesFromVimx;
23
- /**
24
- * Adds per-instance packed ID attribute for GPU picking.
25
- */
26
- private setPackedIds;
27
- }
@@ -1,31 +0,0 @@
1
- /**
2
- * @module vim-loader
3
- */
4
- import { Submesh } from '../mesh';
5
- import { InstancedMesh } from './instancedMesh';
6
- export declare class InstancedSubmesh {
7
- mesh: InstancedMesh;
8
- index: number;
9
- constructor(mesh: InstancedMesh, index: number);
10
- equals(other: Submesh): boolean;
11
- /**
12
- * Returns parent three mesh.
13
- */
14
- get three(): import("three").InstancedMesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").InstancedMeshEventMap>;
15
- /**
16
- * True if parent mesh is merged.
17
- */
18
- get merged(): boolean;
19
- /**
20
- * Returns vim instance associated with this submesh.
21
- */
22
- get instance(): number;
23
- /**
24
- * Returns bounding box for this submesh.
25
- */
26
- get boundingBox(): import("three").Box3;
27
- /**
28
- * Returns vim object for this submesh.
29
- */
30
- get object(): import("..").Element3D;
31
- }