Skip to main content
Version: 4.x

Class: DefaultCameraManager

@cognite/reveal.DefaultCameraManager

Default implementation of CameraManager. Uses target-based orbit controls combined with keyboard and mouse navigation possibility. Supports automatic update of camera near and far planes and animated change of camera position and target.

Implements

Properties

automaticControlsSensitivity

automaticControlsSensitivity: boolean = true

When false, the sensitivity of the camera controls will not be updated automatically. This can be useful to better control the sensitivity of the 3D navigation.

When not set, control the sensitivity of the camera using viewer.cameraManager.cameraControls.minDistance and viewer.cameraManager.cameraControls.maxDistance.

Defined in

packages/camera-manager/src/DefaultCameraManager.ts:103


automaticNearFarPlane

automaticNearFarPlane: boolean = true

When false, camera near and far planes will not be updated automatically (defaults to true). This can be useful when you have custom content in the 3D view and need to better control the view frustum.

When automatic camera near/far planes are disabled, you are responsible for setting this on your own.

Example

viewer.camera.near = 0.1;
viewer.camera.far = 1000.0;
viewer.camera.updateProjectionMatrix();

Defined in

packages/camera-manager/src/DefaultCameraManager.ts:95

Accessors

keyboardNavigationEnabled

get keyboardNavigationEnabled(): boolean

Whether keyboard control of the camera is enabled/disabled.

Returns

boolean

Defined in

packages/camera-manager/src/DefaultCameraManager.ts:190

set keyboardNavigationEnabled(enabled): void

Sets whether keyboard control of the camera is enabled/disabled.

Parameters

NameType
enabledboolean

Returns

void

Defined in

packages/camera-manager/src/DefaultCameraManager.ts:183

Methods

activate

activate(cameraManager?): void

Set this manager as active and enable controls.

Should update CameraManager.enabled to reflect the state of the manager. Note that this is called automatically when a new CameraManager is set on the viewer.

Parameters

NameTypeDescription
cameraManager?CameraManagerPreviously used camera manager.

Returns

void

Implementation of

CameraManager.activate

Defined in

packages/camera-manager/src/DefaultCameraManager.ts:232


deactivate

deactivate(): void

Deactivate this manager and disable controls.

Should update CameraManager.enabled to reflect the state of the manager. Note that this is called automatically when a new CameraManager is set on the viewer.

Returns

void

Implementation of

CameraManager.deactivate

Defined in

packages/camera-manager/src/DefaultCameraManager.ts:246


dispose

dispose(): void

Obvious

Returns

void

Implementation of

CameraManager.dispose

Defined in

packages/camera-manager/src/DefaultCameraManager.ts:285


fitCameraToBoundingBox

fitCameraToBoundingBox(box, duration?, radiusFactor?): void

Moves camera to a place where the content of a bounding box is visible to the camera.

Parameters

NameTypeDefault valueDescription
boxBox3undefinedThe bounding box in world space.
duration?numberundefinedThe duration of the animation moving the camera.
radiusFactornumber2The ratio of the distance from camera to center of box and radius of the box.

Returns

void

Implementation of

CameraManager.fitCameraToBoundingBox

Defined in

packages/camera-manager/src/DefaultCameraManager.ts:159


getCamera

getCamera(): PerspectiveCamera

Returns the camera used for rendering the viewer. Note that the camera will not be modified directly by Reveal. Implementations must trigger the cameraChange-event whenever the camera changes.

Returns

PerspectiveCamera

Implementation of

CameraManager.getCamera

Defined in

packages/camera-manager/src/DefaultCameraManager.ts:194


getCameraControlsOptions

getCameraControlsOptions(): CameraControlsOptions

Gets current camera controls options.

Returns

CameraControlsOptions

Defined in

packages/camera-manager/src/DefaultCameraManager.ts:257


getCameraState

getCameraState(): Required<CameraState>

Get camera's state

Returns

Required<CameraState>

Camera state: position, target and rotation.

Implementation of

CameraManager.getCameraState

Defined in

packages/camera-manager/src/DefaultCameraManager.ts:224


getComboControlsOptions

getComboControlsOptions(): Readonly<ComboControlsOptions>

Gets current Combo Controls options.

Returns

Readonly<ComboControlsOptions>

Defined in

packages/camera-manager/src/DefaultCameraManager.ts:168


off

off(event, callback): void

Unsubscribes from changes of the camera event.

Parameters

NameTypeDescription
event"cameraChange" | "cameraStop"The event type.
callbackCameraEventDelegateCallback function to be unsubscribed.

Returns

void

Implementation of

CameraManager.off

Defined in

packages/camera-manager/src/DefaultCameraManager.ts:146


on

on(event, callback): void

Subscribes to events on this camera manager. There are several event types: 'cameraChange' - Subscribes to changes of the camera. This is used by Reveal to react on changes of the camera. 'cameraStop' - Subscribes to events indicating the camera has stopped

Parameters

NameTypeDescription
event"cameraChange" | "cameraStop"The event type.
callbackCameraEventDelegateCallback to be called when the event is fired.

Returns

void

Implementation of

CameraManager.on

Defined in

packages/camera-manager/src/DefaultCameraManager.ts:133


setCameraControlsOptions

setCameraControlsOptions(controlsOptions): void

Sets camera controls options to customize camera controls modes. See CameraControlsOptions.

Parameters

NameTypeDescription
controlsOptionsCameraControlsOptionsJSON object with camera controls options.

Returns

void

Defined in

packages/camera-manager/src/DefaultCameraManager.ts:265


setCameraState

setCameraState(state): void

Sets camera state. All parameters are optional. Rotation and target can't be set at the same time, if so, error will be thrown. Set rotation is preserved until next call of setCameraState with empty rotation field.

Parameters

NameTypeDescription
stateCameraStateCamera state. *

Returns

void

Implementation of

CameraManager.setCameraState

Defined in

packages/camera-manager/src/DefaultCameraManager.ts:204


setComboControlsOptions

setComboControlsOptions(options): void

Sets Combo Controls options. Only provided options will be changed, any undefined options will be kept as is.

Parameters

NameType
optionsPartial<ComboControlsOptions>

Returns

void

Defined in

packages/camera-manager/src/DefaultCameraManager.ts:176


update

update(deltaTime, boundingBox): void

Updates internal state of camera manager. Expected to update visual state of the camera as well as it's near and far planes if needed. Called in requestAnimationFrame-loop. Reveal performance affects frequency with which this method is called.

Parameters

NameTypeDescription
deltaTimenumberDelta time since last update in seconds.
boundingBoxBox3Global bounding box of the model(s) and any custom objects added to the scene.

Returns

void

Implementation of

CameraManager.update

Defined in

packages/camera-manager/src/DefaultCameraManager.ts:275