vim-web 0.3.44-dev.9 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/style.css +47 -33
- package/dist/types/core-viewers/index.d.ts +3 -0
- package/dist/types/core-viewers/{webgl/viewer/inputs/inputHandler.d.ts → shared/baseInputHandler.d.ts} +5 -6
- package/dist/types/core-viewers/shared/index.d.ts +9 -0
- package/dist/types/core-viewers/shared/inputAdapter.d.ts +21 -0
- package/dist/types/core-viewers/shared/inputHandler.d.ts +99 -0
- package/dist/types/core-viewers/shared/keyboardHandler.d.ts +96 -0
- package/dist/types/core-viewers/shared/mouseHandler.d.ts +27 -0
- package/dist/types/core-viewers/shared/raycaster.d.ts +27 -0
- package/dist/types/core-viewers/shared/selection.d.ts +105 -0
- package/dist/types/core-viewers/{webgl/viewer/inputs → shared}/touchHandler.d.ts +15 -18
- package/dist/types/core-viewers/shared/vim.d.ts +48 -0
- package/dist/types/core-viewers/ultra/{viewer/camera.d.ts → camera.d.ts} +14 -4
- package/dist/types/core-viewers/ultra/{viewer/colorManager.d.ts → colorManager.d.ts} +6 -6
- package/dist/types/core-viewers/ultra/{viewer/decoder.d.ts → decoder.d.ts} +0 -8
- package/dist/types/core-viewers/ultra/element3d.d.ts +43 -0
- package/dist/types/core-viewers/ultra/index.d.ts +28 -8
- package/dist/types/core-viewers/ultra/inputAdapter.d.ts +8 -0
- package/dist/types/core-viewers/ultra/nodeState.d.ts +113 -0
- package/dist/types/core-viewers/ultra/raycaster.d.ts +52 -0
- package/dist/types/core-viewers/ultra/{viewer/color.d.ts → remoteColor.d.ts} +3 -3
- package/dist/types/core-viewers/ultra/{viewer/renderer.d.ts → renderer.d.ts} +9 -3
- package/dist/types/core-viewers/ultra/{viewer/rpcClient.d.ts → rpcClient.d.ts} +28 -28
- package/dist/types/core-viewers/ultra/rpcMarshal.d.ts +62 -0
- package/dist/types/core-viewers/ultra/{viewer/rpcSafeClient.d.ts → rpcSafeClient.d.ts} +22 -23
- package/dist/types/core-viewers/ultra/{utils/math3d.d.ts → rpcTypes.d.ts} +22 -22
- package/dist/types/core-viewers/ultra/{viewer/sectionBox.d.ts → sectionBox.d.ts} +8 -3
- package/dist/types/core-viewers/ultra/selection.d.ts +4 -0
- package/dist/types/core-viewers/ultra/{viewer/socketClient.d.ts → socketClient.d.ts} +4 -11
- package/dist/types/core-viewers/ultra/{viewer/viewer.d.ts → viewer.d.ts} +16 -13
- package/dist/types/core-viewers/ultra/vim.d.ts +48 -0
- package/dist/types/core-viewers/webgl/index.d.ts +2 -21
- package/dist/types/core-viewers/webgl/loader/{colorAttributes.d.ts → colorAttribute.d.ts} +4 -4
- package/dist/types/core-viewers/webgl/loader/{object3D.d.ts → element3d.d.ts} +12 -9
- package/dist/types/core-viewers/webgl/loader/geometry.d.ts +76 -78
- package/dist/types/core-viewers/webgl/loader/index.d.ts +24 -0
- package/dist/types/core-viewers/webgl/loader/materials/index.d.ts +9 -0
- package/dist/types/core-viewers/webgl/loader/materials/{viewerMaterials.d.ts → materials.d.ts} +5 -5
- package/dist/types/core-viewers/webgl/loader/mesh.d.ts +2 -2
- package/dist/types/core-viewers/webgl/loader/progressive/insertableMesh.d.ts +1 -1
- package/dist/types/core-viewers/webgl/loader/progressive/insertableSubmesh.d.ts +1 -1
- package/dist/types/core-viewers/webgl/loader/progressive/instancedMesh.d.ts +1 -1
- package/dist/types/core-viewers/webgl/loader/progressive/instancedSubmesh.d.ts +1 -1
- package/dist/types/core-viewers/webgl/loader/progressive/vimRequest.d.ts +3 -3
- package/dist/types/core-viewers/webgl/loader/scene.d.ts +4 -7
- package/dist/types/core-viewers/webgl/loader/vim.d.ts +12 -16
- package/dist/types/core-viewers/webgl/loader/vimSettings.d.ts +2 -2
- package/dist/types/core-viewers/webgl/loader/{objectAttributes.d.ts → webglAttribute.d.ts} +4 -4
- package/dist/types/core-viewers/webgl/viewer/camera/camera.d.ts +8 -113
- package/dist/types/core-viewers/webgl/viewer/camera/{ICamera.d.ts → cameraInterface.d.ts} +0 -4
- package/dist/types/core-viewers/webgl/viewer/camera/cameraMovement.d.ts +5 -5
- package/dist/types/core-viewers/webgl/viewer/camera/cameraMovementLerp.d.ts +2 -2
- package/dist/types/core-viewers/webgl/viewer/camera/cameraMovementSnap.d.ts +2 -2
- package/dist/types/core-viewers/webgl/viewer/camera/{orthographic.d.ts → cameraOrthographic.d.ts} +1 -1
- package/dist/types/core-viewers/webgl/viewer/camera/{perspective.d.ts → cameraPerspective.d.ts} +1 -1
- package/dist/types/core-viewers/webgl/viewer/camera/index.d.ts +7 -0
- package/dist/types/core-viewers/webgl/viewer/environment/environment.d.ts +5 -5
- package/dist/types/core-viewers/webgl/viewer/environment/index.d.ts +3 -0
- package/dist/types/core-viewers/webgl/viewer/environment/{cameraLight.d.ts → light.d.ts} +2 -2
- package/dist/types/core-viewers/webgl/viewer/environment/skybox.d.ts +3 -3
- package/dist/types/core-viewers/webgl/viewer/gizmos/axes/axesSettings.d.ts +3 -2
- package/dist/types/core-viewers/webgl/viewer/gizmos/axes/gizmoAxes.d.ts +3 -1
- package/dist/types/core-viewers/webgl/viewer/gizmos/axes/index.d.ts +3 -0
- package/dist/types/core-viewers/webgl/viewer/gizmos/gizmoOrbit.d.ts +2 -2
- package/dist/types/core-viewers/webgl/viewer/gizmos/gizmos.d.ts +0 -5
- package/dist/types/core-viewers/webgl/viewer/gizmos/index.d.ts +7 -0
- package/dist/types/core-viewers/webgl/viewer/gizmos/markers/gizmoMarker.d.ts +63 -15
- package/dist/types/core-viewers/webgl/viewer/gizmos/markers/gizmoMarkers.d.ts +30 -7
- package/dist/types/core-viewers/webgl/viewer/gizmos/markers/index.d.ts +2 -0
- package/dist/types/core-viewers/webgl/viewer/gizmos/measure/index.d.ts +3 -0
- package/dist/types/core-viewers/webgl/viewer/gizmos/measure/measure.d.ts +10 -16
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/index.d.ts +7 -0
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBox.d.ts +4 -5
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxGizmo.d.ts +1 -1
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxHandle.d.ts +6 -4
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxHandles.d.ts +1 -1
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxInputs.d.ts +3 -40
- package/dist/types/core-viewers/webgl/viewer/index.d.ts +10 -0
- package/dist/types/core-viewers/webgl/viewer/inputAdapter.d.ts +3 -0
- package/dist/types/core-viewers/webgl/viewer/raycaster.d.ts +37 -57
- package/dist/types/core-viewers/webgl/viewer/rendering/index.d.ts +4 -0
- package/dist/types/core-viewers/webgl/viewer/rendering/mergePass.d.ts +2 -2
- package/dist/types/core-viewers/webgl/viewer/rendering/renderScene.d.ts +5 -5
- package/dist/types/core-viewers/webgl/viewer/rendering/renderer.d.ts +6 -3
- package/dist/types/core-viewers/webgl/viewer/rendering/renderingComposer.d.ts +2 -2
- package/dist/types/core-viewers/webgl/viewer/rendering/renderingSection.d.ts +2 -2
- package/dist/types/core-viewers/webgl/viewer/selection.d.ts +6 -89
- package/dist/types/core-viewers/webgl/viewer/settings/index.d.ts +3 -0
- package/dist/types/core-viewers/webgl/viewer/settings/{defaultViewerSettings.d.ts → viewerDefaultSettings.d.ts} +1 -1
- package/dist/types/core-viewers/webgl/viewer/settings/viewerSettings.d.ts +2 -9
- package/dist/types/core-viewers/webgl/viewer/settings/viewerSettingsParsing.d.ts +1 -1
- package/dist/types/core-viewers/webgl/viewer/viewer.d.ts +13 -13
- package/dist/types/index.d.ts +2 -3
- package/dist/types/react-viewers/bim/bimInfoData.d.ts +2 -2
- package/dist/types/react-viewers/bim/bimInfoObject.d.ts +4 -4
- package/dist/types/react-viewers/bim/bimInfoPanel.d.ts +3 -3
- package/dist/types/react-viewers/bim/bimInfoVim.d.ts +4 -4
- package/dist/types/react-viewers/bim/bimPanel.d.ts +13 -13
- package/dist/types/react-viewers/bim/bimSearch.d.ts +2 -2
- package/dist/types/react-viewers/bim/bimTree.d.ts +10 -8
- package/dist/types/react-viewers/bim/bimTreeData.d.ts +5 -4
- package/dist/types/react-viewers/bim/index.d.ts +8 -0
- package/dist/types/react-viewers/container.d.ts +3 -3
- package/dist/types/react-viewers/controlbar/controlBar.d.ts +10 -4
- package/dist/types/react-viewers/controlbar/controlBarButton.d.ts +0 -4
- package/dist/types/react-viewers/controlbar/controlBarIds.d.ts +36 -27
- package/dist/types/react-viewers/controlbar/controlBarSection.d.ts +1 -4
- package/dist/types/react-viewers/controlbar/index.d.ts +5 -0
- package/dist/types/react-viewers/controlbar/style.d.ts +10 -0
- package/dist/types/react-viewers/errors/index.d.ts +2 -0
- package/dist/types/react-viewers/generic/genericField.d.ts +31 -0
- package/dist/types/react-viewers/generic/genericPanel.d.ts +12 -0
- package/dist/types/react-viewers/generic/index.d.ts +2 -0
- package/dist/types/react-viewers/generic/inputNumber.d.ts +4 -0
- package/dist/types/react-viewers/helpers/cameraObserver.d.ts +2 -2
- package/dist/types/react-viewers/helpers/cursor.d.ts +5 -3
- package/dist/types/react-viewers/helpers/customizer.d.ts +4 -0
- package/dist/types/react-viewers/helpers/element.d.ts +3 -2
- package/dist/types/react-viewers/helpers/index.d.ts +6 -0
- package/dist/types/react-viewers/helpers/layout.d.ts +24 -0
- package/dist/types/react-viewers/helpers/loadRequest.d.ts +6 -6
- package/dist/types/react-viewers/helpers/reactUtils.d.ts +285 -0
- package/dist/types/react-viewers/helpers/utils.d.ts +1 -1
- package/dist/types/react-viewers/{panels/icons.d.ts → icons.d.ts} +9 -0
- package/dist/types/react-viewers/index.d.ts +11 -6
- package/dist/types/react-viewers/panels/axesPanel.d.ts +4 -4
- package/dist/types/react-viewers/panels/contextMenu.d.ts +22 -14
- package/dist/types/react-viewers/panels/help.d.ts +2 -7
- package/dist/types/react-viewers/panels/index.d.ts +25 -0
- package/dist/types/react-viewers/panels/isolationPanel.d.ts +9 -0
- package/dist/types/react-viewers/panels/loadingBox.d.ts +5 -2
- package/dist/types/react-viewers/panels/messageBox.d.ts +1 -2
- package/dist/types/react-viewers/panels/modal.d.ts +9 -10
- package/dist/types/react-viewers/panels/restOfScreen.d.ts +1 -1
- package/dist/types/react-viewers/panels/sectionBoxPanel.d.ts +8 -2
- package/dist/types/react-viewers/{sidePanel → panels}/sidePanel.d.ts +3 -3
- package/dist/types/react-viewers/panels/toast.d.ts +3 -3
- package/dist/types/react-viewers/settings/index.d.ts +5 -0
- package/dist/types/react-viewers/settings/settings.d.ts +14 -60
- package/dist/types/react-viewers/settings/{menuSettings.d.ts → settingsPanel.d.ts} +3 -3
- package/dist/types/react-viewers/settings/settingsState.d.ts +8 -8
- package/dist/types/react-viewers/settings/settingsStorage.d.ts +6 -6
- package/dist/types/react-viewers/settings/userBoolean.d.ts +17 -0
- package/dist/types/react-viewers/state/cameraState.d.ts +24 -0
- package/dist/types/react-viewers/state/controlBarState.d.ts +36 -21
- package/dist/types/react-viewers/state/index.d.ts +9 -0
- package/dist/types/react-viewers/state/measureState.d.ts +2 -2
- package/dist/types/react-viewers/state/pointerState.d.ts +5 -5
- package/dist/types/react-viewers/state/sectionBoxState.d.ts +18 -18
- package/dist/types/react-viewers/state/sharedIsolation.d.ts +38 -0
- package/dist/types/react-viewers/state/viewerInputs.d.ts +3 -0
- package/dist/types/react-viewers/ultra/camera.d.ts +3 -0
- package/dist/types/react-viewers/ultra/controlBar.d.ts +6 -0
- package/dist/types/react-viewers/ultra/errors/ultraErrors.d.ts +3 -3
- package/dist/types/react-viewers/ultra/index.d.ts +2 -1
- package/dist/types/react-viewers/ultra/isolation.d.ts +3 -0
- package/dist/types/react-viewers/ultra/modal.d.ts +5 -0
- package/dist/types/react-viewers/ultra/sectionBox.d.ts +3 -0
- package/dist/types/react-viewers/ultra/viewer.d.ts +21 -0
- package/dist/types/react-viewers/ultra/viewerRef.d.ts +47 -0
- package/dist/types/react-viewers/urls.d.ts +1 -0
- package/dist/types/react-viewers/webgl/camera.d.ts +3 -0
- package/dist/types/react-viewers/webgl/index.d.ts +3 -8
- package/dist/types/react-viewers/webgl/inputsBindings.d.ts +8 -0
- package/dist/types/react-viewers/webgl/isolation.d.ts +2 -0
- package/dist/types/react-viewers/webgl/{webglLoading.d.ts → loading.d.ts} +11 -9
- package/dist/types/react-viewers/webgl/sectionBox.d.ts +3 -0
- package/dist/types/react-viewers/webgl/viewer.d.ts +28 -0
- package/dist/types/react-viewers/webgl/viewerRef.d.ts +107 -0
- package/dist/types/react-viewers/webgl/viewerState.d.ts +7 -5
- package/dist/types/utils/debounce.d.ts +30 -0
- package/dist/types/utils/index.d.ts +10 -0
- package/dist/types/utils/interfaces.d.ts +3 -0
- package/dist/types/utils/math3d.d.ts +19 -0
- package/dist/types/utils/partial.d.ts +7 -0
- package/dist/types/{core-viewers/webgl/utils/requestResult.d.ts → utils/result.d.ts} +1 -1
- package/dist/types/{core-viewers/webgl/utils → utils}/threeUtils.d.ts +1 -0
- package/dist/types/{core-viewers/ultra/utils → utils}/url.d.ts +2 -0
- package/dist/types/{core-viewers/ultra/utils → utils}/validation.d.ts +11 -10
- package/dist/vim-web.iife.js +17283 -17193
- package/dist/vim-web.iife.js.map +1 -1
- package/dist/vim-web.js +17309 -17219
- package/dist/vim-web.js.map +1 -1
- package/package.json +1 -1
- package/dist/types/core-viewers/ultra/utils/debounce.d.ts +0 -1
- package/dist/types/core-viewers/ultra/utils/deferredPromise.d.ts +0 -8
- package/dist/types/core-viewers/ultra/utils/result.d.ts +0 -11
- package/dist/types/core-viewers/ultra/viewer/inputs/InputTouch.d.ts +0 -25
- package/dist/types/core-viewers/ultra/viewer/inputs/inputHandler.d.ts +0 -7
- package/dist/types/core-viewers/ultra/viewer/inputs/inputKeyboard.d.ts +0 -20
- package/dist/types/core-viewers/ultra/viewer/inputs/inputMouse.d.ts +0 -21
- package/dist/types/core-viewers/ultra/viewer/inputs/inputs.d.ts +0 -27
- package/dist/types/core-viewers/ultra/viewer/marshal.d.ts +0 -86
- package/dist/types/core-viewers/ultra/viewer/selection.d.ts +0 -96
- package/dist/types/core-viewers/ultra/viewer/vim.d.ts +0 -111
- package/dist/types/core-viewers/webgl/utils/deferredPromise.d.ts +0 -8
- package/dist/types/core-viewers/webgl/viewer/gizmos/gizmoRectangle.d.ts +0 -51
- package/dist/types/core-viewers/webgl/viewer/gizmos/measure/measureFlow.d.ts +0 -36
- package/dist/types/core-viewers/webgl/viewer/inputs/input.d.ts +0 -128
- package/dist/types/core-viewers/webgl/viewer/inputs/keyboardHandler.d.ts +0 -113
- package/dist/types/core-viewers/webgl/viewer/inputs/mouseHandler.d.ts +0 -66
- package/dist/types/react-viewers/errors/errorUtils.d.ts +0 -2
- package/dist/types/react-viewers/helpers/camera.d.ts +0 -37
- package/dist/types/react-viewers/helpers/deferredPromise.d.ts +0 -8
- package/dist/types/react-viewers/helpers/inputs.d.ts +0 -22
- package/dist/types/react-viewers/helpers/isolation.d.ts +0 -128
- package/dist/types/react-viewers/ultra/ultraComponent.d.ts +0 -47
- package/dist/types/react-viewers/ultra/ultraControlBarState.d.ts +0 -6
- package/dist/types/react-viewers/ultra/ultraModal.d.ts +0 -4
- package/dist/types/react-viewers/ultra/ultraSectionBoxState.d.ts +0 -3
- package/dist/types/react-viewers/webgl/webglComponent.d.ts +0 -28
- package/dist/types/react-viewers/webgl/webglComponentRef.d.ts +0 -118
- package/dist/types/react-viewers/webgl/webglSectionBoxState.d.ts +0 -3
- /package/dist/types/core-viewers/ultra/{viewer/decoderWithWorker.d.ts → decoderWithWorker.d.ts} +0 -0
- /package/dist/types/core-viewers/ultra/{viewer/loadRequest.d.ts → loadRequest.d.ts} +0 -0
- /package/dist/types/core-viewers/ultra/{viewer/logger.d.ts → logger.d.ts} +0 -0
- /package/dist/types/core-viewers/ultra/{viewer/protocol.d.ts → protocol.d.ts} +0 -0
- /package/dist/types/core-viewers/ultra/{viewer/streamLogger.d.ts → streamLogger.d.ts} +0 -0
- /package/dist/types/core-viewers/ultra/{viewer/streamRenderer.d.ts → streamRenderer.d.ts} +0 -0
- /package/dist/types/core-viewers/ultra/{viewer/viewport.d.ts → viewport.d.ts} +0 -0
- /package/dist/types/core-viewers/ultra/{viewer/vimCollection.d.ts → vimCollection.d.ts} +0 -0
- /package/dist/types/react-viewers/{sidePanel → state}/sideState.d.ts +0 -0
- /package/dist/types/{core-viewers/ultra/utils → utils}/array.d.ts +0 -0
- /package/dist/types/{core-viewers/ultra/utils → utils}/promise.d.ts +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { HitCheckResult, SectionBoxState } from "./marshal";
|
|
1
|
+
import * as RpcTypes from "./rpcTypes";
|
|
3
2
|
import { MaterialHandle, RpcClient } from "./rpcClient";
|
|
4
3
|
export type VimSource = {
|
|
5
4
|
url: string;
|
|
@@ -19,7 +18,7 @@ export type SceneSettings = {
|
|
|
19
18
|
hdrBackgroundScale: number;
|
|
20
19
|
hdrBackgroundSaturation: number;
|
|
21
20
|
backGroundBlur: number;
|
|
22
|
-
backgroundColor: RGBA;
|
|
21
|
+
backgroundColor: RpcTypes.RGBA;
|
|
23
22
|
};
|
|
24
23
|
export declare const defaultSceneSettings: SceneSettings;
|
|
25
24
|
export declare enum VimLoadingStatus {
|
|
@@ -57,7 +56,7 @@ export declare class RpcSafeClient {
|
|
|
57
56
|
*/
|
|
58
57
|
RPCSetLighting(settings: SceneSettings): void;
|
|
59
58
|
RPCLockIblRotation(lock: boolean): void;
|
|
60
|
-
RPCGetSceneAABB(): Promise<Box3 | undefined>;
|
|
59
|
+
RPCGetSceneAABB(): Promise<RpcTypes.Box3 | undefined>;
|
|
61
60
|
/*******************************************************************************
|
|
62
61
|
* NODE VISIBILITY METHODS
|
|
63
62
|
* Methods for controlling node visibility, including show/hide, ghosting,
|
|
@@ -131,7 +130,7 @@ export declare class RpcSafeClient {
|
|
|
131
130
|
* @returns Promise resolving to the handle of the created text component
|
|
132
131
|
* @throws {Error} If the text is empty
|
|
133
132
|
*/
|
|
134
|
-
RPCCreateText(position: Vector3, color: RGBA32, text: string): Promise<number>;
|
|
133
|
+
RPCCreateText(position: RpcTypes.Vector3, color: RpcTypes.RGBA32, text: string): Promise<number>;
|
|
135
134
|
/**
|
|
136
135
|
* Destroys a text component, removing it from the scene.
|
|
137
136
|
* @param componentHandle - The handle of the text component to destroy
|
|
@@ -143,8 +142,8 @@ export declare class RpcSafeClient {
|
|
|
143
142
|
* Methods for controlling section box visibility and position.
|
|
144
143
|
******************************************************************************/
|
|
145
144
|
RPCEnableSectionBox(enable: boolean): void;
|
|
146
|
-
RPCSetSectionBox(state: SectionBoxState): void;
|
|
147
|
-
RPCGetSectionBox(): Promise<SectionBoxState | undefined>;
|
|
145
|
+
RPCSetSectionBox(state: RpcTypes.SectionBoxState): void;
|
|
146
|
+
RPCGetSectionBox(): Promise<RpcTypes.SectionBoxState | undefined>;
|
|
148
147
|
/*******************************************************************************
|
|
149
148
|
* CAMERA AND VIEW METHODS
|
|
150
149
|
* Methods for controlling camera position, movement, framing, and view settings.
|
|
@@ -153,15 +152,15 @@ export declare class RpcSafeClient {
|
|
|
153
152
|
* Retrieves the current camera position and orientation.
|
|
154
153
|
* @returns Promise resolving to a segment representing the camera's current position and target
|
|
155
154
|
*/
|
|
156
|
-
RPCGetCameraPosition(): Promise<Segment | undefined>;
|
|
155
|
+
RPCGetCameraPosition(): Promise<RpcTypes.Segment | undefined>;
|
|
157
156
|
/**
|
|
158
157
|
* Sets the camera position and orientation.
|
|
159
158
|
* @param segment - The desired camera position and target
|
|
160
159
|
* @param blendTime - Duration of the camera transition in seconds (non-negative)
|
|
161
160
|
* @throws {Error} If segment is invalid or blendTime is negative
|
|
162
161
|
*/
|
|
163
|
-
RPCSetCameraPosition(segment: Segment, blendTime: number): void;
|
|
164
|
-
RPCGetBoundingBoxAll(componentHandle: number): Promise<
|
|
162
|
+
RPCSetCameraPosition(segment: RpcTypes.Segment, blendTime: number): void;
|
|
163
|
+
RPCGetBoundingBoxAll(componentHandle: number): Promise<RpcTypes.Box3 | undefined>;
|
|
165
164
|
/**
|
|
166
165
|
* Calculates the bounding box for specified nodes in a component.
|
|
167
166
|
* Large node arrays are automatically processed in batches for better performance.
|
|
@@ -170,14 +169,14 @@ export declare class RpcSafeClient {
|
|
|
170
169
|
* @returns Promise resolving to the combined bounding box
|
|
171
170
|
* @throws {Error} If the component handle is invalid or nodes array is invalid
|
|
172
171
|
*/
|
|
173
|
-
RPCGetBoundingBox(componentHandle: number, nodes: number[]): Promise<Box3 | undefined>;
|
|
172
|
+
RPCGetBoundingBox(componentHandle: number, nodes: number[]): Promise<RpcTypes.Box3 | undefined>;
|
|
174
173
|
private getBoundingBoxBatched;
|
|
175
174
|
/**
|
|
176
175
|
* Frames the camera to show all components in the scene.
|
|
177
176
|
* @param blendTime - Duration of the camera transition in seconds (non-negative)
|
|
178
177
|
* @returns Promise resolving to camera segment representing the final position
|
|
179
178
|
*/
|
|
180
|
-
RPCFrameAll(blendTime: number): Promise<Segment | undefined>;
|
|
179
|
+
RPCFrameAll(blendTime: number): Promise<RpcTypes.Segment | undefined>;
|
|
181
180
|
/**
|
|
182
181
|
* Frames a specific VIM component in the scene.
|
|
183
182
|
* @param componentHandle - The handle of the VIM component to frame
|
|
@@ -185,7 +184,7 @@ export declare class RpcSafeClient {
|
|
|
185
184
|
* @returns Promise resolving to camera segment representing the final position
|
|
186
185
|
* @throws {Error} If the component handle is invalid
|
|
187
186
|
*/
|
|
188
|
-
RPCFrameVim(componentHandle: number, blendTime: number): Promise<Segment | undefined>;
|
|
187
|
+
RPCFrameVim(componentHandle: number, blendTime: number): Promise<RpcTypes.Segment | undefined>;
|
|
189
188
|
/**
|
|
190
189
|
* Frames specific instances within a component. For large numbers of instances,
|
|
191
190
|
* automatically switches to bounding box framing for better performance.
|
|
@@ -195,14 +194,14 @@ export declare class RpcSafeClient {
|
|
|
195
194
|
* @returns Promise resolving to camera segment representing the final position
|
|
196
195
|
* @throws {Error} If the component handle is invalid or nodes array is empty
|
|
197
196
|
*/
|
|
198
|
-
RPCFrameInstances(componentHandle: number, nodes: number[], blendTime: number): Promise<Segment | undefined>;
|
|
197
|
+
RPCFrameInstances(componentHandle: number, nodes: number[], blendTime: number): Promise<RpcTypes.Segment | undefined>;
|
|
199
198
|
/**
|
|
200
199
|
* Frames the camera to show a specific bounding box.
|
|
201
200
|
* @param box - The bounding box to frame
|
|
202
201
|
* @param blendTime - Duration of the camera transition in seconds (non-negative)
|
|
203
202
|
* @throws {Error} If the box is invalid (min values must be less than max values)
|
|
204
203
|
*/
|
|
205
|
-
RPCFrameBox(box: Box3, blendTime: number): Promise<Segment | undefined>;
|
|
204
|
+
RPCFrameBox(box: RpcTypes.Box3, blendTime: number): Promise<RpcTypes.Segment | undefined>;
|
|
206
205
|
/*******************************************************************************
|
|
207
206
|
* INPUT HANDLING METHODS
|
|
208
207
|
* Methods for handling user input including mouse, keyboard, and camera controls.
|
|
@@ -260,13 +259,13 @@ export declare class RpcSafeClient {
|
|
|
260
259
|
* Sets the color used for ghosted geometry.
|
|
261
260
|
* @param ghostColor - The RGBA color to use for ghosted elements
|
|
262
261
|
*/
|
|
263
|
-
RPCSetGhostColor(ghostColor: RGBA): void;
|
|
262
|
+
RPCSetGhostColor(ghostColor: RpcTypes.RGBA): void;
|
|
264
263
|
/**
|
|
265
264
|
* Performs hit testing at a specified screen position.
|
|
266
265
|
* @param pos - Normalized screen coordinates (0-1, 0-1)
|
|
267
266
|
* @returns Promise resolving to hit test result if something was hit, undefined otherwise
|
|
268
267
|
*/
|
|
269
|
-
RPCPerformHitTest(pos: Vector2): Promise<HitCheckResult | undefined>;
|
|
268
|
+
RPCPerformHitTest(pos: RpcTypes.Vector2): Promise<RpcTypes.HitCheckResult | undefined>;
|
|
270
269
|
/**
|
|
271
270
|
* Sends a mouse button event to the viewer.
|
|
272
271
|
* @param position - The normalized screen coordinates (0-1, 0-1)
|
|
@@ -274,19 +273,19 @@ export declare class RpcSafeClient {
|
|
|
274
273
|
* @param down - True if button is pressed down, false if released
|
|
275
274
|
* @throws {Error} If mouseButton is not a valid positive integer
|
|
276
275
|
*/
|
|
277
|
-
RPCMouseButtonEvent(position: Vector2, mouseButton: number, down: boolean): void;
|
|
276
|
+
RPCMouseButtonEvent(position: RpcTypes.Vector2, mouseButton: number, down: boolean): void;
|
|
278
277
|
/**
|
|
279
278
|
* Sends a mouse double-click event to the viewer.
|
|
280
279
|
* @param position - The normalized screen coordinates (0-1, 0-1)
|
|
281
280
|
* @param mouseButton - The mouse button code (0=left, 1=middle, 2=right)
|
|
282
281
|
* @throws {Error} If mouseButton is not a valid positive integer
|
|
283
282
|
*/
|
|
284
|
-
RPCMouseDoubleClickEvent(position: Vector2, mouseButton: number): void;
|
|
283
|
+
RPCMouseDoubleClickEvent(position: RpcTypes.Vector2, mouseButton: number): void;
|
|
285
284
|
/**
|
|
286
285
|
* Sends a mouse movement event to the viewer.
|
|
287
286
|
* @param position - The normalized screen coordinates (0-1, 0-1)
|
|
288
287
|
*/
|
|
289
|
-
RPCMouseMoveEvent(position: Vector2): void;
|
|
288
|
+
RPCMouseMoveEvent(position: RpcTypes.Vector2): void;
|
|
290
289
|
/**
|
|
291
290
|
* Sends a mouse scroll wheel event to the viewer.
|
|
292
291
|
* @param scrollValue - The scroll amount (-1 to 1)
|
|
@@ -298,7 +297,7 @@ export declare class RpcSafeClient {
|
|
|
298
297
|
* @param mouseButton - The mouse button code (0=left, 1=middle, 2=right)
|
|
299
298
|
* @throws {Error} If mouseButton is not a valid positive integer
|
|
300
299
|
*/
|
|
301
|
-
RPCMouseSelectEvent(position: Vector2, mouseButton: number): void;
|
|
300
|
+
RPCMouseSelectEvent(position: RpcTypes.Vector2, mouseButton: number): void;
|
|
302
301
|
/**
|
|
303
302
|
* Sends a keyboard event to the viewer.
|
|
304
303
|
* @param keyCode - The key code of the event
|
|
@@ -318,7 +317,7 @@ export declare class RpcSafeClient {
|
|
|
318
317
|
* @returns Array of handles for the created material instances
|
|
319
318
|
* @throws {Error} If the material handle is invalid or smoothness is out of range
|
|
320
319
|
*/
|
|
321
|
-
RPCCreateMaterialInstances(materialHandle: MaterialHandle, smoothness: number, colors: RGBA32[]): Promise<number[] | undefined>;
|
|
320
|
+
RPCCreateMaterialInstances(materialHandle: MaterialHandle, smoothness: number, colors: RpcTypes.RGBA32[]): Promise<number[] | undefined>;
|
|
322
321
|
private createMaterialInstancesBatched;
|
|
323
322
|
/**
|
|
324
323
|
* Destroys multiple material instances, freeing associated resources.
|
|
@@ -378,7 +377,7 @@ export declare class RpcSafeClient {
|
|
|
378
377
|
* @param colors - Array of colors for each AABB (must match nodes length)
|
|
379
378
|
* @throws {Error} If arrays have different lengths or component handle is invalid
|
|
380
379
|
*/
|
|
381
|
-
RPCShowAABBs(componentHandle: number, nodes: number[], colors: RGBA32[]): void;
|
|
380
|
+
RPCShowAABBs(componentHandle: number, nodes: number[], colors: RpcTypes.RGBA32[]): void;
|
|
382
381
|
/**
|
|
383
382
|
* Hides the axis-aligned bounding boxes (AABBs) for specified nodes.
|
|
384
383
|
* Large node arrays are automatically processed in batches.
|
|
@@ -1,18 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
export { Vector2, Vector3, Box3 } from 'three';
|
|
3
|
-
import { Vector2, Vector3 } from 'three';
|
|
4
|
-
/**
|
|
5
|
-
* Checks if two Vector2 objects are approximately equal.
|
|
6
|
-
* @param v1 - First Vector2.
|
|
7
|
-
* @param v2 - Second Vector2.
|
|
8
|
-
* @param epsilon - Tolerance for floating-point comparisons.
|
|
9
|
-
* @returns True if vectors are almost equal, false otherwise.
|
|
10
|
-
*/
|
|
11
|
-
export declare function almostEqual(v1: Vector2, v2: Vector2, epsilon?: number): boolean;
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
export { Vector2, Vector3, Box3, Matrix4 as Matrix44 } from 'three';
|
|
12
3
|
export declare class Segment {
|
|
13
|
-
origin: Vector3;
|
|
14
|
-
target: Vector3;
|
|
15
|
-
constructor(origin?: Vector3, target?: Vector3);
|
|
4
|
+
origin: THREE.Vector3;
|
|
5
|
+
target: THREE.Vector3;
|
|
6
|
+
constructor(origin?: THREE.Vector3, target?: THREE.Vector3);
|
|
16
7
|
static fromArray(array: number[]): Segment;
|
|
17
8
|
toArray(): number[];
|
|
18
9
|
isValid(): boolean;
|
|
@@ -24,6 +15,7 @@ export declare class RGBA {
|
|
|
24
15
|
b: number;
|
|
25
16
|
a: number;
|
|
26
17
|
constructor(r: number, g: number, b: number, a?: number);
|
|
18
|
+
clone(): RGBA;
|
|
27
19
|
isValid(): boolean;
|
|
28
20
|
equals(color: RGBA): boolean;
|
|
29
21
|
static fromString(str: string): RGBA;
|
|
@@ -57,11 +49,19 @@ export declare class RGBA32 {
|
|
|
57
49
|
*/
|
|
58
50
|
get a(): number;
|
|
59
51
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
52
|
+
export type HitCheckResult = {
|
|
53
|
+
vimHandle: number;
|
|
54
|
+
nodeIndex: number;
|
|
55
|
+
worldPosition: THREE.Vector3;
|
|
56
|
+
worldNormal: THREE.Vector3;
|
|
57
|
+
};
|
|
58
|
+
export type VimStatus = {
|
|
59
|
+
status: number;
|
|
60
|
+
progress: number;
|
|
61
|
+
};
|
|
62
|
+
export type SectionBoxState = {
|
|
63
|
+
visible: boolean;
|
|
64
|
+
interactive: boolean;
|
|
65
|
+
clip: boolean;
|
|
66
|
+
box: THREE.Box3;
|
|
67
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Box3 } from "../utils/math3d";
|
|
2
1
|
import { RpcSafeClient } from "./rpcSafeClient";
|
|
2
|
+
import * as THREE from "three";
|
|
3
3
|
export declare class SectionBox {
|
|
4
4
|
private _visible;
|
|
5
5
|
private _interactible;
|
|
@@ -8,6 +8,7 @@ export declare class SectionBox {
|
|
|
8
8
|
private _rpc;
|
|
9
9
|
private _interval;
|
|
10
10
|
private _animationFrame;
|
|
11
|
+
private _pullId;
|
|
11
12
|
private _onUpdate;
|
|
12
13
|
get onUpdate(): import("ste-signals").ISignal;
|
|
13
14
|
private get needUpdate();
|
|
@@ -22,7 +23,11 @@ export declare class SectionBox {
|
|
|
22
23
|
set interactive(value: boolean);
|
|
23
24
|
get clip(): boolean;
|
|
24
25
|
set clip(value: boolean);
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Fits the given box, invalid dimensions will be reversed.
|
|
28
|
+
* @param box - The new bounding box.
|
|
29
|
+
*/
|
|
30
|
+
fitBox(box: THREE.Box3): void;
|
|
31
|
+
getBox(): THREE.Box3 | undefined;
|
|
27
32
|
dispose(): void;
|
|
28
33
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as Protocol from './protocol';
|
|
2
|
-
import { Marshal, ReadMarshal } from './marshal';
|
|
3
1
|
import { ILogger } from './logger';
|
|
4
|
-
import
|
|
5
|
-
|
|
2
|
+
import * as Protocol from './protocol';
|
|
3
|
+
import { Marshal, ReadMarshal } from './rpcMarshal';
|
|
4
|
+
import { Segment } from './rpcTypes';
|
|
5
|
+
export declare const DEFAULT_LOCAL_SERVER_URL = "ws://localhost:8123";
|
|
6
6
|
export type ConnectionSettings = {
|
|
7
7
|
url?: string;
|
|
8
8
|
retries?: number;
|
|
@@ -41,13 +41,6 @@ export type ClientStreamError = {
|
|
|
41
41
|
serverUrl: string;
|
|
42
42
|
details: string;
|
|
43
43
|
};
|
|
44
|
-
export declare enum FrameType {
|
|
45
|
-
VideoKeyFrame = 0,
|
|
46
|
-
VideoDeltaFrame = 1,
|
|
47
|
-
Disconnection = 2,
|
|
48
|
-
RPCResponse = 255,
|
|
49
|
-
CameraPose = 254
|
|
50
|
-
}
|
|
51
44
|
/**
|
|
52
45
|
* Messenger class responsible for handling WebSocket communication,
|
|
53
46
|
* including sending and receiving messages, managing connection state,
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { ISimpleEvent } from 'ste-simple-events';
|
|
2
|
+
import type { InputHandler } from '../shared';
|
|
3
|
+
import { ICamera } from './camera';
|
|
4
|
+
import { ColorManager } from './colorManager';
|
|
3
5
|
import { IDecoder } from './decoder';
|
|
4
|
-
import { Vim } from './vim';
|
|
5
6
|
import { ILoadRequest } from './loadRequest';
|
|
6
7
|
import { ILogger } from './logger';
|
|
7
|
-
import {
|
|
8
|
-
import { ColorManager } from './colorManager';
|
|
9
|
-
import { ICamera } from './camera';
|
|
10
|
-
import { RpcSafeClient, VimSource } from './rpcSafeClient';
|
|
11
|
-
import { ISimpleEvent } from 'ste-simple-events';
|
|
12
|
-
import { ViewerSelection } from './selection';
|
|
13
|
-
import { IReadonlyVimCollection } from './vimCollection';
|
|
8
|
+
import { IUltraRaycaster } from './raycaster';
|
|
14
9
|
import { IRenderer } from './renderer';
|
|
10
|
+
import { RpcSafeClient, VimSource } from './rpcSafeClient';
|
|
15
11
|
import { SectionBox } from './sectionBox';
|
|
12
|
+
import { ISelection } from './selection';
|
|
13
|
+
import { ClientState, ConnectionSettings } from './socketClient';
|
|
14
|
+
import { IViewport } from './viewport';
|
|
15
|
+
import { Vim } from './vim';
|
|
16
|
+
import { IReadonlyVimCollection } from './vimCollection';
|
|
16
17
|
export declare const INVALID_HANDLE = 4294967295;
|
|
17
18
|
/**
|
|
18
19
|
* The main Viewer class responsible for managing VIM files,
|
|
@@ -28,6 +29,7 @@ export declare class Viewer {
|
|
|
28
29
|
private readonly _viewport;
|
|
29
30
|
private readonly _camera;
|
|
30
31
|
private readonly _selection;
|
|
32
|
+
private readonly _raycaster;
|
|
31
33
|
private readonly _vims;
|
|
32
34
|
private _disposed;
|
|
33
35
|
/**
|
|
@@ -41,7 +43,7 @@ export declare class Viewer {
|
|
|
41
43
|
/**
|
|
42
44
|
* The input API for handling user input events.
|
|
43
45
|
*/
|
|
44
|
-
get inputs():
|
|
46
|
+
get inputs(): InputHandler;
|
|
45
47
|
get vims(): IReadonlyVimCollection;
|
|
46
48
|
/**
|
|
47
49
|
* The viewport API for managing the rendering viewport.
|
|
@@ -49,7 +51,8 @@ export declare class Viewer {
|
|
|
49
51
|
get viewport(): IViewport;
|
|
50
52
|
get renderer(): IRenderer;
|
|
51
53
|
get decoder(): IDecoder;
|
|
52
|
-
get
|
|
54
|
+
get raycaster(): IUltraRaycaster;
|
|
55
|
+
get selection(): ISelection;
|
|
53
56
|
/**
|
|
54
57
|
* API to create, manage, and destroy colors.
|
|
55
58
|
*/
|
|
@@ -68,7 +71,7 @@ export declare class Viewer {
|
|
|
68
71
|
* Gets the current connection status of the viewer.
|
|
69
72
|
* @returns The current ClientStatus.
|
|
70
73
|
*/
|
|
71
|
-
get
|
|
74
|
+
get connectionState(): ClientState;
|
|
72
75
|
/**
|
|
73
76
|
* The section box API for controlling the section box.
|
|
74
77
|
*/
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { IVim } from '../shared/vim';
|
|
2
|
+
import type { ILogger } from './logger';
|
|
3
|
+
import { ColorManager } from './colorManager';
|
|
4
|
+
import { Element3D } from './element3d';
|
|
5
|
+
import { LoadRequest } from './loadRequest';
|
|
6
|
+
import { StateSynchronizer } from './nodeState';
|
|
7
|
+
import { Renderer } from './renderer';
|
|
8
|
+
import { RpcSafeClient, VimSource } from './rpcSafeClient';
|
|
9
|
+
import * as THREE from 'three';
|
|
10
|
+
import { RGBA32 } from './rpcTypes';
|
|
11
|
+
export declare class Vim implements IVim<Element3D> {
|
|
12
|
+
readonly source: VimSource;
|
|
13
|
+
private _handle;
|
|
14
|
+
private _request;
|
|
15
|
+
private readonly _rpc;
|
|
16
|
+
private _colors;
|
|
17
|
+
private _renderer;
|
|
18
|
+
private _logger;
|
|
19
|
+
readonly nodeState: StateSynchronizer;
|
|
20
|
+
private _nodeColors;
|
|
21
|
+
private _updatedColors;
|
|
22
|
+
private _updateScheduled;
|
|
23
|
+
private _objects;
|
|
24
|
+
constructor(rpc: RpcSafeClient, color: ColorManager, renderer: Renderer, source: VimSource, logger: ILogger);
|
|
25
|
+
getElementFromInstanceIndex(instance: number): Element3D;
|
|
26
|
+
getElementsFromId(id: number): Element3D[];
|
|
27
|
+
getElementFromIndex(element: number): Element3D;
|
|
28
|
+
getObjectsInBox(box: THREE.Box3): Element3D[];
|
|
29
|
+
getAllElements(): Element3D[];
|
|
30
|
+
get handle(): number;
|
|
31
|
+
get connected(): boolean;
|
|
32
|
+
connect(): LoadRequest;
|
|
33
|
+
disconnect(): void;
|
|
34
|
+
private _load;
|
|
35
|
+
private getErrorType;
|
|
36
|
+
private _getHandle;
|
|
37
|
+
getBoundingBoxNodes(nodes: number[] | 'all'): Promise<THREE.Box3 | undefined>;
|
|
38
|
+
getBoundingBox(): Promise<THREE.Box3 | undefined>;
|
|
39
|
+
getColor(node: number): RGBA32 | undefined;
|
|
40
|
+
setColor(nodes: number[], color: RGBA32 | undefined): Promise<void>;
|
|
41
|
+
setColors(nodes: number[], color: (RGBA32 | undefined)[]): Promise<void>;
|
|
42
|
+
private applyColor;
|
|
43
|
+
clearColor(nodes: number[] | 'all'): void;
|
|
44
|
+
reapplyColors(): void;
|
|
45
|
+
private scheduleColorUpdate;
|
|
46
|
+
private updateRemote;
|
|
47
|
+
private updateRemoteColors;
|
|
48
|
+
}
|
|
@@ -2,24 +2,5 @@ import './style.css';
|
|
|
2
2
|
import { BFastSource } from 'vim-format';
|
|
3
3
|
export type VimSource = BFastSource;
|
|
4
4
|
export { IProgressLogs } from 'vim-format';
|
|
5
|
-
export * from './loader
|
|
6
|
-
export * from './
|
|
7
|
-
export * from './loader/progressive/vimx';
|
|
8
|
-
export * from './viewer/viewer';
|
|
9
|
-
export * from './loader/geometry';
|
|
10
|
-
export type { PointerMode, InputScheme } from './viewer/inputs/input';
|
|
11
|
-
export { DefaultInputScheme, KEYS } from './viewer/inputs/input';
|
|
12
|
-
export * from './viewer/settings/viewerSettings';
|
|
13
|
-
export * from './viewer/settings/viewerSettingsParsing';
|
|
14
|
-
export * from './viewer/settings/defaultViewerSettings';
|
|
15
|
-
export { RaycastResult as HitTestResult, InputAction } from './viewer/raycaster';
|
|
16
|
-
export { type SelectableObject } from './viewer/selection';
|
|
17
|
-
export * from './loader/progressive/insertableMesh';
|
|
18
|
-
export * from './loader/progressive/g3dSubset';
|
|
19
|
-
export * from './loader/geometry';
|
|
20
|
-
export * from './loader/materials/viewerMaterials';
|
|
21
|
-
export * from './loader/object3D';
|
|
22
|
-
export * from './loader/scene';
|
|
23
|
-
export * from './loader/vim';
|
|
24
|
-
export * from './loader/vimSettings';
|
|
25
|
-
export * from './utils/boxes';
|
|
5
|
+
export * from './loader';
|
|
6
|
+
export * from './viewer';
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as THREE from 'three';
|
|
5
5
|
import { Vim } from './vim';
|
|
6
|
-
import {
|
|
7
|
-
export declare class
|
|
6
|
+
import { WebglAttributeTarget } from './webglAttribute';
|
|
7
|
+
export declare class WebglColorAttribute {
|
|
8
8
|
readonly vim: Vim;
|
|
9
9
|
private _meshes;
|
|
10
10
|
private _value;
|
|
11
|
-
constructor(meshes:
|
|
12
|
-
updateMeshes(meshes:
|
|
11
|
+
constructor(meshes: WebglAttributeTarget[] | undefined, value: THREE.Color | undefined, vim: Vim | undefined);
|
|
12
|
+
updateMeshes(meshes: WebglAttributeTarget[] | undefined): void;
|
|
13
13
|
get value(): THREE.Color;
|
|
14
14
|
apply(color: THREE.Color | undefined): void;
|
|
15
15
|
/**
|
|
@@ -5,22 +5,23 @@ import * as THREE from 'three';
|
|
|
5
5
|
import { Vim } from './vim';
|
|
6
6
|
import { IElement, VimHelpers } from 'vim-format';
|
|
7
7
|
import { Submesh } from './mesh';
|
|
8
|
+
import { IVimElement } from '../../shared/vim';
|
|
8
9
|
/**
|
|
9
10
|
* High level api to interact with the loaded vim geometry and data.
|
|
10
11
|
*/
|
|
11
|
-
export declare class
|
|
12
|
+
export declare class Element3D implements IVimElement {
|
|
12
13
|
private _color;
|
|
13
14
|
private _boundingBox;
|
|
14
15
|
private _meshes;
|
|
15
|
-
private _outlineAttribute;
|
|
16
|
-
private _visibleAttribute;
|
|
17
|
-
private _coloredAttribute;
|
|
18
|
-
private _focusedAttribute;
|
|
19
|
-
private _colorAttribute;
|
|
16
|
+
private readonly _outlineAttribute;
|
|
17
|
+
private readonly _visibleAttribute;
|
|
18
|
+
private readonly _coloredAttribute;
|
|
19
|
+
private readonly _focusedAttribute;
|
|
20
|
+
private readonly _colorAttribute;
|
|
20
21
|
/**
|
|
21
22
|
* Indicate whether this object is architectural or markup.
|
|
22
23
|
*/
|
|
23
|
-
readonly type = "
|
|
24
|
+
readonly type = "Element3D";
|
|
24
25
|
/**
|
|
25
26
|
* The vim object from which this object came from.
|
|
26
27
|
*/
|
|
@@ -42,6 +43,7 @@ export declare class Object3D {
|
|
|
42
43
|
* @returns {boolean} True if this object has geometry, otherwise false.
|
|
43
44
|
*/
|
|
44
45
|
get hasMesh(): boolean;
|
|
46
|
+
get isRoom(): boolean;
|
|
45
47
|
/**
|
|
46
48
|
* Determines whether to render selection outline for this object or not.
|
|
47
49
|
*/
|
|
@@ -64,6 +66,7 @@ export declare class Object3D {
|
|
|
64
66
|
*/
|
|
65
67
|
get color(): THREE.Color | undefined;
|
|
66
68
|
set color(color: THREE.Color | undefined);
|
|
69
|
+
private get renderer();
|
|
67
70
|
/**
|
|
68
71
|
* Constructs a new instance of Object.
|
|
69
72
|
* @param {Vim} vim The Vim instance.
|
|
@@ -87,14 +90,14 @@ export declare class Object3D {
|
|
|
87
90
|
* Returns undefined if the object has no geometry.
|
|
88
91
|
* @returns {THREE.Box3 | undefined} The bounding box of the object, or undefined if the object has no geometry.
|
|
89
92
|
*/
|
|
90
|
-
getBoundingBox(): THREE.Box3
|
|
93
|
+
getBoundingBox(): Promise<THREE.Box3>;
|
|
91
94
|
/**
|
|
92
95
|
* Retrieves the center position of this object.
|
|
93
96
|
* @param {THREE.Vector3} [target=new THREE.Vector3()] Optional parameter specifying where to copy the center position data.
|
|
94
97
|
* A new instance is created if none is provided.
|
|
95
98
|
* @returns {THREE.Vector3 | undefined} The center position of the object, or undefined if the object has no geometry.
|
|
96
99
|
*/
|
|
97
|
-
getCenter(target?: THREE.Vector3): THREE.Vector3
|
|
100
|
+
getCenter(target?: THREE.Vector3): Promise<THREE.Vector3>;
|
|
98
101
|
/**
|
|
99
102
|
* Internal method used to replace this object's meshes and apply color as needed.
|
|
100
103
|
* @param {Submesh} mesh The new mesh to be added.
|