vim-web 0.3.44-dev.7 → 0.3.44-dev.70

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 (221) hide show
  1. package/README.md +2 -2
  2. package/dist/style.css +25 -9
  3. package/dist/types/core-viewers/index.d.ts +3 -0
  4. package/dist/types/core-viewers/{webgl/viewer/inputs/inputHandler.d.ts → shared/baseInputHandler.d.ts} +6 -6
  5. package/dist/types/core-viewers/shared/index.d.ts +9 -0
  6. package/dist/types/core-viewers/shared/inputHandler.d.ts +116 -0
  7. package/dist/types/core-viewers/shared/keyboardHandler.d.ts +96 -0
  8. package/dist/types/core-viewers/shared/mouseHandler.d.ts +26 -0
  9. package/dist/types/core-viewers/shared/raycaster.d.ts +13 -0
  10. package/dist/types/core-viewers/shared/selection.d.ts +105 -0
  11. package/dist/types/core-viewers/{webgl/viewer/inputs → shared}/touchHandler.d.ts +15 -18
  12. package/dist/types/core-viewers/shared/vim.d.ts +35 -0
  13. package/dist/types/core-viewers/ultra/{viewer/camera.d.ts → camera.d.ts} +14 -4
  14. package/dist/types/core-viewers/ultra/{viewer/colorManager.d.ts → colorManager.d.ts} +6 -6
  15. package/dist/types/core-viewers/ultra/{viewer/decoder.d.ts → decoder.d.ts} +0 -8
  16. package/dist/types/core-viewers/ultra/element3d.d.ts +15 -0
  17. package/dist/types/core-viewers/ultra/index.d.ts +28 -8
  18. package/dist/types/core-viewers/ultra/inputAdapter.d.ts +5 -0
  19. package/dist/types/core-viewers/ultra/nodeState.d.ts +113 -0
  20. package/dist/types/core-viewers/ultra/raycaster.d.ts +52 -0
  21. package/dist/types/core-viewers/ultra/{viewer/color.d.ts → remoteColor.d.ts} +3 -3
  22. package/dist/types/core-viewers/ultra/{viewer/renderer.d.ts → renderer.d.ts} +9 -3
  23. package/dist/types/core-viewers/ultra/{viewer/rpcClient.d.ts → rpcClient.d.ts} +27 -28
  24. package/dist/types/core-viewers/ultra/rpcMarshal.d.ts +62 -0
  25. package/dist/types/core-viewers/ultra/{viewer/rpcSafeClient.d.ts → rpcSafeClient.d.ts} +22 -23
  26. package/dist/types/core-viewers/ultra/{utils/math3d.d.ts → rpcTypes.d.ts} +22 -22
  27. package/dist/types/core-viewers/ultra/{viewer/sectionBox.d.ts → sectionBox.d.ts} +7 -2
  28. package/dist/types/core-viewers/ultra/selection.d.ts +4 -0
  29. package/dist/types/core-viewers/ultra/{viewer/socketClient.d.ts → socketClient.d.ts} +4 -11
  30. package/dist/types/core-viewers/ultra/{viewer/viewer.d.ts → viewer.d.ts} +16 -13
  31. package/dist/types/core-viewers/ultra/vim.d.ts +48 -0
  32. package/dist/types/core-viewers/webgl/index.d.ts +2 -21
  33. package/dist/types/core-viewers/webgl/loader/{colorAttributes.d.ts → colorAttribute.d.ts} +4 -4
  34. package/dist/types/core-viewers/webgl/loader/{object3D.d.ts → element3d.d.ts} +12 -9
  35. package/dist/types/core-viewers/webgl/loader/geometry.d.ts +76 -78
  36. package/dist/types/core-viewers/webgl/loader/index.d.ts +24 -0
  37. package/dist/types/core-viewers/webgl/loader/materials/index.d.ts +9 -0
  38. package/dist/types/core-viewers/webgl/loader/materials/{viewerMaterials.d.ts → materials.d.ts} +5 -5
  39. package/dist/types/core-viewers/webgl/loader/mesh.d.ts +7 -7
  40. package/dist/types/core-viewers/webgl/loader/progressive/insertableGeometry.d.ts +2 -2
  41. package/dist/types/core-viewers/webgl/loader/progressive/insertableMesh.d.ts +1 -1
  42. package/dist/types/core-viewers/webgl/loader/progressive/insertableSubmesh.d.ts +1 -1
  43. package/dist/types/core-viewers/webgl/loader/progressive/instancedMesh.d.ts +1 -1
  44. package/dist/types/core-viewers/webgl/loader/progressive/instancedSubmesh.d.ts +1 -1
  45. package/dist/types/core-viewers/webgl/loader/progressive/legacyMeshFactory.d.ts +2 -2
  46. package/dist/types/core-viewers/webgl/loader/progressive/subsetBuilder.d.ts +2 -2
  47. package/dist/types/core-viewers/webgl/loader/progressive/subsetRequest.d.ts +2 -2
  48. package/dist/types/core-viewers/webgl/loader/progressive/vimRequest.d.ts +3 -3
  49. package/dist/types/core-viewers/webgl/loader/scene.d.ts +11 -14
  50. package/dist/types/core-viewers/webgl/loader/vim.d.ts +15 -19
  51. package/dist/types/core-viewers/webgl/loader/vimSettings.d.ts +2 -2
  52. package/dist/types/core-viewers/webgl/loader/{objectAttributes.d.ts → webglAttribute.d.ts} +4 -4
  53. package/dist/types/core-viewers/webgl/viewer/camera/camera.d.ts +8 -113
  54. package/dist/types/core-viewers/webgl/viewer/camera/{ICamera.d.ts → cameraInterface.d.ts} +0 -4
  55. package/dist/types/core-viewers/webgl/viewer/camera/cameraMovement.d.ts +5 -5
  56. package/dist/types/core-viewers/webgl/viewer/camera/cameraMovementLerp.d.ts +2 -2
  57. package/dist/types/core-viewers/webgl/viewer/camera/cameraMovementSnap.d.ts +2 -2
  58. package/dist/types/core-viewers/webgl/viewer/camera/{orthographic.d.ts → cameraOrthographic.d.ts} +1 -1
  59. package/dist/types/core-viewers/webgl/viewer/camera/{perspective.d.ts → cameraPerspective.d.ts} +1 -1
  60. package/dist/types/core-viewers/webgl/viewer/camera/index.d.ts +7 -0
  61. package/dist/types/core-viewers/webgl/viewer/environment/environment.d.ts +5 -5
  62. package/dist/types/core-viewers/webgl/viewer/environment/index.d.ts +3 -0
  63. package/dist/types/core-viewers/webgl/viewer/environment/{cameraLight.d.ts → light.d.ts} +2 -2
  64. package/dist/types/core-viewers/webgl/viewer/environment/skybox.d.ts +3 -3
  65. package/dist/types/core-viewers/webgl/viewer/gizmos/axes/axesSettings.d.ts +3 -2
  66. package/dist/types/core-viewers/webgl/viewer/gizmos/axes/gizmoAxes.d.ts +1 -1
  67. package/dist/types/core-viewers/webgl/viewer/gizmos/axes/index.d.ts +3 -0
  68. package/dist/types/core-viewers/webgl/viewer/gizmos/gizmoOrbit.d.ts +2 -2
  69. package/dist/types/core-viewers/webgl/viewer/gizmos/gizmos.d.ts +0 -5
  70. package/dist/types/core-viewers/webgl/viewer/gizmos/index.d.ts +7 -0
  71. package/dist/types/core-viewers/webgl/viewer/gizmos/markers/gizmoMarker.d.ts +63 -15
  72. package/dist/types/core-viewers/webgl/viewer/gizmos/markers/gizmoMarkers.d.ts +30 -7
  73. package/dist/types/core-viewers/webgl/viewer/gizmos/markers/index.d.ts +2 -0
  74. package/dist/types/core-viewers/webgl/viewer/gizmos/measure/index.d.ts +3 -0
  75. package/dist/types/core-viewers/webgl/viewer/gizmos/measure/measure.d.ts +10 -16
  76. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/index.d.ts +7 -0
  77. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBox.d.ts +4 -5
  78. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxGizmo.d.ts +1 -1
  79. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxHandle.d.ts +6 -4
  80. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxHandles.d.ts +1 -1
  81. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxInputs.d.ts +3 -40
  82. package/dist/types/core-viewers/webgl/viewer/index.d.ts +10 -0
  83. package/dist/types/core-viewers/webgl/viewer/inputsAdapter.d.ts +3 -0
  84. package/dist/types/core-viewers/webgl/viewer/raycaster.d.ts +37 -57
  85. package/dist/types/core-viewers/webgl/viewer/rendering/index.d.ts +4 -0
  86. package/dist/types/core-viewers/webgl/viewer/rendering/mergePass.d.ts +2 -2
  87. package/dist/types/core-viewers/webgl/viewer/rendering/renderScene.d.ts +8 -8
  88. package/dist/types/core-viewers/webgl/viewer/rendering/renderer.d.ts +9 -6
  89. package/dist/types/core-viewers/webgl/viewer/rendering/renderingComposer.d.ts +2 -2
  90. package/dist/types/core-viewers/webgl/viewer/rendering/renderingSection.d.ts +2 -2
  91. package/dist/types/core-viewers/webgl/viewer/selection.d.ts +6 -89
  92. package/dist/types/core-viewers/webgl/viewer/settings/index.d.ts +3 -0
  93. package/dist/types/core-viewers/webgl/viewer/settings/{defaultViewerSettings.d.ts → viewerDefaultSettings.d.ts} +1 -1
  94. package/dist/types/core-viewers/webgl/viewer/settings/viewerSettings.d.ts +2 -9
  95. package/dist/types/core-viewers/webgl/viewer/settings/viewerSettingsParsing.d.ts +1 -1
  96. package/dist/types/core-viewers/webgl/viewer/viewer.d.ts +13 -13
  97. package/dist/types/index.d.ts +2 -3
  98. package/dist/types/react-viewers/bim/bimInfoData.d.ts +2 -2
  99. package/dist/types/react-viewers/bim/bimInfoObject.d.ts +4 -4
  100. package/dist/types/react-viewers/bim/bimInfoPanel.d.ts +3 -3
  101. package/dist/types/react-viewers/bim/bimInfoVim.d.ts +4 -4
  102. package/dist/types/react-viewers/bim/bimPanel.d.ts +13 -13
  103. package/dist/types/react-viewers/bim/bimSearch.d.ts +2 -2
  104. package/dist/types/react-viewers/bim/bimTree.d.ts +10 -8
  105. package/dist/types/react-viewers/bim/bimTreeData.d.ts +5 -4
  106. package/dist/types/react-viewers/bim/index.d.ts +8 -0
  107. package/dist/types/react-viewers/components/inputNumber.d.ts +4 -0
  108. package/dist/types/react-viewers/container.d.ts +3 -3
  109. package/dist/types/react-viewers/controlbar/controlBar.d.ts +10 -4
  110. package/dist/types/react-viewers/controlbar/controlBarButton.d.ts +1 -4
  111. package/dist/types/react-viewers/controlbar/controlBarIds.d.ts +36 -27
  112. package/dist/types/react-viewers/controlbar/controlBarSection.d.ts +1 -4
  113. package/dist/types/react-viewers/controlbar/index.d.ts +6 -0
  114. package/dist/types/react-viewers/controlbar/style.d.ts +10 -0
  115. package/dist/types/react-viewers/errors/index.d.ts +2 -0
  116. package/dist/types/react-viewers/helpers/cameraObserver.d.ts +2 -2
  117. package/dist/types/react-viewers/helpers/cursor.d.ts +5 -3
  118. package/dist/types/react-viewers/helpers/element.d.ts +3 -2
  119. package/dist/types/react-viewers/helpers/index.d.ts +10 -0
  120. package/dist/types/react-viewers/helpers/loadRequest.d.ts +6 -6
  121. package/dist/types/react-viewers/helpers/reactUtils.d.ts +273 -0
  122. package/dist/types/react-viewers/helpers/utils.d.ts +1 -1
  123. package/dist/types/react-viewers/{panels/icons.d.ts → icons.d.ts} +9 -0
  124. package/dist/types/react-viewers/index.d.ts +10 -6
  125. package/dist/types/react-viewers/panels/axesPanel.d.ts +4 -4
  126. package/dist/types/react-viewers/panels/contextMenu.d.ts +20 -10
  127. package/dist/types/react-viewers/panels/genericPanel.d.ts +26 -0
  128. package/dist/types/react-viewers/panels/index.d.ts +14 -0
  129. package/dist/types/react-viewers/panels/loadingBox.d.ts +2 -2
  130. package/dist/types/react-viewers/panels/messageBox.d.ts +1 -1
  131. package/dist/types/react-viewers/panels/modal.d.ts +6 -6
  132. package/dist/types/react-viewers/panels/renderSettingsPanel.d.ts +4 -0
  133. package/dist/types/react-viewers/panels/restOfScreen.d.ts +1 -1
  134. package/dist/types/react-viewers/{sidePanel → panels}/sidePanel.d.ts +3 -3
  135. package/dist/types/react-viewers/panels/toast.d.ts +3 -3
  136. package/dist/types/react-viewers/settings/index.d.ts +5 -0
  137. package/dist/types/react-viewers/settings/menuSettings.d.ts +2 -2
  138. package/dist/types/react-viewers/settings/settings.d.ts +13 -50
  139. package/dist/types/react-viewers/settings/settingsState.d.ts +8 -8
  140. package/dist/types/react-viewers/settings/settingsStorage.d.ts +6 -6
  141. package/dist/types/react-viewers/settings/userBoolean.d.ts +17 -0
  142. package/dist/types/react-viewers/state/cameraState.d.ts +24 -0
  143. package/dist/types/react-viewers/state/controlBarState.d.ts +35 -20
  144. package/dist/types/react-viewers/state/index.d.ts +9 -0
  145. package/dist/types/react-viewers/state/measureState.d.ts +2 -2
  146. package/dist/types/react-viewers/state/pointerState.d.ts +5 -5
  147. package/dist/types/react-viewers/state/sectionBoxState.d.ts +18 -17
  148. package/dist/types/react-viewers/state/sharedIsolation.d.ts +38 -0
  149. package/dist/types/react-viewers/state/viewerInputs.d.ts +3 -0
  150. package/dist/types/react-viewers/ultra/camera.d.ts +3 -0
  151. package/dist/types/react-viewers/ultra/controlBar.d.ts +6 -0
  152. package/dist/types/react-viewers/ultra/errors/ultraErrors.d.ts +3 -3
  153. package/dist/types/react-viewers/ultra/index.d.ts +2 -1
  154. package/dist/types/react-viewers/ultra/isolation.d.ts +3 -0
  155. package/dist/types/react-viewers/ultra/modal.d.ts +5 -0
  156. package/dist/types/react-viewers/ultra/sectionBox.d.ts +3 -0
  157. package/dist/types/react-viewers/ultra/viewer.d.ts +21 -0
  158. package/dist/types/react-viewers/ultra/viewerRef.d.ts +38 -0
  159. package/dist/types/react-viewers/urls.d.ts +1 -0
  160. package/dist/types/react-viewers/webgl/camera.d.ts +3 -0
  161. package/dist/types/react-viewers/webgl/index.d.ts +3 -8
  162. package/dist/types/react-viewers/webgl/inputsBindings.d.ts +8 -0
  163. package/dist/types/react-viewers/webgl/isolation.d.ts +2 -0
  164. package/dist/types/react-viewers/webgl/{webglLoading.d.ts → loading.d.ts} +8 -8
  165. package/dist/types/react-viewers/webgl/sectionBox.d.ts +3 -0
  166. package/dist/types/react-viewers/webgl/viewer.d.ts +28 -0
  167. package/dist/types/react-viewers/webgl/viewerRef.d.ts +98 -0
  168. package/dist/types/react-viewers/webgl/viewerState.d.ts +7 -5
  169. package/dist/types/utils/debounce.d.ts +30 -0
  170. package/dist/types/utils/index.d.ts +10 -0
  171. package/dist/types/utils/interfaces.d.ts +3 -0
  172. package/dist/types/utils/math3d.d.ts +19 -0
  173. package/dist/types/utils/partial.d.ts +7 -0
  174. package/dist/types/{core-viewers/webgl/utils/requestResult.d.ts → utils/result.d.ts} +1 -1
  175. package/dist/types/{core-viewers/webgl/utils → utils}/threeUtils.d.ts +1 -0
  176. package/dist/types/{core-viewers/ultra/utils → utils}/url.d.ts +2 -0
  177. package/dist/types/{core-viewers/ultra/utils → utils}/validation.d.ts +11 -10
  178. package/dist/vim-web.iife.js +17600 -17597
  179. package/dist/vim-web.iife.js.map +1 -1
  180. package/dist/vim-web.js +17042 -17039
  181. package/dist/vim-web.js.map +1 -1
  182. package/package.json +1 -1
  183. package/dist/types/core-viewers/ultra/utils/debounce.d.ts +0 -1
  184. package/dist/types/core-viewers/ultra/utils/deferredPromise.d.ts +0 -8
  185. package/dist/types/core-viewers/ultra/utils/result.d.ts +0 -11
  186. package/dist/types/core-viewers/ultra/viewer/inputs/InputTouch.d.ts +0 -25
  187. package/dist/types/core-viewers/ultra/viewer/inputs/inputHandler.d.ts +0 -7
  188. package/dist/types/core-viewers/ultra/viewer/inputs/inputKeyboard.d.ts +0 -20
  189. package/dist/types/core-viewers/ultra/viewer/inputs/inputMouse.d.ts +0 -21
  190. package/dist/types/core-viewers/ultra/viewer/inputs/inputs.d.ts +0 -27
  191. package/dist/types/core-viewers/ultra/viewer/marshal.d.ts +0 -86
  192. package/dist/types/core-viewers/ultra/viewer/selection.d.ts +0 -96
  193. package/dist/types/core-viewers/ultra/viewer/vim.d.ts +0 -111
  194. package/dist/types/core-viewers/webgl/utils/deferredPromise.d.ts +0 -8
  195. package/dist/types/core-viewers/webgl/viewer/gizmos/gizmoRectangle.d.ts +0 -51
  196. package/dist/types/core-viewers/webgl/viewer/gizmos/measure/measureFlow.d.ts +0 -36
  197. package/dist/types/core-viewers/webgl/viewer/inputs/input.d.ts +0 -128
  198. package/dist/types/core-viewers/webgl/viewer/inputs/keyboardHandler.d.ts +0 -113
  199. package/dist/types/core-viewers/webgl/viewer/inputs/mouseHandler.d.ts +0 -66
  200. package/dist/types/react-viewers/errors/errorUtils.d.ts +0 -2
  201. package/dist/types/react-viewers/helpers/camera.d.ts +0 -37
  202. package/dist/types/react-viewers/helpers/inputs.d.ts +0 -22
  203. package/dist/types/react-viewers/helpers/isolation.d.ts +0 -128
  204. package/dist/types/react-viewers/ultra/ultraComponent.d.ts +0 -47
  205. package/dist/types/react-viewers/ultra/ultraControlBarState.d.ts +0 -6
  206. package/dist/types/react-viewers/ultra/ultraModal.d.ts +0 -4
  207. package/dist/types/react-viewers/ultra/ultraSectionBoxState.d.ts +0 -3
  208. package/dist/types/react-viewers/webgl/webglComponent.d.ts +0 -28
  209. package/dist/types/react-viewers/webgl/webglComponentRef.d.ts +0 -118
  210. package/dist/types/react-viewers/webgl/webglSectionBoxState.d.ts +0 -3
  211. /package/dist/types/core-viewers/ultra/{viewer/decoderWithWorker.d.ts → decoderWithWorker.d.ts} +0 -0
  212. /package/dist/types/core-viewers/ultra/{viewer/loadRequest.d.ts → loadRequest.d.ts} +0 -0
  213. /package/dist/types/core-viewers/ultra/{viewer/logger.d.ts → logger.d.ts} +0 -0
  214. /package/dist/types/core-viewers/ultra/{viewer/protocol.d.ts → protocol.d.ts} +0 -0
  215. /package/dist/types/core-viewers/ultra/{viewer/streamLogger.d.ts → streamLogger.d.ts} +0 -0
  216. /package/dist/types/core-viewers/ultra/{viewer/streamRenderer.d.ts → streamRenderer.d.ts} +0 -0
  217. /package/dist/types/core-viewers/ultra/{viewer/viewport.d.ts → viewport.d.ts} +0 -0
  218. /package/dist/types/core-viewers/ultra/{viewer/vimCollection.d.ts → vimCollection.d.ts} +0 -0
  219. /package/dist/types/react-viewers/{sidePanel → state}/sideState.d.ts +0 -0
  220. /package/dist/types/{core-viewers/ultra/utils → utils}/array.d.ts +0 -0
  221. /package/dist/types/{core-viewers/ultra/utils → utils}/promise.d.ts +0 -0
