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
↳
IFlexibleCameraManager
Accessors
controlsType
• get
controlsType(): FlexibleControlsType
Get curent FlexibleControlsType type
Returns
Defined in
packages/camera-manager/src/Flexible/IFlexibleCameraManager.ts:25
• set
controlsType(value
): void
Set curent FlexibleControlsType type
Parameters
Name | Type |
---|---|
value | FlexibleControlsType |
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
Name | Type | Description |
---|---|---|
cameraManager? | CameraManager | Previously used camera manager. |
Returns
void
Inherited from
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
Name | Type | Description |
---|---|---|
callback | FlexibleControlsTypeChangeDelegate | The 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
Defined in
packages/camera-manager/src/CameraManager.ts:69
dispose
▸ dispose(): void
Returns
void
Obvious
Inherited from
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
Name | Type | Description |
---|---|---|
boundingBox | Box3 | The bounding box in world space. |
duration? | number | The duration of the animation moving the camera. |
radiusFactor? | number | The 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
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
Defined in
packages/camera-manager/src/CameraManager.ts:52
off
▸ off(event
, callback
): void
Unsubscribes from changes of the camera event.
Parameters
Name | Type | Description |
---|---|---|
event | "cameraChange" | The event type. |
callback | CameraChangeDelegate | Callback function to be unsubscribed. |
Returns
void
Inherited from
Defined in
packages/camera-manager/src/CameraManager.ts:87
▸ off(event
, callback
): void
Parameters
Name | Type |
---|---|
event | "cameraStop" |
callback | CameraStopDelegate |
Returns
void
Inherited from
Defined in
packages/camera-manager/src/CameraManager.ts:88
▸ off(event
, callback
): void
Parameters
Name | Type |
---|---|
event | "cameraChange" | "cameraStop" |
callback | CameraEventDelegate |
Returns
void
Inherited from
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
Name | Type | Description |
---|---|---|
event | "cameraChange" | The event type. |
callback | CameraChangeDelegate | Callback to be called when the event is fired. |
Returns
void
Inherited from
Defined in
packages/camera-manager/src/CameraManager.ts:78
▸ on(event
, callback
): void
Parameters
Name | Type |
---|---|
event | "cameraStop" |
callback | CameraStopDelegate |
Returns
void
Inherited from
Defined in
packages/camera-manager/src/CameraManager.ts:79
▸ on(event
, callback
): void
Parameters
Name | Type |
---|---|
event | "cameraChange" | "cameraStop" |
callback | CameraEventDelegate |
Returns
void
Inherited from
Defined in
packages/camera-manager/src/CameraManager.ts:80
onClick
▸ onClick(event
): Promise
<void
>
Called when a click event is triggered
Parameters
Name | Type |
---|---|
event | PointerEvent |
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
Name | Type |
---|---|
event | PointerEvent |
Returns
Promise
<void
>
Defined in
packages/camera-manager/src/Flexible/IFlexibleCameraManager.ts:63
onFocusChanged
▸ onFocusChanged(haveFocus
): void
Called when focus is changed
Parameters
Name | Type |
---|---|
haveFocus | boolean |
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
Name | Type |
---|---|
event | KeyboardEvent |
down | boolean |
Returns
void
Defined in
packages/camera-manager/src/Flexible/IFlexibleCameraManager.ts:92
onPointerDown
▸ onPointerDown(event
, leftButton
): Promise
<void
>
Called when pointer is pressed
Parameters
Name | Type |
---|---|
event | PointerEvent |
leftButton | boolean |
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
Name | Type |
---|---|
event | PointerEvent |
leftButton | boolean |
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
Name | Type |
---|---|
event | PointerEvent |
leftButton | boolean |
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
Name | Type |
---|---|
event | WheelEvent |
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
Name | Type | Description |
---|---|---|
callback | FlexibleControlsTypeChangeDelegate | The 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
Name | Type | Description |
---|---|---|
direction | Vector3 | The direction to rotate the camera towards. |
animationDuration | number | The 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
Name | Type | Description |
---|---|---|
state | CameraState | Camera 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
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
Name | Type | Description |
---|---|---|
deltaTime | number | Delta time since last update in seconds. |
boundingBox | Box3 | Global bounding box of the model(s) and any custom objects added to the scene. |
Returns
void