vim-web 0.3.44-dev.9 → 0.4.0
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/README.md +2 -2
- package/dist/style.css +47 -33
- package/dist/types/core-viewers/index.d.ts +3 -0
- package/dist/types/core-viewers/{webgl/viewer/inputs/inputHandler.d.ts → shared/baseInputHandler.d.ts} +5 -6
- package/dist/types/core-viewers/shared/index.d.ts +9 -0
- package/dist/types/core-viewers/shared/inputAdapter.d.ts +21 -0
- package/dist/types/core-viewers/shared/inputHandler.d.ts +99 -0
- package/dist/types/core-viewers/shared/keyboardHandler.d.ts +96 -0
- package/dist/types/core-viewers/shared/mouseHandler.d.ts +27 -0
- package/dist/types/core-viewers/shared/raycaster.d.ts +27 -0
- package/dist/types/core-viewers/shared/selection.d.ts +105 -0
- package/dist/types/core-viewers/{webgl/viewer/inputs → shared}/touchHandler.d.ts +15 -18
- package/dist/types/core-viewers/shared/vim.d.ts +48 -0
- package/dist/types/core-viewers/ultra/{viewer/camera.d.ts → camera.d.ts} +14 -4
- package/dist/types/core-viewers/ultra/{viewer/colorManager.d.ts → colorManager.d.ts} +6 -6
- package/dist/types/core-viewers/ultra/{viewer/decoder.d.ts → decoder.d.ts} +0 -8
- package/dist/types/core-viewers/ultra/element3d.d.ts +43 -0
- package/dist/types/core-viewers/ultra/index.d.ts +28 -8
- package/dist/types/core-viewers/ultra/inputAdapter.d.ts +8 -0
- package/dist/types/core-viewers/ultra/nodeState.d.ts +113 -0
- package/dist/types/core-viewers/ultra/raycaster.d.ts +52 -0
- package/dist/types/core-viewers/ultra/{viewer/color.d.ts → remoteColor.d.ts} +3 -3
- package/dist/types/core-viewers/ultra/{viewer/renderer.d.ts → renderer.d.ts} +9 -3
- package/dist/types/core-viewers/ultra/{viewer/rpcClient.d.ts → rpcClient.d.ts} +28 -28
- package/dist/types/core-viewers/ultra/rpcMarshal.d.ts +62 -0
- package/dist/types/core-viewers/ultra/{viewer/rpcSafeClient.d.ts → rpcSafeClient.d.ts} +22 -23
- package/dist/types/core-viewers/ultra/{utils/math3d.d.ts → rpcTypes.d.ts} +22 -22
- package/dist/types/core-viewers/ultra/{viewer/sectionBox.d.ts → sectionBox.d.ts} +8 -3
- package/dist/types/core-viewers/ultra/selection.d.ts +4 -0
- package/dist/types/core-viewers/ultra/{viewer/socketClient.d.ts → socketClient.d.ts} +4 -11
- package/dist/types/core-viewers/ultra/{viewer/viewer.d.ts → viewer.d.ts} +16 -13
- package/dist/types/core-viewers/ultra/vim.d.ts +48 -0
- package/dist/types/core-viewers/webgl/index.d.ts +2 -21
- package/dist/types/core-viewers/webgl/loader/{colorAttributes.d.ts → colorAttribute.d.ts} +4 -4
- package/dist/types/core-viewers/webgl/loader/{object3D.d.ts → element3d.d.ts} +12 -9
- package/dist/types/core-viewers/webgl/loader/geometry.d.ts +76 -78
- package/dist/types/core-viewers/webgl/loader/index.d.ts +24 -0
- package/dist/types/core-viewers/webgl/loader/materials/index.d.ts +9 -0
- package/dist/types/core-viewers/webgl/loader/materials/{viewerMaterials.d.ts → materials.d.ts} +5 -5
- package/dist/types/core-viewers/webgl/loader/mesh.d.ts +2 -2
- package/dist/types/core-viewers/webgl/loader/progressive/insertableMesh.d.ts +1 -1
- package/dist/types/core-viewers/webgl/loader/progressive/insertableSubmesh.d.ts +1 -1
- package/dist/types/core-viewers/webgl/loader/progressive/instancedMesh.d.ts +1 -1
- package/dist/types/core-viewers/webgl/loader/progressive/instancedSubmesh.d.ts +1 -1
- package/dist/types/core-viewers/webgl/loader/progressive/vimRequest.d.ts +3 -3
- package/dist/types/core-viewers/webgl/loader/scene.d.ts +4 -7
- package/dist/types/core-viewers/webgl/loader/vim.d.ts +12 -16
- package/dist/types/core-viewers/webgl/loader/vimSettings.d.ts +2 -2
- package/dist/types/core-viewers/webgl/loader/{objectAttributes.d.ts → webglAttribute.d.ts} +4 -4
- package/dist/types/core-viewers/webgl/viewer/camera/camera.d.ts +8 -113
- package/dist/types/core-viewers/webgl/viewer/camera/{ICamera.d.ts → cameraInterface.d.ts} +0 -4
- package/dist/types/core-viewers/webgl/viewer/camera/cameraMovement.d.ts +5 -5
- package/dist/types/core-viewers/webgl/viewer/camera/cameraMovementLerp.d.ts +2 -2
- package/dist/types/core-viewers/webgl/viewer/camera/cameraMovementSnap.d.ts +2 -2
- package/dist/types/core-viewers/webgl/viewer/camera/{orthographic.d.ts → cameraOrthographic.d.ts} +1 -1
- package/dist/types/core-viewers/webgl/viewer/camera/{perspective.d.ts → cameraPerspective.d.ts} +1 -1
- package/dist/types/core-viewers/webgl/viewer/camera/index.d.ts +7 -0
- package/dist/types/core-viewers/webgl/viewer/environment/environment.d.ts +5 -5
- package/dist/types/core-viewers/webgl/viewer/environment/index.d.ts +3 -0
- package/dist/types/core-viewers/webgl/viewer/environment/{cameraLight.d.ts → light.d.ts} +2 -2
- package/dist/types/core-viewers/webgl/viewer/environment/skybox.d.ts +3 -3
- package/dist/types/core-viewers/webgl/viewer/gizmos/axes/axesSettings.d.ts +3 -2
- package/dist/types/core-viewers/webgl/viewer/gizmos/axes/gizmoAxes.d.ts +3 -1
- package/dist/types/core-viewers/webgl/viewer/gizmos/axes/index.d.ts +3 -0
- package/dist/types/core-viewers/webgl/viewer/gizmos/gizmoOrbit.d.ts +2 -2
- package/dist/types/core-viewers/webgl/viewer/gizmos/gizmos.d.ts +0 -5
- package/dist/types/core-viewers/webgl/viewer/gizmos/index.d.ts +7 -0
- package/dist/types/core-viewers/webgl/viewer/gizmos/markers/gizmoMarker.d.ts +63 -15
- package/dist/types/core-viewers/webgl/viewer/gizmos/markers/gizmoMarkers.d.ts +30 -7
- package/dist/types/core-viewers/webgl/viewer/gizmos/markers/index.d.ts +2 -0
- package/dist/types/core-viewers/webgl/viewer/gizmos/measure/index.d.ts +3 -0
- package/dist/types/core-viewers/webgl/viewer/gizmos/measure/measure.d.ts +10 -16
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/index.d.ts +7 -0
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBox.d.ts +4 -5
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxGizmo.d.ts +1 -1
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxHandle.d.ts +6 -4
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxHandles.d.ts +1 -1
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxInputs.d.ts +3 -40
- package/dist/types/core-viewers/webgl/viewer/index.d.ts +10 -0
- package/dist/types/core-viewers/webgl/viewer/inputAdapter.d.ts +3 -0
- package/dist/types/core-viewers/webgl/viewer/raycaster.d.ts +37 -57
- package/dist/types/core-viewers/webgl/viewer/rendering/index.d.ts +4 -0
- package/dist/types/core-viewers/webgl/viewer/rendering/mergePass.d.ts +2 -2
- package/dist/types/core-viewers/webgl/viewer/rendering/renderScene.d.ts +5 -5
- package/dist/types/core-viewers/webgl/viewer/rendering/renderer.d.ts +6 -3
- package/dist/types/core-viewers/webgl/viewer/rendering/renderingComposer.d.ts +2 -2
- package/dist/types/core-viewers/webgl/viewer/rendering/renderingSection.d.ts +2 -2
- package/dist/types/core-viewers/webgl/viewer/selection.d.ts +6 -89
- package/dist/types/core-viewers/webgl/viewer/settings/index.d.ts +3 -0
- package/dist/types/core-viewers/webgl/viewer/settings/{defaultViewerSettings.d.ts → viewerDefaultSettings.d.ts} +1 -1
- package/dist/types/core-viewers/webgl/viewer/settings/viewerSettings.d.ts +2 -9
- package/dist/types/core-viewers/webgl/viewer/settings/viewerSettingsParsing.d.ts +1 -1
- package/dist/types/core-viewers/webgl/viewer/viewer.d.ts +13 -13
- package/dist/types/index.d.ts +2 -3
- package/dist/types/react-viewers/bim/bimInfoData.d.ts +2 -2
- package/dist/types/react-viewers/bim/bimInfoObject.d.ts +4 -4
- package/dist/types/react-viewers/bim/bimInfoPanel.d.ts +3 -3
- package/dist/types/react-viewers/bim/bimInfoVim.d.ts +4 -4
- package/dist/types/react-viewers/bim/bimPanel.d.ts +13 -13
- package/dist/types/react-viewers/bim/bimSearch.d.ts +2 -2
- package/dist/types/react-viewers/bim/bimTree.d.ts +10 -8
- package/dist/types/react-viewers/bim/bimTreeData.d.ts +5 -4
- package/dist/types/react-viewers/bim/index.d.ts +8 -0
- package/dist/types/react-viewers/container.d.ts +3 -3
- package/dist/types/react-viewers/controlbar/controlBar.d.ts +10 -4
- package/dist/types/react-viewers/controlbar/controlBarButton.d.ts +0 -4
- package/dist/types/react-viewers/controlbar/controlBarIds.d.ts +36 -27
- package/dist/types/react-viewers/controlbar/controlBarSection.d.ts +1 -4
- package/dist/types/react-viewers/controlbar/index.d.ts +5 -0
- package/dist/types/react-viewers/controlbar/style.d.ts +10 -0
- package/dist/types/react-viewers/errors/index.d.ts +2 -0
- package/dist/types/react-viewers/generic/genericField.d.ts +31 -0
- package/dist/types/react-viewers/generic/genericPanel.d.ts +12 -0
- package/dist/types/react-viewers/generic/index.d.ts +2 -0
- package/dist/types/react-viewers/generic/inputNumber.d.ts +4 -0
- package/dist/types/react-viewers/helpers/cameraObserver.d.ts +2 -2
- package/dist/types/react-viewers/helpers/cursor.d.ts +5 -3
- package/dist/types/react-viewers/helpers/customizer.d.ts +4 -0
- package/dist/types/react-viewers/helpers/element.d.ts +3 -2
- package/dist/types/react-viewers/helpers/index.d.ts +6 -0
- package/dist/types/react-viewers/helpers/layout.d.ts +24 -0
- package/dist/types/react-viewers/helpers/loadRequest.d.ts +6 -6
- package/dist/types/react-viewers/helpers/reactUtils.d.ts +285 -0
- package/dist/types/react-viewers/helpers/utils.d.ts +1 -1
- package/dist/types/react-viewers/{panels/icons.d.ts → icons.d.ts} +9 -0
- package/dist/types/react-viewers/index.d.ts +11 -6
- package/dist/types/react-viewers/panels/axesPanel.d.ts +4 -4
- package/dist/types/react-viewers/panels/contextMenu.d.ts +22 -14
- package/dist/types/react-viewers/panels/help.d.ts +2 -7
- package/dist/types/react-viewers/panels/index.d.ts +25 -0
- package/dist/types/react-viewers/panels/isolationPanel.d.ts +9 -0
- package/dist/types/react-viewers/panels/loadingBox.d.ts +5 -2
- package/dist/types/react-viewers/panels/messageBox.d.ts +1 -2
- package/dist/types/react-viewers/panels/modal.d.ts +9 -10
- package/dist/types/react-viewers/panels/restOfScreen.d.ts +1 -1
- package/dist/types/react-viewers/panels/sectionBoxPanel.d.ts +8 -2
- package/dist/types/react-viewers/{sidePanel → panels}/sidePanel.d.ts +3 -3
- package/dist/types/react-viewers/panels/toast.d.ts +3 -3
- package/dist/types/react-viewers/settings/index.d.ts +5 -0
- package/dist/types/react-viewers/settings/settings.d.ts +14 -60
- package/dist/types/react-viewers/settings/{menuSettings.d.ts → settingsPanel.d.ts} +3 -3
- package/dist/types/react-viewers/settings/settingsState.d.ts +8 -8
- package/dist/types/react-viewers/settings/settingsStorage.d.ts +6 -6
- package/dist/types/react-viewers/settings/userBoolean.d.ts +17 -0
- package/dist/types/react-viewers/state/cameraState.d.ts +24 -0
- package/dist/types/react-viewers/state/controlBarState.d.ts +36 -21
- package/dist/types/react-viewers/state/index.d.ts +9 -0
- package/dist/types/react-viewers/state/measureState.d.ts +2 -2
- package/dist/types/react-viewers/state/pointerState.d.ts +5 -5
- package/dist/types/react-viewers/state/sectionBoxState.d.ts +18 -18
- package/dist/types/react-viewers/state/sharedIsolation.d.ts +38 -0
- package/dist/types/react-viewers/state/viewerInputs.d.ts +3 -0
- package/dist/types/react-viewers/ultra/camera.d.ts +3 -0
- package/dist/types/react-viewers/ultra/controlBar.d.ts +6 -0
- package/dist/types/react-viewers/ultra/errors/ultraErrors.d.ts +3 -3
- package/dist/types/react-viewers/ultra/index.d.ts +2 -1
- package/dist/types/react-viewers/ultra/isolation.d.ts +3 -0
- package/dist/types/react-viewers/ultra/modal.d.ts +5 -0
- package/dist/types/react-viewers/ultra/sectionBox.d.ts +3 -0
- package/dist/types/react-viewers/ultra/viewer.d.ts +21 -0
- package/dist/types/react-viewers/ultra/viewerRef.d.ts +47 -0
- package/dist/types/react-viewers/urls.d.ts +1 -0
- package/dist/types/react-viewers/webgl/camera.d.ts +3 -0
- package/dist/types/react-viewers/webgl/index.d.ts +3 -8
- package/dist/types/react-viewers/webgl/inputsBindings.d.ts +8 -0
- package/dist/types/react-viewers/webgl/isolation.d.ts +2 -0
- package/dist/types/react-viewers/webgl/{webglLoading.d.ts → loading.d.ts} +11 -9
- package/dist/types/react-viewers/webgl/sectionBox.d.ts +3 -0
- package/dist/types/react-viewers/webgl/viewer.d.ts +28 -0
- package/dist/types/react-viewers/webgl/viewerRef.d.ts +107 -0
- package/dist/types/react-viewers/webgl/viewerState.d.ts +7 -5
- package/dist/types/utils/debounce.d.ts +30 -0
- package/dist/types/utils/index.d.ts +10 -0
- package/dist/types/utils/interfaces.d.ts +3 -0
- package/dist/types/utils/math3d.d.ts +19 -0
- package/dist/types/utils/partial.d.ts +7 -0
- package/dist/types/{core-viewers/webgl/utils/requestResult.d.ts → utils/result.d.ts} +1 -1
- package/dist/types/{core-viewers/webgl/utils → utils}/threeUtils.d.ts +1 -0
- package/dist/types/{core-viewers/ultra/utils → utils}/url.d.ts +2 -0
- package/dist/types/{core-viewers/ultra/utils → utils}/validation.d.ts +11 -10
- package/dist/vim-web.iife.js +17283 -17193
- package/dist/vim-web.iife.js.map +1 -1
- package/dist/vim-web.js +17309 -17219
- package/dist/vim-web.js.map +1 -1
- package/package.json +1 -1
- package/dist/types/core-viewers/ultra/utils/debounce.d.ts +0 -1
- package/dist/types/core-viewers/ultra/utils/deferredPromise.d.ts +0 -8
- package/dist/types/core-viewers/ultra/utils/result.d.ts +0 -11
- package/dist/types/core-viewers/ultra/viewer/inputs/InputTouch.d.ts +0 -25
- package/dist/types/core-viewers/ultra/viewer/inputs/inputHandler.d.ts +0 -7
- package/dist/types/core-viewers/ultra/viewer/inputs/inputKeyboard.d.ts +0 -20
- package/dist/types/core-viewers/ultra/viewer/inputs/inputMouse.d.ts +0 -21
- package/dist/types/core-viewers/ultra/viewer/inputs/inputs.d.ts +0 -27
- package/dist/types/core-viewers/ultra/viewer/marshal.d.ts +0 -86
- package/dist/types/core-viewers/ultra/viewer/selection.d.ts +0 -96
- package/dist/types/core-viewers/ultra/viewer/vim.d.ts +0 -111
- package/dist/types/core-viewers/webgl/utils/deferredPromise.d.ts +0 -8
- package/dist/types/core-viewers/webgl/viewer/gizmos/gizmoRectangle.d.ts +0 -51
- package/dist/types/core-viewers/webgl/viewer/gizmos/measure/measureFlow.d.ts +0 -36
- package/dist/types/core-viewers/webgl/viewer/inputs/input.d.ts +0 -128
- package/dist/types/core-viewers/webgl/viewer/inputs/keyboardHandler.d.ts +0 -113
- package/dist/types/core-viewers/webgl/viewer/inputs/mouseHandler.d.ts +0 -66
- package/dist/types/react-viewers/errors/errorUtils.d.ts +0 -2
- package/dist/types/react-viewers/helpers/camera.d.ts +0 -37
- package/dist/types/react-viewers/helpers/deferredPromise.d.ts +0 -8
- package/dist/types/react-viewers/helpers/inputs.d.ts +0 -22
- package/dist/types/react-viewers/helpers/isolation.d.ts +0 -128
- package/dist/types/react-viewers/ultra/ultraComponent.d.ts +0 -47
- package/dist/types/react-viewers/ultra/ultraControlBarState.d.ts +0 -6
- package/dist/types/react-viewers/ultra/ultraModal.d.ts +0 -4
- package/dist/types/react-viewers/ultra/ultraSectionBoxState.d.ts +0 -3
- package/dist/types/react-viewers/webgl/webglComponent.d.ts +0 -28
- package/dist/types/react-viewers/webgl/webglComponentRef.d.ts +0 -118
- package/dist/types/react-viewers/webgl/webglSectionBoxState.d.ts +0 -3
- /package/dist/types/core-viewers/ultra/{viewer/decoderWithWorker.d.ts → decoderWithWorker.d.ts} +0 -0
- /package/dist/types/core-viewers/ultra/{viewer/loadRequest.d.ts → loadRequest.d.ts} +0 -0
- /package/dist/types/core-viewers/ultra/{viewer/logger.d.ts → logger.d.ts} +0 -0
- /package/dist/types/core-viewers/ultra/{viewer/protocol.d.ts → protocol.d.ts} +0 -0
- /package/dist/types/core-viewers/ultra/{viewer/streamLogger.d.ts → streamLogger.d.ts} +0 -0
- /package/dist/types/core-viewers/ultra/{viewer/streamRenderer.d.ts → streamRenderer.d.ts} +0 -0
- /package/dist/types/core-viewers/ultra/{viewer/viewport.d.ts → viewport.d.ts} +0 -0
- /package/dist/types/core-viewers/ultra/{viewer/vimCollection.d.ts → vimCollection.d.ts} +0 -0
- /package/dist/types/react-viewers/{sidePanel → state}/sideState.d.ts +0 -0
- /package/dist/types/{core-viewers/ultra/utils → utils}/array.d.ts +0 -0
- /package/dist/types/{core-viewers/ultra/utils → utils}/promise.d.ts +0 -0
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function debounce<T extends (...args: any[]) => void>(func: T, delay: number): [(...args: Parameters<T>) => void, () => void];
|
|
@@ -1,8 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare class Result<T, E> {
|
|
2
|
-
private readonly value;
|
|
3
|
-
private readonly error;
|
|
4
|
-
private constructor();
|
|
5
|
-
static ok<T, E>(value: T): Result<T, E>;
|
|
6
|
-
static error<T, E>(error: E): Result<T, E>;
|
|
7
|
-
isOk(): this is Result<T, undefined>;
|
|
8
|
-
isError(): this is Result<undefined, string>;
|
|
9
|
-
getValue(): T;
|
|
10
|
-
getError(): E;
|
|
11
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { InputHandler } from "./inputHandler";
|
|
2
|
-
import { RpcSafeClient } from "../rpcSafeClient";
|
|
3
|
-
export declare class InputTouch extends InputHandler {
|
|
4
|
-
private readonly _rpc;
|
|
5
|
-
private readonly _canvas;
|
|
6
|
-
private _lastTouchStartPosition;
|
|
7
|
-
private _initialTouchDistance;
|
|
8
|
-
constructor(canvas: HTMLCanvasElement, rpc: RpcSafeClient);
|
|
9
|
-
register(): void;
|
|
10
|
-
dispose(): void;
|
|
11
|
-
private handleTouchStart;
|
|
12
|
-
private handleSingleTouchStart;
|
|
13
|
-
private handleDoubleTouchStart;
|
|
14
|
-
private handleTouchMove;
|
|
15
|
-
private handleSingleTouchMove;
|
|
16
|
-
private handleDoubleTouchMove;
|
|
17
|
-
private handlePinch;
|
|
18
|
-
private handleTouchEnd;
|
|
19
|
-
private handleSingleTouchEnd;
|
|
20
|
-
private handleDoubleTouchEnd;
|
|
21
|
-
private handleTouchCancel;
|
|
22
|
-
private handleTouchClick;
|
|
23
|
-
private hasMoved;
|
|
24
|
-
private relativeTouchPosition;
|
|
25
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { ICamera } from "../camera";
|
|
2
|
-
import { RpcSafeClient } from "../rpcSafeClient";
|
|
3
|
-
import { ViewerSelection } from "../selection";
|
|
4
|
-
import { InputHandler } from "./inputHandler";
|
|
5
|
-
import { Inputs } from "./inputs";
|
|
6
|
-
export declare class InputKeyboard extends InputHandler {
|
|
7
|
-
private readonly _rpc;
|
|
8
|
-
private readonly _selection;
|
|
9
|
-
private _camera;
|
|
10
|
-
private _inputs;
|
|
11
|
-
constructor(rpc: RpcSafeClient, selection: ViewerSelection, camera: ICamera, inputs: Inputs);
|
|
12
|
-
register(): void;
|
|
13
|
-
dispose(): void;
|
|
14
|
-
private handleKeyDown;
|
|
15
|
-
private handleKeyUp;
|
|
16
|
-
private handleServerKeys;
|
|
17
|
-
private handleClientKeys;
|
|
18
|
-
private frameContext;
|
|
19
|
-
private frameSelection;
|
|
20
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { InputHandler } from "./inputHandler";
|
|
2
|
-
import { RpcSafeClient } from "../rpcSafeClient";
|
|
3
|
-
import { ViewerSelection } from "../selection";
|
|
4
|
-
import { ICamera } from "../camera";
|
|
5
|
-
export declare class InputMouse extends InputHandler {
|
|
6
|
-
private readonly _rpc;
|
|
7
|
-
private readonly _canvas;
|
|
8
|
-
private _lastMouseDownPosition;
|
|
9
|
-
private _selection;
|
|
10
|
-
private _camera;
|
|
11
|
-
constructor(canvas: HTMLCanvasElement, rpc: RpcSafeClient, selection: ViewerSelection, camera: ICamera);
|
|
12
|
-
register(): void;
|
|
13
|
-
dispose(): void;
|
|
14
|
-
private handlePointerDown;
|
|
15
|
-
private handlePointerUp;
|
|
16
|
-
private handleMouseClick;
|
|
17
|
-
private handlePointerMove;
|
|
18
|
-
private handleDoubleClick;
|
|
19
|
-
private handleMouseScroll;
|
|
20
|
-
private relativePosition;
|
|
21
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { InputMode, RpcSafeClient } from '../rpcSafeClient';
|
|
2
|
-
import { InputHandler } from './inputHandler';
|
|
3
|
-
import { ViewerSelection } from '../selection';
|
|
4
|
-
import { ICamera } from '../camera';
|
|
5
|
-
import { IRenderer } from '../renderer';
|
|
6
|
-
export interface IInputs {
|
|
7
|
-
moveSpeed: number;
|
|
8
|
-
mode: InputMode;
|
|
9
|
-
}
|
|
10
|
-
export declare class Inputs extends InputHandler implements IInputs {
|
|
11
|
-
private readonly _rpc;
|
|
12
|
-
private readonly _canvas;
|
|
13
|
-
private _inputsMouse;
|
|
14
|
-
private _inputsTouch;
|
|
15
|
-
private _keyboard;
|
|
16
|
-
private _renderer;
|
|
17
|
-
private _moveSpeed;
|
|
18
|
-
private _mode;
|
|
19
|
-
constructor(canvas: HTMLCanvasElement, rpc: RpcSafeClient, selection: ViewerSelection, camera: ICamera, renderer: IRenderer);
|
|
20
|
-
onConnect(): void;
|
|
21
|
-
register(): void;
|
|
22
|
-
get moveSpeed(): number;
|
|
23
|
-
set moveSpeed(value: number);
|
|
24
|
-
get mode(): InputMode;
|
|
25
|
-
set mode(value: InputMode);
|
|
26
|
-
dispose(): void;
|
|
27
|
-
}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Don't modify this file, the RPC generated code depends on its interface.
|
|
3
|
-
*/
|
|
4
|
-
import { Box3, RGB, RGBA, RGBA32, Segment, Vector2, Vector3, Matrix44 } from "../utils/math3d";
|
|
5
|
-
export type HitCheckResult = {
|
|
6
|
-
vimHandle: number;
|
|
7
|
-
nodeIndex: number;
|
|
8
|
-
worldPosition: Vector3;
|
|
9
|
-
worldNormal: Vector3;
|
|
10
|
-
};
|
|
11
|
-
export type VimStatus = {
|
|
12
|
-
status: number;
|
|
13
|
-
progress: number;
|
|
14
|
-
};
|
|
15
|
-
export type SectionBoxState = {
|
|
16
|
-
visible: boolean;
|
|
17
|
-
interactible: boolean;
|
|
18
|
-
clip: boolean;
|
|
19
|
-
box: Box3;
|
|
20
|
-
};
|
|
21
|
-
export type Vector4 = {
|
|
22
|
-
x: number;
|
|
23
|
-
y: number;
|
|
24
|
-
z: number;
|
|
25
|
-
w: number;
|
|
26
|
-
};
|
|
27
|
-
export declare class Marshal {
|
|
28
|
-
private buffer;
|
|
29
|
-
private _dataView;
|
|
30
|
-
private _offset;
|
|
31
|
-
constructor(initialSize?: number);
|
|
32
|
-
getBuffer(): ArrayBuffer;
|
|
33
|
-
private ensureCapacity;
|
|
34
|
-
writeData(data: ArrayBuffer): void;
|
|
35
|
-
writeMatrix44(data: Matrix44): void;
|
|
36
|
-
writeBoolean(value: boolean): void;
|
|
37
|
-
writeInt(value: number): void;
|
|
38
|
-
writeUInt(value: number): void;
|
|
39
|
-
writeFloat(value: number): void;
|
|
40
|
-
writeString(value: string): void;
|
|
41
|
-
writeHitCheckResult(data: HitCheckResult): void;
|
|
42
|
-
writeVimStatus(data: VimStatus): void;
|
|
43
|
-
writeVector2(data: Vector2): void;
|
|
44
|
-
writeVector3(data: Vector3): void;
|
|
45
|
-
writeVector4(data: Vector4): void;
|
|
46
|
-
writeRGBA(color: RGBA): void;
|
|
47
|
-
writeRGB(color: RGBA): void;
|
|
48
|
-
writeRGBA32(color: RGBA32): void;
|
|
49
|
-
writeSegment(segment: Segment): void;
|
|
50
|
-
writeBox3(data: Box3): void;
|
|
51
|
-
writeSectionBoxState(data: SectionBoxState): void;
|
|
52
|
-
writeArrayOfInt(values: number[]): void;
|
|
53
|
-
writeArrayOfUInt(values: number[]): void;
|
|
54
|
-
writeArrayOfFloat(values: number[]): void;
|
|
55
|
-
writeArrayOfBool(values: boolean[]): void;
|
|
56
|
-
writeArrayOfRGBA32(values: RGBA32[]): void;
|
|
57
|
-
writeArray<T>(data: T[], sizeT: number, write: (data: T) => void): void;
|
|
58
|
-
}
|
|
59
|
-
export declare class ReadMarshal {
|
|
60
|
-
private _dataView;
|
|
61
|
-
private _offset;
|
|
62
|
-
constructor(buffer: ArrayBuffer);
|
|
63
|
-
readMatrix44(): Matrix44;
|
|
64
|
-
readInt(): number;
|
|
65
|
-
readUInt(): number;
|
|
66
|
-
readFloat(): number;
|
|
67
|
-
readBoolean(): boolean;
|
|
68
|
-
readString(): string;
|
|
69
|
-
readHitCheckResult(): HitCheckResult;
|
|
70
|
-
readVimStatus(): VimStatus;
|
|
71
|
-
readVector2(): Vector2;
|
|
72
|
-
readVector3(): Vector3;
|
|
73
|
-
readVector4(): Vector4;
|
|
74
|
-
readRGBA(): RGBA;
|
|
75
|
-
readRGB(): RGB;
|
|
76
|
-
readRGBA32(): RGBA32;
|
|
77
|
-
readBox3(): Box3;
|
|
78
|
-
readSegment(): Segment;
|
|
79
|
-
readSectionBoxState(): SectionBoxState;
|
|
80
|
-
readArrayOfInt(): number[];
|
|
81
|
-
readArrayOfUInt(): number[];
|
|
82
|
-
readArrayOfFloat(): number[];
|
|
83
|
-
readArrayOfBool(): boolean[];
|
|
84
|
-
readArrayOfRGBA32(): RGBA32[];
|
|
85
|
-
readArray<T>(read: () => T): T[];
|
|
86
|
-
}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { Box3, Vector2, Vector3 } from "../utils/math3d";
|
|
2
|
-
import { RpcSafeClient } from "./rpcSafeClient";
|
|
3
|
-
import { Vim } from "./vim";
|
|
4
|
-
import { IReadonlyVimCollection } from "./vimCollection";
|
|
5
|
-
export interface IViewerSelection {
|
|
6
|
-
hitTest(pos: Vector2): Promise<HitTestResult | undefined>;
|
|
7
|
-
select(vim: Vim, node: number | number[]): void;
|
|
8
|
-
toggle(vim: Vim, node: number | number[]): void;
|
|
9
|
-
add(vim: Vim, node: number | number[]): void;
|
|
10
|
-
remove(vim: Vim, node: number | number[]): void;
|
|
11
|
-
clear(vim?: Vim): void;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Represents the result of a hit test operation.
|
|
15
|
-
*/
|
|
16
|
-
export type HitTestResult = {
|
|
17
|
-
/** The Vim instance that was hit */
|
|
18
|
-
vim: Vim;
|
|
19
|
-
/** The index of the node that was hit */
|
|
20
|
-
nodeIndex: number;
|
|
21
|
-
/** The 3D world position of the hit point */
|
|
22
|
-
worldPosition: Vector3;
|
|
23
|
-
/** The surface normal at the hit point */
|
|
24
|
-
worldNormal: Vector3;
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* Manages selection state of nodes across multiple VIM instances.
|
|
28
|
-
*/
|
|
29
|
-
export declare class ViewerSelection implements IViewerSelection {
|
|
30
|
-
private _rpc;
|
|
31
|
-
private _vims;
|
|
32
|
-
private _selectedNodes;
|
|
33
|
-
private _onValueChanged;
|
|
34
|
-
get onValueChanged(): import("ste-signals").ISignal;
|
|
35
|
-
/**
|
|
36
|
-
* Creates a new ViewerSelection instance.
|
|
37
|
-
* @param rpc - RPC client for communication with the viewer.
|
|
38
|
-
* @param vims - Collection of VIM instances to manage.
|
|
39
|
-
*/
|
|
40
|
-
constructor(rpc: RpcSafeClient, vims: IReadonlyVimCollection);
|
|
41
|
-
/**
|
|
42
|
-
* Gets the total number of selected nodes across all VIMs.
|
|
43
|
-
* @returns The total count of selected nodes.
|
|
44
|
-
*/
|
|
45
|
-
get count(): number;
|
|
46
|
-
/**
|
|
47
|
-
* Performs a hit test at the specified screen position.
|
|
48
|
-
* @param pos - The screen position in 2D coordinates.
|
|
49
|
-
* @returns Promise resolving to hit test result or undefined if no hit.
|
|
50
|
-
*/
|
|
51
|
-
hitTest(pos: Vector2): Promise<HitTestResult | undefined>;
|
|
52
|
-
/**
|
|
53
|
-
* Replaces the current selection with the specified node(s).
|
|
54
|
-
* Clears all previous selections across all VIMs.
|
|
55
|
-
* @param vim - The Vim instance to select nodes from.
|
|
56
|
-
* @param node - A single node index or array of node indices to select.
|
|
57
|
-
*/
|
|
58
|
-
select(vim: Vim, node: number | number[]): void;
|
|
59
|
-
/**
|
|
60
|
-
* Toggles the selection state of the specified node(s).
|
|
61
|
-
* If a node is currently selected, it will be deselected, and vice versa.
|
|
62
|
-
* @param vim - The Vim instance containing the nodes.
|
|
63
|
-
* @param node - A single node index or array of node indices to toggle.
|
|
64
|
-
*/
|
|
65
|
-
toggle(vim: Vim, node: number | number[]): void;
|
|
66
|
-
/**
|
|
67
|
-
* Adds the specified node(s) to the current selection.
|
|
68
|
-
* If a node is already selected, it remains selected.
|
|
69
|
-
* @param vim - The Vim instance containing the nodes.
|
|
70
|
-
* @param node - A single node index or array of node indices to add.
|
|
71
|
-
*/
|
|
72
|
-
add(vim: Vim, node: number | number[]): void;
|
|
73
|
-
/**
|
|
74
|
-
* Removes the specified node(s) from the current selection.
|
|
75
|
-
* If a node is not selected, no action is taken for that node.
|
|
76
|
-
* @param vim - The Vim instance containing the nodes.
|
|
77
|
-
* @param node - A single node index or array of node indices to remove.
|
|
78
|
-
*/
|
|
79
|
-
remove(vim: Vim, node: number | number[]): void;
|
|
80
|
-
/**
|
|
81
|
-
* Clears all selections across all VIMs or for a specific VIM.
|
|
82
|
-
* @param vim - Optional. If provided, only clears selections for the specified VIM.
|
|
83
|
-
*/
|
|
84
|
-
clear(vim?: Vim): void;
|
|
85
|
-
/**
|
|
86
|
-
* Calculates the bounding box encompassing all selected nodes.
|
|
87
|
-
* @returns Promise resolving to a Box3 representing the bounds of all selected nodes,
|
|
88
|
-
* or undefined if no nodes are selected or bounds cannot be calculated.
|
|
89
|
-
*/
|
|
90
|
-
getBoundingBox(): Promise<Box3 | undefined>;
|
|
91
|
-
/**
|
|
92
|
-
* Cleans up resources and releases memory.
|
|
93
|
-
* Should be called when the selection manager is no longer needed.
|
|
94
|
-
*/
|
|
95
|
-
dispose(): void;
|
|
96
|
-
}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { ColorHandle } from './color';
|
|
2
|
-
import { ColorManager } from './colorManager';
|
|
3
|
-
import { LoadRequest } from './loadRequest';
|
|
4
|
-
import { RpcSafeClient, VimSource } from './rpcSafeClient';
|
|
5
|
-
import { ILogger } from './logger';
|
|
6
|
-
import { Box3 } from '../utils/math3d';
|
|
7
|
-
type NodeState = 'visible' | 'hidden' | 'ghosted' | 'highlighted';
|
|
8
|
-
export declare class Vim {
|
|
9
|
-
readonly source: VimSource;
|
|
10
|
-
private _handle;
|
|
11
|
-
private _request;
|
|
12
|
-
private readonly _rpc;
|
|
13
|
-
private _colors;
|
|
14
|
-
private _logger;
|
|
15
|
-
private _nodeStates;
|
|
16
|
-
private _allNodeState;
|
|
17
|
-
private _nodeColors;
|
|
18
|
-
private _pendingNodeStateChanges;
|
|
19
|
-
private _updateScheduled;
|
|
20
|
-
/**
|
|
21
|
-
* Creates an instance of the Vim class.
|
|
22
|
-
* @param rpc - The RPC client used for communication.
|
|
23
|
-
* @param color - The color manager for handling colors.
|
|
24
|
-
* @param source - The source URL or file path of the Vim.
|
|
25
|
-
* @param logger - The logger for logging messages.
|
|
26
|
-
*/
|
|
27
|
-
constructor(rpc: RpcSafeClient, color: ColorManager, source: VimSource, logger: ILogger);
|
|
28
|
-
get handle(): number;
|
|
29
|
-
/**
|
|
30
|
-
* Indicates whether the Vim is connected.
|
|
31
|
-
* @returns True if connected; otherwise, false.
|
|
32
|
-
*/
|
|
33
|
-
get connected(): boolean;
|
|
34
|
-
/**
|
|
35
|
-
* Connects to the Vim and initiates loading.
|
|
36
|
-
* @returns The load request associated with this operation.
|
|
37
|
-
*/
|
|
38
|
-
connect(): LoadRequest;
|
|
39
|
-
private reapplyNodes;
|
|
40
|
-
private reapplyColors;
|
|
41
|
-
/**
|
|
42
|
-
* Disconnects the Vim and unloads it from the server.
|
|
43
|
-
*/
|
|
44
|
-
disconnect(): void;
|
|
45
|
-
/**
|
|
46
|
-
* Requests for the server to load the given URL or file path.
|
|
47
|
-
* @param source - The URL or file path to load.
|
|
48
|
-
* @param result - The load request object to update.
|
|
49
|
-
* @returns The updated load request.
|
|
50
|
-
*/
|
|
51
|
-
private _load;
|
|
52
|
-
private getErrorType;
|
|
53
|
-
private _getHandle;
|
|
54
|
-
/**
|
|
55
|
-
* Shows the given nodes.
|
|
56
|
-
* @param nodes - The nodes to show. If 'all' is passed, all nodes will be shown.
|
|
57
|
-
*/
|
|
58
|
-
show(nodes: number[] | 'all'): void;
|
|
59
|
-
/**
|
|
60
|
-
* Hides the given nodes.
|
|
61
|
-
* @param nodes - The nodes to hide. If 'all' is passed, all nodes will be hidden.
|
|
62
|
-
*/
|
|
63
|
-
hide(nodes: number[] | 'all'): void;
|
|
64
|
-
/**
|
|
65
|
-
* Ghosts the given nodes.
|
|
66
|
-
* @param nodes - The nodes to ghost. If 'all' is passed, all nodes will be ghosted.
|
|
67
|
-
*/
|
|
68
|
-
ghost(nodes: number[] | 'all'): void;
|
|
69
|
-
/**
|
|
70
|
-
* Highlights the given nodes.
|
|
71
|
-
* @param nodes - The nodes to highlight. If 'all' is passed, all nodes will be highlighted.
|
|
72
|
-
*/
|
|
73
|
-
highlight(nodes: number[] | 'all'): void;
|
|
74
|
-
/**
|
|
75
|
-
* Removes the highlight from the given nodes and reverts them to a fallback state.
|
|
76
|
-
* @param nodes - The nodes to remove the highlight from.
|
|
77
|
-
* @param fallback - The state to revert the nodes to.
|
|
78
|
-
*/
|
|
79
|
-
removeHighlight(nodes: number[], fallback: NodeState): void;
|
|
80
|
-
/**
|
|
81
|
-
* Retrieves the bounding box of the given nodes.
|
|
82
|
-
* @param nodes - The nodes to get the bounding box for.
|
|
83
|
-
* @returns A Promise that resolves to the bounding box, or undefined if not connected or nodes are empty.
|
|
84
|
-
* @throws Error if 'all' is passed, as this feature is not supported yet.
|
|
85
|
-
*/
|
|
86
|
-
getBoundingBox(nodes: number[] | 'all'): Promise<Box3 | undefined>;
|
|
87
|
-
/**
|
|
88
|
-
* Applies a color to the given nodes.
|
|
89
|
-
* @param color - The color to apply.
|
|
90
|
-
* @param nodes - The nodes to apply the color to.
|
|
91
|
-
*/
|
|
92
|
-
applyColor(color: ColorHandle | undefined, nodes: number[]): void;
|
|
93
|
-
/**
|
|
94
|
-
* Applies an array of colors to the given nodes.
|
|
95
|
-
* @param color - An array of colors to apply, corresponding to each node.
|
|
96
|
-
* @param nodes - The nodes to apply the colors to.
|
|
97
|
-
* @throws Will throw an error if the lengths of the colors and nodes arrays do not match.
|
|
98
|
-
*/
|
|
99
|
-
applyColors(color: (ColorHandle | undefined)[], nodes: number[]): void;
|
|
100
|
-
/**
|
|
101
|
-
* Clears the color from the given nodes.
|
|
102
|
-
* @param nodes - The nodes to clear the color from.
|
|
103
|
-
*/
|
|
104
|
-
clearColor(nodes: number[] | 'all'): void;
|
|
105
|
-
private updateMap;
|
|
106
|
-
private scheduleNodeStateChange;
|
|
107
|
-
private scheduleUpdate;
|
|
108
|
-
private update;
|
|
109
|
-
private callRPCForState;
|
|
110
|
-
}
|
|
111
|
-
export {};
|
|
@@ -1,8 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module viw-webgl-viewer/gizmos
|
|
3
|
-
*/
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
import { Viewer } from '../viewer';
|
|
6
|
-
/**
|
|
7
|
-
* Rectangle Gizmo used for rectangle selection.
|
|
8
|
-
*/
|
|
9
|
-
export declare class GizmoRectangle {
|
|
10
|
-
private line;
|
|
11
|
-
private viewer;
|
|
12
|
-
private points;
|
|
13
|
-
constructor(viewer: Viewer);
|
|
14
|
-
/**
|
|
15
|
-
* Removes the object from rendering and dispose resources from memory
|
|
16
|
-
*/
|
|
17
|
-
dispose(): void;
|
|
18
|
-
/**
|
|
19
|
-
* Indicates whether the gizmo is visible.
|
|
20
|
-
*/
|
|
21
|
-
get visible(): boolean;
|
|
22
|
-
set visible(value: boolean);
|
|
23
|
-
/**
|
|
24
|
-
* Sets the two corner points defining the rectangle.
|
|
25
|
-
* @param {THREE.Vector2} posA - The position of the first corner.
|
|
26
|
-
* @param {THREE.Vector2} posB - The position of the second corner.
|
|
27
|
-
*/
|
|
28
|
-
setCorners(posA: THREE.Vector2, posB: THREE.Vector2): void;
|
|
29
|
-
private getIntersection;
|
|
30
|
-
private updateRect;
|
|
31
|
-
private getBoxSize;
|
|
32
|
-
/**
|
|
33
|
-
* Returns the bounding box of the selection.
|
|
34
|
-
* The bounding box is the projection of the selection rectangle
|
|
35
|
-
* onto the plane coplanar to the closest hit of 5 raycasts: one in each corner and one in the center.
|
|
36
|
-
* X-----X
|
|
37
|
-
* | X |
|
|
38
|
-
* X-----X
|
|
39
|
-
* @returns {THREE.Box3} The bounding box of the selection.
|
|
40
|
-
*/
|
|
41
|
-
getBoundingBox(target?: THREE.Box3): THREE.Box3;
|
|
42
|
-
/**
|
|
43
|
-
* Performs a raycast from the camera through the five interest points and returns the closest hit position.
|
|
44
|
-
* @returns {THREE.Vector3} The position of the closest hit.
|
|
45
|
-
*/
|
|
46
|
-
getClosestHit(): THREE.Vector3;
|
|
47
|
-
/**
|
|
48
|
-
* Projects all points on a plane the coplanar to position.
|
|
49
|
-
*/
|
|
50
|
-
private projectPoints;
|
|
51
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
@module viw-webgl-viewer/gizmos/measure
|
|
3
|
-
*/
|
|
4
|
-
import { InputScheme } from '../../inputs/input';
|
|
5
|
-
import { InputAction } from '../../raycaster';
|
|
6
|
-
import { Measure } from './measure';
|
|
7
|
-
export type MeasureStage = 'ready' | 'active' | 'done' | 'failed';
|
|
8
|
-
/**
|
|
9
|
-
* Inputs scheme for measuring as a small state machine.
|
|
10
|
-
*/
|
|
11
|
-
export declare class MeasureFlow implements InputScheme {
|
|
12
|
-
private readonly _gizmoMeasure;
|
|
13
|
-
private _stage;
|
|
14
|
-
private removeMouseListener;
|
|
15
|
-
constructor(gizmoMeasure: Measure);
|
|
16
|
-
onProgress: ((stage: MeasureStage) => void) | undefined;
|
|
17
|
-
onComplete: ((success: boolean) => void) | undefined;
|
|
18
|
-
get stage(): MeasureStage;
|
|
19
|
-
private unregister;
|
|
20
|
-
/**
|
|
21
|
-
* Cancels current measuring flow.
|
|
22
|
-
*/
|
|
23
|
-
abort(): void;
|
|
24
|
-
/**
|
|
25
|
-
* Implementation for InputScheme onMainAction
|
|
26
|
-
*/
|
|
27
|
-
onMainAction(action: InputAction): void;
|
|
28
|
-
/**
|
|
29
|
-
* Implementation for InputScheme onIdleAction
|
|
30
|
-
*/
|
|
31
|
-
onIdleAction(action: InputAction): void;
|
|
32
|
-
/**
|
|
33
|
-
* Implementation for InputScheme onKeyAction
|
|
34
|
-
*/
|
|
35
|
-
onKeyAction(key: number): boolean;
|
|
36
|
-
}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module viw-webgl-viewer/inputs
|
|
3
|
-
*/
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
import { Viewer } from '../viewer';
|
|
6
|
-
import { KeyboardHandler } from './keyboardHandler';
|
|
7
|
-
import { TouchHandler } from './touchHandler';
|
|
8
|
-
import { MouseHandler } from './mouseHandler';
|
|
9
|
-
import { InputAction } from '../raycaster';
|
|
10
|
-
export { KEYS } from './keyboardHandler';
|
|
11
|
-
/** Pointers mode supported by the viewer */
|
|
12
|
-
export type PointerMode = 'orbit' | 'look' | 'pan' | 'zoom' | 'rect';
|
|
13
|
-
/**
|
|
14
|
-
* Defines an input scheme for the viewer.
|
|
15
|
-
*/
|
|
16
|
-
export interface InputScheme {
|
|
17
|
-
/**
|
|
18
|
-
* Called when mouse clicked or mobile tap.
|
|
19
|
-
*/
|
|
20
|
-
onMainAction(hit: InputAction): void;
|
|
21
|
-
/**
|
|
22
|
-
* Called once when mouse and camera have been idle for some time with the position where it stopped.
|
|
23
|
-
* Called once when the mouse moves again with undefined
|
|
24
|
-
*/
|
|
25
|
-
onIdleAction(hit: InputAction | undefined): void;
|
|
26
|
-
/**
|
|
27
|
-
* Called when a key is pressed and released.
|
|
28
|
-
*/
|
|
29
|
-
onKeyAction(key: number): boolean;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Vim viewer default input scheme
|
|
33
|
-
*/
|
|
34
|
-
export declare class DefaultInputScheme implements InputScheme {
|
|
35
|
-
private _viewer;
|
|
36
|
-
constructor(viewer: Viewer);
|
|
37
|
-
onMainAction(action: InputAction): void;
|
|
38
|
-
onIdleAction(hit: InputAction): void;
|
|
39
|
-
onKeyAction(key: number): boolean;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Manages and registers all viewer user inputs for mouse, keyboard and touch
|
|
43
|
-
*/
|
|
44
|
-
export declare class Input {
|
|
45
|
-
private _viewer;
|
|
46
|
-
/**
|
|
47
|
-
* Touch input handler
|
|
48
|
-
*/
|
|
49
|
-
touch: TouchHandler;
|
|
50
|
-
/**
|
|
51
|
-
* Mouse input handler
|
|
52
|
-
*/
|
|
53
|
-
mouse: MouseHandler;
|
|
54
|
-
/**
|
|
55
|
-
* Keyboard input handler
|
|
56
|
-
*/
|
|
57
|
-
keyboard: KeyboardHandler;
|
|
58
|
-
private _pointerActive;
|
|
59
|
-
private _pointerFallback;
|
|
60
|
-
private _pointerOverride;
|
|
61
|
-
constructor(viewer: Viewer);
|
|
62
|
-
/**
|
|
63
|
-
* Returns the last main mode (orbit, look) that was active.
|
|
64
|
-
*/
|
|
65
|
-
get pointerFallback(): PointerMode;
|
|
66
|
-
/**
|
|
67
|
-
* Returns current pointer mode.
|
|
68
|
-
*/
|
|
69
|
-
get pointerActive(): PointerMode;
|
|
70
|
-
/**
|
|
71
|
-
* A temporary pointer mode used for temporary icons.
|
|
72
|
-
*/
|
|
73
|
-
get pointerOverride(): PointerMode | undefined;
|
|
74
|
-
set pointerOverride(value: PointerMode | undefined);
|
|
75
|
-
/**
|
|
76
|
-
* Changes pointer interaction mode. Look mode will set camera orbitMode to false.
|
|
77
|
-
*/
|
|
78
|
-
set pointerActive(value: PointerMode);
|
|
79
|
-
private _onPointerModeChanged;
|
|
80
|
-
/**
|
|
81
|
-
* Event called when pointer interaction mode changes.
|
|
82
|
-
*/
|
|
83
|
-
get onPointerModeChanged(): import("ste-signals").ISignal;
|
|
84
|
-
private _onPointerOverrideChanged;
|
|
85
|
-
/**
|
|
86
|
-
* Event called when the pointer is temporarily overriden.
|
|
87
|
-
*/
|
|
88
|
-
get onPointerOverrideChanged(): import("ste-signals").ISignal;
|
|
89
|
-
private _onContextMenu;
|
|
90
|
-
/**
|
|
91
|
-
* Event called when when context menu could be displayed
|
|
92
|
-
*/
|
|
93
|
-
get onContextMenu(): import("ste-simple-events").ISimpleEvent<THREE.Vector2>;
|
|
94
|
-
private _scheme;
|
|
95
|
-
/**
|
|
96
|
-
* Get or set the current viewer input scheme, set undefined to revert to default.
|
|
97
|
-
*/
|
|
98
|
-
get scheme(): InputScheme | undefined;
|
|
99
|
-
set scheme(value: InputScheme | undefined);
|
|
100
|
-
/**
|
|
101
|
-
* Calls main action on the current input scheme
|
|
102
|
-
*/
|
|
103
|
-
MainAction(action: InputAction): void;
|
|
104
|
-
/**
|
|
105
|
-
* Calls idle action on the current input scheme
|
|
106
|
-
*/
|
|
107
|
-
IdleAction(action: InputAction | undefined): void;
|
|
108
|
-
/**
|
|
109
|
-
* Calls key action on the current input scheme
|
|
110
|
-
*/
|
|
111
|
-
KeyAction(key: number): boolean;
|
|
112
|
-
/**
|
|
113
|
-
* Calls context menu action
|
|
114
|
-
*/
|
|
115
|
-
ContextMenu(position: THREE.Vector2 | undefined): void;
|
|
116
|
-
/**
|
|
117
|
-
* Register inputs handlers for default viewer behavior
|
|
118
|
-
*/
|
|
119
|
-
registerAll(): void;
|
|
120
|
-
/**
|
|
121
|
-
* Unregisters all input handlers
|
|
122
|
-
*/
|
|
123
|
-
unregisterAll: () => void;
|
|
124
|
-
/**
|
|
125
|
-
* Resets all input state
|
|
126
|
-
*/
|
|
127
|
-
resetAll(): void;
|
|
128
|
-
}
|