vim-web 0.6.0-dev.3 → 0.6.0-dev.5
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 +104 -75
- package/dist/style.css +3 -0
- package/dist/vim-bim.d.ts +1920 -0
- package/dist/vim-web.d.ts +3351 -0
- package/dist/vim-web.iife.js +18541 -19530
- package/dist/vim-web.iife.js.map +1 -1
- package/dist/vim-web.js +18561 -19550
- package/dist/vim-web.js.map +1 -1
- package/package.json +12 -9
- package/dist/types/core-viewers/index.d.ts +0 -3
- package/dist/types/core-viewers/shared/baseInputHandler.d.ts +0 -28
- package/dist/types/core-viewers/shared/index.d.ts +0 -11
- package/dist/types/core-viewers/shared/inputAdapter.d.ts +0 -22
- package/dist/types/core-viewers/shared/inputHandler.d.ts +0 -99
- package/dist/types/core-viewers/shared/keyboardHandler.d.ts +0 -96
- package/dist/types/core-viewers/shared/loadResult.d.ts +0 -55
- package/dist/types/core-viewers/shared/mouseHandler.d.ts +0 -30
- package/dist/types/core-viewers/shared/raycaster.d.ts +0 -27
- package/dist/types/core-viewers/shared/selection.d.ts +0 -105
- package/dist/types/core-viewers/shared/touchHandler.d.ts +0 -42
- package/dist/types/core-viewers/shared/vim.d.ts +0 -48
- package/dist/types/core-viewers/shared/vimCollection.d.ts +0 -25
- package/dist/types/core-viewers/ultra/camera.d.ts +0 -116
- package/dist/types/core-viewers/ultra/colorManager.d.ts +0 -73
- package/dist/types/core-viewers/ultra/decoder.d.ts +0 -108
- package/dist/types/core-viewers/ultra/decoderWithWorker.d.ts +0 -80
- package/dist/types/core-viewers/ultra/element3d.d.ts +0 -44
- package/dist/types/core-viewers/ultra/index.d.ts +0 -29
- package/dist/types/core-viewers/ultra/inputAdapter.d.ts +0 -8
- package/dist/types/core-viewers/ultra/loadRequest.d.ts +0 -14
- package/dist/types/core-viewers/ultra/logger.d.ts +0 -9
- package/dist/types/core-viewers/ultra/protocol.d.ts +0 -13
- package/dist/types/core-viewers/ultra/raycaster.d.ts +0 -52
- package/dist/types/core-viewers/ultra/remoteColor.d.ts +0 -37
- package/dist/types/core-viewers/ultra/renderer.d.ts +0 -147
- package/dist/types/core-viewers/ultra/rpcClient.d.ts +0 -86
- package/dist/types/core-viewers/ultra/rpcMarshal.d.ts +0 -64
- package/dist/types/core-viewers/ultra/rpcSafeClient.d.ts +0 -470
- package/dist/types/core-viewers/ultra/rpcTypes.d.ts +0 -71
- package/dist/types/core-viewers/ultra/rpcUtils.d.ts +0 -8
- package/dist/types/core-viewers/ultra/sectionBox.d.ts +0 -33
- package/dist/types/core-viewers/ultra/selection.d.ts +0 -4
- package/dist/types/core-viewers/ultra/socketClient.d.ts +0 -153
- package/dist/types/core-viewers/ultra/streamLogger.d.ts +0 -19
- package/dist/types/core-viewers/ultra/streamRenderer.d.ts +0 -7
- package/dist/types/core-viewers/ultra/viewer.d.ts +0 -139
- package/dist/types/core-viewers/ultra/viewport.d.ts +0 -47
- package/dist/types/core-viewers/ultra/vim.d.ts +0 -50
- package/dist/types/core-viewers/ultra/vimCollection.d.ts +0 -51
- package/dist/types/core-viewers/ultra/visibility.d.ts +0 -100
- package/dist/types/core-viewers/webgl/index.d.ts +0 -5
- package/dist/types/core-viewers/webgl/loader/averageBoundingBox.d.ts +0 -6
- package/dist/types/core-viewers/webgl/loader/colorAttribute.d.ts +0 -34
- package/dist/types/core-viewers/webgl/loader/element3d.d.ts +0 -108
- package/dist/types/core-viewers/webgl/loader/elementMapping.d.ts +0 -113
- package/dist/types/core-viewers/webgl/loader/geometry.d.ts +0 -103
- package/dist/types/core-viewers/webgl/loader/index.d.ts +0 -24
- package/dist/types/core-viewers/webgl/loader/materials/ghostMaterial.d.ts +0 -16
- package/dist/types/core-viewers/webgl/loader/materials/index.d.ts +0 -10
- package/dist/types/core-viewers/webgl/loader/materials/maskMaterial.d.ts +0 -8
- package/dist/types/core-viewers/webgl/loader/materials/materials.d.ts +0 -161
- package/dist/types/core-viewers/webgl/loader/materials/mergeMaterial.d.ts +0 -18
- package/dist/types/core-viewers/webgl/loader/materials/outlineMaterial.d.ts +0 -78
- package/dist/types/core-viewers/webgl/loader/materials/pickingMaterial.d.ts +0 -42
- package/dist/types/core-viewers/webgl/loader/materials/simpleMaterial.d.ts +0 -17
- package/dist/types/core-viewers/webgl/loader/materials/skyboxMaterial.d.ts +0 -16
- package/dist/types/core-viewers/webgl/loader/materials/standardMaterial.d.ts +0 -57
- package/dist/types/core-viewers/webgl/loader/materials/transferMaterial.d.ts +0 -8
- package/dist/types/core-viewers/webgl/loader/mesh.d.ts +0 -118
- package/dist/types/core-viewers/webgl/loader/progressive/g3dOffsets.d.ts +0 -53
- package/dist/types/core-viewers/webgl/loader/progressive/g3dSubset.d.ts +0 -117
- package/dist/types/core-viewers/webgl/loader/progressive/insertableGeometry.d.ts +0 -45
- package/dist/types/core-viewers/webgl/loader/progressive/insertableMesh.d.ts +0 -63
- package/dist/types/core-viewers/webgl/loader/progressive/insertableSubmesh.d.ts +0 -43
- package/dist/types/core-viewers/webgl/loader/progressive/instancedMesh.d.ts +0 -39
- package/dist/types/core-viewers/webgl/loader/progressive/instancedMeshFactory.d.ts +0 -27
- package/dist/types/core-viewers/webgl/loader/progressive/instancedSubmesh.d.ts +0 -31
- package/dist/types/core-viewers/webgl/loader/progressive/legacyMeshFactory.d.ts +0 -26
- package/dist/types/core-viewers/webgl/loader/progressive/loadRequest.d.ts +0 -21
- package/dist/types/core-viewers/webgl/loader/progressive/loadingSynchronizer.d.ts +0 -27
- package/dist/types/core-viewers/webgl/loader/progressive/subsetBuilder.d.ts +0 -74
- package/dist/types/core-viewers/webgl/loader/progressive/subsetRequest.d.ts +0 -38
- package/dist/types/core-viewers/webgl/loader/progressive/vimx.d.ts +0 -17
- package/dist/types/core-viewers/webgl/loader/scene.d.ts +0 -90
- package/dist/types/core-viewers/webgl/loader/vim.d.ts +0 -163
- package/dist/types/core-viewers/webgl/loader/vimCollection.d.ts +0 -79
- package/dist/types/core-viewers/webgl/loader/vimSettings.d.ts +0 -69
- package/dist/types/core-viewers/webgl/loader/webglAttribute.d.ts +0 -19
- package/dist/types/core-viewers/webgl/utils/boxes.d.ts +0 -5
- package/dist/types/core-viewers/webgl/viewer/camera/camera.d.ts +0 -149
- package/dist/types/core-viewers/webgl/viewer/camera/cameraInterface.d.ts +0 -107
- package/dist/types/core-viewers/webgl/viewer/camera/cameraMovement.d.ts +0 -88
- package/dist/types/core-viewers/webgl/viewer/camera/cameraMovementLerp.d.ts +0 -28
- package/dist/types/core-viewers/webgl/viewer/camera/cameraMovementSnap.d.ts +0 -23
- package/dist/types/core-viewers/webgl/viewer/camera/cameraOrthographic.d.ts +0 -11
- package/dist/types/core-viewers/webgl/viewer/camera/cameraPerspective.d.ts +0 -11
- package/dist/types/core-viewers/webgl/viewer/camera/index.d.ts +0 -7
- package/dist/types/core-viewers/webgl/viewer/environment/environment.d.ts +0 -38
- package/dist/types/core-viewers/webgl/viewer/environment/index.d.ts +0 -3
- package/dist/types/core-viewers/webgl/viewer/environment/light.d.ts +0 -43
- package/dist/types/core-viewers/webgl/viewer/environment/skybox.d.ts +0 -39
- package/dist/types/core-viewers/webgl/viewer/gizmos/axes/axes.d.ts +0 -14
- package/dist/types/core-viewers/webgl/viewer/gizmos/axes/axesSettings.d.ts +0 -20
- package/dist/types/core-viewers/webgl/viewer/gizmos/axes/gizmoAxes.d.ts +0 -62
- package/dist/types/core-viewers/webgl/viewer/gizmos/axes/index.d.ts +0 -3
- package/dist/types/core-viewers/webgl/viewer/gizmos/gizmoLoading.d.ts +0 -23
- package/dist/types/core-viewers/webgl/viewer/gizmos/gizmoOrbit.d.ts +0 -76
- package/dist/types/core-viewers/webgl/viewer/gizmos/gizmos.d.ts +0 -45
- package/dist/types/core-viewers/webgl/viewer/gizmos/index.d.ts +0 -7
- package/dist/types/core-viewers/webgl/viewer/gizmos/markers/gizmoMarker.d.ts +0 -113
- package/dist/types/core-viewers/webgl/viewer/gizmos/markers/gizmoMarkers.d.ts +0 -52
- package/dist/types/core-viewers/webgl/viewer/gizmos/markers/index.d.ts +0 -2
- package/dist/types/core-viewers/webgl/viewer/gizmos/measure/index.d.ts +0 -3
- package/dist/types/core-viewers/webgl/viewer/gizmos/measure/measure.d.ts +0 -97
- package/dist/types/core-viewers/webgl/viewer/gizmos/measure/measureGizmo.d.ts +0 -44
- package/dist/types/core-viewers/webgl/viewer/gizmos/measure/measureHtml.d.ts +0 -26
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/SectionBoxMesh.d.ts +0 -15
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/index.d.ts +0 -7
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBox.d.ts +0 -103
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxGizmo.d.ts +0 -18
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxHandle.d.ts +0 -20
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxHandles.d.ts +0 -20
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxInputs.d.ts +0 -118
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxOutline.d.ts +0 -15
- package/dist/types/core-viewers/webgl/viewer/index.d.ts +0 -10
- package/dist/types/core-viewers/webgl/viewer/inputAdapter.d.ts +0 -3
- package/dist/types/core-viewers/webgl/viewer/raycaster.d.ts +0 -71
- package/dist/types/core-viewers/webgl/viewer/rendering/gpuPicker.d.ts +0 -145
- package/dist/types/core-viewers/webgl/viewer/rendering/index.d.ts +0 -4
- package/dist/types/core-viewers/webgl/viewer/rendering/mergePass.d.ts +0 -18
- package/dist/types/core-viewers/webgl/viewer/rendering/outlinePass.d.ts +0 -19
- package/dist/types/core-viewers/webgl/viewer/rendering/renderScene.d.ts +0 -57
- package/dist/types/core-viewers/webgl/viewer/rendering/renderer.d.ts +0 -135
- package/dist/types/core-viewers/webgl/viewer/rendering/renderingComposer.d.ts +0 -95
- package/dist/types/core-viewers/webgl/viewer/rendering/renderingSection.d.ts +0 -40
- package/dist/types/core-viewers/webgl/viewer/rendering/transferPass.d.ts +0 -17
- package/dist/types/core-viewers/webgl/viewer/selection.d.ts +0 -9
- package/dist/types/core-viewers/webgl/viewer/settings/index.d.ts +0 -3
- package/dist/types/core-viewers/webgl/viewer/settings/viewerDefaultSettings.d.ts +0 -5
- package/dist/types/core-viewers/webgl/viewer/settings/viewerSettings.d.ts +0 -310
- package/dist/types/core-viewers/webgl/viewer/settings/viewerSettingsParsing.d.ts +0 -9
- package/dist/types/core-viewers/webgl/viewer/viewer.d.ts +0 -115
- package/dist/types/core-viewers/webgl/viewer/viewport.d.ts +0 -73
- package/dist/types/index.d.ts +0 -3
- package/dist/types/react-viewers/bim/bimInfoBody.d.ts +0 -9
- package/dist/types/react-viewers/bim/bimInfoData.d.ts +0 -144
- package/dist/types/react-viewers/bim/bimInfoHeader.d.ts +0 -6
- package/dist/types/react-viewers/bim/bimInfoObject.d.ts +0 -12
- package/dist/types/react-viewers/bim/bimInfoPanel.d.ts +0 -10
- package/dist/types/react-viewers/bim/bimInfoVim.d.ts +0 -5
- package/dist/types/react-viewers/bim/bimPanel.d.ts +0 -40
- package/dist/types/react-viewers/bim/bimSearch.d.ts +0 -17
- package/dist/types/react-viewers/bim/bimTree.d.ts +0 -33
- package/dist/types/react-viewers/bim/bimTreeData.d.ts +0 -44
- package/dist/types/react-viewers/bim/bimUtils.d.ts +0 -13
- package/dist/types/react-viewers/bim/index.d.ts +0 -8
- package/dist/types/react-viewers/bim/openState.d.ts +0 -5
- package/dist/types/react-viewers/container.d.ts +0 -27
- package/dist/types/react-viewers/controlbar/controlBar.d.ts +0 -25
- package/dist/types/react-viewers/controlbar/controlBarButton.d.ts +0 -15
- package/dist/types/react-viewers/controlbar/controlBarIds.d.ts +0 -32
- package/dist/types/react-viewers/controlbar/controlBarSection.d.ts +0 -8
- package/dist/types/react-viewers/controlbar/index.d.ts +0 -5
- package/dist/types/react-viewers/controlbar/style.d.ts +0 -10
- package/dist/types/react-viewers/errors/errorStyle.d.ts +0 -15
- package/dist/types/react-viewers/errors/errors.d.ts +0 -6
- package/dist/types/react-viewers/errors/index.d.ts +0 -2
- package/dist/types/react-viewers/generic/genericField.d.ts +0 -31
- package/dist/types/react-viewers/generic/genericPanel.d.ts +0 -12
- package/dist/types/react-viewers/generic/index.d.ts +0 -2
- package/dist/types/react-viewers/generic/inputNumber.d.ts +0 -4
- package/dist/types/react-viewers/helpers/cameraObserver.d.ts +0 -8
- package/dist/types/react-viewers/helpers/cursor.d.ts +0 -37
- package/dist/types/react-viewers/helpers/customizer.d.ts +0 -4
- package/dist/types/react-viewers/helpers/data.d.ts +0 -27
- package/dist/types/react-viewers/helpers/element.d.ts +0 -14
- package/dist/types/react-viewers/helpers/fullScreenObserver.d.ts +0 -9
- package/dist/types/react-viewers/helpers/index.d.ts +0 -6
- package/dist/types/react-viewers/helpers/layout.d.ts +0 -24
- package/dist/types/react-viewers/helpers/loadRequest.d.ts +0 -28
- package/dist/types/react-viewers/helpers/reactUtils.d.ts +0 -286
- package/dist/types/react-viewers/helpers/requestResult.d.ts +0 -13
- package/dist/types/react-viewers/helpers/utils.d.ts +0 -15
- package/dist/types/react-viewers/icons.d.ts +0 -61
- package/dist/types/react-viewers/index.d.ts +0 -14
- package/dist/types/react-viewers/panels/axesPanel.d.ts +0 -21
- package/dist/types/react-viewers/panels/contextMenu.d.ts +0 -83
- package/dist/types/react-viewers/panels/help.d.ts +0 -10
- package/dist/types/react-viewers/panels/index.d.ts +0 -26
- package/dist/types/react-viewers/panels/isolationPanel.d.ts +0 -11
- package/dist/types/react-viewers/panels/loadingBox.d.ts +0 -29
- package/dist/types/react-viewers/panels/logo.d.ts +0 -5
- package/dist/types/react-viewers/panels/messageBox.d.ts +0 -15
- package/dist/types/react-viewers/panels/modal.d.ts +0 -17
- package/dist/types/react-viewers/panels/overlay.d.ts +0 -10
- package/dist/types/react-viewers/panels/performance.d.ts +0 -7
- package/dist/types/react-viewers/panels/restOfScreen.d.ts +0 -5
- package/dist/types/react-viewers/panels/sectionBoxPanel.d.ts +0 -10
- package/dist/types/react-viewers/panels/sidePanel.d.ts +0 -20
- package/dist/types/react-viewers/panels/toast.d.ts +0 -22
- package/dist/types/react-viewers/settings/anySettings.d.ts +0 -7
- package/dist/types/react-viewers/settings/index.d.ts +0 -5
- package/dist/types/react-viewers/settings/settingsInputBox.d.ts +0 -4
- package/dist/types/react-viewers/settings/settingsItem.d.ts +0 -30
- package/dist/types/react-viewers/settings/settingsKeys.d.ts +0 -46
- package/dist/types/react-viewers/settings/settingsPanel.d.ts +0 -18
- package/dist/types/react-viewers/settings/settingsPanelContent.d.ts +0 -6
- package/dist/types/react-viewers/settings/settingsState.d.ts +0 -18
- package/dist/types/react-viewers/settings/settingsStorage.d.ts +0 -15
- package/dist/types/react-viewers/settings/settingsSubtitle.d.ts +0 -2
- package/dist/types/react-viewers/settings/settingsToggle.d.ts +0 -11
- package/dist/types/react-viewers/settings/userBoolean.d.ts +0 -17
- package/dist/types/react-viewers/state/cameraState.d.ts +0 -24
- package/dist/types/react-viewers/state/controlBarState.d.ts +0 -88
- package/dist/types/react-viewers/state/fullScreenState.d.ts +0 -4
- package/dist/types/react-viewers/state/index.d.ts +0 -9
- package/dist/types/react-viewers/state/measureState.d.ts +0 -7
- package/dist/types/react-viewers/state/pointerState.d.ts +0 -6
- package/dist/types/react-viewers/state/sectionBoxState.d.ts +0 -34
- package/dist/types/react-viewers/state/sharedIsolation.d.ts +0 -40
- package/dist/types/react-viewers/state/sideState.d.ts +0 -22
- package/dist/types/react-viewers/state/viewerInputs.d.ts +0 -3
- package/dist/types/react-viewers/ultra/camera.d.ts +0 -3
- package/dist/types/react-viewers/ultra/controlBar.d.ts +0 -9
- package/dist/types/react-viewers/ultra/errors/fileLoadingError.d.ts +0 -2
- package/dist/types/react-viewers/ultra/errors/fileOpeningError.d.ts +0 -2
- package/dist/types/react-viewers/ultra/errors/serverCompatibilityError.d.ts +0 -2
- package/dist/types/react-viewers/ultra/errors/serverConnectionError.d.ts +0 -2
- package/dist/types/react-viewers/ultra/errors/serverFileDownloadingError.d.ts +0 -2
- package/dist/types/react-viewers/ultra/errors/serverStreamError.d.ts +0 -2
- package/dist/types/react-viewers/ultra/errors/ultraErrors.d.ts +0 -3
- package/dist/types/react-viewers/ultra/index.d.ts +0 -3
- package/dist/types/react-viewers/ultra/isolation.d.ts +0 -3
- package/dist/types/react-viewers/ultra/modal.d.ts +0 -5
- package/dist/types/react-viewers/ultra/sectionBox.d.ts +0 -3
- package/dist/types/react-viewers/ultra/settings.d.ts +0 -13
- package/dist/types/react-viewers/ultra/settingsPanel.d.ts +0 -5
- package/dist/types/react-viewers/ultra/viewer.d.ts +0 -23
- package/dist/types/react-viewers/ultra/viewerRef.d.ts +0 -50
- package/dist/types/react-viewers/urls.d.ts +0 -2
- package/dist/types/react-viewers/webgl/camera.d.ts +0 -3
- package/dist/types/react-viewers/webgl/index.d.ts +0 -4
- package/dist/types/react-viewers/webgl/inputsBindings.d.ts +0 -8
- package/dist/types/react-viewers/webgl/isolation.d.ts +0 -2
- package/dist/types/react-viewers/webgl/loading.d.ts +0 -64
- package/dist/types/react-viewers/webgl/sectionBox.d.ts +0 -3
- package/dist/types/react-viewers/webgl/settings.d.ts +0 -36
- package/dist/types/react-viewers/webgl/settingsPanel.d.ts +0 -12
- package/dist/types/react-viewers/webgl/viewer.d.ts +0 -28
- package/dist/types/react-viewers/webgl/viewerRef.d.ts +0 -131
- package/dist/types/react-viewers/webgl/viewerState.d.ts +0 -13
- package/dist/types/utils/array.d.ts +0 -18
- package/dist/types/utils/asyncQueue.d.ts +0 -15
- package/dist/types/utils/debounce.d.ts +0 -30
- package/dist/types/utils/index.d.ts +0 -10
- package/dist/types/utils/interfaces.d.ts +0 -3
- package/dist/types/utils/math3d.d.ts +0 -19
- package/dist/types/utils/partial.d.ts +0 -7
- package/dist/types/utils/promise.d.ts +0 -21
- package/dist/types/utils/threeUtils.d.ts +0 -4
- package/dist/types/utils/url.d.ts +0 -10
- package/dist/types/utils/validation.d.ts +0 -29
package/package.json
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vim-web",
|
|
3
|
-
"version": "0.6.0-dev.
|
|
3
|
+
"version": "0.6.0-dev.5",
|
|
4
4
|
"description": "A demonstration app built on top of the vim-webgl-viewer",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
7
|
-
"dist"
|
|
7
|
+
"dist",
|
|
8
|
+
"!dist/types"
|
|
8
9
|
],
|
|
9
10
|
"readme": "README.md",
|
|
10
11
|
"main": "./dist/vim-web.iife.js",
|
|
11
|
-
"types": "./dist/
|
|
12
|
+
"types": "./dist/vim-web.d.ts",
|
|
12
13
|
"module": "./dist/vim-web.js",
|
|
13
14
|
"homepage": "https://github.com/vimaec/vim-web.git",
|
|
14
15
|
"bugs": {
|
|
@@ -25,7 +26,9 @@
|
|
|
25
26
|
"eslint": "eslint --ext .js,.ts,.tsx src --fix",
|
|
26
27
|
"documentation": "typedoc --entryPoints src/vim-web/index.ts --entryPointStrategy expand --out docs2 --excludeProtected --excludeExternals --excludePrivate",
|
|
27
28
|
"declarations": "tsc -p tsconfig.types.json",
|
|
28
|
-
"
|
|
29
|
+
"bundle-dts": "rollup -c rollup.dts.config.mjs",
|
|
30
|
+
"bundle-bim-dts": "rollup -c rollup.bim-dts.config.mjs",
|
|
31
|
+
"build": "vite build && npm run declarations && npm run bundle-dts && npm run bundle-bim-dts",
|
|
29
32
|
"publish:package": "npm run build && npm publish",
|
|
30
33
|
"publish:documentation": "npm run documentation && gh-pages -d docs2",
|
|
31
34
|
"publish:both": "npm run publish:package && npm run publish:documentation"
|
|
@@ -36,6 +39,7 @@
|
|
|
36
39
|
"@types/react-dom": "^18.3.1",
|
|
37
40
|
"@typescript-eslint/eslint-plugin": "^8.17.0",
|
|
38
41
|
"@typescript-eslint/parser": "^8.17.0",
|
|
42
|
+
"@vitejs/plugin-react": "^4.3.4",
|
|
39
43
|
"autoprefixer": "^10.4.20",
|
|
40
44
|
"eslint": "^8.23.1",
|
|
41
45
|
"eslint-config-prettier": "^8.5.0",
|
|
@@ -43,22 +47,21 @@
|
|
|
43
47
|
"eslint-plugin-promise": "^6.0.1",
|
|
44
48
|
"eslint-plugin-react": "^7.37.2",
|
|
45
49
|
"eslint-plugin-react-hooks": "^5.0.0",
|
|
46
|
-
"
|
|
50
|
+
"gh-pages": "^6.3.0",
|
|
47
51
|
"postcss": "^8.4.49",
|
|
48
52
|
"prettier": "^3.4.2",
|
|
49
53
|
"prettier-plugin-tailwindcss": "^0.6.9",
|
|
50
|
-
"
|
|
54
|
+
"rollup": "^4.57.1",
|
|
55
|
+
"rollup-plugin-dts": "^6.3.0",
|
|
51
56
|
"tailwindcss": "^3.4.16",
|
|
52
57
|
"tailwindcss-scoped-preflight": "^3.4.9",
|
|
53
58
|
"typedoc": "^0.27.3",
|
|
54
59
|
"typescript": "^5.7.2",
|
|
55
|
-
"vite": "^6.0.2"
|
|
56
|
-
"gh-pages": "^6.3.0"
|
|
60
|
+
"vite": "^6.0.2"
|
|
57
61
|
},
|
|
58
62
|
"dependencies": {
|
|
59
63
|
"@firefox-devtools/react-contextmenu": "^5.1.1",
|
|
60
64
|
"@types/three": "0.170.0",
|
|
61
|
-
"@vitejs/plugin-react": "^4.3.4",
|
|
62
65
|
"deepmerge": "^4.3.1",
|
|
63
66
|
"is-plain-object": "^5.0.0",
|
|
64
67
|
"re-resizable": "^6.9.9",
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module viw-webgl-viewer/inputs
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Base class for various input handlers.
|
|
6
|
-
* It provides convenience to register to and unregister from events.
|
|
7
|
-
*/
|
|
8
|
-
export declare class BaseInputHandler {
|
|
9
|
-
protected _canvas: HTMLCanvasElement;
|
|
10
|
-
protected _disconnect: Function[];
|
|
11
|
-
constructor(canvas: HTMLCanvasElement);
|
|
12
|
-
protected reg<T extends Event>(element: Document | HTMLElement | Window, eventType: string, callback: (event: T) => void): void;
|
|
13
|
-
/**
|
|
14
|
-
* Register handler to related browser events
|
|
15
|
-
* Prevents double registrations
|
|
16
|
-
*/
|
|
17
|
-
register(): void;
|
|
18
|
-
protected addListeners(): void;
|
|
19
|
-
/**
|
|
20
|
-
* Unregister handler from related browser events
|
|
21
|
-
* Prevents double unregistration
|
|
22
|
-
*/
|
|
23
|
-
unregister(): void;
|
|
24
|
-
/**
|
|
25
|
-
* Reset handler states such as button down, drag, etc.
|
|
26
|
-
*/
|
|
27
|
-
reset(): void;
|
|
28
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export * from './inputHandler';
|
|
2
|
-
export * from './loadResult';
|
|
3
|
-
export { PointerMode } from './inputHandler';
|
|
4
|
-
export type * from './baseInputHandler';
|
|
5
|
-
export type * from './keyboardHandler';
|
|
6
|
-
export type * from './mouseHandler';
|
|
7
|
-
export type * from './raycaster';
|
|
8
|
-
export type * from './selection';
|
|
9
|
-
export type * from './touchHandler';
|
|
10
|
-
export type * from './vim';
|
|
11
|
-
export type * from './vimCollection';
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
export interface IInputAdapter {
|
|
3
|
-
init: () => void;
|
|
4
|
-
toggleOrthographic: () => void;
|
|
5
|
-
toggleCameraOrbitMode: () => void;
|
|
6
|
-
resetCamera: () => void;
|
|
7
|
-
clearSelection: () => void;
|
|
8
|
-
frameCamera: () => void;
|
|
9
|
-
moveCamera: (value: THREE.Vector3) => void;
|
|
10
|
-
orbitCamera: (value: THREE.Vector2) => void;
|
|
11
|
-
rotateCamera: (value: THREE.Vector2) => void;
|
|
12
|
-
panCamera: (value: THREE.Vector2) => void;
|
|
13
|
-
dollyCamera: (value: THREE.Vector2) => void;
|
|
14
|
-
keyDown: (keyCode: string) => boolean;
|
|
15
|
-
keyUp: (keyCode: string) => boolean;
|
|
16
|
-
mouseDown: (pos: THREE.Vector2, button: number) => void;
|
|
17
|
-
mouseUp: (pos: THREE.Vector2, button: number) => void;
|
|
18
|
-
mouseMove: (pos: THREE.Vector2) => void;
|
|
19
|
-
selectAtPointer: (pos: THREE.Vector2, add: boolean) => void;
|
|
20
|
-
frameAtPointer: (pos: THREE.Vector2) => void;
|
|
21
|
-
zoom: (value: number, pos?: THREE.Vector2) => void;
|
|
22
|
-
}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
import { BaseInputHandler } from './baseInputHandler';
|
|
3
|
-
import { KeyboardHandler } from './keyboardHandler';
|
|
4
|
-
import { MouseHandler } from './mouseHandler';
|
|
5
|
-
import { TouchHandler } from './touchHandler';
|
|
6
|
-
import { IInputAdapter } from './inputAdapter';
|
|
7
|
-
export declare enum PointerMode {
|
|
8
|
-
ORBIT = "orbit",
|
|
9
|
-
LOOK = "look",
|
|
10
|
-
PAN = "pan",
|
|
11
|
-
ZOOM = "zoom",
|
|
12
|
-
RECT = "rect"
|
|
13
|
-
}
|
|
14
|
-
interface InputSettings {
|
|
15
|
-
orbit: boolean;
|
|
16
|
-
scrollSpeed: number;
|
|
17
|
-
moveSpeed: number;
|
|
18
|
-
rotateSpeed: number;
|
|
19
|
-
orbitSpeed: number;
|
|
20
|
-
}
|
|
21
|
-
export declare class InputHandler extends BaseInputHandler {
|
|
22
|
-
/**
|
|
23
|
-
* Touch input handler
|
|
24
|
-
*/
|
|
25
|
-
touch: TouchHandler;
|
|
26
|
-
/**
|
|
27
|
-
* Mouse input handler
|
|
28
|
-
*/
|
|
29
|
-
mouse: MouseHandler;
|
|
30
|
-
/**
|
|
31
|
-
* Keyboard input handler
|
|
32
|
-
*/
|
|
33
|
-
keyboard: KeyboardHandler;
|
|
34
|
-
scrollSpeed: number;
|
|
35
|
-
private _moveSpeed;
|
|
36
|
-
rotateSpeed: number;
|
|
37
|
-
orbitSpeed: number;
|
|
38
|
-
private _pointerActive;
|
|
39
|
-
private _pointerFallback;
|
|
40
|
-
private _pointerOverride;
|
|
41
|
-
private _onPointerOverrideChanged;
|
|
42
|
-
private _onPointerModeChanged;
|
|
43
|
-
private _onSettingsChanged;
|
|
44
|
-
private _adapter;
|
|
45
|
-
constructor(canvas: HTMLCanvasElement, adapter: IInputAdapter, settings?: Partial<InputSettings>);
|
|
46
|
-
getZoomValue(value: number): number;
|
|
47
|
-
init(): void;
|
|
48
|
-
get moveSpeed(): number;
|
|
49
|
-
set moveSpeed(value: number);
|
|
50
|
-
get onSettingsChanged(): import("ste-signals").ISignal;
|
|
51
|
-
/**
|
|
52
|
-
* Returns the last main mode (orbit, look) that was active.
|
|
53
|
-
*/
|
|
54
|
-
get pointerFallback(): PointerMode;
|
|
55
|
-
/**
|
|
56
|
-
* Returns current pointer mode.
|
|
57
|
-
*/
|
|
58
|
-
get pointerActive(): PointerMode;
|
|
59
|
-
/**
|
|
60
|
-
* A temporary pointer mode used for temporary icons.
|
|
61
|
-
*/
|
|
62
|
-
get pointerOverride(): PointerMode;
|
|
63
|
-
set pointerOverride(value: PointerMode | undefined);
|
|
64
|
-
/**
|
|
65
|
-
* Changes pointer interaction mode. Look mode will set camera orbitMode to false.
|
|
66
|
-
*/
|
|
67
|
-
set pointerActive(value: PointerMode);
|
|
68
|
-
/**
|
|
69
|
-
* Event called when pointer interaction mode changes.
|
|
70
|
-
*/
|
|
71
|
-
get onPointerModeChanged(): import("ste-signals").ISignal;
|
|
72
|
-
/**
|
|
73
|
-
* Event called when the pointer is temporarily overriden.
|
|
74
|
-
*/
|
|
75
|
-
get onPointerOverrideChanged(): import("ste-signals").ISignal;
|
|
76
|
-
private _onContextMenu;
|
|
77
|
-
/**
|
|
78
|
-
* Event called when when context menu could be displayed
|
|
79
|
-
*/
|
|
80
|
-
get onContextMenu(): import("ste-simple-events").ISimpleEvent<THREE.Vector2>;
|
|
81
|
-
/**
|
|
82
|
-
* Calls context menu action
|
|
83
|
-
*/
|
|
84
|
-
ContextMenu(position: THREE.Vector2 | undefined): void;
|
|
85
|
-
/**
|
|
86
|
-
* Register inputs handlers for default viewer behavior
|
|
87
|
-
*/
|
|
88
|
-
registerAll(): void;
|
|
89
|
-
/**
|
|
90
|
-
* Unregisters all input handlers
|
|
91
|
-
*/
|
|
92
|
-
unregisterAll: () => void;
|
|
93
|
-
/**
|
|
94
|
-
* Resets all input state
|
|
95
|
-
*/
|
|
96
|
-
resetAll(): void;
|
|
97
|
-
dispose(): void;
|
|
98
|
-
}
|
|
99
|
-
export {};
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module viw-webgl-viewer/inputs
|
|
3
|
-
*/
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
import { BaseInputHandler } from './baseInputHandler';
|
|
6
|
-
type CallbackMode = 'replace' | 'append' | 'prepend';
|
|
7
|
-
/**
|
|
8
|
-
* KeyboardHandler
|
|
9
|
-
*
|
|
10
|
-
* A modern keyboard handler that manages keyboard events using a stateful pattern.
|
|
11
|
-
* It supports separate handlers for key down, key up, and continuous key pressed events.
|
|
12
|
-
* The handler calculates a movement vector based on currently pressed keys.
|
|
13
|
-
*/
|
|
14
|
-
export declare class KeyboardHandler extends BaseInputHandler {
|
|
15
|
-
/**
|
|
16
|
-
* Callback invoked whenever the calculated movement vector is updated.
|
|
17
|
-
*/
|
|
18
|
-
onMove: (value: THREE.Vector3) => void;
|
|
19
|
-
onKeyUp: (code: string) => boolean;
|
|
20
|
-
onKeyDown: (code: string) => boolean;
|
|
21
|
-
/**
|
|
22
|
-
* Speed multiplier applied when the Shift key is held.
|
|
23
|
-
* @private
|
|
24
|
-
*/
|
|
25
|
-
private readonly SHIFT_MULTIPLIER;
|
|
26
|
-
/**
|
|
27
|
-
* Set of currently pressed key codes.
|
|
28
|
-
* @private
|
|
29
|
-
*/
|
|
30
|
-
private pressedKeys;
|
|
31
|
-
/**
|
|
32
|
-
* Map of key down event handlers (invoked once on key down).
|
|
33
|
-
* @private
|
|
34
|
-
*/
|
|
35
|
-
private keyDownHandlers;
|
|
36
|
-
/**
|
|
37
|
-
* Map of key up event handlers (invoked once on key up).
|
|
38
|
-
* @private
|
|
39
|
-
*/
|
|
40
|
-
private keyUpHandlers;
|
|
41
|
-
/**
|
|
42
|
-
* Creates an instance of KeyboardHandler.
|
|
43
|
-
* @param canvas The HTMLCanvasElement to attach keyboard events to.
|
|
44
|
-
*/
|
|
45
|
-
constructor(canvas: HTMLCanvasElement);
|
|
46
|
-
/**
|
|
47
|
-
* Registers the necessary keyboard event listeners.
|
|
48
|
-
* @protected
|
|
49
|
-
*/
|
|
50
|
-
protected addListeners(): void;
|
|
51
|
-
private registerMovementHandlers;
|
|
52
|
-
/**
|
|
53
|
-
* Checks if a key is currently pressed.
|
|
54
|
-
* @param key The event.code of the key.
|
|
55
|
-
* @returns {boolean} True if the key is pressed, false otherwise.
|
|
56
|
-
* @private
|
|
57
|
-
*/
|
|
58
|
-
isKeyPressed(key: string): boolean;
|
|
59
|
-
/**
|
|
60
|
-
* Resets the handler state by clearing all pressed keys and recalculating movement.
|
|
61
|
-
* @override
|
|
62
|
-
*/
|
|
63
|
-
reset(): void;
|
|
64
|
-
/**
|
|
65
|
-
* Registers a handler for a key down event.
|
|
66
|
-
* @param code The event.code of the key.
|
|
67
|
-
* @param handler Callback invoked on key down.
|
|
68
|
-
*/
|
|
69
|
-
registerKeyDown(code: string, mode: CallbackMode, handler: () => void): void;
|
|
70
|
-
/**
|
|
71
|
-
* Registers a handler for a key up event.
|
|
72
|
-
* @param code The event.code of the key.
|
|
73
|
-
* @param handler Callback invoked on key up.
|
|
74
|
-
*/
|
|
75
|
-
registerKeyUp(code: string | string[], mode: CallbackMode, handler: () => void): void;
|
|
76
|
-
private registerKey;
|
|
77
|
-
/**
|
|
78
|
-
* Internal key down event handler.
|
|
79
|
-
* @param event The KeyboardEvent object.
|
|
80
|
-
* @private
|
|
81
|
-
*/
|
|
82
|
-
private _onKeyDown;
|
|
83
|
-
/**
|
|
84
|
-
* Internal key up event handler.
|
|
85
|
-
* @param event The KeyboardEvent object.
|
|
86
|
-
* @private
|
|
87
|
-
*/
|
|
88
|
-
private _onKeyUp;
|
|
89
|
-
/**
|
|
90
|
-
* Calculates and applies the movement vector based on currently pressed keys.
|
|
91
|
-
* Also calls any continuous key pressed handlers for keys that are held down.
|
|
92
|
-
* @private
|
|
93
|
-
*/
|
|
94
|
-
private applyMove;
|
|
95
|
-
}
|
|
96
|
-
export {};
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
export interface ILoadSuccess<T> {
|
|
2
|
-
readonly isSuccess: true;
|
|
3
|
-
readonly isError: false;
|
|
4
|
-
readonly vim: T;
|
|
5
|
-
}
|
|
6
|
-
export interface ILoadError {
|
|
7
|
-
readonly isSuccess: false;
|
|
8
|
-
readonly isError: true;
|
|
9
|
-
readonly error: string;
|
|
10
|
-
readonly details?: string;
|
|
11
|
-
}
|
|
12
|
-
export type ProgressType = 'bytes' | 'percent';
|
|
13
|
-
export interface IProgress {
|
|
14
|
-
type: ProgressType;
|
|
15
|
-
current: number;
|
|
16
|
-
total?: number;
|
|
17
|
-
}
|
|
18
|
-
export type LoadResult<TValue, TError extends ILoadError = ILoadError> = ILoadSuccess<TValue> | TError;
|
|
19
|
-
export declare class LoadSuccess<T> implements ILoadSuccess<T> {
|
|
20
|
-
readonly vim: T;
|
|
21
|
-
readonly isSuccess: true;
|
|
22
|
-
readonly isError: false;
|
|
23
|
-
constructor(vim: T);
|
|
24
|
-
}
|
|
25
|
-
export declare class LoadError implements ILoadError {
|
|
26
|
-
readonly error: string;
|
|
27
|
-
readonly details?: string;
|
|
28
|
-
readonly isSuccess: false;
|
|
29
|
-
readonly isError: true;
|
|
30
|
-
constructor(error: string, details?: string);
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Interface for load requests that can be used as a type constraint.
|
|
34
|
-
*/
|
|
35
|
-
export interface ILoadRequest<TVim, TError extends ILoadError = ILoadError> {
|
|
36
|
-
readonly isCompleted: boolean;
|
|
37
|
-
getProgress(): AsyncGenerator<IProgress>;
|
|
38
|
-
getResult(): Promise<LoadResult<TVim, TError>>;
|
|
39
|
-
abort(): void;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Base class for loading requests that provides progress tracking via AsyncQueue.
|
|
43
|
-
* Both WebGL and Ultra extend this class with their specific loading logic.
|
|
44
|
-
*/
|
|
45
|
-
export declare class LoadRequest<TVim, TError extends ILoadError = ILoadError> implements ILoadRequest<TVim, TError> {
|
|
46
|
-
private _progressQueue;
|
|
47
|
-
private _result;
|
|
48
|
-
private _resultPromise;
|
|
49
|
-
get isCompleted(): boolean;
|
|
50
|
-
getProgress(): AsyncGenerator<IProgress>;
|
|
51
|
-
getResult(): Promise<LoadResult<TVim, TError>>;
|
|
52
|
-
pushProgress(progress: IProgress): void;
|
|
53
|
-
complete(result: LoadResult<TVim, TError>): void;
|
|
54
|
-
abort(): void;
|
|
55
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { BaseInputHandler } from "./baseInputHandler";
|
|
2
|
-
import * as THREE from 'three';
|
|
3
|
-
type DragCallback = (delta: THREE.Vector2, button: number) => void;
|
|
4
|
-
export declare class MouseHandler extends BaseInputHandler {
|
|
5
|
-
private _lastMouseDownPosition;
|
|
6
|
-
private _capture;
|
|
7
|
-
private _dragHandler;
|
|
8
|
-
private _doubleClickHandler;
|
|
9
|
-
private _clickHandler;
|
|
10
|
-
onButtonDown: (pos: THREE.Vector2, button: number) => void;
|
|
11
|
-
onButtonUp: (pos: THREE.Vector2, button: number) => void;
|
|
12
|
-
onMouseMove: (event: THREE.Vector2) => void;
|
|
13
|
-
onDrag: DragCallback;
|
|
14
|
-
onClick: (position: THREE.Vector2, ctrl: boolean) => void;
|
|
15
|
-
onDoubleClick: (position: THREE.Vector2) => void;
|
|
16
|
-
onWheel: (value: number, ctrl: boolean, pos: THREE.Vector2) => void;
|
|
17
|
-
onContextMenu: (position: THREE.Vector2) => void;
|
|
18
|
-
constructor(canvas: HTMLCanvasElement);
|
|
19
|
-
protected addListeners(): void;
|
|
20
|
-
dispose(): void;
|
|
21
|
-
private handlePointerDown;
|
|
22
|
-
private handlePointerUp;
|
|
23
|
-
private handleMouseClick;
|
|
24
|
-
private handleContextMenu;
|
|
25
|
-
private handlePointerMove;
|
|
26
|
-
private handleDoubleClick;
|
|
27
|
-
private onMouseScroll;
|
|
28
|
-
private relativePosition;
|
|
29
|
-
}
|
|
30
|
-
export {};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { THREE } from "../..";
|
|
2
|
-
export interface IRaycastResult<T> {
|
|
3
|
-
/** The model Object hit */
|
|
4
|
-
object: T | undefined;
|
|
5
|
-
/** The 3D world position of the hit point */
|
|
6
|
-
worldPosition: THREE.Vector3;
|
|
7
|
-
/** The surface normal at the hit point */
|
|
8
|
-
worldNormal: THREE.Vector3;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Interface for raycasting against a 3D scene.
|
|
12
|
-
* @template T - The type of object to raycast against.
|
|
13
|
-
*/
|
|
14
|
-
export interface IRaycaster<T> {
|
|
15
|
-
/**
|
|
16
|
-
* Raycasts from camera to the screen position to find the first object hit.
|
|
17
|
-
* @param position - The screen position to raycast from.
|
|
18
|
-
* @returns A promise that resolves to the raycast result, or undefined if no hit.
|
|
19
|
-
*/
|
|
20
|
-
raycastFromScreen(position: THREE.Vector2): Promise<IRaycastResult<T> | undefined>;
|
|
21
|
-
/**
|
|
22
|
-
* Raycasts from camera to world position to find the first object hit.
|
|
23
|
-
* @param position - The world position to raycast through.
|
|
24
|
-
* @returns A promise that resolves to the raycast result, or undefined if no hit.
|
|
25
|
-
*/
|
|
26
|
-
raycastFromWorld(position: THREE.Vector3): Promise<IRaycastResult<T> | undefined>;
|
|
27
|
-
}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { ISignal } from "ste-signals";
|
|
2
|
-
import { IVimElement, IVim } from "./vim";
|
|
3
|
-
import { THREE } from "../..";
|
|
4
|
-
export interface ISelectionAdapter<T extends IVimElement> {
|
|
5
|
-
outline(target: T, state: boolean): void;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Selection manager that supports adding, removing, toggling, and querying selected objects.
|
|
9
|
-
* The selection change signal is debounced to dispatch only once per animation frame.
|
|
10
|
-
*/
|
|
11
|
-
export declare class Selection<T extends IVimElement> {
|
|
12
|
-
private _onSelectionChanged;
|
|
13
|
-
private _selection;
|
|
14
|
-
private _adapter;
|
|
15
|
-
/**
|
|
16
|
-
* If true, reselecting the currently selected single target will toggle it instead of doing nothing.
|
|
17
|
-
*/
|
|
18
|
-
toggleOnRepeatSelect: boolean;
|
|
19
|
-
/**
|
|
20
|
-
* If true, the selection manager is enabled and can modify the selection.
|
|
21
|
-
*/
|
|
22
|
-
enabled: boolean;
|
|
23
|
-
/**
|
|
24
|
-
* Creates a new Selection manager.
|
|
25
|
-
* @param adapter - Adapter responsible for visual selection feedback.
|
|
26
|
-
*/
|
|
27
|
-
constructor(adapter: ISelectionAdapter<T>);
|
|
28
|
-
/**
|
|
29
|
-
* Checks whether a specific object is currently selected.
|
|
30
|
-
* @param target - The target to check.
|
|
31
|
-
* @returns `true` if the object is selected; otherwise, `false`.
|
|
32
|
-
*/
|
|
33
|
-
has(target: T): boolean;
|
|
34
|
-
/**
|
|
35
|
-
* Returns the number of selected objects.
|
|
36
|
-
* @returns The count of selected items.
|
|
37
|
-
*/
|
|
38
|
-
count(): number;
|
|
39
|
-
/**
|
|
40
|
-
* Checks if there is at least one selected object.
|
|
41
|
-
* @returns `true` if the selection is not empty.
|
|
42
|
-
*/
|
|
43
|
-
any(): boolean;
|
|
44
|
-
/**
|
|
45
|
-
* Signal that fires when the selection changes.
|
|
46
|
-
*/
|
|
47
|
-
get onSelectionChanged(): ISignal;
|
|
48
|
-
/**
|
|
49
|
-
* Normalizes a value to an array of objects.
|
|
50
|
-
* @param oneOrMore - A single object or an array of objects.
|
|
51
|
-
* @returns An array of objects.
|
|
52
|
-
*/
|
|
53
|
-
private toArray;
|
|
54
|
-
/**
|
|
55
|
-
* Replaces the current selection with the given object(s).
|
|
56
|
-
* If `toggleOnRepeatSelect` is true and the object is already the only selected one, it toggles it instead.
|
|
57
|
-
* @param objectOrObjects - Object(s) to select, or `undefined` to clear the selection.
|
|
58
|
-
*/
|
|
59
|
-
select(object: T): void;
|
|
60
|
-
select(objects: T[]): void;
|
|
61
|
-
/**
|
|
62
|
-
* Toggles the selection state of the given object(s).
|
|
63
|
-
* @param objectOrObjects - Object(s) to toggle.
|
|
64
|
-
*/
|
|
65
|
-
toggle(object: T): void;
|
|
66
|
-
toggle(objects: T[]): void;
|
|
67
|
-
/**
|
|
68
|
-
* Adds the given object(s) to the selection.
|
|
69
|
-
* @param objectOrObjects - Object(s) to add.
|
|
70
|
-
*/
|
|
71
|
-
add(object: T): void;
|
|
72
|
-
add(objects: T[]): void;
|
|
73
|
-
/**
|
|
74
|
-
* Removes the given object(s) from the selection.
|
|
75
|
-
* @param objectOrObjects - Object(s) to remove.
|
|
76
|
-
*/
|
|
77
|
-
remove(object: T): void;
|
|
78
|
-
remove(objects: T[]): void;
|
|
79
|
-
/**
|
|
80
|
-
* Clears the entire selection.
|
|
81
|
-
*/
|
|
82
|
-
clear(): void;
|
|
83
|
-
/**
|
|
84
|
-
* Returns an array of all currently selected objects.
|
|
85
|
-
* @returns An array of selected objects.
|
|
86
|
-
*/
|
|
87
|
-
getAll(): T[];
|
|
88
|
-
/**
|
|
89
|
-
* Returns all selected objects belonging to a specific VIM model.
|
|
90
|
-
* @param vim - The VIM instance to filter by.
|
|
91
|
-
* @returns An array of selected objects from the specified VIM.
|
|
92
|
-
*/
|
|
93
|
-
getFromVim(vim: IVim<T>): T[];
|
|
94
|
-
/**
|
|
95
|
-
* Removes all selected objects that belong to a specific VIM model.
|
|
96
|
-
* @param vim - The VIM instance to remove selections from.
|
|
97
|
-
*/
|
|
98
|
-
removeFromVim(vim: IVim<T>): void;
|
|
99
|
-
/**
|
|
100
|
-
* Computes the bounding box that contains all selected objects.
|
|
101
|
-
* Skips objects that do not implement `getBoundingBox()`.
|
|
102
|
-
* @returns A promise resolving to the combined bounding box.
|
|
103
|
-
*/
|
|
104
|
-
getBoundingBox(): Promise<THREE.Box3 | undefined>;
|
|
105
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module viw-webgl-viewer/inputs
|
|
3
|
-
*/
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
import { BaseInputHandler } from './baseInputHandler';
|
|
6
|
-
/**
|
|
7
|
-
* Manages user touch inputs.
|
|
8
|
-
*/
|
|
9
|
-
export declare class TouchHandler extends BaseInputHandler {
|
|
10
|
-
private readonly TAP_DURATION_MS;
|
|
11
|
-
private readonly DOUBLE_TAP_DELAY_MS;
|
|
12
|
-
private readonly TAP_MAX_MOVE_PIXEL;
|
|
13
|
-
private readonly ZOOM_SPEED;
|
|
14
|
-
private readonly MOVE_SPEED;
|
|
15
|
-
onTap: (position: THREE.Vector2) => void;
|
|
16
|
-
onDoubleTap: (position: THREE.Vector2) => void;
|
|
17
|
-
onDrag: (delta: THREE.Vector2) => void;
|
|
18
|
-
onDoubleDrag: (delta: THREE.Vector2) => void;
|
|
19
|
-
onPinchOrSpread: (delta: number) => void;
|
|
20
|
-
constructor(canvas: HTMLCanvasElement);
|
|
21
|
-
private _touch;
|
|
22
|
-
private _touch1;
|
|
23
|
-
private _touch2;
|
|
24
|
-
private _touchStartTime;
|
|
25
|
-
private _lastTapMs;
|
|
26
|
-
private _touchStart;
|
|
27
|
-
protected addListeners(): void;
|
|
28
|
-
reset: () => void;
|
|
29
|
-
private _onTap;
|
|
30
|
-
private onTouchStart;
|
|
31
|
-
private toRotation;
|
|
32
|
-
private onTouchMove;
|
|
33
|
-
private onTouchEnd;
|
|
34
|
-
private isSingleTouch;
|
|
35
|
-
private touchToVector;
|
|
36
|
-
private average;
|
|
37
|
-
/**
|
|
38
|
-
* Returns the pixel size of the canvas.
|
|
39
|
-
* @returns {THREE.Vector2} The pixel size of the canvas.
|
|
40
|
-
*/
|
|
41
|
-
getCanvasSize(): THREE.Vector2;
|
|
42
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { THREE } from "../..";
|
|
2
|
-
/**
|
|
3
|
-
* Interface for a Vim element.
|
|
4
|
-
*/
|
|
5
|
-
export interface IVimElement {
|
|
6
|
-
/**
|
|
7
|
-
* The vim from which this object came.
|
|
8
|
-
*/
|
|
9
|
-
vim: IVim<IVimElement>;
|
|
10
|
-
/**
|
|
11
|
-
* The bounding box of the object.
|
|
12
|
-
*/
|
|
13
|
-
getBoundingBox(): Promise<THREE.Box3 | undefined>;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Interface for a Vim object.
|
|
17
|
-
* @template T - The type of element contained in the Vim.
|
|
18
|
-
*/
|
|
19
|
-
export interface IVim<T extends IVimElement> {
|
|
20
|
-
/**
|
|
21
|
-
* Retrieves the element associated with the specified instance index.
|
|
22
|
-
* @param instance - The instance index of the of one of the instance included in the element.
|
|
23
|
-
* @returns The object corresponding to the instance, or undefined if not found.
|
|
24
|
-
*/
|
|
25
|
-
getElement(instance: number): T | undefined;
|
|
26
|
-
/**
|
|
27
|
-
* Retrieves the element associated with the specified id.
|
|
28
|
-
* @param id - The element ID to retrieve objects for.
|
|
29
|
-
* @returns An array of element corresponding to the given id.
|
|
30
|
-
*/
|
|
31
|
-
getElementsFromId(id: number): T[];
|
|
32
|
-
/**
|
|
33
|
-
* Retrieves the element associated with the given index.
|
|
34
|
-
* @param element - The index of the element.
|
|
35
|
-
* @returns The element corresponding to the element index, or undefined if not found.
|
|
36
|
-
*/
|
|
37
|
-
getElementFromIndex(element: number): T | undefined;
|
|
38
|
-
/**
|
|
39
|
-
* Retrieves all elements within the Vim.
|
|
40
|
-
* @returns An array of all Vim objects.
|
|
41
|
-
*/
|
|
42
|
-
getAllElements(): T[];
|
|
43
|
-
/**
|
|
44
|
-
* Retrieves the bounding box of the Vim object.
|
|
45
|
-
* @returns The bounding box of the Vim object.
|
|
46
|
-
*/
|
|
47
|
-
getBoundingBox(): Promise<THREE.Box3>;
|
|
48
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ISignal } from 'ste-signals';
|
|
2
|
-
import { IVim, IVimElement } from './vim';
|
|
3
|
-
/**
|
|
4
|
-
* Readonly interface for a collection of vims.
|
|
5
|
-
*/
|
|
6
|
-
export interface IReadonlyVimCollection<T extends IVim<IVimElement>> {
|
|
7
|
-
/** Number of vims in the collection */
|
|
8
|
-
readonly count: number;
|
|
9
|
-
/** Signal dispatched when collection changes */
|
|
10
|
-
readonly onChanged: ISignal;
|
|
11
|
-
/** Get vim by its stable ID */
|
|
12
|
-
getFromId(id: number): T | undefined;
|
|
13
|
-
/** Get all vims as an array */
|
|
14
|
-
getAll(): ReadonlyArray<T>;
|
|
15
|
-
/** Check if vim is in collection */
|
|
16
|
-
has(vim: T): boolean;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Mutable interface for a collection of vims.
|
|
20
|
-
*/
|
|
21
|
-
export interface IVimCollection<T extends IVim<IVimElement>> extends IReadonlyVimCollection<T> {
|
|
22
|
-
add(vim: T): void;
|
|
23
|
-
remove(vim: T): void;
|
|
24
|
-
clear(): void;
|
|
25
|
-
}
|