ScreenSpaceCameraController - Cesium Documentation

# ScreenSpaceCameraController

#### new ScreenSpaceCameraController(scene)

  Modifies the camera position and orientation based on mouse input to a canvas.

  Name | Type | Description
  --- | --- | ---
  `scene` | Scene | The scene.

  Source: Scene/ScreenSpaceCameraController.js, line 61

### Members

#### bounceAnimationTime :Number

  Sets the duration, in seconds, of the bounce back animations in 2D and Columbus view.
  Default Value: `3.0`
  Source: Scene/ScreenSpaceCameraController.js, line 152

#### enableCollisionDetection :Boolean

  Enables or disables camera collision detection with terrain.
  Default Value: `true`
  Source: Scene/ScreenSpaceCameraController.js, line 259

#### enableInputs :Boolean

  If true, inputs are allowed conditionally with the flags enableTranslate, enableZoom, enableRotate, enableTilt, and enableLook. If false, all inputs are disabled. NOTE: This setting is for temporary use cases, such as camera flights and drag-selection of regions (see Picking demo). It is typically set to false at the start of such events, and set true on completion. To keep inputs disabled past the end of camera flights, you must use the other booleans (enableTranslate, enableZoom, enableRotate, enableTilt, and enableLook).
  Default Value: `true`
  Source: Scene/ScreenSpaceCameraController.js, line 80

#### enableLook :Boolean

  If true, allows the user to use free-look. If false, the camera view direction can only be changed through translating or rotating. This flag only applies in 3D and Columbus view modes.
  Default Value: `true`
  Source: Scene/ScreenSpaceCameraController.js, line 114

#### enableRotate :Boolean

  If true, allows the user to rotate the camera. If false, the camera is locked to the current heading. This flag only applies in 2D and 3D.
  Default Value: `true`
  Source: Scene/ScreenSpaceCameraController.js, line 100

#### enableTilt :Boolean

  If true, allows the user to tilt the camera. If false, the camera is locked to the current heading. This flag only applies in 3D and Columbus view.
  Default Value: `true`
  Source: Scene/ScreenSpaceCameraController.js, line 107

#### enableTranslate :Boolean

  If true, allows the user to pan around the map. If false, the camera stays locked at the current position. This flag only applies in 2D and Columbus view modes.
  Default Value: `true`
  Source: Scene/ScreenSpaceCameraController.js, line 87

#### enableZoom :Boolean

  If true, allows the user to zoom in and out. If false, the camera is locked to the current distance from the ellipsoid.
  Default Value: `true`
  Source: Scene/ScreenSpaceCameraController.js, line 93

#### inertiaSpin :Number

  A parameter in the range `[0, 1)` used to determine how long the camera will continue to spin because of inertia. With value of zero, the camera will have no inertia.
  Default Value: `0.9`
  Source: Scene/ScreenSpaceCameraController.js, line 122

#### inertiaTranslate :Number

  A parameter in the range `[0, 1)` used to determine how long the camera will continue to translate because of inertia. With value of zero, the camera will have no inertia.
  Default Value: `0.9`
  Source: Scene/ScreenSpaceCameraController.js, line 130

#### inertiaZoom :Number

  A parameter in the range `[0, 1)` used to determine how long the camera will continue to zoom because of inertia. With value of zero, the camera will have no inertia.
  Default Value: `0.8`
  Source: Scene/ScreenSpaceCameraController.js, line 138

#### lookEventTypes :CameraEventType|Array|undefined

  The input that allows the user to change the direction the camera is viewing. This only applies in 3D and Columbus view modes.

  The type came be a `CameraEventType`, `undefined`, an object with `eventType` and `modifier` properties with types `CameraEventType` and `KeyboardEventModifier`, or an array of any of the preceding.

  Default Value: `{ eventType : `CameraEventType.LEFT_DRAG`, modifier : `KeyboardEventModifier.SHIFT` }`
  Source: Scene/ScreenSpaceCameraController.js, line 231

#### maximumMovementRatio :Number

  A parameter in the range `[0, 1)` used to limit the range of various user inputs to a percentage of the window width/height per animation frame. This helps keep the camera under control in low-frame-rate situations.
  Default Value: `0.1`
  Source: Scene/ScreenSpaceCameraController.js, line 146

