vim-web 0.3.23 → 0.3.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/types/react-viewer/bim/bimInfoBody.d.ts +9 -0
- package/dist/types/react-viewer/bim/bimInfoData.d.ts +77 -0
- package/dist/types/react-viewer/bim/bimInfoHeader.d.ts +6 -0
- package/dist/types/react-viewer/bim/bimInfoObject.d.ts +12 -0
- package/dist/types/react-viewer/bim/bimInfoPanel.d.ts +10 -0
- package/dist/types/react-viewer/bim/bimInfoVim.d.ts +5 -0
- package/dist/types/react-viewer/bim/bimPanel.d.ts +40 -0
- package/dist/types/react-viewer/bim/bimSearch.d.ts +17 -0
- package/dist/types/react-viewer/bim/bimTree.d.ts +31 -0
- package/dist/types/react-viewer/bim/bimTreeData.d.ts +43 -0
- package/dist/types/react-viewer/bim/bimUtils.d.ts +13 -0
- package/dist/types/react-viewer/bim/openState.d.ts +5 -0
- package/dist/types/react-viewer/container.d.ts +27 -0
- package/dist/types/react-viewer/controlbar/controlBar.d.ts +57 -0
- package/dist/types/react-viewer/controlbar/controlBarButton.d.ts +17 -0
- package/dist/types/react-viewer/controlbar/controlBarCommands.d.ts +4 -0
- package/dist/types/react-viewer/controlbar/controlBarSection.d.ts +10 -0
- package/dist/types/react-viewer/controlbar/fullScreenState.d.ts +4 -0
- package/dist/types/react-viewer/controlbar/measureState.d.ts +7 -0
- package/dist/types/react-viewer/controlbar/pointerState.d.ts +6 -0
- package/dist/types/react-viewer/controlbar/restOfScreen.d.ts +5 -0
- package/dist/types/react-viewer/controlbar/sectionBoxState.d.ts +15 -0
- package/dist/types/react-viewer/errors/errorStyle.d.ts +15 -0
- package/dist/types/react-viewer/errors/errorUtils.d.ts +2 -0
- package/dist/types/react-viewer/errors/errors.d.ts +5 -0
- package/dist/types/react-viewer/errors/fileDownloadingError.d.ts +2 -0
- package/dist/types/react-viewer/errors/fileLoadingError.d.ts +2 -0
- package/dist/types/react-viewer/errors/fileOpeningError.d.ts +2 -0
- package/dist/types/react-viewer/errors/serverCompatibilityError.d.ts +2 -0
- package/dist/types/react-viewer/errors/serverConnectionError.d.ts +2 -0
- package/dist/types/react-viewer/helpers/camera.d.ts +37 -0
- package/dist/types/react-viewer/helpers/cameraObserver.d.ts +8 -0
- package/dist/types/react-viewer/helpers/cursor.d.ts +35 -0
- package/dist/types/react-viewer/helpers/data.d.ts +27 -0
- package/dist/types/react-viewer/helpers/deferredPromise.d.ts +8 -0
- package/dist/types/react-viewer/helpers/element.d.ts +13 -0
- package/dist/types/react-viewer/helpers/fullScreenObserver.d.ts +9 -0
- package/dist/types/react-viewer/helpers/inputs.d.ts +23 -0
- package/dist/types/react-viewer/helpers/isolation.d.ts +87 -0
- package/dist/types/react-viewer/helpers/loadRequest.d.ts +29 -0
- package/dist/types/react-viewer/helpers/requestResult.d.ts +13 -0
- package/dist/types/react-viewer/helpers/utils.d.ts +7 -0
- package/dist/types/react-viewer/panels/axesPanel.d.ts +20 -0
- package/dist/types/react-viewer/panels/contextMenu.d.ts +75 -0
- package/dist/types/react-viewer/panels/help.d.ts +15 -0
- package/dist/types/react-viewer/panels/icons.d.ts +46 -0
- package/dist/types/react-viewer/panels/loadingBox.d.ts +26 -0
- package/dist/types/react-viewer/panels/logo.d.ts +5 -0
- package/dist/types/react-viewer/panels/messageBox.d.ts +14 -0
- package/dist/types/react-viewer/panels/modal.d.ts +18 -0
- package/dist/types/react-viewer/panels/overlay.d.ts +10 -0
- package/dist/types/react-viewer/panels/performance.d.ts +7 -0
- package/dist/types/react-viewer/panels/toast.d.ts +22 -0
- package/dist/types/react-viewer/reactViewerIndex.d.ts +8 -0
- package/dist/types/react-viewer/settings/menuSettings.d.ts +17 -0
- package/dist/types/react-viewer/settings/settings.d.ts +65 -0
- package/dist/types/react-viewer/settings/settingsState.d.ts +18 -0
- package/dist/types/react-viewer/settings/settingsStorage.d.ts +6 -0
- package/dist/types/react-viewer/sidePanel/sidePanel.d.ts +20 -0
- package/dist/types/react-viewer/sidePanel/sideState.d.ts +22 -0
- package/dist/types/react-viewer/ultra/ultraComponent.d.ts +30 -0
- package/dist/types/react-viewer/ultra/ultraErrors.d.ts +3 -0
- package/dist/types/react-viewer/urls.d.ts +2 -0
- package/dist/types/react-viewer/webgl/viewerState.d.ts +11 -0
- package/dist/types/react-viewer/webgl/webglComponent.d.ts +41 -0
- package/dist/types/react-viewer/webgl/webglComponentRef.d.ts +99 -0
- package/dist/types/react-viewer/webgl/webglLoading.d.ts +67 -0
- package/dist/types/ultra-viewer/ultraViewerIndex.d.ts +8 -0
- package/dist/types/ultra-viewer/utils/array.d.ts +18 -0
- package/dist/types/ultra-viewer/utils/debounce.d.ts +1 -0
- package/dist/types/ultra-viewer/utils/deferredPromise.d.ts +8 -0
- package/dist/types/ultra-viewer/utils/math3d.d.ts +106 -0
- package/dist/types/ultra-viewer/utils/promise.d.ts +21 -0
- package/dist/types/ultra-viewer/utils/result.d.ts +11 -0
- package/dist/types/ultra-viewer/utils/url.d.ts +8 -0
- package/dist/types/ultra-viewer/utils/validation.d.ts +28 -0
- package/dist/types/ultra-viewer/viewer/camera.d.ts +118 -0
- package/dist/types/ultra-viewer/viewer/color.d.ts +57 -0
- package/dist/types/ultra-viewer/viewer/colorManager.d.ts +73 -0
- package/dist/types/ultra-viewer/viewer/decoder.d.ts +116 -0
- package/dist/types/ultra-viewer/viewer/decoderWithWorker.d.ts +80 -0
- package/dist/types/ultra-viewer/viewer/inputs/InputTouch.d.ts +25 -0
- package/dist/types/ultra-viewer/viewer/inputs/inputHandler.d.ts +7 -0
- package/dist/types/ultra-viewer/viewer/inputs/inputKeyboard.d.ts +20 -0
- package/dist/types/ultra-viewer/viewer/inputs/inputMouse.d.ts +21 -0
- package/dist/types/ultra-viewer/viewer/inputs/inputs.d.ts +27 -0
- package/dist/types/ultra-viewer/viewer/loadRequest.d.ts +36 -0
- package/dist/types/ultra-viewer/viewer/logger.d.ts +9 -0
- package/dist/types/ultra-viewer/viewer/marshal.d.ts +72 -0
- package/dist/types/ultra-viewer/viewer/protocol.d.ts +13 -0
- package/dist/types/ultra-viewer/viewer/renderer.d.ts +142 -0
- package/dist/types/ultra-viewer/viewer/rpcClient.d.ts +72 -0
- package/dist/types/ultra-viewer/viewer/rpcSafeClient.d.ts +382 -0
- package/dist/types/ultra-viewer/viewer/selection.d.ts +94 -0
- package/dist/types/ultra-viewer/viewer/socketClient.d.ts +141 -0
- package/dist/types/ultra-viewer/viewer/streamLogger.d.ts +19 -0
- package/dist/types/ultra-viewer/viewer/streamRenderer.d.ts +7 -0
- package/dist/types/ultra-viewer/viewer/viewer.d.ts +123 -0
- package/dist/types/ultra-viewer/viewer/viewport.d.ts +39 -0
- package/dist/types/ultra-viewer/viewer/vim.d.ts +111 -0
- package/dist/types/ultra-viewer/viewer/vimCollection.d.ts +43 -0
- package/dist/types/vimWebIndex.d.ts +4 -0
- package/dist/types/webgl-viewer/images.d.ts +4 -0
- package/dist/types/webgl-viewer/index.d.ts +26 -0
- package/dist/types/webgl-viewer/utils/boxes.d.ts +5 -0
- package/dist/types/webgl-viewer/utils/deferredPromise.d.ts +8 -0
- package/dist/types/webgl-viewer/utils/requestResult.d.ts +13 -0
- package/dist/types/webgl-viewer/vim-loader/averageBoundingBox.d.ts +6 -0
- package/dist/types/webgl-viewer/vim-loader/colorAttributes.d.ts +34 -0
- package/dist/types/webgl-viewer/vim-loader/elementMapping.d.ts +113 -0
- package/dist/types/webgl-viewer/vim-loader/geometry.d.ts +105 -0
- package/dist/types/webgl-viewer/vim-loader/materials/isolationMaterial.d.ts +12 -0
- package/dist/types/webgl-viewer/vim-loader/materials/maskMaterial.d.ts +8 -0
- package/dist/types/webgl-viewer/vim-loader/materials/mergeMaterial.d.ts +18 -0
- package/dist/types/webgl-viewer/vim-loader/materials/outlineMaterial.d.ts +36 -0
- package/dist/types/webgl-viewer/vim-loader/materials/simpleMaterial.d.ts +12 -0
- package/dist/types/webgl-viewer/vim-loader/materials/skyboxMaterial.d.ts +16 -0
- package/dist/types/webgl-viewer/vim-loader/materials/standardMaterial.d.ts +57 -0
- package/dist/types/webgl-viewer/vim-loader/materials/transferMaterial.d.ts +8 -0
- package/dist/types/webgl-viewer/vim-loader/materials/viewerMaterials.d.ts +158 -0
- package/dist/types/webgl-viewer/vim-loader/mesh.d.ts +115 -0
- package/dist/types/webgl-viewer/vim-loader/object3D.d.ts +105 -0
- package/dist/types/webgl-viewer/vim-loader/objectAttributes.d.ts +19 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/g3dOffsets.d.ts +53 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/g3dSubset.d.ts +115 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/insertableGeometry.d.ts +40 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/insertableMesh.d.ts +59 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/insertableSubmesh.d.ts +43 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/instancedMesh.d.ts +32 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/instancedMeshFactory.d.ts +20 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/instancedSubmesh.d.ts +31 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/legacyMeshFactory.d.ts +23 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/loadingSynchronizer.d.ts +27 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/open.d.ts +12 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/subsetBuilder.d.ts +73 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/subsetRequest.d.ts +37 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/vimRequest.d.ts +44 -0
- package/dist/types/webgl-viewer/vim-loader/progressive/vimx.d.ts +17 -0
- package/dist/types/webgl-viewer/vim-loader/scene.d.ts +92 -0
- package/dist/types/webgl-viewer/vim-loader/vim.d.ts +157 -0
- package/dist/types/webgl-viewer/vim-loader/vimSettings.d.ts +62 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/camera/camera.d.ts +255 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/camera/cameraMovement.d.ts +77 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/camera/cameraMovementLerp.d.ts +28 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/camera/cameraMovementSnap.d.ts +24 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/camera/orthographic.d.ts +12 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/camera/perspective.d.ts +12 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/environment/cameraLight.d.ts +43 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/environment/environment.d.ts +44 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/environment/groundPlane.d.ts +25 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/environment/skybox.d.ts +39 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/axes/axes.d.ts +14 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/axes/axesSettings.d.ts +19 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/axes/gizmoAxes.d.ts +60 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/gizmoLoading.d.ts +23 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/gizmoOrbit.d.ts +71 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/gizmoRectangle.d.ts +51 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/gizmos.d.ts +50 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/markers/gizmoMarker.d.ts +64 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/markers/gizmoMarkers.d.ts +29 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/measure/measure.d.ts +103 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/measure/measureFlow.d.ts +36 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/measure/measureGizmo.d.ts +44 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/measure/measureHtml.d.ts +26 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/sectionBox/sectionBox.d.ts +70 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/sectionBox/sectionBoxGizmo.d.ts +47 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/gizmos/sectionBox/sectionBoxInputs.d.ts +39 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/inputs/input.d.ts +128 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/inputs/inputHandler.d.ts +29 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/inputs/keyboard.d.ts +113 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/inputs/mouse.d.ts +66 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/inputs/touch.d.ts +45 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/raycaster.d.ts +89 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/mergePass.d.ts +16 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/outlinePass.d.ts +19 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/renderScene.d.ts +49 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/renderer.d.ts +125 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/renderingComposer.d.ts +46 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/renderingSection.d.ts +36 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/rendering/transferPass.d.ts +15 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/selection.d.ts +90 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/settings/defaultViewerSettings.d.ts +5 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/settings/viewerSettings.d.ts +342 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/settings/viewerSettingsParsing.d.ts +9 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/viewer.d.ts +100 -0
- package/dist/types/webgl-viewer/vim-webgl-viewer/viewport.d.ts +73 -0
- package/dist/vim-web.css +2029 -0
- package/dist/vim-web.iife.js +72763 -0
- package/dist/vim-web.iife.js.map +1 -0
- package/dist/vim-web.mjs +72746 -0
- package/dist/vim-web.mjs.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module viw-webgl-react
|
|
3
|
+
*/
|
|
4
|
+
import * as VIM from '../../webgl-viewer/index';
|
|
5
|
+
import { SideState } from '../sidePanel/sideState';
|
|
6
|
+
import { Isolation } from './isolation';
|
|
7
|
+
import { ComponentCamera } from './camera';
|
|
8
|
+
/**
|
|
9
|
+
* Custom viewer input scheme for the vim component
|
|
10
|
+
*/
|
|
11
|
+
export declare class ComponentInputs implements VIM.InputScheme {
|
|
12
|
+
private _viewer;
|
|
13
|
+
private _camera;
|
|
14
|
+
private _default;
|
|
15
|
+
private _isolation;
|
|
16
|
+
private _sideState;
|
|
17
|
+
private _help;
|
|
18
|
+
constructor(viewer: VIM.Viewer, camera: ComponentCamera, isolation: Isolation, sideState: SideState);
|
|
19
|
+
private _getSelection;
|
|
20
|
+
onMainAction(hit: VIM.InputAction): void;
|
|
21
|
+
onIdleAction(hit: VIM.InputAction): void;
|
|
22
|
+
onKeyAction(key: number): boolean;
|
|
23
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module viw-webgl-react
|
|
3
|
+
*/
|
|
4
|
+
import * as VIM from '../../webgl-viewer/index';
|
|
5
|
+
import { ComponentSettings } from '../settings/settings';
|
|
6
|
+
import { ComponentCamera } from './camera';
|
|
7
|
+
/**
|
|
8
|
+
* Manages the isolation mechanic in the vim component.
|
|
9
|
+
*/
|
|
10
|
+
export declare class Isolation {
|
|
11
|
+
private _viewer;
|
|
12
|
+
private _settings;
|
|
13
|
+
private _isolation;
|
|
14
|
+
private _lastIsolation;
|
|
15
|
+
private _camera;
|
|
16
|
+
private _references;
|
|
17
|
+
private _onChanged;
|
|
18
|
+
/** Signal dispatched when the isolation set changes. */
|
|
19
|
+
get onChanged(): import("ste-simple-events").ISimpleEvent<string>;
|
|
20
|
+
constructor(viewer: VIM.Viewer, camera: ComponentCamera, settings: ComponentSettings);
|
|
21
|
+
/**
|
|
22
|
+
* Applies relevant settings to isolation.
|
|
23
|
+
* @param settings The settings to be applied to isolation.
|
|
24
|
+
*/
|
|
25
|
+
applySettings(settings: ComponentSettings): void;
|
|
26
|
+
/**
|
|
27
|
+
* Sets the reference objects for a given VIM.
|
|
28
|
+
* @param vim The VIM for which reference objects are being set.
|
|
29
|
+
* @param reference An array of reference objects or the string 'always' to indicate permanent reference.
|
|
30
|
+
*/
|
|
31
|
+
setReference(vim: VIM.Vim, reference: VIM.Object3D[] | 'always'): void;
|
|
32
|
+
/**
|
|
33
|
+
* Retrieves the reference objects set for a given VIM.
|
|
34
|
+
* @param vim The VIM for which reference objects are being retrieved.
|
|
35
|
+
* @returns The reference objects set for the specified VIM.
|
|
36
|
+
*/
|
|
37
|
+
getReference(vim: VIM.Vim): Set<VIM.Object3D> | "always";
|
|
38
|
+
/**
|
|
39
|
+
* Clears all reference objects set for VIMs.
|
|
40
|
+
*/
|
|
41
|
+
clearReferences(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Returns true if there are currently objects isolated.
|
|
44
|
+
* @returns True if there are currently objects isolated; otherwise, false.
|
|
45
|
+
*/
|
|
46
|
+
any(): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Returns the current array of isolated objects.
|
|
49
|
+
* @returns The array of objects currently isolated, or undefined if no objects are isolated.
|
|
50
|
+
*/
|
|
51
|
+
current(): VIM.Object3D[];
|
|
52
|
+
/**
|
|
53
|
+
* Isolates the objects in the given array and shows the rest as ghost.
|
|
54
|
+
* @param objects An array of objects to isolate.
|
|
55
|
+
* @param source The source of isolation.
|
|
56
|
+
* @returns True if isolation occurs; otherwise, false.
|
|
57
|
+
*/
|
|
58
|
+
isolate(objects: VIM.Object3D[], source: string): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Toggles current isolation based on selection.
|
|
61
|
+
* @param source The source of isolation.
|
|
62
|
+
*/
|
|
63
|
+
toggleIsolation(source: string): void;
|
|
64
|
+
/**
|
|
65
|
+
* Removes the given objects from the isolation set.
|
|
66
|
+
* @param objects An array of objects to be removed from isolation.
|
|
67
|
+
* @param source The source of the removal operation.
|
|
68
|
+
*/
|
|
69
|
+
hide(objects: VIM.Object3D[], source: string): void;
|
|
70
|
+
/**
|
|
71
|
+
* Adds the given objects to the isolation set.
|
|
72
|
+
* @param objects An array of objects to be added to isolation.
|
|
73
|
+
* @param source The source of the addition operation.
|
|
74
|
+
*/
|
|
75
|
+
show(objects: VIM.Object3D[], source: string): void;
|
|
76
|
+
/**
|
|
77
|
+
* Clears the current isolation.
|
|
78
|
+
* @param source The source of the isolation clearing operation.
|
|
79
|
+
*/
|
|
80
|
+
clear(source: string): void;
|
|
81
|
+
/**
|
|
82
|
+
* Show all objects and quit isolation mode.
|
|
83
|
+
*/
|
|
84
|
+
private _showAll;
|
|
85
|
+
getMaterial(settings: ComponentSettings, isolate: boolean): VIM.THREE.Material;
|
|
86
|
+
private _isolate;
|
|
87
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as VIM from '../../webgl-viewer/index';
|
|
2
|
+
import { LoadingError } from '../webgl/webglLoading';
|
|
3
|
+
type RequestCallbacks = {
|
|
4
|
+
onProgress: (p: VIM.IProgressLogs) => void;
|
|
5
|
+
onError: (e: LoadingError) => void;
|
|
6
|
+
onDone: () => void;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Class to handle loading a request.
|
|
10
|
+
*/
|
|
11
|
+
export declare class LoadRequest {
|
|
12
|
+
readonly source: any;
|
|
13
|
+
private _callbacks;
|
|
14
|
+
private _request;
|
|
15
|
+
private _progress;
|
|
16
|
+
private _progressPromise;
|
|
17
|
+
private _isDone;
|
|
18
|
+
private _completionPromise;
|
|
19
|
+
constructor(callbacks: RequestCallbacks, source: VIM.RequestSource, settings: VIM.VimPartialSettings);
|
|
20
|
+
private startRequest;
|
|
21
|
+
private onProgress;
|
|
22
|
+
private onSuccess;
|
|
23
|
+
private onError;
|
|
24
|
+
private end;
|
|
25
|
+
getProgress(): AsyncGenerator<VIM.IProgressLogs, void, void>;
|
|
26
|
+
getResult(): Promise<import("../../webgl-viewer/utils/requestResult").RequestResult<VIM.Vim>>;
|
|
27
|
+
abort(): void;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare class SuccessResult<T> {
|
|
2
|
+
result: T;
|
|
3
|
+
constructor(result: T);
|
|
4
|
+
isSuccess(): true;
|
|
5
|
+
isError(): false;
|
|
6
|
+
}
|
|
7
|
+
export declare class ErrorResult {
|
|
8
|
+
error: string;
|
|
9
|
+
constructor(error: string);
|
|
10
|
+
isSuccess(): false;
|
|
11
|
+
isError(): this is ErrorResult;
|
|
12
|
+
}
|
|
13
|
+
export type RequestResult<T> = SuccessResult<T> | ErrorResult;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { UserBoolean } from '../settings/settings';
|
|
2
|
+
export declare function whenTrue(value: UserBoolean | boolean, element: JSX.Element): JSX.Element;
|
|
3
|
+
export declare function whenFalse(value: UserBoolean | boolean, element: JSX.Element): JSX.Element;
|
|
4
|
+
export declare function whenAllTrue(value: (UserBoolean | boolean)[], element: JSX.Element): JSX.Element;
|
|
5
|
+
export declare function whenAllFalse(value: (UserBoolean | boolean)[], element: JSX.Element): JSX.Element;
|
|
6
|
+
export declare function whenSomeTrue(value: (UserBoolean | boolean)[], element: JSX.Element): JSX.Element;
|
|
7
|
+
export declare function whenSomeFalse(value: (UserBoolean | boolean)[], element: JSX.Element): JSX.Element;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module viw-webgl-react
|
|
3
|
+
*/
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { ComponentCamera } from '../helpers/camera';
|
|
6
|
+
import { SettingsState } from '../settings/settingsState';
|
|
7
|
+
import { VIM } from '../webgl/webglComponent';
|
|
8
|
+
/**
|
|
9
|
+
* Memoized version of the AxesPanelMemo.
|
|
10
|
+
*/
|
|
11
|
+
export declare const AxesPanelMemo: React.MemoExoticComponent<typeof AxesPanel>;
|
|
12
|
+
/**
|
|
13
|
+
* JSX Component for axes gizmo.
|
|
14
|
+
*/
|
|
15
|
+
declare function AxesPanel(props: {
|
|
16
|
+
viewer: VIM.Viewer;
|
|
17
|
+
camera: ComponentCamera;
|
|
18
|
+
settings: SettingsState;
|
|
19
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module viw-webgl-react
|
|
3
|
+
*/
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { WebglViewer } from '../../vimWebIndex';
|
|
6
|
+
import { Isolation } from '../helpers/isolation';
|
|
7
|
+
import { ComponentCamera } from '../helpers/camera';
|
|
8
|
+
import { TreeActionRef } from '../bim/bimTree';
|
|
9
|
+
import { ModalRef } from './modal';
|
|
10
|
+
export declare const VIM_CONTEXT_MENU_ID = "vim-context-menu-id";
|
|
11
|
+
export type ClickCallback = React.MouseEvent<HTMLDivElement, MouseEvent>;
|
|
12
|
+
export declare function showContextMenu(position: {
|
|
13
|
+
x: number;
|
|
14
|
+
y: number;
|
|
15
|
+
} | undefined): void;
|
|
16
|
+
/**
|
|
17
|
+
* Current list of context menu item ids. Used to find and replace items when customizing the context menu.
|
|
18
|
+
*/
|
|
19
|
+
export declare const contextMenuElementIds: {
|
|
20
|
+
showControls: string;
|
|
21
|
+
dividerCamera: string;
|
|
22
|
+
resetCamera: string;
|
|
23
|
+
zoomToFit: string;
|
|
24
|
+
dividerSelection: string;
|
|
25
|
+
isolateSelection: string;
|
|
26
|
+
selectSimilar: string;
|
|
27
|
+
hideObject: string;
|
|
28
|
+
showObject: string;
|
|
29
|
+
clearSelection: string;
|
|
30
|
+
showAll: string;
|
|
31
|
+
dividerMeasure: string;
|
|
32
|
+
deleteMeasurement: string;
|
|
33
|
+
dividerSection: string;
|
|
34
|
+
ignoreSection: string;
|
|
35
|
+
resetSection: string;
|
|
36
|
+
fitSectionToSelection: string;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Represents a button in the context menu. It can't be clicked triggering given action.
|
|
40
|
+
*/
|
|
41
|
+
export interface IContextMenuButton {
|
|
42
|
+
id: string;
|
|
43
|
+
label: string;
|
|
44
|
+
keyboard: string;
|
|
45
|
+
action: (e: ClickCallback) => void;
|
|
46
|
+
enabled: boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Represents a divider in the context menu. It can't be clicked.
|
|
50
|
+
*/
|
|
51
|
+
export interface IContextMenuDivider {
|
|
52
|
+
id: string;
|
|
53
|
+
enabled: boolean;
|
|
54
|
+
}
|
|
55
|
+
export type ContextMenuElement = IContextMenuButton | IContextMenuDivider;
|
|
56
|
+
/**
|
|
57
|
+
* A map function that changes the context menu.
|
|
58
|
+
*/
|
|
59
|
+
export type ContextMenuCustomization = (e: ContextMenuElement[]) => ContextMenuElement[];
|
|
60
|
+
/**
|
|
61
|
+
* Memoized version of VimContextMenu.
|
|
62
|
+
*/
|
|
63
|
+
export declare const VimContextMenuMemo: React.MemoExoticComponent<typeof VimContextMenu>;
|
|
64
|
+
/**
|
|
65
|
+
* Context menu component definition according to current state.
|
|
66
|
+
*/
|
|
67
|
+
export declare function VimContextMenu(props: {
|
|
68
|
+
viewer: WebglViewer.Viewer;
|
|
69
|
+
camera: ComponentCamera;
|
|
70
|
+
modal: ModalRef;
|
|
71
|
+
isolation: Isolation;
|
|
72
|
+
selection: WebglViewer.Object3D[];
|
|
73
|
+
customization?: (e: ContextMenuElement[]) => ContextMenuElement[];
|
|
74
|
+
treeRef: React.MutableRefObject<TreeActionRef | undefined>;
|
|
75
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module viw-webgl-react
|
|
3
|
+
*/
|
|
4
|
+
export type HelpProps = {
|
|
5
|
+
link: boolean;
|
|
6
|
+
};
|
|
7
|
+
export type HelpPropsTyped = HelpProps & {
|
|
8
|
+
type: 'help';
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* JSX Component for help page.
|
|
12
|
+
*/
|
|
13
|
+
export declare function MenuHelp(props: {
|
|
14
|
+
value: HelpProps;
|
|
15
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module icons
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Common Icon Options.
|
|
6
|
+
*/
|
|
7
|
+
export type IconOptions = {
|
|
8
|
+
height: number | string;
|
|
9
|
+
width: number | string;
|
|
10
|
+
fill: string;
|
|
11
|
+
className?: string;
|
|
12
|
+
};
|
|
13
|
+
export declare function settings({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function help({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare function trash({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare function checkmark({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare function undo({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare function close({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export declare function home({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export declare function fullsScreen({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare function minimize({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export declare function treeView({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export declare function more({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export declare function collapse({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export declare function arrowLeft({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export declare function fullArrowLeft({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export declare function visible({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
export declare function hidden({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export declare function orbit({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
export declare function look({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export declare function perspective({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
export declare function orthographic({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
export declare function camera({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
export declare function pan({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
export declare function zoom({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
export declare function frameRect({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
37
|
+
export declare function frameSelection({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
38
|
+
export declare function toggleIsolation({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
export declare function measure({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
export declare function sectionBox({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
export declare function sectionBoxClip({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
42
|
+
export declare function sectionBoxIgnore({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
export declare function sectionBoxReset({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
44
|
+
export declare function sectionBoxShrink({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
export declare function ghost({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
46
|
+
export declare function ghostDead({ height, width, fill, className }: IconOptions): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module viw-webgl-react
|
|
3
|
+
*/
|
|
4
|
+
export type ProgressMode = '%' | 'bytes';
|
|
5
|
+
/**
|
|
6
|
+
* Interface for message information displayed in the LoadingBox.
|
|
7
|
+
* @property message - Optional main message text.
|
|
8
|
+
* @property info - Optional additional information or tooltip text.
|
|
9
|
+
* @property progress - The progress of an operation.
|
|
10
|
+
*/
|
|
11
|
+
export type LoadingBoxProps = {
|
|
12
|
+
message?: string;
|
|
13
|
+
progress?: number;
|
|
14
|
+
mode?: ProgressMode;
|
|
15
|
+
};
|
|
16
|
+
export type LoadingBoxPropsTyped = LoadingBoxProps & {
|
|
17
|
+
type: 'loading';
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* LoadingBox component that displays a loading message or other messages.
|
|
21
|
+
* @param props - Component props containing optional content.
|
|
22
|
+
* @returns The LoadingBox component or null if no content is provided.
|
|
23
|
+
*/
|
|
24
|
+
export declare function LoadingBox(props: {
|
|
25
|
+
content: LoadingBoxProps;
|
|
26
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type MessageBoxProps = {
|
|
2
|
+
title: string;
|
|
3
|
+
body: string | JSX.Element;
|
|
4
|
+
footer?: string | JSX.Element;
|
|
5
|
+
canClose: boolean;
|
|
6
|
+
onClose?: () => void;
|
|
7
|
+
};
|
|
8
|
+
export type MessageBoxPropsTyped = MessageBoxProps & {
|
|
9
|
+
type: 'message';
|
|
10
|
+
};
|
|
11
|
+
export declare function MessageBox(props: {
|
|
12
|
+
value: MessageBoxProps;
|
|
13
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export default MessageBox;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { MessageBoxProps, MessageBoxPropsTyped } from './messageBox';
|
|
2
|
+
import { LoadingBoxProps, LoadingBoxPropsTyped } from './loadingBox';
|
|
3
|
+
import { HelpProps, HelpPropsTyped } from './help';
|
|
4
|
+
export type ModalProps = MessageBoxProps | LoadingBoxProps | HelpProps;
|
|
5
|
+
export type ModalPropsTyped = (MessageBoxPropsTyped | LoadingBoxPropsTyped | HelpPropsTyped) & {
|
|
6
|
+
canClose: boolean;
|
|
7
|
+
onClose?: () => void;
|
|
8
|
+
};
|
|
9
|
+
export type ModalRef = {
|
|
10
|
+
current: ModalPropsTyped | undefined;
|
|
11
|
+
loading(content: LoadingBoxProps | undefined): void;
|
|
12
|
+
message(content: MessageBoxProps | undefined): void;
|
|
13
|
+
help(show: boolean): void;
|
|
14
|
+
};
|
|
15
|
+
export declare function useModal(canFollowLinks: boolean): ModalRef;
|
|
16
|
+
export declare function Modal(props: {
|
|
17
|
+
state: ModalRef;
|
|
18
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module viw-webgl-react
|
|
3
|
+
*/
|
|
4
|
+
/** This overlay is designed to go over the viewer canvas to intercept and dispatch events to the viewer canvas.
|
|
5
|
+
* The point is that quickly finding a ui hit avoids the browser hit detection to search through all elements.
|
|
6
|
+
* When the tree view is open with 10+k elements this increases general fps significantly.
|
|
7
|
+
*/
|
|
8
|
+
export declare function Overlay(props: {
|
|
9
|
+
canvas: HTMLCanvasElement;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module viw-webgl-react
|
|
3
|
+
*/
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import * as VIM from '../../webgl-viewer/index';
|
|
6
|
+
import { SideState } from '../sidePanel/sideState';
|
|
7
|
+
export type ToastConfigSpeed = {
|
|
8
|
+
visible: boolean;
|
|
9
|
+
speed: number;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Memoized version of MenuToast.
|
|
13
|
+
*/
|
|
14
|
+
export declare const MenuToastMemo: React.MemoExoticComponent<typeof MenuToast>;
|
|
15
|
+
/**
|
|
16
|
+
* Toast jsx component that briefly shows up when camera speed changes.
|
|
17
|
+
*/
|
|
18
|
+
declare function MenuToast(props: {
|
|
19
|
+
viewer: VIM.Viewer;
|
|
20
|
+
side: SideState;
|
|
21
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import './style.css';
|
|
2
|
+
export * as Webgl from './webgl/webglComponent';
|
|
3
|
+
export * as Ultra from './ultra/ultraComponent';
|
|
4
|
+
export * as ErrorStyle from './errors/errorStyle';
|
|
5
|
+
export * as Errors from './errors/errors';
|
|
6
|
+
export * as Urls from './urls';
|
|
7
|
+
export type { MessageBoxProps } from './panels/messageBox';
|
|
8
|
+
export * from './container';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module viw-webgl-react
|
|
3
|
+
*/
|
|
4
|
+
import * as VIM from '../../webgl-viewer/index';
|
|
5
|
+
import { SettingsState } from './settingsState';
|
|
6
|
+
/**
|
|
7
|
+
* JSX Component to interact with settings.
|
|
8
|
+
* @param viewer current viewer
|
|
9
|
+
* @param settings setting state
|
|
10
|
+
* @param visible will return null if this is false.
|
|
11
|
+
* @returns
|
|
12
|
+
*/
|
|
13
|
+
export declare function MenuSettings(props: {
|
|
14
|
+
viewer: VIM.Viewer;
|
|
15
|
+
settings: SettingsState;
|
|
16
|
+
visible: boolean;
|
|
17
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module viw-webgl-react
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Makes all fields optional recursively
|
|
6
|
+
* https://stackoverflow.com/questions/41980195/recursive-partialt-in-typescript
|
|
7
|
+
*/
|
|
8
|
+
export type RecursivePartial<T> = {
|
|
9
|
+
[P in keyof T]?: T[P] extends (infer U)[] ? RecursivePartial<U>[] : T[P] extends object ? RecursivePartial<T[P]> : T[P];
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* true, false or restricted
|
|
13
|
+
* Restricted: is false and cannot be changed by the user.
|
|
14
|
+
*/
|
|
15
|
+
export type UserBoolean = boolean | 'AlwaysTrue' | 'AlwaysFalse';
|
|
16
|
+
export declare function isTrue(value: UserBoolean | boolean): value is true | "AlwaysTrue";
|
|
17
|
+
export declare function isFalse(value: UserBoolean | boolean): value is false | "AlwaysFalse";
|
|
18
|
+
/**
|
|
19
|
+
* Vim component settings, can either be set at component intialization or by user using UI.
|
|
20
|
+
*/
|
|
21
|
+
export type ComponentSettings = {
|
|
22
|
+
peformance: {
|
|
23
|
+
useFastMaterial: boolean;
|
|
24
|
+
};
|
|
25
|
+
isolation: {
|
|
26
|
+
enable: boolean;
|
|
27
|
+
useIsolationMaterial: boolean;
|
|
28
|
+
};
|
|
29
|
+
capacity: {
|
|
30
|
+
canFollowUrl: boolean;
|
|
31
|
+
canGoFullScreen: boolean;
|
|
32
|
+
useOrthographicCamera: boolean;
|
|
33
|
+
canDownload: boolean;
|
|
34
|
+
};
|
|
35
|
+
ui: {
|
|
36
|
+
logo: UserBoolean;
|
|
37
|
+
bimTreePanel: UserBoolean;
|
|
38
|
+
bimInfoPanel: UserBoolean;
|
|
39
|
+
performance: UserBoolean;
|
|
40
|
+
axesPanel: UserBoolean;
|
|
41
|
+
orthographic: UserBoolean;
|
|
42
|
+
resetCamera: UserBoolean;
|
|
43
|
+
enableGhost: UserBoolean;
|
|
44
|
+
controlBar: UserBoolean;
|
|
45
|
+
orbit: UserBoolean;
|
|
46
|
+
lookAround: UserBoolean;
|
|
47
|
+
pan: UserBoolean;
|
|
48
|
+
zoom: UserBoolean;
|
|
49
|
+
zoomWindow: UserBoolean;
|
|
50
|
+
zoomToFit: UserBoolean;
|
|
51
|
+
sectioningMode: UserBoolean;
|
|
52
|
+
measuringMode: UserBoolean;
|
|
53
|
+
toggleIsolation: UserBoolean;
|
|
54
|
+
projectInspector: UserBoolean;
|
|
55
|
+
settings: UserBoolean;
|
|
56
|
+
help: UserBoolean;
|
|
57
|
+
maximise: UserBoolean;
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
export type PartialComponentSettings = RecursivePartial<ComponentSettings>;
|
|
61
|
+
export declare function anyUiAxesButton(settings: ComponentSettings): UserBoolean;
|
|
62
|
+
export declare function anyUiCursorButton(settings: ComponentSettings): boolean;
|
|
63
|
+
export declare function anyUiToolButton(settings: ComponentSettings): boolean;
|
|
64
|
+
export declare function anyUiSettingButton(settings: ComponentSettings): boolean;
|
|
65
|
+
export declare const defaultSettings: ComponentSettings;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module viw-webgl-react
|
|
3
|
+
*/
|
|
4
|
+
import * as VIM from '../../webgl-viewer/index';
|
|
5
|
+
import { ComponentSettings, PartialComponentSettings } from './settings';
|
|
6
|
+
export type SettingsState = {
|
|
7
|
+
value: ComponentSettings;
|
|
8
|
+
update: (updater: (s: ComponentSettings) => void) => void;
|
|
9
|
+
register: (action: (s: ComponentSettings) => void) => void;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Returns a new state closure for settings.
|
|
13
|
+
*/
|
|
14
|
+
export declare function useSettings(viewer: VIM.Viewer, value: PartialComponentSettings): SettingsState;
|
|
15
|
+
/**
|
|
16
|
+
* Apply given vim component settings to the given viewer.
|
|
17
|
+
*/
|
|
18
|
+
export declare function applySettings(viewer: VIM.Viewer, settings: ComponentSettings): void;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module viw-webgl-react
|
|
3
|
+
*/
|
|
4
|
+
import { ComponentSettings, PartialComponentSettings } from './settings';
|
|
5
|
+
export declare function getLocalComponentSettings(settings?: PartialComponentSettings): {};
|
|
6
|
+
export declare function saveSettingsToLocal(value: ComponentSettings): void;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module viw-webgl-react
|
|
3
|
+
*/
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import * as VIM from '../../webgl-viewer/index';
|
|
6
|
+
import { SideState } from './sideState';
|
|
7
|
+
import { VimComponentContainer } from '../container';
|
|
8
|
+
/**
|
|
9
|
+
* Memoized version of the SidePanel.
|
|
10
|
+
*/
|
|
11
|
+
export declare const SidePanelMemo: React.MemoExoticComponent<typeof SidePanel>;
|
|
12
|
+
/**
|
|
13
|
+
* JSX Component for collapsible and resizable side panel.
|
|
14
|
+
*/
|
|
15
|
+
export declare function SidePanel(props: {
|
|
16
|
+
container: VimComponentContainer;
|
|
17
|
+
side: SideState;
|
|
18
|
+
viewer: VIM.Viewer;
|
|
19
|
+
content: () => JSX.Element;
|
|
20
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module viw-webgl-react
|
|
3
|
+
*/
|
|
4
|
+
export type SideContent = 'none' | 'bim' | 'settings' | 'logs';
|
|
5
|
+
export type SideState = {
|
|
6
|
+
minWidth: number;
|
|
7
|
+
toggleContent: (content: SideContent) => void;
|
|
8
|
+
popContent: () => void;
|
|
9
|
+
getNav: () => 'back' | 'close';
|
|
10
|
+
getContent: () => SideContent;
|
|
11
|
+
setContent: (value: SideContent) => void;
|
|
12
|
+
setHasBim: (value: boolean) => void;
|
|
13
|
+
getWidth: () => number;
|
|
14
|
+
setWidth: (value: number) => void;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Returns state closure for side panel
|
|
18
|
+
* @param useInspector inspector will only be displayed if this is true.
|
|
19
|
+
* @param defaultWidth default width of the side panel in pixel.
|
|
20
|
+
* @returns
|
|
21
|
+
*/
|
|
22
|
+
export declare function useSideState(useInspector: boolean, defaultWidth: number): SideState;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import '../style.css';
|
|
2
|
+
import * as Ultra from '../../ultra-viewer/ultraViewerIndex';
|
|
3
|
+
import { VimComponentContainer } from '../container';
|
|
4
|
+
import { ModalRef } from '../panels/modal';
|
|
5
|
+
export type UltraComponentRef = {
|
|
6
|
+
viewer: Ultra.Viewer;
|
|
7
|
+
modal: ModalRef;
|
|
8
|
+
dispose: () => void;
|
|
9
|
+
load(url: string): Ultra.ILoadRequest;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Creates a UI container along with a VIM.Viewer and its associated React component.
|
|
13
|
+
* @param container An optional container object. If none is provided, a container will be created.
|
|
14
|
+
* @param componentSettings UI Component settings.
|
|
15
|
+
* @param viewerSettings Viewer settings.
|
|
16
|
+
* @returns An object containing the resulting container, reactRoot, and viewer.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createUltraComponent(container?: VimComponentContainer | HTMLElement): Promise<UltraComponentRef>;
|
|
19
|
+
/**
|
|
20
|
+
* Represents a React component providing UI for the Vim viewer.
|
|
21
|
+
* @param container The container object containing root, gfx, and UI elements for the Vim viewer.
|
|
22
|
+
* @param viewer The Vim viewer instance for which UI is provided.
|
|
23
|
+
* @param onMount A callback function triggered when the component is mounted. Receives a reference to the Vim component.
|
|
24
|
+
* @param settings Optional settings for configuring the Vim component's behavior.
|
|
25
|
+
*/
|
|
26
|
+
export declare function UltraComponent(props: {
|
|
27
|
+
container: VimComponentContainer;
|
|
28
|
+
viewer: Ultra.Viewer;
|
|
29
|
+
onMount: (component: UltraComponentRef) => void;
|
|
30
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import * as Ultra from '../../ultra-viewer/ultraViewerIndex';
|
|
2
|
+
export declare function getErrorMessage(state: Ultra.ClientState): import("../reactViewerIndex").MessageBoxProps;
|
|
3
|
+
export declare function getRequestErrorMessage(url: string, error: Ultra.VimRequestErrorType): import("../reactViewerIndex").MessageBoxProps;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module viw-webgl-react
|
|
3
|
+
*/
|
|
4
|
+
import * as VIM from '../../webgl-viewer/index';
|
|
5
|
+
import { AugmentedElement } from '../helpers/element';
|
|
6
|
+
export type ViewerState = {
|
|
7
|
+
vim: VIM.Vim;
|
|
8
|
+
selection: VIM.Object3D[];
|
|
9
|
+
elements: AugmentedElement[];
|
|
10
|
+
};
|
|
11
|
+
export declare function useViewerState(viewer: VIM.Viewer): ViewerState;
|