You are reading the documentation for the version 2 of the ShapeDiver viewer API. Free support for this viewer version will be discontinued on June 1st, 2024.

Please refer to the version 3 documentation here. See also the migration guide from version 2 to version 3 here.

Class: CameraApi

api.scene.camera

ShapeDiver Viewer - Camera API

The CameraApi implements all functionality related to the camera.

Methods

addEventListener(type, callback)

Add a callback to be invoked when a certain event occurs

Parameters:
Name Type Description
type CameraEventType

Type of event to subscribe to

callback EventListenerCallback

Function to be called when the event fires

Inherited From:
Overrides:
Returns:
Type Description
APIResponse

APIResponse with an EventListenerToken object. The event listener token can be used to remove the event listener by calling removeEventListener.

animateAsync(path [, transition])

Animate camera along a path. The camera starts at the first position of the path, so if the camera should start from the current position, add it to the start of the path.

Parameters:
Name Type Argument Description
path Array.<CameraDefinition>

Array of camera definition objects defining a camera path

transition TransitionParameters <optional>

Definition of the parameters to use for the transition (tween)

Inherited From:
Overrides:
Returns:
Type Description
Promise.<APIResponse>

APIResponse with a CameraDefinition according to the camera's final position.

get()

Returns the position and target of the camera as a CameraDefinition. If no target is available for this type of camera, the property target is undefined.

Inherited From:
Overrides:
Returns:
Type Description
APIResponse

APIResponse with a CameraDefinition.

removeEventListener(token)

Remove an event listener

Parameters:
Name Type Description
token EventListenerToken

event listener token for event listener to be removed

Inherited From:
Overrides:
Returns:
Type Description
APIResponse

APIResponse with a Boolean data, indicating whether the event listener could be removed.

resetAsync( [transition])

Reset camera to its currently configured default configuration

Parameters:
Name Type Argument Description
transition TransitionParameters <optional>

Definition of the parameters to use for the transition (tween)

Inherited From:
Overrides:
Returns:
Type Description
APIResponse

APIResponse with a CameraDefinition of the camera's default definition.

updateAsync(camera [, transition])

Update camera

If target and/or position are provided, the camera will be moved to its new orientation

Parameters:
Name Type Argument Description
camera CameraDefinition

The new camera properties

transition TransitionParameters <optional>

Definition of the parameters to use for the transition (tween)

Inherited From:
Overrides:
Returns:
Type Description
Promise.<APIResponse>

APIResponse with a CameraDefinition according to the new properties.

updateMatrices(viewMatrix, projectionMatrix)

Update camera based on raw camera view and projection matrices.

When providing raw updates to the camera matrices, the camera controls should typically be disabled using setting scene.camera.enableCameraControls

Parameters:
Name Type Description
viewMatrix THREE.Matrix4

camera view matrix, transforming world coordinates to camera coordinates

projectionMatrix THREE.Matrix4

camera projection matrix

Inherited From:
Overrides:

zoomAsync( [scenePathsOrBB] [, transition])

Zoom to show some or all objects in the scene

Parameters:
Name Type Argument Description
scenePathsOrBB Array.<ScenePathType> | THREE.Box3 <optional>

The paths of the scene which the camera should capture or a 3D box which should be encapsulated afterwards. If none are provided, the camera will zoom to the scene extents.

transition TransitionParameters <optional>

Definition of the parameters to use for the transition (tween)

Inherited From:
Overrides:
Returns:
Type Description
Promise.<APIResponse>

APIResponse with a CameraDefinition of the camera's new orientation.

Members

<readonly> CONTROLTYPE :ControlType

Enum for control types.

Type:
  • ControlType
Properties:
Name Type Default Description
ORBIT ControlType 0

the orbit controls (default for perspective camera)

FPS ControlType 1

the fps controls

ORTHOGRAPHIC ControlType 2

the orthographic controls (default for orthograhpic camera)

Inherited From:

<readonly> EVENTTYPE :CameraEventType

Enum for supported camera event types.

Type:
Properties:
Name Type Default Description
CAMERA_START CameraEventType start

a camera movement has started

CAMERA_MOVE CameraEventType move

a camera movement has been continued

CAMERA_END CameraEventType end

a camera movement has ended

Inherited From:

<readonly> TYPE :CameraType

Enum for camera types.

Type:
Properties:
Name Type Default Description
PERSPECTIVE CameraType 0

perspective camera

TOP CameraType 1

orthographic camera, top view

BOTTOM CameraType 2

orthographic camera, bottom view

RIGHT CameraType 3

orthographic camera, right view

LEFT CameraType 4

orthographic camera, left view

BACK CameraType 5

orthographic camera, back view

FRONT CameraType 6

orthographic camera, front view

AR CameraType 7

AR camera

Inherited From:

Type Definitions

CameraDefinition

The camera definition including the camera's position and target as Point3d.

Type:
  • Object
Properties:
Name Type Description
position Point3d

The position of the camera in the scene

target Point3d

The position of the target in the scene

Inherited From:

CameraEventType

Camera event type, see EVENTTYPE for values

See:
Type:
  • String

CameraType

The camera type, see TYPE for values

Type:
  • Number

TransitionParameters

Definition of a transition function for camera movements

Type:
  • Object
Properties:
Name Type Argument Default Description
default Boolean <optional>
false

If true store final camera position and target as default.

duration Number <optional>
1000

duration of the transition in milliseconds

easing String | function <optional>
'Quartic.InOut'

In case a string S is provided, the corresponding easing function TWEEN.Easing[S] will be used if it exists. The easing function may also be passed directly, e.g. one of the many provided by Tween, see also TweenExplained, or a manually defined one.

interpolation String <optional>
'CatmullRom'

In case a string S is provided, the corresponding interpolation function TWEEN.Interpolation[S] will be used if it exists. Tween supports Linear, Bezier, and CatmullRom.

coordinates String <optional>
'cylindrical'

Defines coordinate system to use for animated camera paths. One of 'spherical' or 'cylindrical'.

Inherited From:
ShapeDiver 3D Viewer, Copyright © 2015-2019 ShapeDiver GmbH. Documentation generated by JSDoc 3.6.3 on Wed Mar 4th 2020 using the DocStrap template.