diff --git a/src/mol-canvas3d/camera.ts b/src/mol-canvas3d/camera.ts index 783c8883d88a2f4e4355cab4b4ffc239f86381d8..9c48d0211022b739dd37f341c37c281916797ba5 100644 --- a/src/mol-canvas3d/camera.ts +++ b/src/mol-canvas3d/camera.ts @@ -131,6 +131,13 @@ class Camera implements Object3D { namespace Camera { export type Mode = 'perspective' | 'orthographic' + export interface ClippingInfo { + near: number, + far: number, + fogNear: number, + fogFar: number + } + export function createDefaultSnapshot(): Snapshot { return { mode: 'perspective', diff --git a/src/mol-canvas3d/camera/transition.ts b/src/mol-canvas3d/camera/transition.ts index 0ed592c1a7a1fe03277e20ac48820efef1575d5a..469446c547bb31fc3444c69cce5e1462569489b6 100644 --- a/src/mol-canvas3d/camera/transition.ts +++ b/src/mol-canvas3d/camera/transition.ts @@ -15,7 +15,7 @@ class CameraTransitionManager { private func: CameraTransitionManager.TransitionFunc = CameraTransitionManager.defaultTransition; private start = 0; - private inTransition = false; + inTransition = false; private durationMs = 0; private source: Camera.Snapshot = Camera.createDefaultSnapshot(); private target: Camera.Snapshot = Camera.createDefaultSnapshot(); diff --git a/src/mol-canvas3d/canvas3d.ts b/src/mol-canvas3d/canvas3d.ts index 2914b1ab8a6a7dfe1d4048989c9f6f591a0ad1b5..c2cf9bee32d6238cf22f86842e99c27dae62374d 100644 --- a/src/mol-canvas3d/canvas3d.ts +++ b/src/mol-canvas3d/canvas3d.ts @@ -189,7 +189,8 @@ namespace Canvas3D { let didRender = false controls.update() - setClipping() + // TODO: is this a good fix? Also, setClipping does not work if the user has manually set a clipping plane. + if (!camera.transition.inTransition) setClipping(); const cameraChanged = camera.updateMatrices(); if (force || cameraChanged) {