From e843f537992179b9b922c8d22aebc806a6f8f7ac Mon Sep 17 00:00:00 2001 From: Terry Jia Date: Wed, 26 Feb 2025 21:39:19 -0500 Subject: [PATCH] [3d] temp fix preview camera not sync up (#2743) --- src/extensions/core/load3d/CameraManager.ts | 6 ++++++ src/extensions/core/load3d/Load3DConfiguration.ts | 1 + src/extensions/core/load3d/Load3d.ts | 4 ++++ src/extensions/core/load3d/interfaces.ts | 1 + 4 files changed, 12 insertions(+) diff --git a/src/extensions/core/load3d/CameraManager.ts b/src/extensions/core/load3d/CameraManager.ts index 188a85144..16d03e2a8 100644 --- a/src/extensions/core/load3d/CameraManager.ts +++ b/src/extensions/core/load3d/CameraManager.ts @@ -92,6 +92,12 @@ export class CameraManager implements CameraManagerInterface { : 'orthographic' } + refreshCamera() { + // TODO need to improve the logic here + this.toggleCamera() + this.toggleCamera() + } + toggleCamera(cameraType?: CameraType): void { const oldCamera = this.activeCamera diff --git a/src/extensions/core/load3d/Load3DConfiguration.ts b/src/extensions/core/load3d/Load3DConfiguration.ts index 11f392fd8..3ad320f32 100644 --- a/src/extensions/core/load3d/Load3DConfiguration.ts +++ b/src/extensions/core/load3d/Load3DConfiguration.ts @@ -18,6 +18,7 @@ class Load3DConfiguration { this.setupModelHandling(modelWidget, loadFolder, cameraState) this.setupTargetSize(width, height) this.setupDefaultProperties() + this.load3d.refreshCamera() } private setupTargetSize(width: IWidget | null, height: IWidget | null) { diff --git a/src/extensions/core/load3d/Load3d.ts b/src/extensions/core/load3d/Load3d.ts index 8425bac17..37cee26d7 100644 --- a/src/extensions/core/load3d/Load3d.ts +++ b/src/extensions/core/load3d/Load3d.ts @@ -269,6 +269,10 @@ class Load3d { this.previewManager.togglePreview(showPreview) } + refreshCamera(): void { + this.cameraManager.refreshCamera() + } + setTargetSize(width: number, height: number): void { this.previewManager.setTargetSize(width, height) } diff --git a/src/extensions/core/load3d/interfaces.ts b/src/extensions/core/load3d/interfaces.ts index 9ae277d56..28d37cac2 100644 --- a/src/extensions/core/load3d/interfaces.ts +++ b/src/extensions/core/load3d/interfaces.ts @@ -60,6 +60,7 @@ export interface CameraManagerInterface extends BaseManager { perspectiveCamera: THREE.PerspectiveCamera orthographicCamera: THREE.OrthographicCamera getCurrentCameraType(): CameraType + refreshCamera(): void toggleCamera(cameraType?: CameraType): void setFOV(fov: number): void setCameraState(state: CameraState): void