@@ -1,18 +1,18 @@
1
1
  /**
2
2
  * @module viw-webgl-react
3
3
  */
4
- import * as VIM from '../../core-viewers/webgl/index';
5
- import { ComponentSettings, PartialComponentSettings } from './settings';
4
+ import * as Core from '../../core-viewers';
5
+ import { Settings, PartialSettings } from './settings';
6
6
  export type SettingsState = {
7
- value: ComponentSettings;
8
- update: (updater: (s: ComponentSettings) => void) => void;
9
- register: (action: (s: ComponentSettings) => void) => void;
7
+ value: Settings;
8
+ update: (updater: (s: Settings) => void) => void;
9
+ register: (action: (s: Settings) => void) => void;
10
10
  };
11
11
  /**
12
12
  * Returns a new state closure for settings.
13
13
  */
14
- export declare function useSettings(viewer: VIM.Viewer, value: PartialComponentSettings): SettingsState;
14
+ export declare function useSettings(viewer: Core.Webgl.Viewer, value: PartialSettings): SettingsState;
15
15
  /**
16
- * Apply given vim component settings to the given viewer.
16
+ * Apply given vim viewer settings to the given viewer.
17
17
  */
18
- export declare function applySettings(viewer: VIM.Viewer, settings: ComponentSettings): void;
18
+ export declare function applySettings(viewer: Core.Webgl.Viewer, settings: Settings): void;
@@ -1,15 +1,15 @@
1
1
  /**
2
2
  * @module viw-webgl-react
3
3
  */
