vim-web 0.3.23 → 0.3.24

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 (192) hide show
  1. package/dist/types/react-viewer/bim/bimInfoBody.d.ts +9 -0
  2. package/dist/types/react-viewer/bim/bimInfoData.d.ts +77 -0
  3. package/dist/types/react-viewer/bim/bimInfoHeader.d.ts +6 -0
  4. package/dist/types/react-viewer/bim/bimInfoObject.d.ts +12 -0
  5. package/dist/types/react-viewer/bim/bimInfoPanel.d.ts +10 -0
  6. package/dist/types/react-viewer/bim/bimInfoVim.d.ts +5 -0
  7. package/dist/types/react-viewer/bim/bimPanel.d.ts +40 -0
  8. package/dist/types/react-viewer/bim/bimSearch.d.ts +17 -0
  9. package/dist/types/react-viewer/bim/bimTree.d.ts +31 -0
  10. package/dist/types/react-viewer/bim/bimTreeData.d.ts +43 -0
  11. package/dist/types/react-viewer/bim/bimUtils.d.ts +13 -0
  12. package/dist/types/react-viewer/bim/openState.d.ts +5 -0
  13. package/dist/types/react-viewer/container.d.ts +27 -0
  14. package/dist/types/react-viewer/controlbar/controlBar.d.ts +57 -0
  15. package/dist/types/react-viewer/controlbar/controlBarButton.d.ts +17 -0
  16. package/dist/types/react-viewer/controlbar/controlBarCommands.d.ts +4 -0
  17. package/dist/types/react-viewer/controlbar/controlBarSection.d.ts +10 -0
  18. package/dist/types/react-viewer/controlbar/fullScreenState.d.ts +4 -0
  19. package/dist/types/react-viewer/controlbar/measureState.d.ts +7 -0
  20. package/dist/types/react-viewer/controlbar/pointerState.d.ts +6 -0
  21. package/dist/types/react-viewer/controlbar/restOfScreen.d.ts +5 -0
  22. package/dist/types/react-viewer/controlbar/sectionBoxState.d.ts +15 -0
  23. package/dist/types/react-viewer/errors/errorStyle.d.ts +15 -0
  24. package/dist/types/react-viewer/errors/errorUtils.d.ts +2 -0
  25. package/dist/types/react-viewer/errors/errors.d.ts +5 -0
  26. package/dist/types/react-viewer/errors/fileDownloadingError.d.ts +2 -0
  27. package/dist/types/react-viewer/errors/fileLoadingError.d.ts +2 -0
  28. package/dist/types/react-viewer/errors/fileOpeningError.d.ts +2 -0
  29. package/dist/types/react-viewer/errors/serverCompatibilityError.d.ts +2 -0
  30. package/dist/types/react-viewer/errors/serverConnectionError.d.ts +2 -0
  31. package/dist/types/react-viewer/helpers/camera.d.ts +37 -0
  32. package/dist/types/react-viewer/helpers/cameraObserver.d.ts +8 -0
  33. package/dist/types/react-viewer/helpers/cursor.d.ts +35 -0
  34. package/dist/types/react-viewer/helpers/data.d.ts +27 -0
  35. package/dist/types/react-viewer/helpers/deferredPromise.d.ts +8 -0
  36. package/dist/types/react-viewer/helpers/element.d.ts +13 -0
  37. package/dist/types/react-viewer/helpers/fullScreenObserver.d.ts +9 -0
  38. package/dist/types/react-viewer/helpers/inputs.d.ts +23 -0
  39. package/dist/types/react-viewer/helpers/isolation.d.ts +87 -0
  40. package/dist/types/react-viewer/helpers/loadRequest.d.ts +29 -0
  41. package/dist/types/react-viewer/helpers/requestResult.d.ts +13 -0
  42. package/dist/types/react-viewer/helpers/utils.d.ts +7 -0
  43. package/dist/types/react-viewer/panels/axesPanel.d.ts +20 -0
  44. package/dist/types/react-viewer/panels/contextMenu.d.ts +75 -0
  45. package/dist/types/react-viewer/panels/help.d.ts +15 -0
  46. package/dist/types/react-viewer/panels/icons.d.ts +46 -0
  47. package/dist/types/react-viewer/panels/loadingBox.d.ts +26 -0
  48. package/dist/types/react-viewer/panels/logo.d.ts +5 -0
  49. package/dist/types/react-viewer/panels/messageBox.d.ts +14 -0
  50. package/dist/types/react-viewer/panels/modal.d.ts +18 -0
  51. package/dist/types/react-viewer/panels/overlay.d.ts +10 -0
  52. package/dist/types/react-viewer/panels/performance.d.ts +7 -0
  53. package/dist/types/react-viewer/panels/toast.d.ts +22 -0
  54. package/dist/types/react-viewer/reactViewerIndex.d.ts +8 -0
  55. package/dist/types/react-viewer/settings/menuSettings.d.ts +17 -0
  56. package/dist/types/react-viewer/settings/settings.d.ts +65 -0
  57. package/dist/types/react-viewer/settings/settingsState.d.ts +18 -0
  58. package/dist/types/react-viewer/settings/settingsStorage.d.ts +6 -0
  59. package/dist/types/react-viewer/sidePanel/sidePanel.d.ts +20 -0
  60. package/dist/types/react-viewer/sidePanel/sideState.d.ts +22 -0
  61. package/dist/types/react-viewer/ultra/ultraComponent.d.ts +30 -0
  62. package/dist/types/react-viewer/ultra/ultraErrors.d.ts +3 -0
  63. package/dist/types/react-viewer/urls.d.ts +2 -0
  64. package/dist/types/react-viewer/webgl/viewerState.d.ts +11 -0
  65. package/dist/types/react-viewer/webgl/webglComponent.d.ts +41 -0
  66. package/dist/types/react-viewer/webgl/webglComponentRef.d.ts +99 -0
  67. package/dist/types/react-viewer/webgl/webglLoading.d.ts +67 -0
  68. package/dist/types/ultra-viewer/ultraViewerIndex.d.ts +8 -0
  69. package/dist/types/ultra-viewer/utils/array.d.ts +18 -0
  70. package/dist/types/ultra-viewer/utils/debounce.d.ts +1 -0
  71. package/dist/types/ultra-viewer/utils/deferredPromise.d.ts +8 -0
  72. package/dist/types/ultra-viewer/utils/math3d.d.ts +106 -0
  73. package/dist/types/ultra-viewer/utils/promise.d.ts +21 -0
  74. package/dist/types/ultra-viewer/utils/result.d.ts +11 -0
  75. package/dist/types/ultra-viewer/utils/url.d.ts +8 -0
  76. package/dist/types/ultra-viewer/utils/validation.d.ts +28 -0
  77. package/dist/types/ultra-viewer/viewer/camera.d.ts +118 -0
  78. package/dist/types/ultra-viewer/viewer/color.d.ts +57 -0
  79. package/dist/types/ultra-viewer/viewer/colorManager.d.ts +73 -0
  80. package/dist/types/ultra-viewer/viewer/decoder.d.ts +116 -0
  81. package/dist/types/ultra-viewer/viewer/decoderWithWorker.d.ts +80 -0
  82. package/dist/types/ultra-viewer/viewer/inputs/InputTouch.d.ts +25 -0
  83. package/dist/types/ultra-viewer/viewer/inputs/inputHandler.d.ts +7 -0
  84. package/dist/types/ultra-viewer/viewer/inputs/inputKeyboard.d.ts +20 -0
  85. package/dist/types/ultra-viewer/viewer/inputs/inputMouse.d.ts +21 -0
  86. package/dist/types/ultra-viewer/viewer/inputs/inputs.d.ts +27 -0
  87. package/dist/types/ultra-viewer/viewer/loadRequest.d.ts +36 -0
  88. package/dist/types/ultra-viewer/viewer/logger.d.ts +9 -0
  89. package/dist/types/ultra-viewer/viewer/marshal.d.ts +72 -0
  90. package/dist/types/ultra-viewer/viewer/protocol.d.ts +13 -0
  91. package/dist/types/ultra-viewer/viewer/renderer.d.ts +142 -0
  92. package/dist/types/ultra-viewer/viewer/rpcClient.d.ts +72 -0
  93. package/dist/types/ultra-viewer/viewer/rpcSafeClient.d.ts +382 -0
  94. package/dist/types/ultra-viewer/viewer/selection.d.ts +94 -0
  95. package/dist/types/ultra-viewer/viewer/socketClient.d.ts +141 -0
  96. package/dist/types/ultra-viewer/viewer/streamLogger.d.ts +19 -0
  97. package/dist/types/ultra-viewer/viewer/streamRenderer.d.ts +7 -0
  98. package/dist/types/ultra-viewer/viewer/viewer.d.ts +123 -0
  99. package/dist/types/ultra-viewer/viewer/viewport.d.ts +39 -0
  100. package/dist/types/ultra-viewer/viewer/vim.d.ts +111 -0
  101. package/dist/types/ultra-viewer/viewer/vimCollection.d.ts +43 -0
  102. package/dist/types/vimWebIndex.d.ts +4 -0
  103. package/dist/types/webgl-viewer/images.d.ts +4 -0
  104. package/dist/types/webgl-viewer/index.d.ts +26 -0
  105. package/dist/types/webgl-viewer/utils/boxes.d.ts +5 -0
  106. package/dist/types/webgl-viewer/utils/deferredPromise.d.ts +8 -0
  107. package/dist/types/webgl-viewer/utils/requestResult.d.ts +13 -0
  108. package/dist/types/webgl-viewer/vim-loader/averageBoundingBox.d.ts +6 -0
  109. package/dist/types/webgl-viewer/vim-loader/colorAttributes.d.ts +34 -0
  110. package/dist/types/webgl-viewer/vim-loader/elementMapping.d.ts +113 -0
  111. package/dist/types/webgl-viewer/vim-loader/geometry.d.ts +105 -0
  112. package/dist/types/webgl-viewer/vim-loader/materials/isolationMaterial.d.ts +12 -0
  113. package/dist/types/webgl-viewer/vim-loader/materials/maskMaterial.d.ts +8 -0
  114. package/dist/types/webgl-viewer/vim-loader/materials/mergeMaterial.d.ts +18 -0
  115. package/dist/types/webgl-viewer/vim-loader/materials/outlineMaterial.d.ts +36 -0
  116. package/dist/types/webgl-viewer/vim-loader/materials/simpleMaterial.d.ts +12 -0
  117. package/dist/types/webgl-viewer/vim-loader/materials/skyboxMaterial.d.ts +16 -0
  118. package/dist/types/webgl-viewer/vim-loader/materials/standardMaterial.d.ts +57 -0
  119. package/dist/types/webgl-viewer/vim-loader/materials/transferMaterial.d.ts +8 -0
  120. package/dist/types/webgl-viewer/vim-loader/materials/viewerMaterials.d.ts +158 -0
  121. package/dist/types/webgl-viewer/vim-loader/mesh.d.ts +115 -0
  122. package/dist/types/webgl-viewer/vim-loader/object3D.d.ts +105 -0
  123. package/dist/types/webgl-viewer/vim-loader/objectAttributes.d.ts +19 -0
  124. package/dist/types/webgl-viewer/vim-loader/progressive/g3dOffsets.d.ts +53 -0
  125. package/dist/types/webgl-viewer/vim-loader/progressive/g3dSubset.d.ts +115 -0
  126. package/dist/types/webgl-viewer/vim-loader/progressive/insertableGeometry.d.ts +40 -0
  127. package/dist/types/webgl-viewer/vim-loader/progressive/insertableMesh.d.ts +59 -0
  128. package/dist/types/webgl-viewer/vim-loader/progressive/insertableSubmesh.d.ts +43 -0
  129. package/dist/types/webgl-viewer/vim-loader/progressive/instancedMesh.d.ts +32 -0
  130. package/dist/types/webgl-viewer/vim-loader/progressive/instancedMeshFactory.d.ts +20 -0
  131. package/dist/types/webgl-viewer/vim-loader/progressive/instancedSubmesh.d.ts +31 -0
  132. package/dist/types/webgl-viewer/vim-loader/progressive/legacyMeshFactory.d.ts +23 -0
  133. package/dist/types/webgl-viewer/vim-loader/progressive/loadingSynchronizer.d.ts +27 -0
  134. package/dist/types/webgl-viewer/vim-loader/progressive/open.d.ts +12 -0
  135. package/dist/types/webgl-viewer/vim-loader/progressive/subsetBuilder.d.ts +73 -0
  136. package/dist/types/webgl-viewer/vim-loader/progressive/subsetRequest.d.ts +37 -0
  137. package/dist/types/webgl-viewer/vim-loader/progressive/vimRequest.d.ts +44 -0
  138. package/dist/types/webgl-viewer/vim-loader/progressive/vimx.d.ts +17 -0
  139. package/dist/types/webgl-viewer/vim-loader/scene.d.ts +92 -0
  140. package/dist/types/webgl-viewer/vim-loader/vim.d.ts +157 -0
  141. package/dist/types/webgl-viewer/vim-loader/vimSettings.d.ts +62 -0
  142. package/dist/types/webgl-viewer/vim-webgl-viewer/camera/camera.d.ts +255 -0
  143. package/dist/types/webgl-viewer/vim-webgl-viewer/camera/cameraMovement.d.ts +77 -0
  144. package/dist/types/webgl-viewer/vim-webgl-viewer/camera/cameraMovementLerp.d.ts +28 -0
  145. package/dist/types/webgl-viewer/vim-webgl-viewer/camera/cameraMovementSnap.d.ts +24 -0
  146. package/dist/types/webgl-viewer/vim-webgl-viewer/camera/orthographic.d.ts +12 -0
  147. package/dist/types/webgl-viewer/vim-webgl-viewer/camera/perspective.d.ts +12 -0
  148. package/dist/types/webgl-viewer/vim-webgl-viewer/environment/cameraLight.d.ts +43 -0
  149. package/dist/types/webgl-viewer/vim-webgl-viewer/environment/environment.d.ts +44 -0
  150. package/dist/types/webgl-viewer/vim-webgl-viewer/environment/groundPlane.d.ts +25 -0
  151. package/dist/types/webgl-viewer/vim-webgl-viewer/environment/skybox.d.ts +39 -0
  152. package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/axes/axes.d.ts +14 -0
  153. package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/axes/axesSettings.d.ts +19 -0
  154. package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/axes/gizmoAxes.d.ts +60 -0
  155. package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/gizmoLoading.d.ts +23 -0
  156. package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/gizmoOrbit.d.ts +71 -0
  157. package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/gizmoRectangle.d.ts +51 -0
  158. package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/gizmos.d.ts +50 -0
  159. package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/markers/gizmoMarker.d.ts +64 -0
  160. package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/markers/gizmoMarkers.d.ts +29 -0
  161. package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/measure/measure.d.ts +103 -0
  162. package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/measure/measureFlow.d.ts +36 -0
  163. package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/measure/measureGizmo.d.ts +44 -0
  164. package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/measure/measureHtml.d.ts +26 -0
  165. package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/sectionBox/sectionBox.d.ts +70 -0
  166. package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/sectionBox/sectionBoxGizmo.d.ts +47 -0
  167. package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/sectionBox/sectionBoxInputs.d.ts +39 -0
  168. package/dist/types/webgl-viewer/vim-webgl-viewer/inputs/input.d.ts +128 -0
  169. package/dist/types/webgl-viewer/vim-webgl-viewer/inputs/inputHandler.d.ts +29 -0
  170. package/dist/types/webgl-viewer/vim-webgl-viewer/inputs/keyboard.d.ts +113 -0
  171. package/dist/types/webgl-viewer/vim-webgl-viewer/inputs/mouse.d.ts +66 -0
  172. package/dist/types/webgl-viewer/vim-webgl-viewer/inputs/touch.d.ts +45 -0
  173. package/dist/types/webgl-viewer/vim-webgl-viewer/raycaster.d.ts +89 -0
  174. package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/mergePass.d.ts +16 -0
  175. package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/outlinePass.d.ts +19 -0
  176. package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/renderScene.d.ts +49 -0
  177. package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/renderer.d.ts +125 -0
  178. package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/renderingComposer.d.ts +46 -0
  179. package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/renderingSection.d.ts +36 -0
  180. package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/transferPass.d.ts +15 -0
  181. package/dist/types/webgl-viewer/vim-webgl-viewer/selection.d.ts +90 -0
  182. package/dist/types/webgl-viewer/vim-webgl-viewer/settings/defaultViewerSettings.d.ts +5 -0
  183. package/dist/types/webgl-viewer/vim-webgl-viewer/settings/viewerSettings.d.ts +342 -0
  184. package/dist/types/webgl-viewer/vim-webgl-viewer/settings/viewerSettingsParsing.d.ts +9 -0
  185. package/dist/types/webgl-viewer/vim-webgl-viewer/viewer.d.ts +100 -0
  186. package/dist/types/webgl-viewer/vim-webgl-viewer/viewport.d.ts +73 -0
  187. package/dist/vim-web.css +2029 -0
  188. package/dist/vim-web.iife.js +72763 -0
  189. package/dist/vim-web.iife.js.map +1 -0
  190. package/dist/vim-web.mjs +72746 -0
  191. package/dist/vim-web.mjs.map +1 -0
  192. package/package.json +1 -1
