vim-web 0.6.0-dev.0 → 0.6.0-dev.10
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 +3364 -0
- package/dist/vim-web.iife.js +13597 -14585
- package/dist/vim-web.iife.js.map +1 -1
- package/dist/vim-web.js +13626 -14614
- 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 -78
- 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 -127
- 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 -27
- 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
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module viw-webgl-viewer/gizmos/sectionBox
|
|
3
|
-
*/
|
|
4
|
-
import { Viewer } from '../../viewer';
|
|
5
|
-
import * as THREE from 'three';
|
|
6
|
-
import { SectionBoxHandles } from './sectionBoxHandles';
|
|
7
|
-
/**
|
|
8
|
-
* Manages pointer interactions (mouse, touch, etc.) on a {@link SectionBoxHandles} to
|
|
9
|
-
* reshape a Three.js `Box3`. This includes detecting which handle is hovered or dragged,
|
|
10
|
-
* capturing the pointer for smooth dragging, and enforcing a minimum box size.
|
|
11
|
-
*/
|
|
12
|
-
export declare class BoxInputs {
|
|
13
|
-
/** The parent Viewer controlling the scene. */
|
|
14
|
-
private _viewer;
|
|
15
|
-
/** The handles mesh group containing the draggable cones/faces. */
|
|
16
|
-
private _handles;
|
|
17
|
-
/** The main box that is being reshaped by dragging handles. */
|
|
18
|
-
private _sharedBox;
|
|
19
|
-
/** The currently hovered/dragged handle, if any. */
|
|
20
|
-
private _handle;
|
|
21
|
-
/** The origin point for dragging, updated on pointer down. */
|
|
22
|
-
private _dragOrigin;
|
|
23
|
-
/** The plane used for drag intersection (perpendicular to the camera direction). */
|
|
24
|
-
private _dragPlane;
|
|
25
|
-
/** Whether a pointer is currently down on a handle. */
|
|
26
|
-
private _mouseDown;
|
|
27
|
-
/** A reusable Raycaster for picking and plane intersection. */
|
|
28
|
-
private _raycaster;
|
|
29
|
-
/** The box state before the current drag. */
|
|
30
|
-
private _lastBox;
|
|
31
|
-
/** A callback to restore the original input listeners after unregistering. */
|
|
32
|
-
private _restoreOriginalInputs;
|
|
33
|
-
/**
|
|
34
|
-
* Called when the pointer enters or leaves a handle face.
|
|
35
|
-
* @param normal - The normal (forward) vector of the hovered handle, or a zero vector if none.
|
|
36
|
-
*/
|
|
37
|
-
onFaceEnter: ((normal: THREE.Vector3) => void) | undefined;
|
|
38
|
-
/**
|
|
39
|
-
* Called continuously as the box is reshaped by dragging.
|
|
40
|
-
* @param box - The updated box after the latest drag move.
|
|
41
|
-
*/
|
|
42
|
-
onBoxStretch: ((box: THREE.Box3) => void) | undefined;
|
|
43
|
-
/**
|
|
44
|
-
* Called when the user has finished reshaping the box (pointer up).
|
|
45
|
-
* @param box - The final box after dragging ends.
|
|
46
|
-
*/
|
|
47
|
-
onBoxConfirm: ((box: THREE.Box3) => void) | undefined;
|
|
48
|
-
/**
|
|
49
|
-
* Creates a new BoxInputs instance for pointer-driven box resizing.
|
|
50
|
-
*
|
|
51
|
-
* @param viewer - The parent {@link Viewer} that renders the scene.
|
|
52
|
-
* @param handles - A {@link SectionBoxHandles} instance containing the draggable mesh handles.
|
|
53
|
-
* @param box - The shared bounding box (`Box3`) that will be updated by dragging.
|
|
54
|
-
*/
|
|
55
|
-
constructor(viewer: Viewer, handles: SectionBoxHandles, box: THREE.Box3);
|
|
56
|
-
/**
|
|
57
|
-
* Registers pointer event listeners on the viewer's canvas.
|
|
58
|
-
* If already registered, it does nothing.
|
|
59
|
-
*/
|
|
60
|
-
register(): void;
|
|
61
|
-
/**
|
|
62
|
-
* Unregisters any previously set pointer event listeners, releasing pointer capture
|
|
63
|
-
* and resetting drag state.
|
|
64
|
-
*/
|
|
65
|
-
unregister(): void;
|
|
66
|
-
/**
|
|
67
|
-
* Handles pointer movement events.
|
|
68
|
-
* - If dragging, calls {@link onDrag}.
|
|
69
|
-
* - Otherwise, performs a raycast to detect which handle is under the pointer.
|
|
70
|
-
*
|
|
71
|
-
* @param event - The pointermove event.
|
|
72
|
-
*/
|
|
73
|
-
private onMouseMove;
|
|
74
|
-
/**
|
|
75
|
-
* Handles pointer up events. Ends dragging and triggers {@link onBoxConfirm}.
|
|
76
|
-
*
|
|
77
|
-
* @param event - The pointerup event.
|
|
78
|
-
*/
|
|
79
|
-
private onMouseUp;
|
|
80
|
-
/**
|
|
81
|
-
* Handles pointer down events. Begins drag if a handle is hit, capturing the pointer.
|
|
82
|
-
*
|
|
83
|
-
* @param event - The pointerdown event.
|
|
84
|
-
*/
|
|
85
|
-
private onMouseDown;
|
|
86
|
-
/**
|
|
87
|
-
* Continues the drag operation. Determines the new position on the drag plane
|
|
88
|
-
* and computes how far we moved along the handle's forward axis.
|
|
89
|
-
*
|
|
90
|
-
* @param event - The pointermove event while dragging.
|
|
91
|
-
*/
|
|
92
|
-
private onDrag;
|
|
93
|
-
/**
|
|
94
|
-
* Expands or contracts the `_sharedBox` along one axis by a certain amount,
|
|
95
|
-
* ensuring the box cannot shrink below the minimum size (`MIN_BOX_SIZE`).
|
|
96
|
-
*
|
|
97
|
-
* @param axis - The axis ('x', 'y', or 'z') to stretch.
|
|
98
|
-
* @param sign - +1 if stretching the 'max' side, -1 if stretching the 'min' side.
|
|
99
|
-
* @param amount - The numeric offset along that axis to add or subtract.
|
|
100
|
-
* @returns A **new** `Box3` instance with updated min/max coordinates.
|
|
101
|
-
*/
|
|
102
|
-
private stretch;
|
|
103
|
-
/**
|
|
104
|
-
* Raycasts into the handle meshes from the given pointer position.
|
|
105
|
-
*
|
|
106
|
-
* @param position - The pointer position in canvas coordinates.
|
|
107
|
-
* @returns An array of intersection results, if any.
|
|
108
|
-
*/
|
|
109
|
-
private raycast;
|
|
110
|
-
/**
|
|
111
|
-
* Raycasts into the drag plane from the given pointer position.
|
|
112
|
-
*
|
|
113
|
-
* @param position - The pointer position in canvas coordinates.
|
|
114
|
-
* @returns The intersection point in 3D space, or `null` if none.
|
|
115
|
-
*/
|
|
116
|
-
private raycastPlane;
|
|
117
|
-
private setupRaycaster;
|
|
118
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
/**
|
|
3
|
-
* Defines the thin outline on the edges of the section box.
|
|
4
|
-
*/
|
|
5
|
-
export declare class SectionBoxOutline extends THREE.LineSegments {
|
|
6
|
-
constructor(color: THREE.Color);
|
|
7
|
-
/**
|
|
8
|
-
* Resize the outline to the given box.
|
|
9
|
-
*/
|
|
10
|
-
fitBox(box: THREE.Box3): void;
|
|
11
|
-
/**
|
|
12
|
-
* Disposes of all resources.
|
|
13
|
-
*/
|
|
14
|
-
dispose(): void;
|
|
15
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export * from './viewer';
|
|
2
|
-
export * from './settings';
|
|
3
|
-
export { Layers } from './raycaster';
|
|
4
|
-
export type * from './environment';
|
|
5
|
-
export type * from './gizmos';
|
|
6
|
-
export type * from './raycaster';
|
|
7
|
-
export type * from './selection';
|
|
8
|
-
export type * from './viewport';
|
|
9
|
-
export type * from './rendering';
|
|
10
|
-
export type * from './camera';
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module viw-webgl-viewer
|
|
3
|
-
*/
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
import { Element3D } from '../loader/element3d';
|
|
6
|
-
import { RenderScene } from './rendering/renderScene';
|
|
7
|
-
import { Camera } from './camera/camera';
|
|
8
|
-
import { Renderer } from './rendering/renderer';
|
|
9
|
-
import { Marker } from './gizmos/markers/gizmoMarker';
|
|
10
|
-
import type { IRaycaster as IRaycasterBase, IRaycastResult as IRaycastResultBase } from '../../shared';
|
|
11
|
-
/**
|
|
12
|
-
* Type alias for an array of THREE.Intersection objects.
|
|
13
|
-
*/
|
|
14
|
-
export type ThreeIntersectionList = THREE.Intersection<THREE.Object3D<THREE.Object3DEventMap>>[];
|
|
15
|
-
export type RaycastableObject = Element3D | Marker;
|
|
16
|
-
export type IRaycastResult = IRaycastResultBase<RaycastableObject>;
|
|
17
|
-
export type IRaycaster = IRaycasterBase<RaycastableObject>;
|
|
18
|
-
export declare enum Layers {
|
|
19
|
-
Default = 0,
|
|
20
|
-
NoRaycast = 1
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* A simple container for raycast results.
|
|
24
|
-
*/
|
|
25
|
-
export declare class RaycastResult implements IRaycastResult {
|
|
26
|
-
object: Element3D | Marker | undefined;
|
|
27
|
-
intersections: ThreeIntersectionList;
|
|
28
|
-
firstHit: THREE.Intersection | undefined;
|
|
29
|
-
get worldNormal(): THREE.Vector3;
|
|
30
|
-
get worldPosition(): THREE.Vector3;
|
|
31
|
-
constructor(intersections: ThreeIntersectionList, firstHit?: THREE.Intersection, object?: Element3D | Marker);
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Performs CPU-based raycasting operations using Three.js.
|
|
35
|
-
* This is kept as a reference/fallback implementation.
|
|
36
|
-
* The primary raycaster is GpuPicker which implements IRaycaster.
|
|
37
|
-
*/
|
|
38
|
-
export declare class Raycaster implements IRaycaster {
|
|
39
|
-
private _camera;
|
|
40
|
-
private _scene;
|
|
41
|
-
private _renderer;
|
|
42
|
-
private _raycaster;
|
|
43
|
-
constructor(camera: Camera, scene: RenderScene, renderer: Renderer);
|
|
44
|
-
/**
|
|
45
|
-
* Performs a raycast from the camera using normalized screen coordinates.
|
|
46
|
-
* Coordinates must be within [0, 1] for both x and y.
|
|
47
|
-
*/
|
|
48
|
-
raycastFromScreen(position: THREE.Vector2): Promise<RaycastResult>;
|
|
49
|
-
/**
|
|
50
|
-
* Performs a raycast from the camera towards a specified world position.
|
|
51
|
-
*/
|
|
52
|
-
raycastFromWorld(position: THREE.Vector3): Promise<RaycastResult>;
|
|
53
|
-
private filterHits;
|
|
54
|
-
/**
|
|
55
|
-
* Processes the list of intersections to determine the first valid hit.
|
|
56
|
-
* It first checks for a marker hit, then for a model object hit.
|
|
57
|
-
*/
|
|
58
|
-
private processIntersections;
|
|
59
|
-
/**
|
|
60
|
-
* Extracts the core model object from a raycast hit.
|
|
61
|
-
*/
|
|
62
|
-
private getVimObjectFromHit;
|
|
63
|
-
/**
|
|
64
|
-
* Creates a WebglRaycastResult from a list of intersections by processing the hits.
|
|
65
|
-
*/
|
|
66
|
-
private createResultFromIntersections;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Converts normalized screen coordinates (0-1 range) into Three.js NDC ([-1, 1] range).
|
|
70
|
-
*/
|
|
71
|
-
export declare function threeNDCFromVector2(position: THREE.Vector2): THREE.Vector2;
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module viw-webgl-viewer/rendering
|
|
3
|
-
*/
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
import { Camera } from '../camera/camera';
|
|
6
|
-
import { RenderScene } from './renderScene';
|
|
7
|
-
import { RenderingSection } from './renderingSection';
|
|
8
|
-
import { Element3D } from '../../loader/element3d';
|
|
9
|
-
import { Vim } from '../../loader/vim';
|
|
10
|
-
import { VimCollection } from '../../loader/vimCollection';
|
|
11
|
-
import type { IRaycaster, IRaycastResult } from '../../../shared';
|
|
12
|
-
import { Marker } from '../gizmos/markers/gizmoMarker';
|
|
13
|
-
/** Raycastable objects for the GpuPicker */
|
|
14
|
-
export type GpuRaycastableObject = Element3D | Marker;
|
|
15
|
-
/**
|
|
16
|
-
* Packs vimIndex (8 bits) and elementIndex (24 bits) into a single uint32.
|
|
17
|
-
* Used for GPU picking attribute.
|
|
18
|
-
*/
|
|
19
|
-
export declare function packPickingId(vimIndex: number, elementIndex: number): number;
|
|
20
|
-
/**
|
|
21
|
-
* Unpacks vimIndex and elementIndex from a packed uint32.
|
|
22
|
-
*/
|
|
23
|
-
export declare function unpackPickingId(packedId: number): {
|
|
24
|
-
vimIndex: number;
|
|
25
|
-
elementIndex: number;
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* Result of a GPU pick operation containing element index, world position, and surface normal.
|
|
29
|
-
* Implements IRaycastResult for compatibility with the raycaster interface.
|
|
30
|
-
*/
|
|
31
|
-
export declare class GpuPickResult implements IRaycastResult<GpuRaycastableObject> {
|
|
32
|
-
/** The element index in the vim */
|
|
33
|
-
readonly elementIndex: number;
|
|
34
|
-
/** The vim index identifying which vim the element belongs to */
|
|
35
|
-
readonly vimIndex: number;
|
|
36
|
-
/** The world position of the hit */
|
|
37
|
-
readonly worldPosition: THREE.Vector3;
|
|
38
|
-
/** The world normal at the hit point */
|
|
39
|
-
readonly worldNormal: THREE.Vector3;
|
|
40
|
-
/** Reference to the vim containing the element */
|
|
41
|
-
private _vim;
|
|
42
|
-
constructor(elementIndex: number, vimIndex: number, worldPosition: THREE.Vector3, worldNormal: THREE.Vector3, vim: Vim | undefined);
|
|
43
|
-
/**
|
|
44
|
-
* The object property for IRaycastResult interface.
|
|
45
|
-
* Returns the Element3D for the picked element.
|
|
46
|
-
*/
|
|
47
|
-
get object(): Element3D | undefined;
|
|
48
|
-
/**
|
|
49
|
-
* Gets the Element3D object for the picked element.
|
|
50
|
-
* @returns The Element3D object, or undefined if not found
|
|
51
|
-
*/
|
|
52
|
-
getElement(): Element3D | undefined;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Unified GPU picker that outputs element index, depth, vim index, and surface normal in a single render pass.
|
|
56
|
-
* Implements IRaycaster for compatibility with the viewer's raycaster interface.
|
|
57
|
-
*
|
|
58
|
-
* Uses a Float32 render target with:
|
|
59
|
-
* - R = packed(vimIndex * 16777216 + elementIndex) - supports 256 vims × 16M elements
|
|
60
|
-
* - G = depth (distance along camera direction, 0 = miss)
|
|
61
|
-
* - B = normal.x (surface normal X component)
|
|
62
|
-
* - A = normal.y (surface normal Y component)
|
|
63
|
-
*
|
|
64
|
-
* Normal.z is reconstructed as: sqrt(1 - x² - y²), always positive since normal faces camera.
|
|
65
|
-
*/
|
|
66
|
-
export declare class GpuPicker implements IRaycaster<GpuRaycastableObject> {
|
|
67
|
-
private _renderer;
|
|
68
|
-
private _camera;
|
|
69
|
-
private _scene;
|
|
70
|
-
private _vims;
|
|
71
|
-
private _section;
|
|
72
|
-
private _renderTarget;
|
|
73
|
-
private _pickingMaterial;
|
|
74
|
-
private _readBuffer;
|
|
75
|
-
debug: boolean;
|
|
76
|
-
private _debugSphere;
|
|
77
|
-
private _debugLine;
|
|
78
|
-
constructor(renderer: THREE.WebGLRenderer, camera: Camera, scene: RenderScene, vims: VimCollection, section: RenderingSection, width: number, height: number);
|
|
79
|
-
/**
|
|
80
|
-
* Updates the render target size to match viewport.
|
|
81
|
-
*/
|
|
82
|
-
setSize(width: number, height: number): void;
|
|
83
|
-
/**
|
|
84
|
-
* Performs GPU picking at the given screen coordinates.
|
|
85
|
-
* Returns a result object with element index, world position, and getElement() method.
|
|
86
|
-
*
|
|
87
|
-
* @param screenPos Screen position in 0-1 range (0,0 is top-left)
|
|
88
|
-
* @returns Pick result with element index, world position, and getElement(), or undefined if no hit
|
|
89
|
-
*/
|
|
90
|
-
pick(screenPos: THREE.Vector2): GpuPickResult | undefined;
|
|
91
|
-
/**
|
|
92
|
-
* Shows debug visuals (sphere at hit point, line showing normal direction).
|
|
93
|
-
*/
|
|
94
|
-
private showDebugVisuals;
|
|
95
|
-
/**
|
|
96
|
-
* Reconstructs world position from screen coordinates and depth value.
|
|
97
|
-
*/
|
|
98
|
-
private reconstructWorldPosition;
|
|
99
|
-
/**
|
|
100
|
-
* Removes debug visuals (sphere and normal line) from the scene.
|
|
101
|
-
*/
|
|
102
|
-
clearDebugVisuals(): void;
|
|
103
|
-
/**
|
|
104
|
-
* Raycasts from camera to the screen position to find the first object hit.
|
|
105
|
-
* Implements IRaycaster interface.
|
|
106
|
-
* @param position - Screen position in 0-1 range (0,0 is top-left)
|
|
107
|
-
* @returns A promise that resolves to the raycast result, or undefined if no hit
|
|
108
|
-
*/
|
|
109
|
-
raycastFromScreen(position: THREE.Vector2): Promise<GpuPickResult | undefined>;
|
|
110
|
-
/**
|
|
111
|
-
* Raycasts from camera towards a world position to find the first object hit.
|
|
112
|
-
* Implements IRaycaster interface.
|
|
113
|
-
* @param position - The world position to raycast towards
|
|
114
|
-
* @returns A promise that resolves to the raycast result, or undefined if no hit
|
|
115
|
-
*/
|
|
116
|
-
raycastFromWorld(position: THREE.Vector3): Promise<GpuPickResult | undefined>;
|
|
117
|
-
/**
|
|
118
|
-
* Converts a world position to screen coordinates (0-1 range).
|
|
119
|
-
* @param worldPos - The world position to convert
|
|
120
|
-
* @returns Screen position in 0-1 range, or undefined if behind camera
|
|
121
|
-
*/
|
|
122
|
-
private worldToScreen;
|
|
123
|
-
/**
|
|
124
|
-
* Disposes of all resources.
|
|
125
|
-
*/
|
|
126
|
-
dispose(): void;
|
|
127
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module viw-webgl-viewer/rendering
|
|
3
|
-
*/
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
import { Pass } from 'three/examples/jsm/postprocessing/Pass';
|
|
6
|
-
import { Materials } from '../../loader/materials/materials';
|
|
7
|
-
/**
|
|
8
|
-
* Merges a source buffer into the the current write buffer.
|
|
9
|
-
*/
|
|
10
|
-
export declare class MergePass extends Pass {
|
|
11
|
-
private _fsQuad;
|
|
12
|
-
private _material;
|
|
13
|
-
constructor(source: THREE.Texture, materials?: Materials);
|
|
14
|
-
get source(): THREE.Texture;
|
|
15
|
-
set source(value: THREE.Texture);
|
|
16
|
-
dispose(): void;
|
|
17
|
-
render(renderer: THREE.WebGLRenderer, writeBuffer: THREE.WebGLRenderTarget, readBuffer: THREE.WebGLRenderTarget): void;
|
|
18
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module viw-webgl-viewer/rendering
|
|
3
|
-
*/
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
import { Pass } from 'three/examples/jsm/postprocessing/Pass.js';
|
|
6
|
-
import { OutlineMaterial } from '../../loader/materials/outlineMaterial';
|
|
7
|
-
/**
|
|
8
|
-
* Edge detection pass on the current readbuffer depth texture.
|
|
9
|
-
*/
|
|
10
|
-
export declare class OutlinePass extends Pass {
|
|
11
|
-
private _fsQuad;
|
|
12
|
-
material: OutlineMaterial;
|
|
13
|
-
constructor(camera: THREE.PerspectiveCamera | THREE.OrthographicCamera, material?: OutlineMaterial);
|
|
14
|
-
setSize(width: number, height: number): void;
|
|
15
|
-
get camera(): THREE.PerspectiveCamera | THREE.OrthographicCamera;
|
|
16
|
-
set camera(value: THREE.PerspectiveCamera | THREE.OrthographicCamera);
|
|
17
|
-
dispose(): void;
|
|
18
|
-
render(renderer: THREE.WebGLRenderer, writeBuffer: THREE.WebGLRenderTarget, readBuffer: THREE.WebGLRenderTarget): void;
|
|
19
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module viw-webgl-viewer/rendering
|
|
3
|
-
*/
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
import { Scene } from '../../loader/scene';
|
|
6
|
-
import { ModelMaterial } from '../../loader/materials/materials';
|
|
7
|
-
import { InstancedMesh } from '../../loader/progressive/instancedMesh';
|
|
8
|
-
/**
|
|
9
|
-
* Wrapper around the THREE scene that tracks bounding box and other information.
|
|
10
|
-
*/
|
|
11
|
-
export declare class RenderScene {
|
|
12
|
-
threeScene: THREE.Scene;
|
|
13
|
-
boxUpdated: boolean;
|
|
14
|
-
smallGhostThreshold: number | undefined;
|
|
15
|
-
private _vimScenesById;
|
|
16
|
-
private _boundingBox;
|
|
17
|
-
private _memory;
|
|
18
|
-
private _2dCount;
|
|
19
|
-
private _outlineCount;
|
|
20
|
-
private _modelMaterial;
|
|
21
|
-
get meshes(): (InstancedMesh | import("../..").Mesh | import("../..").InsertableMesh)[];
|
|
22
|
-
constructor();
|
|
23
|
-
get estimatedMemory(): number;
|
|
24
|
-
has2dObjects(): boolean;
|
|
25
|
-
/** Clears the scene updated flags */
|
|
26
|
-
clearUpdateFlags(): void;
|
|
27
|
-
/**
|
|
28
|
-
* Returns the bounding box encompasing all rendererd objects.
|
|
29
|
-
* @param target box in which to copy result, a new instance is created if undefined.
|
|
30
|
-
*/
|
|
31
|
-
getBoundingBox(target?: THREE.Box3): THREE.Box3 | undefined;
|
|
32
|
-
/**
|
|
33
|
-
* Returns the bounding box of the average center of all meshes.
|
|
34
|
-
* Less precise but is more stable against outliers.
|
|
35
|
-
*/
|
|
36
|
-
getAverageBoundingBox(): THREE.Box3;
|
|
37
|
-
/**
|
|
38
|
-
* Add object to be rendered
|
|
39
|
-
*/
|
|
40
|
-
add(target: Scene | THREE.Object3D): void;
|
|
41
|
-
private count2dObjects;
|
|
42
|
-
private unparent2dObjects;
|
|
43
|
-
/**
|
|
44
|
-
* Remove object from rendering
|
|
45
|
-
*/
|
|
46
|
-
remove(target: Scene | THREE.Object3D): void;
|
|
47
|
-
/**
|
|
48
|
-
* Removes all rendered objects
|
|
49
|
-
*/
|
|
50
|
-
clear(): void;
|
|
51
|
-
get modelMaterial(): ModelMaterial;
|
|
52
|
-
set modelMaterial(material: ModelMaterial);
|
|
53
|
-
private updateInstanceMeshVisibility;
|
|
54
|
-
private addScene;
|
|
55
|
-
updateBox(box: THREE.Box3 | undefined): void;
|
|
56
|
-
private removeScene;
|
|
57
|
-
}
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module viw-webgl-viewer/rendering
|
|
3
|
-
*/
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
import { IRenderer, Scene } from '../../loader/scene';
|
|
6
|
-
import { Viewport } from '../viewport';
|
|
7
|
-
import { RenderScene } from './renderScene';
|
|
8
|
-
import { ModelMaterial, Materials } from '../../loader/materials/materials';
|
|
9
|
-
import { CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer';
|
|
10
|
-
import { Camera } from '../camera/camera';
|
|
11
|
-
import { RenderingSection } from './renderingSection';
|
|
12
|
-
import { ViewerSettings } from '../settings/viewerSettings';
|
|
13
|
-
/**
|
|
14
|
-
* Manages how vim objects are added and removed from the THREE.Scene to be rendered
|
|
15
|
-
*/
|
|
16
|
-
export declare class Renderer implements IRenderer {
|
|
17
|
-
/**
|
|
18
|
-
* The THREE WebGL renderer.
|
|
19
|
-
*/
|
|
20
|
-
readonly renderer: THREE.WebGLRenderer;
|
|
21
|
-
/**
|
|
22
|
-
* The THREE sample ui renderer
|
|
23
|
-
*/
|
|
24
|
-
readonly textRenderer: CSS2DRenderer;
|
|
25
|
-
/**
|
|
26
|
-
* Interface to interact with section box directly without using the gizmo.
|
|
27
|
-
*/
|
|
28
|
-
readonly section: RenderingSection;
|
|
29
|
-
/**
|
|
30
|
-
* Determines whether antialias will be applied to rendering or not.
|
|
31
|
-
*/
|
|
32
|
-
antialias: boolean;
|
|
33
|
-
private _scene;
|
|
34
|
-
private _viewport;
|
|
35
|
-
private _camera;
|
|
36
|
-
private _composer;
|
|
37
|
-
private _materials;
|
|
38
|
-
private _renderText;
|
|
39
|
-
private _needsUpdate;
|
|
40
|
-
private _onSceneUpdate;
|
|
41
|
-
private _onBoxUpdated;
|
|
42
|
-
private _sceneUpdated;
|
|
43
|
-
private maxMemory;
|
|
44
|
-
private _outlineCount;
|
|
45
|
-
/**
|
|
46
|
-
* Indicates whether the scene should be re-rendered on change only.
|
|
47
|
-
*/
|
|
48
|
-
onDemand: boolean;
|
|
49
|
-
/**
|
|
50
|
-
* Indicates whether the scene needs to be re-rendered.
|
|
51
|
-
* Can only be set to true. Cleared on each render.
|
|
52
|
-
*/
|
|
53
|
-
get needsUpdate(): boolean;
|
|
54
|
-
set needsUpdate(value: boolean);
|
|
55
|
-
constructor(scene: RenderScene, viewport: Viewport, materials: Materials, camera: Camera, settings: ViewerSettings);
|
|
56
|
-
/**
|
|
57
|
-
* Removes all objects from rendering and disposes the WebGL context.
|
|
58
|
-
*/
|
|
59
|
-
dispose(): void;
|
|
60
|
-
/**
|
|
61
|
-
* Gets or sets the background color or texture of the scene.
|
|
62
|
-
*/
|
|
63
|
-
get background(): THREE.Color | THREE.Texture;
|
|
64
|
-
set background(color: THREE.Color | THREE.Texture);
|
|
65
|
-
/**
|
|
66
|
-
* Sets the material used to render models. If set to undefined, the default model or mesh material is used.
|
|
67
|
-
*/
|
|
68
|
-
get modelMaterial(): ModelMaterial;
|
|
69
|
-
set modelMaterial(material: ModelMaterial);
|
|
70
|
-
/**
|
|
71
|
-
* The material that will be used when setting model material to undefined.
|
|
72
|
-
*/
|
|
73
|
-
defaultModelMaterial: ModelMaterial;
|
|
74
|
-
/**
|
|
75
|
-
* Signal dispatched at the end of each frame if the scene was updated, such as visibility changes.
|
|
76
|
-
*/
|
|
77
|
-
get onSceneUpdated(): import("ste-signals").ISignal;
|
|
78
|
-
/**
|
|
79
|
-
* Signal dispatched when bounding box is updated.
|
|
80
|
-
*/
|
|
81
|
-
get onBoxUpdated(): import("ste-signals").ISignal;
|
|
82
|
-
/**
|
|
83
|
-
* Determines whether text rendering is enabled or not.
|
|
84
|
-
*/
|
|
85
|
-
get textEnabled(): boolean;
|
|
86
|
-
set textEnabled(value: boolean);
|
|
87
|
-
get smallGhostThreshold(): number;
|
|
88
|
-
set smallGhostThreshold(value: number);
|
|
89
|
-
/**
|
|
90
|
-
* Returns the bounding box encompassing all rendered objects.
|
|
91
|
-
* @param target - Box in which to copy the result. A new instance is created if undefined.
|
|
92
|
-
* @returns The bounding box encompassing all rendered objects.
|
|
93
|
-
*/
|
|
94
|
-
getBoundingBox(target?: THREE.Box3): THREE.Box3 | undefined;
|
|
95
|
-
/**
|
|
96
|
-
* Updates the global rendering bounding box.
|
|
97
|
-
* @param box - The new bounding box.
|
|
98
|
-
*/
|
|
99
|
-
updateBox(box: THREE.Box3): void;
|
|
100
|
-
/**
|
|
101
|
-
* Notifies that a scene was updated this frame.
|
|
102
|
-
*/
|
|
103
|
-
notifySceneUpdate(): void;
|
|
104
|
-
addOutline(): void;
|
|
105
|
-
removeOutline(): void;
|
|
106
|
-
/**
|
|
107
|
-
* Renders what is in the camera's view.
|
|
108
|
-
*/
|
|
109
|
-
render(): void;
|
|
110
|
-
/**
|
|
111
|
-
* Adds an object to be rendered.
|
|
112
|
-
* @param target The object or scene to add for rendering.
|
|
113
|
-
*/
|
|
114
|
-
add(target: Scene | THREE.Object3D): boolean;
|
|
115
|
-
/**
|
|
116
|
-
* Removes an object from rendering.
|
|
117
|
-
* @param target The object or scene to remove from rendering.
|
|
118
|
-
*/
|
|
119
|
-
remove(target: Scene | THREE.Object3D): void;
|
|
120
|
-
/**
|
|
121
|
-
* Clears all objects from rendering.
|
|
122
|
-
*/
|
|
123
|
-
clear(): void;
|
|
124
|
-
/**
|
|
125
|
-
* Returns an estimate of the memory used by the renderer.
|
|
126
|
-
*/
|
|
127
|
-
get estimatedMemory(): number;
|
|
128
|
-
/**
|
|
129
|
-
* Determines the target sample count on the rendering target.
|
|
130
|
-
* Higher number increases quality.
|
|
131
|
-
*/
|
|
132
|
-
get samples(): number;
|
|
133
|
-
set samples(value: number);
|
|
134
|
-
private fitViewport;
|
|
135
|
-
}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module viw-webgl-viewer/rendering
|
|
3
|
-
*/
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
import { Viewport } from '../viewport';
|
|
6
|
-
import { RenderScene } from './renderScene';
|
|
7
|
-
import { Materials } from '../../loader/materials/materials';
|
|
8
|
-
import { Camera } from '../camera/camera';
|
|
9
|
-
/**
|
|
10
|
-
* Composer for managing the rendering pipeline including anti-aliasing and outline effects.
|
|
11
|
-
* Handles the orchestration of multiple render passes including:
|
|
12
|
-
* - Main scene rendering
|
|
13
|
-
* - Selection outline rendering
|
|
14
|
-
* - FXAA anti-aliasing
|
|
15
|
-
* - Final composition and screen output
|
|
16
|
-
*/
|
|
17
|
-
export declare class RenderingComposer {
|
|
18
|
-
private _renderer;
|
|
19
|
-
private _scene;
|
|
20
|
-
private _materials;
|
|
21
|
-
private _camera;
|
|
22
|
-
private _size;
|
|
23
|
-
private _composer;
|
|
24
|
-
private _renderPass;
|
|
25
|
-
private _selectionRenderPass;
|
|
26
|
-
private _transferPass;
|
|
27
|
-
private _outlineFxaaPass;
|
|
28
|
-
private _outlines;
|
|
29
|
-
private _clock;
|
|
30
|
-
private _outlinePass;
|
|
31
|
-
private _mergePass;
|
|
32
|
-
private _outlineTarget;
|
|
33
|
-
private _sceneTarget;
|
|
34
|
-
/**
|
|
35
|
-
* Creates a new RenderingComposer instance
|
|
36
|
-
* @param renderer - The WebGL renderer instance
|
|
37
|
-
* @param scene - The scene to be rendered
|
|
38
|
-
* @param viewport - The viewport containing size information
|
|
39
|
-
* @param materials - Materials used for rendering including outline and mask materials
|
|
40
|
-
* @param camera - The camera used for rendering
|
|
41
|
-
*/
|
|
42
|
-
constructor(renderer: THREE.WebGLRenderer, scene: RenderScene, viewport: Viewport, materials: Materials, camera: Camera);
|
|
43
|
-
/**
|
|
44
|
-
* Initializes the main scene rendering pipeline
|
|
45
|
-
* Creates render targets and sets up the main render pass
|
|
46
|
-
* @private
|
|
47
|
-
*/
|
|
48
|
-
private initSceneRenderingPipeline;
|
|
49
|
-
/**
|
|
50
|
-
* Initializes the outline rendering pipeline
|
|
51
|
-
* Sets up render targets and passes for selection, outline, FXAA, and final composition
|
|
52
|
-
* @private
|
|
53
|
-
*/
|
|
54
|
-
private initOutlinePipeline;
|
|
55
|
-
/**
|
|
56
|
-
* @returns Whether outline rendering is enabled
|
|
57
|
-
*/
|
|
58
|
-
get outlines(): boolean;
|
|
59
|
-
/**
|
|
60
|
-
* Enables or disables outline rendering
|
|
61
|
-
*/
|
|
62
|
-
set outlines(value: boolean);
|
|
63
|
-
/**
|
|
64
|
-
* @returns The current camera
|
|
65
|
-
*/
|
|
66
|
-
get camera(): THREE.PerspectiveCamera | THREE.OrthographicCamera;
|
|
67
|
-
/**
|
|
68
|
-
* Updates the camera across all render passes
|
|
69
|
-
*/
|
|
70
|
-
set camera(value: THREE.PerspectiveCamera | THREE.OrthographicCamera);
|
|
71
|
-
/**
|
|
72
|
-
* Updates the size of all render targets and passes
|
|
73
|
-
* @param width - New width in pixels
|
|
74
|
-
* @param height - New height in pixels
|
|
75
|
-
*/
|
|
76
|
-
setSize(width: number, height: number): void;
|
|
77
|
-
/**
|
|
78
|
-
* @returns The current MSAA sample count
|
|
79
|
-
*/
|
|
80
|
-
get samples(): number;
|
|
81
|
-
/**
|
|
82
|
-
* Sets the MSAA sample count for the scene render target
|
|
83
|
-
*/
|
|
84
|
-
set samples(value: number);
|
|
85
|
-
/**
|
|
86
|
-
* Executes the complete rendering pipeline
|
|
87
|
-
* First renders the main scene, then processes outlines if enabled
|
|
88
|
-
*/
|
|
89
|
-
render(): void;
|
|
90
|
-
/**
|
|
91
|
-
* Cleans up all resources used by the composer
|
|
92
|
-
* Should be called when the composer is no longer needed
|
|
93
|
-
*/
|
|
94
|
-
dispose(): void;
|
|
95
|
-
}
|