4
- import { ComponentSettings, PartialComponentSettings } from './settings';
4
+ import { Settings, PartialSettings } from './settings';
5
5
  /**
6
- * Retrieves component settings from localStorage and applies permissions
7
- * @param settings - Partial component settings to apply permissions from
6
+ * Retrieves viewer settings from localStorage and applies permissions
7
+ * @param settings - Partial viewer settings to apply permissions from
8
8
  * @returns The stored settings with applied permissions, or empty object if retrieval fails
9
9
  */
10
- export declare function getLocalSettings(settings?: PartialComponentSettings): {};
10
+ export declare function getLocalSettings(settings?: PartialSettings): {};
11
11
  /**
12
- * Saves component settings to localStorage after removing permissions
12
+ * Saves viewer settings to localStorage after removing permissions
13
13
  * @param value - Component settings to save
14
14
  */
15
- export declare function saveSettingsToLocal(value: ComponentSettings): void;
15
+ export declare function saveSettingsToLocal(value: Settings): void;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Represents a boolean value that can also be locked to always true or false
3
+ * @typedef {boolean | 'AlwaysTrue' | 'AlwaysFalse'} UserBoolean
4
+ */
5
+ export type UserBoolean = boolean | 'AlwaysTrue' | 'AlwaysFalse';
6
+ /**
7
+ * Checks if a UserBoolean value is effectively true
8
+ * @param {UserBoolean | boolean} value - The value to check
9
+ * @returns {boolean} True if the value is true or 'AlwaysTrue'
10
+ */
11
+ export declare function isTrue(value: UserBoolean | boolean): value is true | "AlwaysTrue";
12
+ /**
13
+ * Checks if a UserBoolean value is effectively false
14
+ * @param {UserBoolean | boolean} value - The value to check
15
+ * @returns {boolean} True if the value is false or 'AlwaysFalse'
16
+ */
17
+ export declare function isFalse(value: UserBoolean | boolean): value is false | "AlwaysFalse";
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @module viw-webgl-react
3
+ */
4
+ import * as THREE from 'three';
5
+ import { SectionBoxRef } from './sectionBoxState';
6
+ import { ActionRef, AsyncFuncRef, StateRef } from '../helpers/reactUtils';
7
+ import { ISignal } from 'ste-signals';
8
+ export interface CameraRef {
9
+ autoCamera: StateRef<boolean>;
10
+ reset: ActionRef;
11
+ frameSelection: AsyncFuncRef<void>;
12
+ frameScene: AsyncFuncRef<void>;
13
+ getSelectionBox: AsyncFuncRef<THREE.Box3 | undefined>;
14
+ getSceneBox: AsyncFuncRef<THREE.Box3 | undefined>;
15
+ }
16
+ interface ICameraAdapter {
17
+ onSelectionChanged: ISignal;
18
+ frameCamera: (box: THREE.Box3, duration: number) => void;
19
+ resetCamera: (duration: number) => void;
20
+ getSelectionBox: () => Promise<THREE.Box3 | undefined>;
21
+ getSceneBox: () => Promise<THREE.Box3 | undefined>;
22
+ }
23
+ export declare function useCamera(adapter: ICameraAdapter, section: SectionBoxRef): CameraRef;
24
+ export {};
@@ -1,39 +1,54 @@
1
- import * as VIM from '../../core-viewers/webgl/index';
2
- import { ComponentCamera } from '../helpers/camera';
1
+ import * as Core from "../../core-viewers";
2
+ import { CameraRef } from './cameraState';
3
3
  import { CursorManager } from '../helpers/cursor';