#### maximumZoomDistance :Number

  The maximum magnitude, in meters, of the camera position when zooming. Defaults to positive infinity.
  Default Value: ``Number.POSITIVE_INFINITY``
  Source: Scene/ScreenSpaceCameraController.js, line 164

#### minimumCollisionTerrainHeight :Number

  The minimum height the camera must be before testing for collision with terrain.
  Default Value: `10000.0`
  Source: Scene/ScreenSpaceCameraController.js, line 246

#### minimumPickingTerrainHeight :Number

  The minimum height the camera must be before picking the terrain instead of the ellipsoid.
  Default Value: `150000.0`
  Source: Scene/ScreenSpaceCameraController.js, line 240

#### minimumTrackBallHeight :Number

  The minimum height the camera must be before switching from rotating a track ball to free look when clicks originate on the sky on in space.
  Default Value: `7500000.0`
  Source: Scene/ScreenSpaceCameraController.js, line 253

#### minimumZoomDistance :Number

  The minimum magnitude, in meters, of the camera position when zooming. Defaults to 20.0.
  Default Value: `20.0`
  Source: Scene/ScreenSpaceCameraController.js, line 158

#### rotateEventTypes :CameraEventType|Array|undefined

  The input that allows the user to rotate around the globe or another object. This only applies in 3D and Columbus view modes.

  The type came be a `CameraEventType`, `undefined`, an object with `eventType` and `modifier` properties with types `CameraEventType` and `KeyboardEventModifier`, or an array of any of the preceding.

  Default Value: ``CameraEventType.LEFT_DRAG``
  Source: Scene/ScreenSpaceCameraController.js, line 197

#### tiltEventTypes :CameraEventType|Array|undefined

  The input that allows the user to tilt in 3D and Columbus view or twist in 2D.

  The type came be a `CameraEventType`, `undefined`, an object with `eventType` and `modifier` properties with types `CameraEventType` and `KeyboardEventModifier`, or an array of any of the preceding.

  Default Value: `[`CameraEventType.MIDDLE_DRAG`, `CameraEventType.PINCH`, { eventType : `CameraEventType.LEFT_DRAG`, modifier : `KeyboardEventModifier.CTRL` }, { eventType : `CameraEventType.RIGHT_DRAG`, modifier : `KeyboardEventModifier.CTRL` }]`
  Source: Scene/ScreenSpaceCameraController.js, line 214

#### translateEventTypes :CameraEventType|Array|undefined

  The input that allows the user to pan around the map. This only applies in 2D and Columbus view modes.

  The type came be a `CameraEventType`, `undefined`, an object with `eventType` and `modifier` properties with types `CameraEventType` and `KeyboardEventModifier`, or an array of any of the preceding.

  Default Value: ``CameraEventType.LEFT_DRAG``
  Source: Scene/ScreenSpaceCameraController.js, line 175

#### zoomEventTypes :CameraEventType|Array|undefined

  The input that allows the user to zoom in/out.

  The type came be a `CameraEventType`, `undefined`, an object with `eventType` and `modifier` properties with types `CameraEventType` and `KeyboardEventModifier`, or an array of any of the preceding.

  Default Value: `[`CameraEventType.RIGHT_DRAG`, `CameraEventType.WHEEL`, `CameraEventType.PINCH`]`
  Source: Scene/ScreenSpaceCameraController.js, line 186

### Methods

#### destroy() → undefined

  Removes mouse listeners held by this object.
  Once an object is destroyed, it should not be used; calling any function other than `isDestroyed` will result in a `DeveloperError` exception. Therefore, assign the return value (`undefined`) to the object as done in the example.

  ##### Returns:

  ##### Throws:

  - DeveloperError : This object was destroyed, i.e., destroy() was called.

  ##### Example:

      controller = controller && controller.destroy();

  ##### See:

  - ScreenSpaceCameraController#isDestroyed
  Source: Scene/ScreenSpaceCameraController.js, line 1895

#### isDestroyed() → Boolean

  Returns true if this object was destroyed; otherwise, false.
  If this object was destroyed, it should not be used; calling any function other than `isDestroyed` will result in a `DeveloperError` exception.

  ##### Returns:

  `true` if this object was destroyed; otherwise, `false`.

  ##### See:

  - ScreenSpaceCameraController#destroy
  Source: Scene/ScreenSpaceCameraController.js, line 1875