@@ -0,0 +1,9 @@
1
+ import * as BIM from './bimInfoData';
2
+ import { BimInfoPanelRef } from './bimInfoData';
3
+ /**
4
+ * Represents the details of a BIM object.
5
+ */
6
+ export declare function BimBody(props: {
7
+ bimInfoRef: BimInfoPanelRef;
8
+ sections: BIM.Section[];
9
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,77 @@
1
+ import * as VIM from '../../webgl-viewer/index';
2
+ export type Entry = {
3
+ key: string | undefined;
4
+ label: string | undefined;
5
+ value: string | undefined;
6
+ };
7
+ export type Group = {
8
+ key: string | undefined;
9
+ title: string | undefined;
10
+ content: Entry[];
11
+ };
12
+ export type Section = {
13
+ key: string | undefined;
14
+ title: string;
15
+ content: Group[];
16
+ };
17
+ export type Data = {
18
+ header: Entry[] | undefined;
19
+ body: Section[] | undefined;
20
+ };
21
+ /**
22
+ * Data customization function for the BIM info panel.
23
+ * @data The data to customize.
24
+ * @source The VIM.Object or VIM.Vim from which the data was pulled.
25
+ */
26
+ export type DataCustomization = (data: Data, source: VIM.Vim | VIM.Object3D) => Promise<Data>;
27
+ /**
28
+ * Rendering customization function for the BIM info panel.
29
+ * @data The data to render.
30
+ * @standard The standard rendering function for the data.
31
+ */
32
+ export type DataRender<T> = ((props: {
33
+ data: T;
34
+ standard: () => JSX.Element;
35
+ }) => JSX.Element) | undefined;
36
+ /**
37
+ * Reference object for customizing the rendering of the BIM info panel.
38
+ */
39
+ export type BimInfoPanelRef = {
40
+ /**
41
+ * A function that customizes the data before it is rendered in the BIM info panel.
42
+ */
43
+ onData: DataCustomization;
44
+ /**
45
+ * A function that customizes the rendering of the header of the BIM info panel.
46
+ */
47
+ onRenderHeader: DataRender<Entry[]>;
48
+ /**
49
+ * A function that customizes the rendering of each header entry in the BIM info panel.
50
+ */
51
+ onRenderHeaderEntry: DataRender<Entry>;
52
+ /**
53
+ * A function that customizes the rendering of each entry value of the header in the BIM info panel.
54
+ */
55
+ onRenderHeaderEntryValue: DataRender<Entry>;
56
+ /**
57
+ * A function that customizes the rendering for the body section of the BIM info panel.
58
+ */
59
+ onRenderBody: DataRender<Section[]>;
60
+ /**
61
+ * A function that customizes the rendering of each section of the body in the BIM info panel.
62
+ */
63
+ onRenderBodySection: DataRender<Section>;
64
+ /**
65
+ * A function that customizes the rendering of each group of the body in the BIM info panel.
66
+ */
67
+ onRenderBodyGroup: DataRender<Group>;
68
+ /**
69
+ * A function that customizes the rendering for each entry of the body in the BIM info panel.
70
+ */
71
+ onRenderBodyEntry: DataRender<Entry>;
72
+ /**
73
+ * A function that customizes the rendering of each value for a single body entry in the info panel.
74
+ */
75
+ onRenderBodyEntryValue: DataRender<Entry>;
76
+ };
77
+ export declare function createBimInfoState(): BimInfoPanelRef;
@@ -0,0 +1,6 @@
1
+ import * as BIM from './bimInfoData';
2
+ import { BimInfoPanelRef } from './bimInfoData';
3
+ export declare function BimHeader(props: {
4
+ bimInfoRef: BimInfoPanelRef;
5
+ entries: BIM.Entry[];
6
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import * as VIM from '../../webgl-viewer/index';
2
+ import * as BIM from './bimInfoData';
3
+ import { AugmentedElement } from '../helpers/element';
4
+ export declare type ElementParameter = {
5
+ name: string | undefined;
6
+ value: string | undefined;
7
+ group: string | undefined;
8
+ isInstance: boolean;
9
+ };
10
+ export declare function getObjectData(object: VIM.Object3D, elements: AugmentedElement[]): Promise<BIM.Data>;
11
+ export declare function getHeader(info: AugmentedElement | undefined): BIM.Entry[] | undefined;
12
+ export declare function getBody(object: VIM.Object3D): Promise<BIM.Section[]>;
@@ -0,0 +1,10 @@
1
+ import * as VIM from '../../webgl-viewer/index';
2
+ import { AugmentedElement } from '../helpers/element';
3
+ import { BimInfoPanelRef } from './bimInfoData';
4
+ export declare function BimInfoPanel(props: {
5
+ object: VIM.Object3D;
6
+ vim: VIM.Vim;
7
+ elements: AugmentedElement[];
8
+ full: boolean;
9
+ bimInfoRef: BimInfoPanelRef;
10
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import * as VIM from '../../webgl-viewer/index';
2
+ import * as BIM from './bimInfoData';
3
+ export declare function getVimData(vim: VIM.Vim): Promise<BIM.Data>;
4
+ export declare function getHeader(vim: VIM.Vim): Promise<BIM.Entry[]>;
5
+ export declare function getBody(vim: VIM.Vim): Promise<BIM.Section[] | undefined>;
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @module viw-webgl-react
3
+ */
4
+ import React from 'react';
5
+ import * as VIM from '../../webgl-viewer/index';
6
+ import { TreeActionRef } from './bimTree';
7
+ import { Isolation } from '../helpers/isolation';
8
+ import { ComponentCamera } from '../helpers/camera';
9
+ import { ViewerState } from '../webgl/viewerState';
10
+ import { ComponentSettings } from '../settings/settings';
11
+ import { BimInfoPanelRef } from './bimInfoData';
12
+ export declare function OptionalBimPanel(props: {
13
+ viewer: VIM.Viewer;
14
+ camera: ComponentCamera;
15
+ viewerState: ViewerState;
16
+ isolation: Isolation;
17
+ visible: boolean;
18
+ settings: ComponentSettings;
19
+ treeRef: React.MutableRefObject<TreeActionRef | undefined>;
20
+ bimInfoRef: BimInfoPanelRef;
21
+ }): JSX.Element;
22
+ /**
23
+ * Returns a jsx component representing most data of a vim object or vim document.
24
+ * @param viewer viewer helper
25
+ * @param vim Vim from which to get the data.
26
+ * @param selection Current viewer selection.
27
+ * @param isolation Isolation object.
28
+ * @param visible will only render if this is true.
29
+ * @returns
30
+ */
31
+ export declare function BimPanel(props: {
32
+ viewer: VIM.Viewer;
33
+ camera: ComponentCamera;
34
+ viewerState: ViewerState;
35
+ isolation: Isolation;
36
+ visible: boolean;
37
+ settings: ComponentSettings;
38
+ treeRef: React.MutableRefObject<TreeActionRef | undefined>;
39
+ bimInfoRef: BimInfoPanelRef;
40
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @module viw-webgl-react
3
+ */
4
+ import { WebglViewer } from '../../vimWebIndex';
5
+ /**
6
+ * Returns a jsx component of a search bar to search and filter bim data.
7
+ * @param viewer viewer helper.
8
+ * @param filter current search string.
9
+ * @param setFilter callback to set filter
10
+ * @param count current search result count.
11
+ */
12
+ export declare function BimSearch(props: {
13
+ viewer: WebglViewer.Viewer;
14
+ filter: string;
15
+ setFilter: (s: string) => void;
16
+ count: number;
17
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @module viw-webgl-react
3
+ */
4
+ import React from 'react';
5
+ import 'react-complex-tree/lib/style.css';
6
+ import * as VIM from '../../webgl-viewer/index';
7
+ import { ComponentCamera as CameraHelpers } from '../helpers/camera';
8
+ import { Isolation } from '../helpers/isolation';
9
+ import { BimTreeData } from './bimTreeData';
10
+ export type TreeActionRef = {
11
+ showAll: () => void;
12
+ hideAll: () => void;
13
+ collapseAll: () => void;
14
+ selectSiblings: (element: VIM.Object3D) => void;
15
+ };
16
+ /**
17
+ * Treeview component reprentation of current vim document bim data.
18
+ * @param viewer current viewer.
19
+ * @param elements an array with all element bim data.
20
+ * @param objects an array of objects to include in the tree view.
21
+ * @param isolation current isolation state.
22
+ */
23
+ export declare function BimTree(props: {
24
+ actionRef: React.MutableRefObject<TreeActionRef>;
25
+ viewer: VIM.Viewer;
26
+ camera: CameraHelpers;
27
+ objects: VIM.Object3D[];
28
+ isolation: Isolation;
29
+ treeData: BimTreeData;
30
+ }): import("react/jsx-runtime").JSX.Element;
31
+ export declare const isControlKey: (e: React.MouseEvent<any, any>) => boolean;
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @module viw-webgl-react
3
+ */
4
+ import * as VIM from '../../webgl-viewer/index';
5
+ import { TreeItem } from 'react-complex-tree';
6
+ import { MapTree } from '../helpers/data';
7
+ import { AugmentedElement } from '../helpers/element';
8
+ /**
9
+ * Custom visibility CSS classes to avoid clashes with tailwind
10
+ */
11
+ export type NodeVisibility = 'vim-visible' | 'vim-undefined' | 'vim-hidden';
12
+ export type Grouping = 'Family' | 'Level' | 'Workset';
13
+ /**
14
+ * Extension of TreeItem
15
+ */
16
+ export type VimTreeNode = TreeItem<AugmentedElement> & {
17
+ title: string;
18
+ parent: number;
19
+ visible: NodeVisibility;
20
+ };
21
+ /**
22
+ * Returns map-based tree with elements organized hierarchically.
23
+ * @param viewer current viewer.
24
+ * @param elements elements to include in the treeview.
25
+ * @returns
26
+ */
27
+ export declare function toTreeData(vim: VIM.Vim, elements: AugmentedElement[], grouping: Grouping): BimTreeData;
28
+ export declare class BimTreeData {
29
+ nodes: Record<number, VimTreeNode>;
30
+ elementToNode: Map<number, number>;
31
+ constructor(map: MapTree<string, AugmentedElement>);
32
+ updateVisibility(vim: VIM.Vim): void;
33
+ getRange(start: number, end: number): number[];
34
+ getNodeFromElement(element: number): number;
35
+ getLeafs(node: number, result?: number[]): number[];
36
+ getSelection(elements: number[]): number[];
37
+ countPredicate(node: any, predicate: (c: number) => boolean): "all" | "none" | "some";
38
+ getChildren(node: number, includeSelf?: boolean, recursive?: boolean, result?: number[]): number[];
39
+ getParent(node: number): number;
40
+ getSiblings(node: number): number[];
41
+ getAncestors(node: number): number[];
42
+ private flatten;
43
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Compares two strings based on a specified order.
3
+ * @param s1 The first string to compare.
4
+ * @param s2 The second string to compare.
5
+ * @param order Optional. A Map object representing the order of strings.
6
+ * The key is the string value, and the value is the order index.
7
+ * Strings with lower order index come before strings with higher order index.
8
+ * If omitted, strings are compared based on their natural order (localeCompare).
9
+ * @returns A negative number if s1 should come before s2,
10
+ * a positive number if s1 should come after s2,
11
+ * or zero if s1 and s2 are equal.
12
+ */
13
+ export declare function compare(s1: string | undefined, s2: string | undefined, order?: Map<string, number>): number;
@@ -0,0 +1,5 @@
1
+ export declare function createOpenState(): {
2
+ init: (keys: string[]) => void;
3
+ get: (s: string) => boolean;
4
+ set: (group: string, value: boolean) => void;
5
+ };
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @module public-api
3
+ */
4
+ /**
5
+ * Basic HTML structure that the webgl component expects
6
+ */
7
+ export type VimComponentContainer = {
8
+ /**
9
+ * Root of the viewer, all component ui should have this as an acestor.
10
+ */
11
+ root: HTMLElement;
12
+ /**
13
+ * Div where to instantiate ui elements.
14
+ */
15
+ ui: HTMLDivElement;
16
+ /**
17
+ * Div to hold viewer canvases and ui
18
+ */
19
+ gfx: HTMLDivElement;
20
+ dispose: () => void;
21
+ };
22
+ /**
23
+ * Creates a default container for the vim component around a vim viewer
24
+ * The element is created if not provided. The element will be made position:absolute.
25
+ * @element optional HTML element to use as root
26
+ */
27
+ export declare function createContainer(element?: HTMLElement): VimComponentContainer;
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @module viw-webgl-react
3
+ */
4
+ import * as VIM from '../../webgl-viewer/index';
5
+ import { ComponentCamera } from '../helpers/camera';
6
+ import { CursorManager } from '../helpers/cursor';
7
+ import { Isolation } from '../helpers/isolation';
8
+ import { ComponentSettings } from '../settings/settings';
9
+ import { SideState } from '../sidePanel/sideState';
10
+ import { IControlBarSection } from './controlBarSection';
11
+ import { ModalRef } from '../panels/modal';
12
+ export { buttonDefaultStyle, buttonBlueStyle } from './controlBarButton';
13
+ export { sectionDefaultStyle, sectionBlueStyle } from './controlBarSection';
14
+ /**
15
+ * A map function that changes the context menu.
16
+ */
17
+ export type ControlBarCustomization = (e: IControlBarSection[]) => IControlBarSection[];
18
+ export declare const elementIds: {
19
+ sectionCamera: string;
20
+ sectionTools: string;
21
+ sectionSettings: string;
22
+ sectionMeasure: string;
23
+ sectionSectionBox: string;
24
+ buttonCameraOrbit: string;
25
+ buttonCameraLook: string;
26
+ buttonCameraPan: string;
27
+ buttonCameraZoom: string;
28
+ buttonCameraZoomWindow: string;
29
+ buttonCameraZoomToFit: string;
30
+ buttonProjectInspector: string;
31
+ buttonSettings: string;
32
+ buttonHelp: string;
33
+ buttonMaximize: string;
34
+ buttonSectionBox: string;
35
+ buttonMeasure: string;
36
+ buttonToggleIsolation: string;
37
+ buttonMeasureDelete: string;
38
+ buttonMeasureDone: string;
39
+ buttonSectionBoxReset: string;
40
+ buttonSectionBoxShrinkToSelection: string;
41
+ buttonSectionBoxClip: string;
42
+ buttonSectionBoxIgnore: string;
43
+ buttonSectionBoxDone: string;
44
+ };
45
+ /**
46
+ * JSX Component for the control bar.
47
+ */
48
+ export declare function ControlBar(props: {
49
+ viewer: VIM.Viewer;
50
+ camera: ComponentCamera;
51
+ modal: ModalRef;
52
+ side: SideState;
53
+ isolation: Isolation;
54
+ cursor: CursorManager;
55
+ settings: ComponentSettings;
56
+ customization: ControlBarCustomization | undefined;
57
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,17 @@
1
+ export declare function buttonDefaultStyle(on: boolean): string;
2
+ export declare function buttonBlueStyle(on: boolean): string;
3
+ export interface IControlBarButtonItem {
4
+ id: string;
5
+ enabled?: (() => boolean) | undefined;
6
+ tip: string;
7
+ action: () => void;
8
+ icon: ({ height, width, fill, className }: {
9
+ height: any;
10
+ width: any;
11
+ fill: any;
12
+ className: any;
13
+ }) => JSX.Element;
14
+ isOn?: () => boolean;
15
+ style: (on: boolean) => string;
16
+ }
17
+ export declare function createButton(button: IControlBarButtonItem): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import * as VIM from '../../webgl-viewer/index';
2
+ export declare function getControlBarCommands(viewer: VIM.Viewer): {
3
+ toggleSectionBox: (viewer: VIM.Viewer) => void;
4
+ };
@@ -0,0 +1,10 @@
1
+ import { IControlBarButtonItem } from './controlBarButton';
2
+ export declare const sectionDefaultStyle: string;
3
+ export declare const sectionBlueStyle: string;
4
+ export interface IControlBarSection {
5
+ id: string;
6
+ enable?: (() => boolean) | undefined;
7
+ buttons: IControlBarButtonItem[];
8
+ style: string;
9
+ }
10
+ export declare function createSection(section: IControlBarSection): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export declare function getFullScreenState(): {
2
+ get: () => boolean;
3
+ toggle: () => void;
4
+ };
@@ -0,0 +1,7 @@
1
+ import * as VIM from '../../webgl-viewer/index';
2
+ import { CursorManager } from '../helpers/cursor';
3
+ export declare function getMeasureState(viewer: VIM.Viewer, cursor: CursorManager): {
4
+ active: boolean;
5
+ toggle: () => void;
6
+ clear: () => void;
7
+ };
@@ -0,0 +1,6 @@
1
+ import * as VIM from '../../webgl-viewer/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;
6
+ };
@@ -0,0 +1,5 @@
1
+ import { SideState } from '../sidePanel/sideState';
2
+ export declare function RestOfScreen(props: {
3
+ side: SideState;
4
+ content: () => JSX.Element;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,15 @@
1
+ import * as VIM from '../../webgl-viewer/index';
2
+ export type SectionState = {
3
+ clip: boolean;
4
+ active: boolean;
5
+ };
6
+ export declare function getSectionBoxState(viewer: VIM.Viewer): {
7
+ clip: boolean;
8
+ active: boolean;
9
+ set: import("react").Dispatch<import("react").SetStateAction<SectionState>>;
10
+ toggle: () => void;
11
+ hide: () => void;
12
+ reset: () => void;
13
+ shrinkToSelection: () => void;
14
+ toggleClip: () => void;
15
+ };
@@ -0,0 +1,15 @@
1
+ export declare const vcColorPrimary = "vc-text-[#212733]";
2
+ export declare const vcColorSecondary = "vc-text-[#787C83]";
3
+ export declare const vcColorLink = "vc-text-[#0590CC]";
4
+ export declare const vcLink = "vc-text-[#0590CC] vc-underline";
5
+ export declare const vcLabel = "vc-text-[#3F444F]";
6
+ export declare const vcRoboto = "vc-font-['Roboto',sans-serif]";
7
+ export declare function footer(url: string): import("react/jsx-runtime").JSX.Element;
8
+ export declare function mainText(text: JSX.Element): import("react/jsx-runtime").JSX.Element;
9
+ export declare function detailText(text: string): import("react/jsx-runtime").JSX.Element;
10
+ export declare function bold(text: string): import("react/jsx-runtime").JSX.Element;
11
+ export declare function subTitle(title: string): import("react/jsx-runtime").JSX.Element;
12
+ export declare function dotList(elements: (JSX.Element | string)[]): import("react/jsx-runtime").JSX.Element;
13
+ export declare function numList(elements: (JSX.Element | string)[]): import("react/jsx-runtime").JSX.Element;
14
+ export declare function bullet(label: string, value: string): import("react/jsx-runtime").JSX.Element;
15
+ export declare function link(url: string, text: string): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export declare function isLocalUrl(url: string): boolean;
2
+ export declare function isFilePathOrUri(input: string): boolean;
@@ -0,0 +1,5 @@
1
+ export { fileOpeningError } from './fileOpeningError';
2
+ export { fileDownloadingError as serverFileDownloadingError } from './fileDownloadingError';
3
+ export { serverFileLoadingError } from './fileLoadingError';
4
+ export { serverConnectionError } from './serverConnectionError';
5
+ export { serverCompatibilityError } from './serverCompatibilityError';
@@ -0,0 +1,2 @@
1
+ import { MessageBoxProps } from '../panels/messageBox';
2
+ export declare function fileDownloadingError(url: string, server?: string): MessageBoxProps;
@@ -0,0 +1,2 @@
1
+ import { MessageBoxProps } from '../panels/messageBox';
2
+ export declare function serverFileLoadingError(url: string): MessageBoxProps;
@@ -0,0 +1,2 @@
1
+ import { MessageBoxProps } from '../panels/messageBox';
2
+ export declare function fileOpeningError(url: string): MessageBoxProps;
@@ -0,0 +1,2 @@
1
+ import { MessageBoxProps } from '../panels/messageBox';
2
+ export declare function serverCompatibilityError(url: string, localVersion: string, remoteVersion: string): MessageBoxProps;
@@ -0,0 +1,2 @@
1
+ import { MessageBoxProps } from '../panels/messageBox';
2
+ export declare function serverConnectionError(url: string): MessageBoxProps;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @module viw-webgl-react
3
+ */
4
+ import * as VIM from '../../webgl-viewer/index';
5
+ /**
6
+ * Wraps the webgl viewer and provide higher level methods
7
+ */
8
+ export declare class ComponentCamera {
9
+ private _viewer;
10
+ constructor(viewer: VIM.Viewer);
11
+ /**
12
+ * Resets the camera to its initial position.
13
+ */
14
+ reset(): void;
15
+ /**
16
+ * Frames selected elements if there is an active selection; otherwise, frames all visible objects.
17
+ * @param duration Optional duration of the camera movement animation (default: 1).
18
+ */
19
+ frameContext(duration?: number): void;
20
+ /**
21
+ * Frames selected elements if there is an active selection; otherwise, does nothing.
22
+ * @param duration Optional duration of the camera movement animation (default: 1).
23
+ */
24
+ frameSelection(duration?: number): void;
25
+ /**
26
+ * Frames all visible objects in the scene.
27
+ * @param source Optional VIM to specify the source of objects to frame.
28
+ * @param duration Duration of the camera movement animation (default: 1).
29
+ */
30
+ frameVisibleObjects(source?: VIM.Vim, duration?: number): void;
31
+ /**
32
+ * Returns the bounding box of all visible objects.
33
+ * @param source Optional VIM to specify the source of visible objects.
34
+ * @returns The bounding box of all visible objects.
35
+ */
36
+ getVisibleBoundingBox(source?: VIM.Vim): VIM.THREE.Box3;
37
+ }
@@ -0,0 +1,8 @@
1
+ import * as VIM from '../../webgl-viewer/index';
2
+ export declare class CameraObserver {
3
+ onChange: ((moving: boolean) => void) | undefined;
4
+ private _timeOut;
5
+ private _sub;
6
+ constructor(viewer: VIM.Viewer, delay: number);
7
+ dispose(): void;
8
+ }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @module viw-webgl-react
3
+ */
4
+ import * as VIM from '../../webgl-viewer/index';
5
+ /**
6
+ * Css classes for custom cursors.
7
+ */
8
+ export type Cursor = 'cursor-regular' | 'cursor-orbit' | 'cursor-look' | 'cursor-pan' | 'cursor-zoom' | 'cursor-rect' | 'cursor-measure' | 'cursor-section-box';
9
+ /**
10
+ * Maps between viewer pointers and cursor css classes
11
+ */
12
+ export declare function pointerToCursor(pointer: VIM.PointerMode): Cursor;
13
+ /**
14
+ * Listens to the vim viewer and updates css cursors classes on the canvas accordingly.
15
+ */
16
+ export declare class CursorManager {
17
+ private _viewer;
18
+ private cursor;
19
+ private _boxHover;
20
+ private _subscriptions;
21
+ constructor(viewer: VIM.Viewer);
22
+ /**
23
+ * Register to viewer events
24
+ */
25
+ register(): void;
26
+ /**
27
+ * Unregister from viewer events
28
+ */
29
+ unregister(): void;
30
+ /**
31
+ * Set a specific cursor.
32
+ */
33
+ setCursor: (value: Cursor) => void;
34
+ private _updateCursor;
35
+ }
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @module viw-webgl-react
3
+ */
4
+ /**
5
+ * Recursive Tree implemented as a recursive map.
6
+ */
7
+ export type MapTree<K, V> = Map<K, V[] | MapTree<K, V>>;
8
+ /**
9
+ * Returns true if both argument are null or pair-wise equal.
10
+ */
11
+ export declare function ArrayEquals<T>(first: T[], second: T[]): boolean;
12
+ /**
13
+ * Creates N-level grouping of items using given grouping selector in the order provided.
14
+ * @param items array of items to groups
15
+ * @param grouping array of selectors
16
+ * @returns a Map of Map ... of Map<string, item> with the first map containing a single element called root.
17
+ */
18
+ export declare function toMapTree<V>(items: V[], grouping: ((v: V) => string)[]): MapTree<string, V>;
19
+ /**
20
+ * groups elements of an array into a map using values returned by selector.
21
+ * Intended to work as Linq.GroupBy
22
+ */
23
+ export declare function groupBy<K, V>(array: V[], selector: (o: V) => K): Map<K, V[]>;
24
+ /**
25
+ * Takes a N-deep Map tree and reinsert all element in sorted order.
26
+ */
27
+ export declare function sort<K, V>(map: MapTree<K, V>): void;
@@ -0,0 +1,8 @@
1
+ export declare class DeferredPromise<T> extends Promise<T> {
2
+ resolve: (value: T | PromiseLike<T>) => void;
3
+ reject: (reason: T | Error) => void;
4
+ initialCallStack: Error['stack'];
5
+ constructor(executor?: ConstructorParameters<typeof Promise<T>>[0]);
6
+ /** @throws error with amended call stack */
7
+ rejectWithError(error: Error): void;
8
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @module viw-webgl-react
3
+ */
4
+ import * as VIM from '../../webgl-viewer/index';
5
+ import * as BIM from 'vim-format';
6
+ export type AugmentedElement = BIM.IElement & {
7
+ bimDocumentName: string;
8
+ categoryName: string;
9
+ familyTypeName: string;
10
+ levelName: string;
11
+ worksetName: string;
12
+ };
13
+ export declare function getElements(vim: VIM.Vim): Promise<AugmentedElement[]>;
@@ -0,0 +1,9 @@
1
+ export declare class FullScreenObserver {
2
+ onFullScreenChange: ((value: boolean) => void) | undefined;
3
+ private fullScreen;
4
+ private timeout;
5
+ constructor();
6
+ isFullScreen(): boolean;
7
+ private loop;
8
+ dispose(): void;
9
+ }