vim-web 0.3.44-dev.8 → 0.3.44-dev.80
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} +6 -6
- package/dist/types/core-viewers/shared/index.d.ts +9 -0
- package/dist/types/core-viewers/shared/inputHandler.d.ts +118 -0
- package/dist/types/core-viewers/shared/keyboardHandler.d.ts +96 -0
- package/dist/types/core-viewers/shared/mouseHandler.d.ts +26 -0
- package/dist/types/core-viewers/shared/raycaster.d.ts +13 -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 +35 -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 +15 -0
- package/dist/types/core-viewers/ultra/index.d.ts +28 -8
- package/dist/types/core-viewers/ultra/inputAdapter.d.ts +5 -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} +27 -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} +7 -2
- 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 +7 -7
- package/dist/types/core-viewers/webgl/loader/progressive/insertableGeometry.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/legacyMeshFactory.d.ts +2 -2
- package/dist/types/core-viewers/webgl/loader/progressive/subsetBuilder.d.ts +2 -2
- package/dist/types/core-viewers/webgl/loader/progressive/subsetRequest.d.ts +2 -2
- package/dist/types/core-viewers/webgl/loader/progressive/vimRequest.d.ts +3 -3
- package/dist/types/core-viewers/webgl/loader/scene.d.ts +11 -14
- package/dist/types/core-viewers/webgl/loader/vim.d.ts +16 -20
- 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/inputsAdapter.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 +8 -8
- package/dist/types/core-viewers/webgl/viewer/rendering/renderer.d.ts +9 -6
- 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 +1 -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 +6 -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 +28 -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 +5 -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 +7 -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 -1
- 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 +13 -52
- 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} +9 -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 +17280 -17199
- package/dist/vim-web.iife.js.map +1 -1
- package/dist/vim-web.js +17288 -17207
- 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/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
|
@@ -2,125 +2,26 @@
|
|
|
2
2
|
* @module viw-webgl-viewer/camera
|
|
3
3
|
*/
|
|
4
4
|
import * as THREE from 'three';
|
|
5
|
-
import { Viewport } from '../viewport';
|
|
6
|
-
import { ViewerSettings } from '../settings/viewerSettings';
|
|
7
|
-
import { RenderScene } from '../rendering/renderScene';
|
|
8
5
|
import { ISignal } from 'ste-signals';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
6
|
+
import { RenderScene } from '../rendering/renderScene';
|
|
7
|
+
import { ViewerSettings } from '../settings/viewerSettings';
|
|
8
|
+
import { Viewport } from '../viewport';
|
|
9
|
+
import { ICamera } from './cameraInterface';
|
|
11
10
|
import { CameraMovement } from './cameraMovement';
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*/
|
|
15
|
-
export interface ICamera {
|
|
16
|
-
/**
|
|
17
|
-
* A signal that is dispatched when camera settings change.
|
|
18
|
-
*/
|
|
19
|
-
onSettingsChanged: ISignal;
|
|
20
|
-
/**
|
|
21
|
-
* A signal that is dispatched when camera moves.
|
|
22
|
-
*/
|
|
23
|
-
onMoved: ISignal;
|
|
24
|
-
/**
|
|
25
|
-
* True if the camera has moved this frame.
|
|
26
|
-
*/
|
|
27
|
-
get hasMoved(): boolean;
|
|
28
|
-
/**
|
|
29
|
-
* Represents allowed movement along each axis using a Vector3 object.
|
|
30
|
-
* Each component of the Vector3 should be either 0 or 1 to enable/disable movement along the corresponding axis.
|
|
31
|
-
*/
|
|
32
|
-
allowedMovement: THREE.Vector3;
|
|
33
|
-
/**
|
|
34
|
-
* Represents allowed rotation using a Vector2 object.
|
|
35
|
-
* Each component of the Vector2 should be either 0 or 1 to enable/disable rotation around the corresponding axis.
|
|
36
|
-
*/
|
|
37
|
-
allowedRotation: THREE.Vector2;
|
|
38
|
-
/**
|
|
39
|
-
* The default forward direction that can be used to initialize the camera.
|
|
40
|
-
*/
|
|
41
|
-
defaultForward: THREE.Vector3;
|
|
42
|
-
/**
|
|
43
|
-
* Interface for instantaneously moving the camera.
|
|
44
|
-
* @param {boolean} [force=false] - Set to true to ignore locked axis and rotation.
|
|
45
|
-
* @returns {CameraMovement} The camera movement api.
|
|
46
|
-
*/
|
|
47
|
-
snap(force?: boolean): CameraMovement;
|
|
48
|
-
/**
|
|
49
|
-
* Interface for smoothly moving the camera over time.
|
|
50
|
-
* @param {number} [duration=1] - The duration of the camera movement animation.
|
|
51
|
-
* @param {boolean} [force=false] - Set to true to ignore locked axis and rotation.
|
|
52
|
-
* @returns {CameraMovement} The camera movement api.
|
|
53
|
-
*/
|
|
54
|
-
lerp(duration: number, force?: boolean): CameraMovement;
|
|
55
|
-
/**
|
|
56
|
-
* Calculates the frustum size at a given point in the scene.
|
|
57
|
-
* @param {THREE.Vector3} point - The point in the scene to calculate the frustum size at.
|
|
58
|
-
* @returns {number} The frustum size at the specified point.
|
|
59
|
-
*/
|
|
60
|
-
frustrumSizeAt(point: THREE.Vector3): THREE.Vector2;
|
|
61
|
-
/**
|
|
62
|
-
* The current THREE Camera
|
|
63
|
-
*/
|
|
64
|
-
get three(): THREE.Camera;
|
|
65
|
-
/**
|
|
66
|
-
* The quaternion representing the orientation of the object.
|
|
67
|
-
*/
|
|
68
|
-
get quaternion(): THREE.Quaternion;
|
|
69
|
-
/**
|
|
70
|
-
* The position of the camera.
|
|
71
|
-
*/
|
|
72
|
-
get position(): THREE.Vector3;
|
|
73
|
-
/**
|
|
74
|
-
* The matrix representing the transformation of the camera.
|
|
75
|
-
*/
|
|
76
|
-
get matrix(): THREE.Matrix4;
|
|
77
|
-
/**
|
|
78
|
-
* The forward direction of the camera.
|
|
79
|
-
*/
|
|
80
|
-
get forward(): THREE.Vector3;
|
|
81
|
-
get isLerping(): boolean;
|
|
82
|
-
/**
|
|
83
|
-
* The camera speed factor.
|
|
84
|
-
*/
|
|
85
|
-
speed: number;
|
|
86
|
-
/**
|
|
87
|
-
* The current or target velocity of the camera.
|
|
88
|
-
*/
|
|
89
|
-
localVelocity: THREE.Vector3;
|
|
90
|
-
/**
|
|
91
|
-
* Immediately stops the camera movement.
|
|
92
|
-
*/
|
|
93
|
-
stop(): void;
|
|
94
|
-
/**
|
|
95
|
-
* The target at which the camera is looking at and around which it rotates.
|
|
96
|
-
*/
|
|
97
|
-
get target(): THREE.Vector3;
|
|
98
|
-
/**
|
|
99
|
-
* The distance from the camera to the target.
|
|
100
|
-
*/
|
|
101
|
-
get orbitDistance(): number;
|
|
102
|
-
/**
|
|
103
|
-
* Saves current camera orientation to restore on next reset.
|
|
104
|
-
*/
|
|
105
|
-
save(): void;
|
|
106
|
-
/**
|
|
107
|
-
* Represents whether the camera projection is orthographic.
|
|
108
|
-
*/
|
|
109
|
-
orthographic: boolean;
|
|
110
|
-
}
|
|
11
|
+
import { OrthographicCamera } from './cameraOrthographic';
|
|
12
|
+
import { PerspectiveCamera } from './cameraPerspective';
|
|
111
13
|
/**
|
|
112
14
|
* Manages viewer camera movement and position
|
|
113
15
|
*/
|
|
114
16
|
export declare class Camera implements ICamera {
|
|
115
|
-
camPerspective:
|
|
116
|
-
camOrthographic:
|
|
17
|
+
camPerspective: PerspectiveCamera;
|
|
18
|
+
camOrthographic: OrthographicCamera;
|
|
117
19
|
private _viewport;
|
|
118
20
|
_scene: RenderScene;
|
|
119
21
|
private _lerp;
|
|
120
22
|
private _movement;
|
|
121
23
|
private _inputVelocity;
|
|
122
24
|
private _velocity;
|
|
123
|
-
private _speed;
|
|
124
25
|
private _orthographic;
|
|
125
26
|
private _target;
|
|
126
27
|
private _lastPosition;
|
|
@@ -169,7 +70,6 @@ export declare class Camera implements ICamera {
|
|
|
169
70
|
get defaultForward(): THREE.Vector3;
|
|
170
71
|
set defaultForward(value: THREE.Vector3);
|
|
171
72
|
private _velocityBlendFactor;
|
|
172
|
-
private _moveSpeed;
|
|
173
73
|
constructor(scene: RenderScene, viewport: Viewport, settings: ViewerSettings);
|
|
174
74
|
/**
|
|
175
75
|
* Interface for instantaneously moving the camera.
|
|
@@ -210,11 +110,6 @@ export declare class Camera implements ICamera {
|
|
|
210
110
|
* The forward direction of the camera.
|
|
211
111
|
*/
|
|
212
112
|
get forward(): THREE.Vector3;
|
|
213
|
-
/**
|
|
214
|
-
* The camera speed factor.
|
|
215
|
-
*/
|
|
216
|
-
get speed(): number;
|
|
217
|
-
set speed(value: number);
|
|
218
113
|
/**
|
|
219
114
|
* The current or target velocity of the camera.
|
|
220
115
|
*/
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* @module viw-webgl-viewer/camera
|
|
3
3
|
*/
|
|
4
4
|
import { Camera } from './camera';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { Element3D } from '../../loader/element3d';
|
|
6
|
+
import { Selectable } from '../selection';
|
|
7
7
|
import * as THREE from 'three';
|
|
8
8
|
import { Vim } from '../../loader/vim';
|
|
9
9
|
export declare abstract class CameraMovement {
|
|
@@ -53,9 +53,9 @@ export declare abstract class CameraMovement {
|
|
|
53
53
|
orbitTowards(direction: THREE.Vector3): void;
|
|
54
54
|
/**
|
|
55
55
|
* Rotates the camera without moving so that it looks at the specified target.
|
|
56
|
-
* @param {
|
|
56
|
+
* @param {Element3D | THREE.Vector3} target - The target object or position to look at.
|
|
57
57
|
*/
|
|
58
|
-
abstract target(target:
|
|
58
|
+
abstract target(target: Element3D | THREE.Vector3): void;
|
|
59
59
|
/**
|
|
60
60
|
* Resets the camera to its last saved position and orientation.
|
|
61
61
|
*/
|
|
@@ -71,7 +71,7 @@ export declare abstract class CameraMovement {
|
|
|
71
71
|
* @param {IObject | Vim | THREE.Sphere | THREE.Box3 | 'all' | undefined} target - The target object, or 'all' to frame all objects.
|
|
72
72
|
* @param {THREE.Vector3} [forward] - Optional forward direction after framing.
|
|
73
73
|
*/
|
|
74
|
-
frame(target:
|
|
74
|
+
frame(target: Selectable | Vim | THREE.Sphere | THREE.Box3 | 'all' | undefined, forward?: THREE.Vector3): Promise<void>;
|
|
75
75
|
protected frameSphere(sphere: THREE.Sphere, forward?: THREE.Vector3): void;
|
|
76
76
|
private getNormalizedDirection;
|
|
77
77
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as THREE from 'three';
|
|
5
5
|
import { Camera } from './camera';
|
|
6
|
-
import {
|
|
6
|
+
import { Element3D } from '../../loader/element3d';
|
|
7
7
|
import { CameraMovementSnap } from './cameraMovementSnap';
|
|
8
8
|
import { CameraMovement } from './cameraMovement';
|
|
9
9
|
export declare class CameraLerp extends CameraMovement {
|
|
@@ -22,7 +22,7 @@ export declare class CameraLerp extends CameraMovement {
|
|
|
22
22
|
zoom(amount: number): void;
|
|
23
23
|
setDistance(dist: number): void;
|
|
24
24
|
orbit(angle: THREE.Vector2): void;
|
|
25
|
-
target(target:
|
|
25
|
+
target(target: Element3D | THREE.Vector3): Promise<void>;
|
|
26
26
|
reset(): void;
|
|
27
27
|
set(position: THREE.Vector3, target?: THREE.Vector3): void;
|
|
28
28
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @module viw-webgl-viewer/camera
|
|
3
3
|
*/
|
|
4
4
|
import { CameraMovement } from './cameraMovement';
|
|
5
|
-
import {
|
|
5
|
+
import { Element3D } from '../../loader/element3d';
|
|
6
6
|
import * as THREE from 'three';
|
|
7
7
|
export declare class CameraMovementSnap extends CameraMovement {
|
|
8
8
|
/**
|
|
@@ -14,7 +14,7 @@ export declare class CameraMovementSnap extends CameraMovement {
|
|
|
14
14
|
setDistance(dist: number): void;
|
|
15
15
|
rotate(angle: THREE.Vector2): void;
|
|
16
16
|
applyRotation(quaternion: THREE.Quaternion): void;
|
|
17
|
-
target(target:
|
|
17
|
+
target(target: Element3D | THREE.Vector3): Promise<void>;
|
|
18
18
|
orbit(angle: THREE.Vector2): void;
|
|
19
19
|
move3(vector: THREE.Vector3): void;
|
|
20
20
|
set(position: THREE.Vector3, target?: THREE.Vector3): void;
|
package/dist/types/core-viewers/webgl/viewer/camera/{orthographic.d.ts → cameraOrthographic.d.ts}
RENAMED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as THREE from 'three';
|
|
5
5
|
import { ViewerSettings } from '../settings/viewerSettings';
|
|
6
|
-
export declare class
|
|
6
|
+
export declare class OrthographicCamera {
|
|
7
7
|
camera: THREE.OrthographicCamera;
|
|
8
8
|
constructor(camera: THREE.OrthographicCamera);
|
|
9
9
|
frustrumSizeAt(point: THREE.Vector3): THREE.Vector2;
|
package/dist/types/core-viewers/webgl/viewer/camera/{perspective.d.ts → cameraPerspective.d.ts}
RENAMED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as THREE from 'three';
|
|
5
5
|
import { ViewerSettings } from '../settings/viewerSettings';
|
|
6
|
-
export declare class
|
|
6
|
+
export declare class PerspectiveCamera {
|
|
7
7
|
camera: THREE.PerspectiveCamera;
|
|
8
8
|
constructor(camera: THREE.PerspectiveCamera);
|
|
9
9
|
applySettings(settings: ViewerSettings): void;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type * from './camera';
|
|
2
|
+
export type * from './cameraInterface';
|
|
3
|
+
export type * from './cameraMovement';
|
|
4
|
+
export type * from './cameraMovementLerp';
|
|
5
|
+
export type * from './cameraMovementSnap';
|
|
6
|
+
export type * from './cameraOrthographic';
|
|
7
|
+
export type * from './cameraPerspective';
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as THREE from 'three';
|
|
5
5
|
import { ViewerSettings } from '../settings/viewerSettings';
|
|
6
|
-
import { ICamera } from '../camera/
|
|
7
|
-
import {
|
|
6
|
+
import { ICamera } from '../camera/cameraInterface';
|
|
7
|
+
import { Materials } from '../../loader/materials/materials';
|
|
8
8
|
import { Skybox } from './skybox';
|
|
9
9
|
import { Renderer } from '../rendering/renderer';
|
|
10
|
-
import {
|
|
10
|
+
import { Light } from './light';
|
|
11
11
|
/**
|
|
12
12
|
* Manages ground plane and lights that are part of the THREE.Scene to render but not part of the Vims.
|
|
13
13
|
*/
|
|
@@ -21,9 +21,9 @@ export declare class Environment {
|
|
|
21
21
|
/**
|
|
22
22
|
* The array of directional lights in the scene.
|
|
23
23
|
*/
|
|
24
|
-
readonly sunLights: ReadonlyArray<
|
|
24
|
+
readonly sunLights: ReadonlyArray<Light>;
|
|
25
25
|
readonly skybox: Skybox;
|
|
26
|
-
constructor(camera: ICamera, renderer: Renderer,
|
|
26
|
+
constructor(camera: ICamera, renderer: Renderer, materials: Materials, settings: ViewerSettings);
|
|
27
27
|
/**
|
|
28
28
|
* Returns all three objects composing the environment
|
|
29
29
|
*/
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* @module viw-webgl-viewer
|
|
3
3
|
*/
|
|
4
4
|
import * as THREE from 'three';
|
|
5
|
-
import { ICamera } from '../camera/
|
|
6
|
-
export declare class
|
|
5
|
+
import { ICamera } from '../camera/cameraInterface';
|
|
6
|
+
export declare class Light {
|
|
7
7
|
readonly light: THREE.DirectionalLight;
|
|
8
8
|
private readonly _camera;
|
|
9
9
|
private _unsubscribe;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as THREE from 'three';
|
|
5
5
|
import { ViewerSettings } from '../settings/viewerSettings';
|
|
6
|
-
import { ICamera } from '../camera/
|
|
7
|
-
import {
|
|
6
|
+
import { ICamera } from '../camera/cameraInterface';
|
|
7
|
+
import { Materials } from '../../loader/materials/materials';
|
|
8
8
|
import { Renderer } from '../rendering/renderer';
|
|
9
9
|
export declare class Skybox {
|
|
10
10
|
readonly mesh: THREE.Mesh;
|
|
@@ -34,6 +34,6 @@ export declare class Skybox {
|
|
|
34
34
|
private readonly _plane;
|
|
35
35
|
private readonly _material;
|
|
36
36
|
private readonly _renderer;
|
|
37
|
-
constructor(camera: ICamera, renderer: Renderer, materials:
|
|
37
|
+
constructor(camera: ICamera, renderer: Renderer, materials: Materials, settings: ViewerSettings);
|
|
38
38
|
dispose(): void;
|
|
39
39
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
1
|
+
export interface AxesSettings {
|
|
2
2
|
size: number;
|
|
3
3
|
padding: number;
|
|
4
4
|
bubbleSizePrimary: number;
|
|
@@ -15,5 +15,6 @@ export declare class AxesSettings {
|
|
|
15
15
|
colorXSub: string;
|
|
16
16
|
colorYSub: string;
|
|
17
17
|
colorZSub: string;
|
|
18
|
-
constructor(init?: Partial<AxesSettings>);
|
|
19
18
|
}
|
|
19
|
+
export declare function getDefaultAxesSettings(): AxesSettings;
|
|
20
|
+
export declare function createAxesSettings(init?: Partial<AxesSettings>): AxesSettings;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module viw-webgl-viewer/gizmos
|
|
3
3
|
*/
|
|
4
|
-
import { Camera } from '../../camera
|
|
4
|
+
import { Camera } from '../../camera';
|
|
5
5
|
import { Viewport } from '../../viewport';
|
|
6
6
|
import { AxesSettings } from './axesSettings';
|
|
7
7
|
/**
|
|
@@ -15,7 +15,9 @@ export declare class GizmoAxes {
|
|
|
15
15
|
private _context;
|
|
16
16
|
private _rect;
|
|
17
17
|
private _reparentConnection;
|
|
18
|
+
private _resizeConnection;
|
|
18
19
|
private _axes;
|
|
20
|
+
private _resized;
|
|
19
21
|
private _pointerInside;
|
|
20
22
|
private _isDragging;
|
|
21
23
|
private _isDragSignificant;
|
|
@@ -5,7 +5,7 @@ import * as THREE from 'three';
|
|
|
5
5
|
import { Renderer } from '../rendering/renderer';
|
|
6
6
|
import { Camera } from '../camera/camera';
|
|
7
7
|
import { ViewerSettings } from '../settings/viewerSettings';
|
|
8
|
-
import {
|
|
8
|
+
import { type InputHandler } from '../../../shared';
|
|
9
9
|
/**
|
|
10
10
|
* Manages the camera target gizmo
|
|
11
11
|
*/
|
|
@@ -27,7 +27,7 @@ export declare class GizmoOrbit {
|
|
|
27
27
|
private _timeout;
|
|
28
28
|
private _active;
|
|
29
29
|
private _animation;
|
|
30
|
-
constructor(renderer: Renderer, camera: Camera, input:
|
|
30
|
+
constructor(renderer: Renderer, camera: Camera, input: InputHandler, settings: ViewerSettings);
|
|
31
31
|
private connect;
|
|
32
32
|
private onUpdate;
|
|
33
33
|
/**
|
|
@@ -2,7 +2,6 @@ import { Viewer } from '../viewer';
|
|
|
2
2
|
import { GizmoAxes } from './axes/gizmoAxes';
|
|
3
3
|
import { GizmoLoading } from './gizmoLoading';
|
|
4
4
|
import { GizmoOrbit } from './gizmoOrbit';
|
|
5
|
-
import { GizmoRectangle } from './gizmoRectangle';
|
|
6
5
|
import { IMeasure } from './measure/measure';
|
|
7
6
|
import { SectionBox } from './sectionBox/sectionBox';
|
|
8
7
|
import { GizmoMarkers } from './markers/gizmoMarkers';
|
|
@@ -29,10 +28,6 @@ export declare class Gizmos {
|
|
|
29
28
|
* The camera orbit target gizmo.
|
|
30
29
|
*/
|
|
31
30
|
readonly orbit: GizmoOrbit;
|
|
32
|
-
/**
|
|
33
|
-
* Rectangle Gizmo used for rectangle selection.
|
|
34
|
-
*/
|
|
35
|
-
readonly rectangle: GizmoRectangle;
|
|
36
31
|
/**
|
|
37
32
|
* The axis gizmos of the viewer.
|
|
38
33
|
*/
|
|
@@ -2,63 +2,111 @@ import { Vim } from '../../../loader/vim';
|
|
|
2
2
|
import { Viewer } from '../../viewer';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import { SimpleInstanceSubmesh } from '../../../loader/mesh';
|
|
5
|
+
import { IVimElement } from '../../../../shared/vim';
|
|
5
6
|
/**
|
|
6
|
-
* Marker gizmo that
|
|
7
|
+
* Marker gizmo that displays an interactive sphere at a 3D position.
|
|
7
8
|
* Marker gizmos are still under development.
|
|
8
9
|
*/
|
|
9
|
-
export declare class
|
|
10
|
+
export declare class Marker implements IVimElement {
|
|
10
11
|
readonly type = "Marker";
|
|
11
12
|
private _viewer;
|
|
12
13
|
private _submesh;
|
|
14
|
+
private static _tmpMatrix;
|
|
15
|
+
private static _unitVector;
|
|
13
16
|
/**
|
|
14
|
-
* The
|
|
17
|
+
* The Vim object from which this object came.
|
|
18
|
+
* Can be undefined if the object is not part of a Vim.
|
|
15
19
|
*/
|
|
16
20
|
vim: Vim | undefined;
|
|
17
21
|
/**
|
|
18
|
-
* The
|
|
22
|
+
* The BIM element index associated with this object.
|
|
23
|
+
* Can be undefined if the object is not part of a Vim.
|
|
19
24
|
*/
|
|
20
25
|
element: number | undefined;
|
|
21
26
|
/**
|
|
22
|
-
* The geometry instances
|
|
27
|
+
* The geometry instances associated with this object.
|
|
28
|
+
* This is used when the marker is derived from multiple instances.
|
|
23
29
|
*/
|
|
24
30
|
instances: number[] | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* The index of the marker in the marker collection.
|
|
33
|
+
*/
|
|
34
|
+
get index(): number;
|
|
25
35
|
private _outlineAttribute;
|
|
26
36
|
private _visibleAttribute;
|
|
27
37
|
private _coloredAttribute;
|
|
28
38
|
private _focusedAttribute;
|
|
29
39
|
private _colorAttribute;
|
|
40
|
+
/**
|
|
41
|
+
* Constructs a new Marker object.
|
|
42
|
+
* @param viewer - The viewer managing rendering and interaction.
|
|
43
|
+
* @param submesh - The instanced submesh this marker is bound to.
|
|
44
|
+
*/
|
|
30
45
|
constructor(viewer: Viewer, submesh: SimpleInstanceSubmesh);
|
|
46
|
+
/**
|
|
47
|
+
* Updates the underlying submesh and rebinds all attributes to the new mesh.
|
|
48
|
+
* @param mesh - The new submesh to bind to this marker.
|
|
49
|
+
*/
|
|
31
50
|
updateMesh(mesh: SimpleInstanceSubmesh): void;
|
|
32
|
-
/**
|
|
51
|
+
/**
|
|
52
|
+
* Sets the world position of the marker.
|
|
53
|
+
*/
|
|
33
54
|
set position(value: THREE.Vector3);
|
|
55
|
+
/**
|
|
56
|
+
* Gets the world position of the marker.
|
|
57
|
+
*/
|
|
34
58
|
get position(): THREE.Vector3;
|
|
35
59
|
/**
|
|
36
|
-
* Always false
|
|
60
|
+
* Always false; marker is a gizmo and not an actual mesh.
|
|
37
61
|
*/
|
|
38
62
|
get hasMesh(): boolean;
|
|
39
63
|
/**
|
|
40
|
-
*
|
|
64
|
+
* Gets whether the marker is outlined (highlighted).
|
|
41
65
|
*/
|
|
42
66
|
get outline(): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Sets whether the marker is outlined (highlighted).
|
|
69
|
+
*/
|
|
43
70
|
set outline(value: boolean);
|
|
44
71
|
/**
|
|
45
|
-
*
|
|
72
|
+
* Gets whether the marker is focused (enlarged).
|
|
46
73
|
*/
|
|
47
74
|
get focused(): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Sets whether the marker is focused (enlarged).
|
|
77
|
+
*/
|
|
48
78
|
set focused(value: boolean);
|
|
49
79
|
/**
|
|
50
|
-
*
|
|
80
|
+
* Gets whether the marker is visible in the scene.
|
|
51
81
|
*/
|
|
52
82
|
get visible(): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Sets whether the marker is visible in the scene.
|
|
85
|
+
*/
|
|
53
86
|
set visible(value: boolean);
|
|
87
|
+
/**
|
|
88
|
+
* Gets the current color override for the marker.
|
|
89
|
+
*/
|
|
54
90
|
get color(): THREE.Color;
|
|
55
|
-
|
|
91
|
+
/**
|
|
92
|
+
* Sets the color override for the marker.
|
|
93
|
+
* Passing undefined disables the override.
|
|
94
|
+
*/
|
|
95
|
+
set color(color: THREE.Color | undefined);
|
|
96
|
+
/**
|
|
97
|
+
* Gets the uniform scale factor applied to the marker.
|
|
98
|
+
*/
|
|
56
99
|
get size(): number;
|
|
100
|
+
/**
|
|
101
|
+
* Sets the uniform scale factor for the marker.
|
|
102
|
+
* Only updates the matrix if the size has changed.
|
|
103
|
+
*/
|
|
57
104
|
set size(value: number);
|
|
58
105
|
/**
|
|
59
|
-
* Retrieves the bounding box of the object
|
|
60
|
-
* Returns a unit box
|
|
61
|
-
*
|
|
106
|
+
* Retrieves the bounding box of the object.
|
|
107
|
+
* Returns a unit-sized box centered at the marker position.
|
|
108
|
+
* Returned as a promise to satisfy interface, but computed synchronously.
|
|
109
|
+
* @returns The bounding box of the marker.
|
|
62
110
|
*/
|
|
63
|
-
getBoundingBox(): THREE.Box3
|
|
111
|
+
getBoundingBox(): Promise<THREE.Box3>;
|
|
64
112
|
}
|
|
@@ -1,29 +1,52 @@
|
|
|
1
1
|
import { Viewer } from '../../viewer';
|
|
2
2
|
import * as THREE from 'three';
|
|
3
|
-
import {
|
|
3
|
+
import { Marker } from './gizmoMarker';
|
|
4
4
|
/**
|
|
5
5
|
* API for adding and managing sprite markers in the scene.
|
|
6
|
+
* Uses THREE.InstancedMesh for performance.
|
|
6
7
|
*/
|
|
7
8
|
export declare class GizmoMarkers {
|
|
8
9
|
private _viewer;
|
|
9
10
|
private _markers;
|
|
10
11
|
private _mesh;
|
|
12
|
+
private _reusableMatrix;
|
|
13
|
+
/**
|
|
14
|
+
* Constructs the marker manager and sets up an initial instanced mesh.
|
|
15
|
+
* @param viewer - The rendering context this marker system belongs to.
|
|
16
|
+
*/
|
|
11
17
|
constructor(viewer: Viewer);
|
|
12
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Returns the marker at the given index.
|
|
20
|
+
* @param index - The marker index.
|
|
21
|
+
* @returns The Marker instance or undefined.
|
|
22
|
+
*/
|
|
23
|
+
getMarkerFromIndex(index: number): Marker | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Creates a new instanced mesh with given capacity, optionally reusing geometry/material.
|
|
26
|
+
* @param previous - Optional mesh to reuse properties from.
|
|
27
|
+
* @param capacity - Number of instances the mesh should support.
|
|
28
|
+
* @returns A new THREE.InstancedMesh.
|
|
29
|
+
*/
|
|
13
30
|
private createMesh;
|
|
31
|
+
/**
|
|
32
|
+
* Doubles the mesh capacity and copies over all instance data and marker bindings.
|
|
33
|
+
*/
|
|
14
34
|
private resizeMesh;
|
|
15
35
|
/**
|
|
16
36
|
* Adds a sprite marker at the specified position.
|
|
17
|
-
*
|
|
37
|
+
* Resizes mesh if capacity is reached.
|
|
38
|
+
* @param position - The world position to add the marker at.
|
|
39
|
+
* @returns The newly created Marker.
|
|
18
40
|
*/
|
|
19
|
-
add(position: THREE.Vector3):
|
|
41
|
+
add(position: THREE.Vector3): Marker;
|
|
20
42
|
/**
|
|
21
43
|
* Removes the specified marker from the scene.
|
|
22
|
-
*
|
|
44
|
+
* Uses swap-and-pop to maintain dense storage.
|
|
45
|
+
* @param marker - The marker to remove.
|
|
23
46
|
*/
|
|
24
|
-
remove(marker:
|
|
47
|
+
remove(marker: Marker): void;
|
|
25
48
|
/**
|
|
26
|
-
* Removes all markers from the scene.
|
|
49
|
+
* Removes all markers from the scene and resets mesh count.
|
|
27
50
|
*/
|
|
28
51
|
clear(): void;
|
|
29
52
|
}
|