Skip to content
Snippets Groups Projects
Commit 82631876 authored by David Sehnal's avatar David Sehnal
Browse files

Canvas3DParams.camera.manualReset

parent de790051
No related branches found
No related tags found
No related merge requests found
...@@ -38,7 +38,8 @@ import { HandleHelper, HandleHelperParams } from './helper/handle-helper'; ...@@ -38,7 +38,8 @@ import { HandleHelper, HandleHelperParams } from './helper/handle-helper';
export const Canvas3DParams = { export const Canvas3DParams = {
camera: PD.Group({ camera: PD.Group({
mode: PD.Select('perspective', [['perspective', 'Perspective'], ['orthographic', 'Orthographic']] as const, { label: 'Camera' }), mode: PD.Select('perspective', [['perspective', 'Perspective'], ['orthographic', 'Orthographic']] as const, { label: 'Camera' }),
helper: PD.Group(CameraHelperParams, { isFlat: true }) helper: PD.Group(CameraHelperParams, { isFlat: true }),
manualReset: PD.Boolean(false, { isHidden: true })
}, { pivot: 'mode' }), }, { pivot: 'mode' }),
cameraFog: PD.MappedStatic('on', { cameraFog: PD.MappedStatic('on', {
on: PD.Group({ on: PD.Group({
...@@ -363,7 +364,7 @@ namespace Canvas3D { ...@@ -363,7 +364,7 @@ namespace Canvas3D {
if (!scene.commit(isSynchronous ? void 0 : sceneCommitTimeoutMs)) return false; if (!scene.commit(isSynchronous ? void 0 : sceneCommitTimeoutMs)) return false;
if (debugHelper.isEnabled) debugHelper.update(); if (debugHelper.isEnabled) debugHelper.update();
if (reprCount.value === 0 || shouldResetCamera()) { if (!p.camera.manualReset && (reprCount.value === 0 || shouldResetCamera())) {
cameraResetRequested = true; cameraResetRequested = true;
} }
if (oldBoundingSphereVisible.radius === 0) nextCameraResetDuration = 0; if (oldBoundingSphereVisible.radius === 0) nextCameraResetDuration = 0;
...@@ -442,7 +443,8 @@ namespace Canvas3D { ...@@ -442,7 +443,8 @@ namespace Canvas3D {
return { return {
camera: { camera: {
mode: camera.state.mode, mode: camera.state.mode,
helper: { ...drawPass.props.cameraHelper } helper: { ...drawPass.props.cameraHelper },
manualReset: p.camera.manualReset
}, },
cameraFog: camera.state.fog > 0 cameraFog: camera.state.fog > 0
? { name: 'on' as const, params: { intensity: camera.state.fog } } ? { name: 'on' as const, params: { intensity: camera.state.fog } }
...@@ -548,6 +550,7 @@ namespace Canvas3D { ...@@ -548,6 +550,7 @@ namespace Canvas3D {
if (Object.keys(cameraState).length > 0) camera.setState(cameraState); if (Object.keys(cameraState).length > 0) camera.setState(cameraState);
if (props.camera?.helper) drawPass.setProps({ cameraHelper: props.camera.helper }); if (props.camera?.helper) drawPass.setProps({ cameraHelper: props.camera.helper });
if (props.camera?.manualReset !== undefined) p.camera.manualReset = props.camera.manualReset;
if (props.cameraResetDurationMs !== undefined) p.cameraResetDurationMs = props.cameraResetDurationMs; if (props.cameraResetDurationMs !== undefined) p.cameraResetDurationMs = props.cameraResetDurationMs;
if (props.transparentBackground !== undefined) p.transparentBackground = props.transparentBackground; if (props.transparentBackground !== undefined) p.transparentBackground = props.transparentBackground;
...@@ -565,29 +568,7 @@ namespace Canvas3D { ...@@ -565,29 +568,7 @@ namespace Canvas3D {
}, },
get props() { get props() {
const radius = scene.boundingSphere.radius > 0 return getProps();
? 100 - Math.round((camera.transition.target.radius / scene.boundingSphere.radius) * 100)
: 0;
return {
camera: {
mode: camera.state.mode,
helper: { ...drawPass.props.cameraHelper }
},
cameraFog: camera.state.fog > 0
? { name: 'on' as const, params: { intensity: camera.state.fog } }
: { name: 'off' as const, params: {} },
cameraClipping: { far: camera.state.clipFar, radius },
cameraResetDurationMs: p.cameraResetDurationMs,
transparentBackground: p.transparentBackground,
postprocessing: { ...postprocessing.props },
multiSample: { ...multiSample.props },
renderer: { ...renderer.props },
trackball: { ...controls.props },
debug: { ...debugHelper.props },
handle: { ...handleHelper.props },
};
}, },
get input() { get input() {
return input; return input;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment