Skip to main content
Version: Next

Interface: IFlexibleCameraManager

@cognite/reveal.IFlexibleCameraManager

Flexible implementation of CameraManager. The user can switch between Orbit, FirstPersion or OrbitInCenter Supports automatic update of camera near and far planes and animated change of camera position and target. It provides additional functionality for controlling camera behavior and rotation.

Hierarchy

Accessors

controlsType

get controlsType(): FlexibleControlsType

Get curent FlexibleControlsType type

Returns

FlexibleControlsType

Defined in

packages/camera-manager/src/Flexible/IFlexibleCameraManager.ts:25

set controlsType(value): void

Set curent FlexibleControlsType type

Parameters

NameType
valueFlexibleControlsType

Returns

void

Defined in

packages/camera-manager/src/Flexible/IFlexibleCameraManager.ts:30

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

Inherited from

CameraManager.activate

Defined in

packages/camera-manager/src/CameraManager.ts:61


addControlsTypeChangeListener

addControlsTypeChangeListener(callback): void

Adds a listener for changes in the controls type of the camera manager.

Parameters

NameTypeDescription
callbackFlexibleControlsTypeChangeDelegateThe callback function to be invoked when the controls type changes.

Returns

void

Defined in

packages/camera-manager/src/Flexible/IFlexibleCameraManager.ts:45


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

Inherited from

CameraManager.deactivate

Defined in

packages/camera-manager/src/CameraManager.ts:69


dispose

dispose(): void

Returns

void

Obvious

Inherited from

CameraManager.dispose

Defined in

packages/camera-manager/src/CameraManager.ts:109


fitCameraToBoundingBox

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

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

Parameters

NameTypeDescription
boundingBoxBox3The bounding box in world space.
duration?numberThe duration of the animation moving the camera.
radiusFactor?numberThe ratio of the distance from camera to center of box and radius of the box.

Returns

void

Inherited from

CameraManager.fitCameraToBoundingBox

Defined in

packages/camera-manager/src/CameraManager.ts:97


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

Inherited from

CameraManager.getCamera

Defined in

packages/camera-manager/src/CameraManager.ts:29


getCameraState

getCameraState(): Required<CameraState>

Get camera's state

Returns

Required<CameraState>

Camera state: position, target and rotation.

Inherited from

CameraManager.getCameraState

Defined in

packages/camera-manager/src/CameraManager.ts:52


off

off(event, callback): void

Unsubscribes from changes of the camera event.

Parameters

NameTypeDescription
event"cameraChange"The event type.
callbackCameraChangeDelegateCallback function to be unsubscribed.

Returns

void

Inherited from

CameraManager.off

Defined in

packages/camera-manager/src/CameraManager.ts:87

off(event, callback): void

Parameters

NameType
event"cameraStop"
callbackCameraStopDelegate

Returns

void

Inherited from

CameraManager.off

Defined in

packages/camera-manager/src/CameraManager.ts:88

off(event, callback): void

Parameters

NameType
event"cameraChange" | "cameraStop"
callbackCameraEventDelegate

Returns

void

Inherited from

CameraManager.off

Defined in

packages/camera-manager/src/CameraManager.ts:89


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"The event type.
callbackCameraChangeDelegateCallback to be called when the event is fired.

Returns

void

Inherited from

CameraManager.on

Defined in

packages/camera-manager/src/CameraManager.ts:78

on(event, callback): void

Parameters

NameType
event"cameraStop"
callbackCameraStopDelegate

Returns

void

Inherited from

CameraManager.on

Defined in

packages/camera-manager/src/CameraManager.ts:79

on(event, callback): void

Parameters

NameType
event"cameraChange" | "cameraStop"
callbackCameraEventDelegate

Returns

void

Inherited from

CameraManager.on

Defined in

packages/camera-manager/src/CameraManager.ts:80


onClick

onClick(event): Promise<void>

Called when a click event is triggered

Parameters

NameType
eventPointerEvent

Returns

Promise<void>

Defined in

packages/camera-manager/src/Flexible/IFlexibleCameraManager.ts:57


onDoubleClick

onDoubleClick(event): Promise<void>

Called when double click event is triggered

Parameters

NameType
eventPointerEvent

Returns

Promise<void>

Defined in

packages/camera-manager/src/Flexible/IFlexibleCameraManager.ts:63


onFocusChanged

onFocusChanged(haveFocus): void

Called when focus is changed

Parameters

NameType
haveFocusboolean

Returns

void

Defined in

packages/camera-manager/src/Flexible/IFlexibleCameraManager.ts:98


onKey

onKey(event, down): void

Called when a key is pressed or released

Parameters

NameType
eventKeyboardEvent
downboolean

Returns

void

Defined in

packages/camera-manager/src/Flexible/IFlexibleCameraManager.ts:92


onPointerDown

onPointerDown(event, leftButton): Promise<void>

Called when pointer is pressed

Parameters

NameType
eventPointerEvent
leftButtonboolean

Returns

Promise<void>

Defined in

packages/camera-manager/src/Flexible/IFlexibleCameraManager.ts:69


onPointerDrag

onPointerDrag(event, leftButton): Promise<void>

Called when pointer is dragged

Parameters

NameType
eventPointerEvent
leftButtonboolean

Returns

Promise<void>

Defined in

packages/camera-manager/src/Flexible/IFlexibleCameraManager.ts:75


onPointerUp

onPointerUp(event, leftButton): Promise<void>

Called when pointer is released

Parameters

NameType
eventPointerEvent
leftButtonboolean

Returns

Promise<void>

Defined in

packages/camera-manager/src/Flexible/IFlexibleCameraManager.ts:81


onWheel

onWheel(event): Promise<void>

Called when wheel event is triggered

Parameters

NameType
eventWheelEvent

Returns

Promise<void>

Defined in

packages/camera-manager/src/Flexible/IFlexibleCameraManager.ts:86


removeControlsTypeChangeListener

removeControlsTypeChangeListener(callback): void

Removes a listener for changes in the controls type of the camera manager.

Parameters

NameTypeDescription
callbackFlexibleControlsTypeChangeDelegateThe callback function to be removed from the controls type change listeners.

Returns

void

Defined in

packages/camera-manager/src/Flexible/IFlexibleCameraManager.ts:51


rotateCameraTo

rotateCameraTo(direction, animationDuration): void

Rotates the camera to look in the specified direction. Supports automatic update of camera near and far planes and animated change of camera position and target.

Parameters

NameTypeDescription
directionVector3The direction to rotate the camera towards.
animationDurationnumberThe duration of the rotation animation in milliseconds.

Returns

void

Defined in

packages/camera-manager/src/Flexible/IFlexibleCameraManager.ts:39


setCameraState

setCameraState(state): void

Set camera's state. Rotation and target can't be set at the same time as they could conflict, should throw an error if both are passed with non-zero value inside state.

Parameters

NameTypeDescription
stateCameraStateCamera state, all fields are optional.

Returns

void

Example

// store position, target
const { position, target } = cameraManager.getCameraState();
// restore position, target
cameraManager.setCameraState({ position, target });

Inherited from

CameraManager.setCameraState

Defined in

packages/camera-manager/src/CameraManager.ts:46


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

Inherited from

CameraManager.update

Defined in

packages/camera-manager/src/CameraManager.ts:105