4
- import { Isolation } from '../helpers/isolation';
5
- import { ComponentSettings } from '../settings/settings';
6
- import { SideState } from '../sidePanel/sideState';
7
- import * as Icons from '../panels/icons';
4
+ import { Settings } from '../settings';
5
+ import { SideState } from './sideState';
6
+ import * as Icons from '../icons';
8
7
  import { SectionBoxRef } from './sectionBoxState';
8
+ import { getMeasureState } from './measureState';
9
9
  import { ModalRef } from '../panels/modal';
10
- import * as ControlBar from '../controlbar/controlBar';
10
+ import { IsolationRef } from './sharedIsolation';
11
+ import * as ControlBar from '../controlbar';
11
12
  /**
12
13
  * Returns a control bar section for the section box.
13
14
  */
14
15
  export declare function controlBarSectionBox(section: SectionBoxRef, hasSelection: boolean): ControlBar.IControlBarSection;
15
- /**
16
- * Combines all control bar sections into one control bar.
17
- */
18
- export declare function useControlBar(viewer: VIM.Viewer, camera: ComponentCamera, modal: ModalRef, side: SideState, isolation: Isolation, cursor: CursorManager, settings: ComponentSettings, section: SectionBoxRef, customization: ControlBar.ControlBarCustomization | undefined): (ControlBar.IControlBarSection | {
16
+ export declare function controlBarMeasure(settings: Settings, measure: ReturnType<typeof getMeasureState>): {
19
17
  id: string;
20
18
  enable: () => boolean;
21
19
  style: string;
22
- buttons: ({
20
+ buttons: {
23
21
  id: string;
24
22
  enabled: () => boolean;
23
+ isOn: () => boolean;
25
24
  tip: string;
26
25
  action: () => void;
27
- icon: typeof Icons.frameSelection;
28
- isOn: () => boolean;
29
- style: typeof ControlBar.buttonDefaultStyle;
30
- } | {
26
+ icon: typeof Icons.measure;
27
+ style: typeof ControlBar.Style.buttonDefaultStyle;
28
+ }[];
29
+ };
30
+ export declare function controlBarCamera(camera: CameraRef): ControlBar.IControlBarSection;
31
+ export declare function controlBarSelection(isolation: IsolationRef): ControlBar.IControlBarSection;
32
+ /**
33
+ * Combines all control bar sections into one control bar.
34
+ */
35
+ export declare function useControlBar(viewer: Core.Webgl.Viewer, camera: CameraRef, modal: ModalRef, side: SideState, cursor: CursorManager, settings: Settings, section: SectionBoxRef, isolationRef: IsolationRef, customization: ControlBar.ControlBarCustomization | undefined): (ControlBar.IControlBarSection | {
36
+ id: string;
37
+ enable: () => boolean;
38
+ style: string;
39
+ buttons: {
31
40
  id: string;
32
41
  enabled: () => boolean;
42
+ isOn: () => boolean;
33
43
  tip: string;
34
44
  action: () => void;
35
- icon: typeof Icons.toggleIsolation;
36
- style: typeof ControlBar.buttonDefaultStyle;
37
- isOn?: undefined;
38
- })[];
45
+ icon: typeof Icons.measure;
46
+ style: typeof ControlBar.Style.buttonDefaultStyle;
47
+ }[];
39
48
  })[];
49
+ /**
50
+ * Checks if any settings-related UI buttons are enabled
51
+ * @param {Settings} settings - The viewer settings to check
52
+ * @returns {boolean} True if any settings buttons are enabled
53
+ */
54
+ export declare function anyUiSettingButton(settings: Settings): boolean;
@@ -0,0 +1,9 @@
1
+ export * from './cameraState';
2
+ export * from './controlBarState';
3
+ export * from './fullScreenState';
4
+ export * from './measureState';
5
+ export * from './pointerState';
6
+ export * from './sectionBoxState';
7
+ export * from './sharedIsolation';
8
+ export * from './sideState';
9
+ export * from './viewerInputs';
@@ -1,6 +1,6 @@
1
- import { WebglViewer } from '../../index';
1
+ import * as Core from '../../core-viewers';
2
2
  import { CursorManager } from '../helpers/cursor';
3
- export declare function getMeasureState(viewer: WebglViewer.Viewer, cursor: CursorManager): {
3
+ export declare function getMeasureState(viewer: Core.Webgl.Viewer, cursor: CursorManager): {
4
4
  active: boolean;
5
5
  toggle: () => void;
6
6
  clear: () => void;
@@ -1,6 +1,6 @@
1
- import * as VIM from '../../core-viewers/webgl/index';
2
- export declare function getPointerState(viewer: VIM.Viewer): {
3
- mode: VIM.PointerMode;
4
- setMode: import("react").Dispatch<import("react").SetStateAction<VIM.PointerMode>>;
5
- onButton: (target: VIM.PointerMode) => void;
1
+ import * as Core from '../../core-viewers';
2
+ export declare function getPointerState(viewer: Core.Webgl.Viewer): {
3
+ mode: Core.PointerMode;
4
+ setMode: import("react").Dispatch<import("react").SetStateAction<Core.PointerMode>>;
5
+ onButton: (target: Core.PointerMode) => void;
6
6
  };
@@ -1,5 +1,6 @@
1
1
  import * as THREE from 'three';
2
2
  import { ISignal } from 'ste-signals';
3
+ import { ArgActionRef, AsyncFuncRef, StateRef } from '../helpers/reactUtils';
3
4
  export type Offsets = {
4
5
  topOffset: string;
5
6
  sideOffset: string;
@@ -7,27 +8,27 @@ export type Offsets = {
7
8
  };
8
9
  export type OffsetField = keyof Offsets;
9
10
  export interface SectionBoxRef {
10
- getEnable: () => boolean;
11
- setEnable: (enable: boolean) => void;
12
- getVisible: () => boolean;
13
- setVisible: React.Dispatch<React.SetStateAction<boolean>>;
14
- getAuto: () => boolean;
15
- setAuto: (auto: boolean) => void;
16
- sectionSelection: () => void;
17
- sectionReset: () => void;
18
- getOffsetVisible: () => boolean;
19
- setOffsetsVisible: React.Dispatch<React.SetStateAction<boolean>>;
20
- getText: (field: OffsetField) => string;
21
- setText: (field: OffsetField, value: string) => void;
22
- validate: (field: OffsetField) => void;
11
+ enable: StateRef<boolean>;
12
+ visible: StateRef<boolean>;
13
+ auto: StateRef<boolean>;
14
+ sectionSelection: AsyncFuncRef<void>;
15
+ sectionScene: AsyncFuncRef<void>;
16
+ sectionBox: ArgActionRef<THREE.Box3>;
17
+ getBox: () => THREE.Box3;
18
+ showOffsetPanel: StateRef<boolean>;
19
+ topOffset: StateRef<number>;
20
+ sideOffset: StateRef<number>;
21
+ bottomOffset: StateRef<number>;
22
+ getSelectionBox: AsyncFuncRef<THREE.Box3 | undefined>;
23
+ getSceneBox: AsyncFuncRef<THREE.Box3>;
23
24
  }
24
25
  export interface SectionBoxAdapter {
26
+ setClip: (b: boolean) => void;
25
27
  setVisible: (visible: boolean) => void;
26
28
  getBox: () => THREE.Box3;
27
- fitBox: (box: THREE.Box3) => void;
28
- getSelectionBox: () => Promise<THREE.Box3 | undefined>;
29
- getRendererBox: () => Promise<THREE.Box3>;
29
+ setBox: (box: THREE.Box3) => void;
30
30
  onSelectionChanged: ISignal;
31
- onSceneChanged: ISignal;
31
+ getSelectionBox: () => Promise<THREE.Box3 | undefined>;
32
+ getSceneBox: () => Promise<THREE.Box3>;
32
33
  }
33
34
  export declare function useSectionBox(adapter: SectionBoxAdapter): SectionBoxRef;
@@ -0,0 +1,38 @@
1
+ import { RefObject } from "react";
2
+ import { FuncRef, StateRef } from "../helpers/reactUtils";
3
+ import { ISignal } from "ste-signals";
4
+ export type VisibilityStatus = 'all' | 'allButSelection' | 'onlySelection' | 'some' | 'none';
5
+ export interface IsolationRef {
6
+ adapter: RefObject<IsolationAdapter>;
7
+ visibility: StateRef<VisibilityStatus>;
8
+ autoIsolate: StateRef<boolean>;
9
+ showPanel: StateRef<boolean>;
10
+ showGhost: StateRef<boolean>;
11
+ ghostOpacity: StateRef<number>;
12
+ showRooms: StateRef<boolean>;
13
+ onAutoIsolate: FuncRef<void>;
14
+ onVisibilityChange: FuncRef<void>;
15
+ }
16
+ export interface IsolationAdapter {
17
+ onSelectionChanged: ISignal;
18
+ onVisibilityChange: ISignal;
19
+ computeVisibility: () => VisibilityStatus;
20
+ hasSelection(): boolean;
21
+ hasVisibleSelection: () => boolean;
22
+ hasHiddenSelection: () => boolean;
23
+ clearSelection(): void;
24
+ isolateSelection(): void;
25
+ hideSelection(): void;
26
+ showSelection(): void;
27
+ isolate(instances: number[]): void;
28
+ show(instances: number[]): void;
29
+ hide(instances: number[]): void;
30
+ hideAll(): void;
31
+ showAll(): void;
32
+ showGhost(show: boolean): void;
33
+ getGhostOpacity(): number;
34
+ setGhostOpacity(opacity: number): void;
35
+ getShowRooms(): boolean;
36
+ setShowRooms(show: boolean): void;
37
+ }
38
+ export declare function useSharedIsolation(adapter: IsolationAdapter): IsolationRef;
@@ -0,0 +1,3 @@
1
+ import { InputHandler } from "../../core-viewers/shared";
2
+ import { CameraRef } from "./cameraState";
3
+ export declare function useViewerInput(handler: InputHandler, camera: CameraRef): void;
@@ -0,0 +1,3 @@
1
+ import * as Core from "../../core-viewers/ultra";
2
+ import { SectionBoxRef } from "../state/sectionBoxState";
3
+ export declare function useUltraCamera(viewer: Core.Viewer, section: SectionBoxRef): import("../state/cameraState").CameraRef;
@@ -0,0 +1,6 @@
1
+ import * as Core from '../../core-viewers/ultra';
2
+ import { ControlBarCustomization } from '../controlbar/controlBar';
3
+ import { CameraRef } from '../state/cameraState';
4
+ import { SectionBoxRef } from '../state/sectionBoxState';
5
+ import { IsolationRef } from '../state/sharedIsolation';
6
+ export declare function useUltraControlBar(viewer: Core.Viewer, section: SectionBoxRef, isolation: IsolationRef, camera: CameraRef, customization: ControlBarCustomization | undefined): import("../controlbar").IControlBarSection[];
@@ -1,3 +1,3 @@
1
- import * as Ultra from '../../../core-viewers/ultra';
2
- export declare function getErrorMessage(state: Ultra.ClientState): import("../..").MessageBoxProps;
3
- export declare function getRequestErrorMessage(source: Ultra.VimSource, error: Ultra.VimRequestErrorType): import("../..").MessageBoxProps;
1
+ import * as Core from '../../../core-viewers';
2
+ export declare function getErrorMessage(state: Core.Ultra.ClientState): import("../..").MessageBoxProps;
3
+ export declare function getRequestErrorMessage(serverUrl: string, source: Core.Ultra.VimSource, error: Core.Ultra.VimRequestErrorType): import("../..").MessageBoxProps;
@@ -1 +1,2 @@
1
- export * from './ultraComponent';
1
+ export * from './viewer';
2
+ export * from './viewerRef';
@@ -0,0 +1,3 @@
1
+ import * as Core from "../../core-viewers";
2
+ import Viewer = Core.Ultra.Viewer;
3
+ export declare function useUltraIsolation(viewer: Viewer): import("../state/sharedIsolation").IsolationRef;
@@ -0,0 +1,5 @@
1
+ import { ModalRef } from "../panels/modal";
2
+ import * as Core from '../../core-viewers';
3
+ import { RefObject } from "react";
4
+ export declare function updateModal(modal: RefObject<ModalRef>, state: Core.Ultra.ClientState): void;
5
+ export declare function updateProgress(request: Core.Ultra.ILoadRequest, modal: ModalRef): Promise<void>;
@@ -0,0 +1,3 @@
1
+ import * as Core from '../../core-viewers';
2
+ import { SectionBoxRef } from '../state/sectionBoxState';
3
+ export declare function useUltraSectionBox(viewer: Core.Ultra.Viewer): SectionBoxRef;
@@ -0,0 +1,21 @@
1
+ import * as Core from '../../core-viewers';
2
+ import { Container } from '../container';
3
+ import { ViewerRef } from './viewerRef';
4
+ /**
5
+ * Creates a UI container along with a VIM.Viewer and its associated React viewer.
6
+ * @param container An optional container object. If none is provided, a container will be created.
7
+ * @returns An object containing the resulting container, reactRoot, and viewer.
8
+ */
9
+ export declare function createViewer(container?: Container | HTMLElement): Promise<ViewerRef>;
10
+ /**
11
+ * Represents a React viewer providing UI for the Vim viewer.
12
+ * @param container The container object containing root, gfx, and UI elements for the Vim viewer.
13
+ * @param viewer The Vim viewer instance for which UI is provided.
14
+ * @param onMount A callback function triggered when the viewer is mounted. Receives a reference to the Vim viewer.
15
+ * @param settings Optional settings for configuring the Vim viewer's behavior.
16
+ */
17
+ export declare function Viewer(props: {
18
+ container: Container;
19
+ core: Core.Ultra.Viewer;
20
+ onMount: (viewer: ViewerRef) => void;
21
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,38 @@
1
+ import * as Core from '../../core-viewers/ultra';
2
+ import { ModalRef } from '../panels/modal';
3
+ import { CameraRef } from '../state/cameraState';
4
+ import { SectionBoxRef } from '../state/sectionBoxState';
5
+ import { IsolationRef } from '../state/sharedIsolation';
6
+ import { ControlBarRef } from '../controlbar';
7
+ export type ViewerRef = {
8
+ /**
9
+ * The Vim viewer instance associated with the viewer.
10
+ */
11
+ core: Core.Viewer;
12
+ /**
13
+ * API to manage the modal dialog.
14
+ */
15
+ modal: ModalRef;
16
+ /**
17
+ * API to manage the section box.
18
+ */
19
+ sectionBox: SectionBoxRef;
20
+ /**
21
+ * API to customize the control.
22
+ */
23
+ controlBar: ControlBarRef;
24
+ /**
25
+ * Camera API to interact with the viewer camera at a higher level.
26
+ */
27
+ camera: CameraRef;
28
+ isolation: IsolationRef;
29
+ /**
30
+ * Disposes of the viewer and its resources.
31
+ */
32
+ dispose: () => void;
33
+ /**
34
+ * Loads a file into the viewer.
35
+ * @param url The URL of the file to load.
36
+ */
37
+ load(url: Core.VimSource): Core.ILoadRequest;
38
+ };
@@ -1,2 +1,3 @@
1
1
  export declare const support = "https://docs.vimaec.com";
2
+ export declare const supportUltra = "https://docs.vimaec.com/docs/vim-for-windows/configuring-vim-ultra";
2
3
  export declare const supportControls = "https://docs.vimaec.com/docs/vim-cloud/webgl-navigation-and-controls-guide";
@@ -0,0 +1,3 @@
1
+ import * as Core from "../../core-viewers";
2
+ import { SectionBoxRef } from "../state/sectionBoxState";
3
+ export declare function useWebglCamera(viewer: Core.Webgl.Viewer, section: SectionBoxRef): import("../state/cameraState").CameraRef;
@@ -1,8 +1,3 @@
1
- export * from './webglComponent';
2
- export * as ContextMenu from '../panels/contextMenu';
3
- export * as BimInfo from '../bim/bimInfoData';
4
- export * as ControlBar from '../controlbar/controlBar';
5
- export { LoadRequest } from '../helpers/loadRequest';
6
- export * as Refs from './webglComponentRef';
7
- export { getLocalSettings as getLocalSettings } from '../settings/settingsStorage';
8
- export { type ComponentSettings as Settings, type PartialComponentSettings as PartialSettings, defaultSettings } from '../settings/settings';
1
+ export * from './viewer';
2
+ export * from './viewerRef';
3
+ export type * from './loading';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @module viw-webgl-react
3
+ */
4
+ import * as Core from '../../core-viewers';
5
+ import { SideState } from '../state/sideState';
6
+ import { CameraRef } from '../state/cameraState';
7
+ import { IsolationRef } from '../state/sharedIsolation';
8
+ export declare function applyWebglBindings(viewer: Core.Webgl.Viewer, camera: CameraRef, isolation: IsolationRef, sideState: SideState): void;
@@ -0,0 +1,2 @@
1
+ import * as Core from "../../core-viewers";
2
+ export declare function useWebglIsolation(viewer: Core.Webgl.Viewer): import("../state/sharedIsolation").IsolationRef;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @module viw-webgl-react
3
3
  */
4
- import * as VIM from '../../core-viewers/webgl/index';
4
+ import * as Core from '../../core-viewers';
5
5
  import { LoadRequest } from '../helpers/loadRequest';
6
6
  import { ModalRef } from '../panels/modal';
7
7
  type AddSettings = {
@@ -16,7 +16,7 @@ type AddSettings = {
16
16
  */
17
17
  loadEmpty?: boolean;
18
18
  };
19
- export type OpenSettings = VIM.VimPartialSettings & AddSettings;
19
+ export type OpenSettings = Core.Webgl.VimPartialSettings & AddSettings;
20
20
  export type LoadingError = {
21
21
  url: string;
22
22
  error: string;
@@ -28,11 +28,11 @@ export type LoadingError = {
28
28
  export declare class ComponentLoader {
29
29
  private _viewer;
30
30
  private _modal;
31
- constructor(viewer: VIM.Viewer, modal: ModalRef);
31
+ constructor(viewer: Core.Webgl.Viewer, modal: React.RefObject<ModalRef>);
32
32
  /**
33
33
  * Event emitter for progress updates.
34
34
  */
35
- onProgress(p: VIM.IProgressLogs): void;
35
+ onProgress(p: Core.Webgl.IProgressLogs): void;
36
36
  /**
37
37
  * Event emitter for completion notifications.
38
38
  */
@@ -48,20 +48,20 @@ export declare class ComponentLoader {
48
48
  * @param onProgress Optional callback function to track progress during opening.
49
49
  * Receives progress logs as input.
50
50
  */
51
- open(source: VIM.RequestSource, settings: OpenSettings, onProgress?: (p: VIM.IProgressLogs) => void): Promise<VIM.Vim>;
51
+ open(source: Core.Webgl.RequestSource, settings: OpenSettings, onProgress?: (p: Core.Webgl.IProgressLogs) => void): Promise<Core.Webgl.Vim>;
52
52
  /**
53
53
  * Creates a new load request for the provided source and settings.
54
54
  * @param source The url to the vim file or a buffer of the file.
55
55
  * @param settings Settings to apply to vim file.
56
56
  * @returns A new load request instance to track progress and get result.
57
57
  */
58
- request(source: VIM.RequestSource, settings?: VIM.VimPartialSettings): LoadRequest;
59
- add(vim: VIM.Vim, settings?: AddSettings): void;
58
+ request(source: Core.Webgl.RequestSource, settings?: Core.Webgl.VimPartialSettings): LoadRequest;
59
+ add(vim: Core.Webgl.Vim, settings?: AddSettings): void;
60
60
  /**
61
61
  * Removes the vim from the viewer and disposes it.
62
62
  * @param vim Vim to remove from the viewer.
63
63
  */
64
- remove(vim: VIM.Vim): void;
64
+ remove(vim: Core.Webgl.Vim): void;
65
65
  private initVim;
66
66
  }
67
67
  export {};
@@ -0,0 +1,3 @@
1
+ import * as Core from '../../core-viewers';
2
+ import { SectionBoxRef } from '../state/sectionBoxState';
3
+ export declare function useWebglSectionBox(viewer: Core.Webgl.Viewer): SectionBoxRef;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @module public-api
3
+ */
4
+ import * as Core from '../../core-viewers';
5
+ import { PartialSettings } from '../settings';
6
+ import { Container } from '../container';
7
+ import { ViewerRef } from './viewerRef';
8
+ /**
9
+ * Creates a UI container along with a VIM.Viewer and its associated React viewer.
10
+ * @param container An optional container object. If none is provided, a container will be created.
11
+ * @param settings UI Component settings.
12
+ * @param coreSettings Viewer settings.
13
+ * @returns An object containing the resulting container, reactRoot, and viewer.
14
+ */
15
+ export declare function createViewer(container?: Container | HTMLElement, settings?: PartialSettings, coreSettings?: Core.Webgl.PartialViewerSettings): Promise<ViewerRef>;
16
+ /**
17
+ * Represents a React viewer providing UI for the Vim viewer.
18
+ * @param container The container object containing root, gfx, and UI elements for the Vim viewer.
19
+ * @param viewer The Vim viewer instance for which UI is provided.
20
+ * @param onMount A callback function triggered when the viewer is mounted. Receives a reference to the Vim viewer.
21
+ * @param settings Optional settings for configuring the Vim viewer's behavior.
22
+ */
23
+ export declare function Viewer(props: {
24
+ container: Container;
25
+ viewer: Core.Webgl.Viewer;
26
+ onMount: (viewer: ViewerRef) => void;
27
+ settings?: PartialSettings;
28
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,98 @@
1
+ /**
2
+ * @module public-api
3
+ */
4
+ import * as Core from '../../core-viewers';
5
+ import { ContextMenuRef } from '../panels/contextMenu';
6
+ import { Settings } from '../settings/settings';
7
+ import { CameraRef } from '../state/cameraState';
8
+ import { Container } from '../container';
9
+ import { BimInfoPanelRef } from '../bim/bimInfoData';
10
+ import { ControlBarRef } from '../controlbar';
11
+ import { ComponentLoader } from './loading';
12
+ import { ModalRef } from '../panels/modal';
13
+ import { SectionBoxRef } from '../state/sectionBoxState';
14
+ import { IsolationRef } from '../state/sharedIsolation';
15
+ /**
16
+ * Settings API managing settings applied to the viewer.
17
+ */
18
+ export type SettingsRef = {
19
+ /**
20
+ * Allows updating settings by providing a callback function.
21
+ * @param updater A function that updates the current settings.
22
+ */
23
+ update: (updater: (settings: Settings) => void) => void;
24
+ /**
25
+ * Registers a callback function to be notified when settings are updated.
26
+ * @param callback A function to be called when settings are updated, receiving the updated settings.
27
+ */
28
+ register: (callback: (settings: Settings) => void) => void;
29
+ };
30
+ /**
31
+ * Reference to manage help message functionality in the viewer.
32
+ */
33
+ export type HelpRef = {
34
+ /**
35
+ * Displays the help message.
36
+ * @param value Boolean value to show or hide the help message.
37
+ * @returns void
38
+ */
39
+ show(value: boolean): void;
40
+ /**
41
+ * Returns the current state of the help message.
42
+ * @returns boolean indicating if help message is currently shown
43
+ */
44
+ isShow(): boolean;
45
+ };
46
+ /**
47
+ * Root-level API of the Vim viewer.
48
+ */
49
+ export type ViewerRef = {
50
+ /**
51
+ * HTML structure containing the viewer.
52
+ */
53
+ container: Container;
54
+ /**
55
+ * Vim WebGL viewer around which the WebGL viewer is built.
56
+ */
57
+ core: Core.Webgl.Viewer;
58
+ /**
59
+ * Vim WebGL loader to download VIMs.
60
+ */
61
+ loader: ComponentLoader;
62
+ /**
63
+ * Isolation API managing isolation state in the viewer.
64
+ */
65
+ isolation: IsolationRef;
66
+ /**
67
+ * Section box API managing the section box in the viewer.
68
+ */
69
+ sectionBox: SectionBoxRef;
70
+ /**
71
+ * Context menu API managing the content and behavior of the context menu.
72
+ */
73
+ contextMenu: ContextMenuRef;
74
+ /**
75
+ * Control bar API managing the content and behavior of the control bar.
76
+ */
77
+ controlBar: ControlBarRef;
78
+ /**
79
+ * Settings API managing settings applied to the viewer.
80
+ */
81
+ settings: SettingsRef;
82
+ /**
83
+ * Message API to interact with the loading box.
84
+ */
85
+ modal: ModalRef;
86
+ /**
87
+ * Camera API to interact with the viewer camera at a higher level.
88
+ */
89
+ camera: CameraRef;
90
+ /**
91
+ * API To interact with the BIM info panel.
92
+ */
93
+ bimInfo: BimInfoPanelRef;
94
+ /**
95
+ * Cleans up and releases resources used by the viewer.
96
+ */
97
+ dispose: () => void;
98
+ };