Camera - Cesium Documentation

# Camera

#### new Camera()

  The camera is defined by a position, orientation, and view frustum.
  The orientation forms an orthonormal basis with a view, up and right = view x up unit vectors.
  The viewing frustum is defined by 6 planes. Each plane is represented by a `Cartesian4` object, where the x, y, and z components define the unit vector normal to the plane, and the w component is the distance of the plane from the origin/camera position.

  ##### Example:

      // Create a camera looking down the negative z-axis, positioned at the origin,
      // with a field of view of 60 degrees, and 1:1 aspect ratio.
      var camera = new Cesium.Camera(scene);
      camera.position = new Cesium.Cartesian3();
      camera.direction = Cesium.Cartesian3.negate(Cesium.Cartesian3.UNIT_Z, new Cesium.Cartesian3());
      camera.up = Cesium.Cartesian3.clone(Cesium.Cartesian3.UNIT_Y);
      camera.frustum.fov = Cesium.Math.PI_OVER_THREE;
      camera.frustum.near = 1.0;
      camera.frustum.far = 2.0;

  ##### Demo:

  - Cesium Sandcastle Camera Demo
  - Camera Tutorial
  Source: Scene/Camera.js, line 82

### Members

#### staticCamera.DEFAULT_VIEW_FACTOR :Number

  A scalar to multiply to the camera position and add it back after setting the camera to view the rectangle. A value of zero means the camera will view the entire `Camera#DEFAULT_VIEW_RECTANGLE`, a value greater than zero will move it further away from the extent, and a value less than zero will move it close to the extent.
  Source: Scene/Camera.js, line 245

#### staticCamera.DEFAULT_VIEW_RECTANGLE :Rectangle

  The default extent the camera will view on creation.
  Source: Scene/Camera.js, line 237

#### constrainedAxis :Cartesian3

  If set, the camera will not be able to rotate past this axis in either direction.
  Default Value: `undefined`
  Source: Scene/Camera.js, line 180

#### defaultLookAmount :Number

  The default amount to rotate the camera when an argument is not provided to the look methods.
  Default Value: `Math.PI / 60.0`
  Source: Scene/Camera.js, line 160

#### defaultMoveAmount :Number

  The default amount to move the camera when an argument is not provided to the move methods.
  Default Value: `100000.0;`
  Source: Scene/Camera.js, line 153

#### defaultRotateAmount :Number

  The default amount to rotate the camera when an argument is not provided to the rotate methods.
  Default Value: `Math.PI / 3600.0`
  Source: Scene/Camera.js, line 167

#### defaultZoomAmount :Number

  The default amount to move the camera when an argument is not provided to the zoom methods.
  Default Value: `100000.0;`
  Source: Scene/Camera.js, line 174

#### direction :Cartesian3

  The view direction of the camera.
  Source: Scene/Camera.js, line 111

#### readonlydirectionWC :Cartesian3

  Gets the view direction of the camera in world coordinates.
  Source: Scene/Camera.js, line 648

#### frustum :Frustum

  The region of space in view.
  Default Value: `PerspectiveFrustum()`

  ##### See:

  - PerspectiveFrustum
  - PerspectiveOffCenterFrustum
  - OrthographicFrustum
  Source: Scene/Camera.js, line 143

#### heading :Number

  Gets the camera heading in radians.
  Source: Scene/Camera.js, line 689

#### readonlyinverseTransform :Matrix4

  Gets the inverse camera transform.
  Default Value: ``Matrix4.IDENTITY``
  Source: Scene/Camera.js, line 572

#### readonlyinverseViewMatrix :Matrix4

  Gets the inverse view matrix.

  ##### See:

  - Camera#viewMatrix
  Source: Scene/Camera.js, line 604

#### maximumTranslateFactor :Number

  The factor multiplied by the the map size used to determine where to clamp the camera position when translating across the surface. The default is 1.5. Only valid for 2D and Columbus view.
  Default Value: `1.5`
  Source: Scene/Camera.js, line 187

#### maximumZoomFactor :Number

  The factor multiplied by the the map size used to determine where to clamp the camera position when zooming out from the surface. The default is 2.5. Only valid for 2D.
  Default Value: `2.5`
  Source: Scene/Camera.js, line 194

#### readonlymoveEnd :Event

  Gets the event that will be raised at when the camera has stopped moving.
  Source: Scene/Camera.js, line 782

#### readonlymoveStart :Event

  Gets the event that will be raised at when the camera starts to move.
  Source: Scene/Camera.js, line 770

#### pitch :Number

  Gets the camera pitch in radians.
  Source: Scene/Camera.js, line 716

#### position :Cartesian3

  The position of the camera.
  Source: Scene/Camera.js, line 101

#### positionCartographic :Cartographic

  Gets the `Cartographic` position of the camera, with longitude and latitude expressed in radians and height in meters. In 2D and Columbus View, it is possible for the returned longitude and latitude to be outside the range of valid longitudes and latitudes when the camera is outside the map.
  Source: Scene/Camera.js, line 620

#### readonlypositionWC :Cartesian3

  Gets the position of the camera in world coordinates.
  Source: Scene/Camera.js, line 634

#### right :Cartesian3

  The right direction of the camera.
  Source: Scene/Camera.js, line 129

#### readonlyrightWC :Cartesian3

  Gets the right direction of the camera in world coordinates.
  Source: Scene/Camera.js, line 676

#### roll :Number

  Gets the camera roll in radians.
  Source: Scene/Camera.js, line 743

#### readonlytransform :Matrix4

  Gets the camera's reference frame. The inverse of this transformation is appended to the view matrix.
  Default Value: ``Matrix4.IDENTITY``
  Source: Scene/Camera.js, line 557

#### up :Cartesian3

  The up direction of the camera.
  Source: Scene/Camera.js, line 120

#### readonlyupWC :Cartesian3

  Gets the up direction of the camera in world coordinates.
  Source: Scene/Camera.js, line 662

#### readonlyviewMatrix :Matrix4

  Gets the view matrix.

  ##### See:

  - Camera#inverseViewMatrix
  Source: Scene/Camera.js, line 588

### Methods

#### cameraToWorldCoordinates(cartesian, result) → Cartesian4

  Transform a vector or point from the camera's reference frame to world coordinates.

  Name | Type | Description
  --- | --- | ---
  `cartesian` | Cartesian4 | The vector or point to transform.
  `result` | Cartesian4 | optional The object onto which to store the result.

  ##### Returns:

  The transformed vector or point.
  Source: Scene/Camera.js, line 1016

#### cameraToWorldCoordinatesPoint(cartesian, result) → Cartesian3

  Transform a point from the camera's reference frame to world coordinates.

  Name | Type | Description
  --- | --- | ---
  `cartesian` | Cartesian3 | The point to transform.
  `result` | Cartesian3 | optional The object onto which to store the result.

  ##### Returns:

  The transformed point.
  Source: Scene/Camera.js, line 1037

#### cameraToWorldCoordinatesVector(cartesian, result) → Cartesian3

  Transform a vector from the camera's reference frame to world coordinates.

  Name | Type | Description
  --- | --- | ---
  `cartesian` | Cartesian3 | The vector to transform.
  `result` | Cartesian3 | optional The object onto which to store the result.

  ##### Returns:

  The transformed vector.
  Source: Scene/Camera.js, line 1058

#### flyTo(options)

  Flies the camera from its current position to a new position.

  Name | Type | Description
  --- | --- | ---

  `options`

  Object

  Object with the following properties:

  Name | Type | Default | Description
  --- | --- | --- | ---
  `destination` | Cartesian3 | Rectangle |  | The final position of the camera in WGS84 (world) coordinates or a rectangle that would be visible from a top-down view.
  `orientation` | Object |  | optional An object that contains either direction and up properties or heading, pith and roll properties. By default, the direction will point towards the center of the frame in 3D and in the negative z direction in Columbus view or 2D. The up direction will point towards local north in 3D and in the positive y direction in Columbus view or 2D.
  `duration` | Number | `3.0` | optional The duration of the flight in seconds.
  `complete` | Camera~FlightCompleteCallback |  | optional The function to execute when the flight is complete.
  `cancel` | Camera~FlightCancelledCallback |  | optional The function to execute if the flight is cancelled.
  `endTransform` | Matrix4 |  | optional Transform matrix representing the reference frame the camera will be in when the flight is completed.
  `convert` | Boolean | `true` | optional When `true`, the destination is converted to the correct coordinate system for each scene mode. When `false`, the destination is expected to be in the correct coordinate system.
  `maximumHeight` | Number |  | optional The maximum height at the peak of the flight.
  `easingFunction` | EasingFunction | EasingFunction~Callback |  | optional Controls how the time is interpolated over the duration of the flight.

  ##### Throws:

  - DeveloperError : If either direction or up is given, then both are required.

  ##### Example:

      // 1. Fly to a position with a top-down view
      viewer.camera.flyTo({
          destination : Cesium.Cartesian3.fromDegrees(-117.16, 32.71, 15000.0)
      });

      // 2. Fly to a Rectangle with a top-down view
      viewer.camera.flyTo({
          destination : Cesium.Rectangle.fromDegrees(west, south, east, north)
      });

      // 3. Fly to a position with an orientation using unit vectors.
      viewer.camera.flyTo({
          destination : Cesium.Cartesian3.fromDegrees(-122.19, 46.25, 5000.0),
          orientation : {
              direction : new Cesium.Cartesian3(-0.04231243104240401, -0.20123236049443421, -0.97862924300734),
              up : new Cesium.Cartesian3(-0.47934589305293746, -0.8553216253114552, 0.1966022179118339)
          }
      });

      // 4. Fly to a position with an orientation using heading, pitch and roll.
      viewer.camera.flyTo({
          destination : Cesium.Cartesian3.fromDegrees(-122.19, 46.25, 5000.0),
          orientation : {
              heading : Cesium.Math.toRadians(175.0),
              pitch : Cesium.Math.toRadians(-35.0),
              roll : 0.0
          }
      });

  Source: Scene/Camera.js, line 2361

#### flyToBoundingSphere(boundingSphere, options)

  Flys the camera to a location where the current view contains the provided bounding sphere.

  The offset is heading/pitch/range in the local east-north-up reference frame centered at the center of the bounding sphere. The heading and the pitch angles are defined in the local east-north-up reference frame. The heading is the angle from y axis and increasing towards the x axis. Pitch is the rotation from the xy-plane. Positive pitch angles are above the plane. Negative pitch angles are below the plane. The range is the distance from the center. If the range is zero, a range will be computed such that the whole bounding sphere is visible.

  In 2D and Columbus View, there must be a top down view. The camera will be placed above the target looking down. The height above the target will be the range. The heading will be aligned to local north.

  Name | Type | Description
  --- | --- | ---
  `boundingSphere` | BoundingSphere | The bounding sphere to view, in world coordinates.

  `options`

  Object

  optional Object with the following properties:

  Name | Type | Default | Description
  --- | --- | --- | ---
  `duration` | Number | `3.0` | optional The duration of the flight in seconds.
  `offset` | HeadingPitchRange |  | optional The offset from the target in the local east-north-up reference frame centered at the target.
  `complete` | Camera~FlightCompleteCallback |  | optional The function to execute when the flight is complete.
  `cancel` | Camera~FlightCancelledCallback |  | optional The function to execute if the flight is cancelled.
  `endTransform` | Matrix4 |  | optional Transform matrix representing the reference frame the camera will be in when the flight is completed.
  `maximumHeight` | Number |  | optional The maximum height at the peak of the flight.
  `easingFunction` | EasingFunction | EasingFunction~Callback |  | optional Controls how the time is interpolated over the duration of the flight.

  Source: Scene/Camera.js, line 2534

#### getMagnitude() → Number

  Gets the magnitude of the camera position. In 3D, this is the vector magnitude. In 2D and Columbus view, this is the distance to the map.

  ##### Returns:

  The magnitude of the position.
  Source: Scene/Camera.js, line 1504

#### getPickRay(windowPosition, result) → Object

  Create a ray from the camera position through the pixel at `windowPosition` in world coordinates.

  Name | Type | Description
  --- | --- | ---
  `windowPosition` | Cartesian2 | The x and y coordinates of a pixel.
  `result` | Ray | optional The object onto which to store the result.

  ##### Returns:

  Returns the `Cartesian3` position and direction of the ray.
  Source: Scene/Camera.js, line 2114

#### getRectangleCameraCoordinates(rectangle, result) → Cartesian3

  Get the camera position needed to view an rectangle on an ellipsoid or map

  Name | Type | Description
  --- | --- | ---
  `rectangle` | Rectangle | The rectangle to view.
  `result` | Cartesian3 | optional The camera position needed to view the rectangle

  ##### Returns:

  The camera position needed to view the rectangle
  Source: Scene/Camera.js, line 1931

#### look(axis, angle)

  Rotate each of the camera's orientation vectors around `axis` by `angle`

  Name | Type | Description
  --- | --- | ---
  `axis` | Cartesian3 | The axis to rotate around.
  `angle` | Number | optional The angle, in radians, to rotate by. Defaults to `defaultLookAmount`.

  ##### See:

  - Camera#lookUp
  - Camera#lookDown
  - Camera#lookLeft
  - Camera#lookRight
  Source: Scene/Camera.js, line 1260

#### lookAt(target, offset)

  Sets the camera position and orientation using a target and offset. The target must be given in world coordinates. The offset can be either a cartesian or heading/pitch/range in the local east-north-up reference frame centered at the target. If the offset is a cartesian, then it is an offset from the center of the reference frame defined by the transformation matrix. If the offset is heading/pitch/range, then the heading and the pitch angles are defined in the reference frame defined by the transformation matrix. The heading is the angle from y axis and increasing towards the x axis. Pitch is the rotation from the xy-plane. Positive pitch angles are above the plane. Negative pitch angles are below the plane. The range is the distance from the center. In 2D, there must be a top down view. The camera will be placed above the target looking down. The height above the target will be the magnitude of the offset. The heading will be determined from the offset. If the heading cannot be determined from the offset, the heading will be north.

  Name | Type | Description
  --- | --- | ---
  `target` | Cartesian3 | The target position in world coordinates.
  `offset` | Cartesian3 | HeadingPitchRange | The offset from the target in the local east-north-up reference frame centered at the target.

  ##### Throws:

  - DeveloperError : lookAt is not supported while morphing.

  ##### Example:

      // 1. Using a cartesian offset
      var center = Cesium.Cartesian3.fromDegrees(-98.0, 40.0);
      viewer.camera.lookAt(center, new Cesium.Cartesian3(0.0, -4790000.0, 3930000.0));

      // 2. Using a HeadingPitchRange offset
      var center = Cartesian3.fromDegrees(-72.0, 40.0);
      var heading = Cesium.Math.toRadians(50.0);
      var pitch = Cesium.Math.toRadians(-20.0);
      var range = 5000.0;
      viewer.camera.lookAt(center, new Cesium.HeadingPitchRange(heading, pitch, range));

  Source: Scene/Camera.js, line 1546

#### lookAtTransform(transform, offset)

  Sets the camera position and orientation using a target and transformation matrix. The offset can be either a cartesian or heading/pitch/range. If the offset is a cartesian, then it is an offset from the center of the reference frame defined by the transformation matrix. If the offset is heading/pitch/range, then the heading and the pitch angles are defined in the reference frame defined by the transformation matrix. The heading is the angle from y axis and increasing towards the x axis. Pitch is the rotation from the xy-plane. Positive pitch angles are above the plane. Negative pitch angles are below the plane. The range is the distance from the center. In 2D, there must be a top down view. The camera will be placed above the center of the reference frame. The height above the target will be the magnitude of the offset. The heading will be determined from the offset. If the heading cannot be determined from the offset, the heading will be north.

  Name | Type | Description
  --- | --- | ---
  `transform` | Matrix4 | The transformation matrix defining the reference frame.
  `offset` | Cartesian3 | HeadingPitchRange | optional The offset from the target in a reference frame centered at the target.

  ##### Throws:

  - DeveloperError : lookAtTransform is not supported while morphing.

  ##### Example:

      // 1. Using a cartesian offset
      var transform = Cesium.Transforms.eastNorthUpToFixedFrame(Cesium.Cartesian3.fromDegrees(-98.0, 40.0));
      viewer.camera.lookAtTransform(transform, new Cesium.Cartesian3(0.0, -4790000.0, 3930000.0));

      // 2. Using a HeadingPitchRange offset
      var transform = Cesium.Transforms.eastNorthUpToFixedFrame(Cartesian3.fromDegrees(-72.0, 40.0));
      var heading = Cesium.Math.toRadians(50.0);
      var pitch = Cesium.Math.toRadians(-20.0);
      var range = 5000.0;
      viewer.camera.lookAtTransform(transform, new Cesium.HeadingPitchRange(heading, pitch, range));

  Source: Scene/Camera.js, line 1612

#### lookDown(amount)

  Rotates the camera around its right vector by amount, in radians, in the opposite direction of its up vector.

  Name | Type | Description
  --- | --- | ---
  `amount` | Number | optional The amount, in radians, to rotate by. Defaults to `defaultLookAmount`.

  ##### See:

  - Camera#lookUp
  Source: Scene/Camera.js, line 1242

#### lookLeft(amount)

  Rotates the camera around its up vector by amount, in radians, in the opposite direction of its right vector.

  Name | Type | Description
  --- | --- | ---
  `amount` | Number | optional The amount, in radians, to rotate by. Defaults to `defaultLookAmount`.

  ##### See:

  - Camera#lookRight
  Source: Scene/Camera.js, line 1203

#### lookRight(amount)

  Rotates the camera around its up vector by amount, in radians, in the direction of its right vector.

  Name | Type | Description
  --- | --- | ---
  `amount` | Number | optional The amount, in radians, to rotate by. Defaults to `defaultLookAmount`.

  ##### See:

  - Camera#lookLeft
  Source: Scene/Camera.js, line 1216

#### lookUp(amount)

  Rotates the camera around its right vector by amount, in radians, in the direction of its up vector.

  Name | Type | Description
  --- | --- | ---
  `amount` | Number | optional The amount, in radians, to rotate by. Defaults to `defaultLookAmount`.

  ##### See:

  - Camera#lookDown
  Source: Scene/Camera.js, line 1229

#### move(direction, amount)

  Translates the camera's position by `amount` along `direction`.

  Name | Type | Description
  --- | --- | ---
  `direction` | Cartesian3 | The direction to move.
  `amount` | Number | optional The amount, in meters, to move. Defaults to `defaultMoveAmount`.

  ##### See:

  - Camera#moveBackward
  - Camera#moveForward
  - Camera#moveLeft
  - Camera#moveRight
  - Camera#moveUp
  - Camera#moveDown
  Source: Scene/Camera.js, line 1104

#### moveBackward(amount)

  Translates the camera's position by `amount` along the opposite direction of the camera's view vector.

  Name | Type | Description
  --- | --- | ---
  `amount` | Number | optional The amount, in meters, to move. Defaults to `defaultMoveAmount`.

  ##### See:

  - Camera#moveForward
  Source: Scene/Camera.js, line 1140

#### moveDown(amount)

  Translates the camera's position by `amount` along the opposite direction of the camera's up vector.

  Name | Type | Description
  --- | --- | ---
  `amount` | Number | optional The amount, in meters, to move. Defaults to `defaultMoveAmount`.

  ##### See:

  - Camera#moveUp
  Source: Scene/Camera.js, line 1165

#### moveForward(amount)

  Translates the camera's position by `amount` along the camera's view vector.

  Name | Type | Description
  --- | --- | ---
  `amount` | Number | optional The amount, in meters, to move. Defaults to `defaultMoveAmount`.

  ##### See:

  - Camera#moveBackward
  Source: Scene/Camera.js, line 1127

#### moveLeft(amount)

  Translates the camera's position by `amount` along the opposite direction of the camera's right vector.

  Name | Type | Description
  --- | --- | ---
  `amount` | Number | optional The amount, in meters, to move. Defaults to `defaultMoveAmount`.

  ##### See:

  - Camera#moveRight
  Source: Scene/Camera.js, line 1190

#### moveRight(amount)

  Translates the camera's position by `amount` along the camera's right vector.

  Name | Type | Description
  --- | --- | ---
  `amount` | Number | optional The amount, in meters, to move. Defaults to `defaultMoveAmount`.

  ##### See:

  - Camera#moveLeft
  Source: Scene/Camera.js, line 1177

#### moveUp(amount)

  Translates the camera's position by `amount` along the camera's up vector.

  Name | Type | Description
  --- | --- | ---
  `amount` | Number | optional The amount, in meters, to move. Defaults to `defaultMoveAmount`.

  ##### See:

  - Camera#moveDown
  Source: Scene/Camera.js, line 1152

#### pickEllipsoid(windowPosition, ellipsoid, result) → Cartesian3

  Pick an ellipsoid or map.

  Name | Type | Default | Description
  --- | --- | --- | ---
  `windowPosition` | Cartesian2 |  | The x and y coordinates of a pixel.
  `ellipsoid` | Ellipsoid | `Ellipsoid.WGS84` | optional The ellipsoid to pick.
  `result` | Cartesian3 |  | optional The object onto which to store the result.

  ##### Returns:

  If the ellipsoid or map was picked, returns the point on the surface of the ellipsoid or map in world coordinates. If the ellipsoid or map was not picked, returns undefined.
  Source: Scene/Camera.js, line 2025

#### rotate(axis, angle)

  Rotates the camera around `axis` by `angle`. The distance of the camera's position to the center of the camera's reference frame remains the same.

  Name | Type | Description
  --- | --- | ---
  `axis` | Cartesian3 | The axis to rotate around given in world coordinates.
  `angle` | Number | optional The angle, in radians, to rotate by. Defaults to `defaultRotateAmount`.

  ##### See:

  - Camera#rotateUp
  - Camera#rotateDown
  - Camera#rotateLeft
  - Camera#rotateRight
  Source: Scene/Camera.js, line 1318

#### rotateDown(angle)

  Rotates the camera around the center of the camera's reference frame by angle downwards.

  Name | Type | Description
  --- | --- | ---
  `angle` | Number | optional The angle, in radians, to rotate by. Defaults to `defaultRotateAmount`.

  ##### See:

  - Camera#rotateUp
  - Camera#rotate
  Source: Scene/Camera.js, line 1343

#### rotateLeft(angle)

  Rotates the camera around the center of the camera's reference frame by angle to the left.

  Name | Type | Description
  --- | --- | ---
  `angle` | Number | optional The angle, in radians, to rotate by. Defaults to `defaultRotateAmount`.

  ##### See:

  - Camera#rotateRight
  - Camera#rotate
  Source: Scene/Camera.js, line 1417

#### rotateRight(angle)

  Rotates the camera around the center of the camera's reference frame by angle to the right.

  Name | Type | Description
  --- | --- | ---
  `angle` | Number | optional The angle, in radians, to rotate by. Defaults to `defaultRotateAmount`.

  ##### See:

  - Camera#rotateLeft
  - Camera#rotate
  Source: Scene/Camera.js, line 1404

#### rotateUp(angle)

  Rotates the camera around the center of the camera's reference frame by angle upwards.

  Name | Type | Description
  --- | --- | ---
  `angle` | Number | optional The angle, in radians, to rotate by. Defaults to `defaultRotateAmount`.

  ##### See:

  - Camera#rotateDown
  - Camera#rotate
  Source: Scene/Camera.js, line 1356

#### setView()

  Sets the camera position and orientation with heading, pitch and roll angles. The position can be given as either a cartesian or a cartographic. If both are given, then the cartesian will be used. If neither is given, then the current camera position will be used.

  Name | Type | Description
  --- | --- | ---
  `options.position` | Cartesian3 | optional The cartesian position of the camera.
  `options.positionCartographic` | Cartographic | optional The cartographic position of the camera.
  `options.heading` | Number | optional The heading in radians or the current heading will be used if undefined.
  `options.pitch` | Number | optional The pitch in radians or the current pitch will be used if undefined.
  `options.roll` | Number | optional The roll in radians or the current roll will be used if undefined.

  ##### Example:

      // 1. Set view with heading, pitch and roll
      camera.setView({
          position : cartesianPosition,
          heading : Cesium.Math.toRadians(90.0), // east, default value is 0.0 (north)
          pitch : Cesium.Math.toRadians(-90),    // default value (looking down)
          roll : 0.0                             // default value
      });

      // 2. Set default top-down view with a cartographic position
      camera.setView({
          positionCartographic : cartographic
      });

      // 3. Change heading, pitch and roll with the camera position remaining the same.
      camera.setView({
          heading : Cesium.Math.toRadians(90.0), // east, default value is 0.0 (north)
          pitch : Cesium.Math.toRadians(-90),    // default value (looking down)
          roll : 0.0                             // default value
      });

  Source: Scene/Camera.js, line 886

#### twistLeft(amount)

  Rotate the camera counter-clockwise around its direction vector by amount, in radians.

  Name | Type | Description
  --- | --- | ---
  `amount` | Number | optional The amount, in radians, to rotate by. Defaults to `defaultLookAmount`.

  ##### See:

  - Camera#twistRight
  Source: Scene/Camera.js, line 1287

#### twistRight(amount)

  Rotate the camera clockwise around its direction vector by amount, in radians.

  Name | Type | Description
  --- | --- | ---
  `amount` | Number | optional The amount, in radians, to rotate by. Defaults to `defaultLookAmount`.

  ##### See:

  - Camera#twistLeft
  Source: Scene/Camera.js, line 1299

#### viewBoundingSphere(boundingSphere, offset)

  Sets the camera so that the current view contains the provided bounding sphere.

  The offset is heading/pitch/range in the local east-north-up reference frame centered at the center of the bounding sphere. The heading and the pitch angles are defined in the local east-north-up reference frame. The heading is the angle from y axis and increasing towards the x axis. Pitch is the rotation from the xy-plane. Positive pitch angles are above the plane. Negative pitch angles are below the plane. The range is the distance from the center. If the range is zero, a range will be computed such that the whole bounding sphere is visible.

  In 2D, there must be a top down view. The camera will be placed above the target looking down. The height above the target will be the range. The heading will be determined from the offset. If the heading cannot be determined from the offset, the heading will be north.

  Name | Type | Description
  --- | --- | ---
  `boundingSphere` | BoundingSphere | The bounding sphere to view, in world coordinates.
  `offset` | HeadingPitchRange | optional The offset from the target in the local east-north-up reference frame centered at the target.

  ##### Throws:

  - DeveloperError : viewBoundingSphere is not supported while morphing.
  Source: Scene/Camera.js, line 2488

#### viewRectangle(rectangle, ellipsoid)

  View an rectangle on an ellipsoid or map.

  Name | Type | Default | Description
  --- | --- | --- | ---
  `rectangle` | Rectangle |  | The rectangle to view.
  `ellipsoid` | Ellipsoid | `Ellipsoid.WGS84` | optional The ellipsoid to view.

  Source: Scene/Camera.js, line 1955

#### worldToCameraCoordinates(cartesian, result) → Cartesian4

  Transform a vector or point from world coordinates to the camera's reference frame.

  Name | Type | Description
  --- | --- | ---
  `cartesian` | Cartesian4 | The vector or point to transform.
  `result` | Cartesian4 | optional The object onto which to store the result.

  ##### Returns:

  The transformed vector or point.
  Source: Scene/Camera.js, line 953

#### worldToCameraCoordinatesPoint(cartesian, result) → Cartesian3

  Transform a point from world coordinates to the camera's reference frame.

  Name | Type | Description
  --- | --- | ---
  `cartesian` | Cartesian3 | The point to transform.
  `result` | Cartesian3 | optional The object onto which to store the result.

  ##### Returns:

  The transformed point.
  Source: Scene/Camera.js, line 974

#### worldToCameraCoordinatesVector(cartesian, result) → Cartesian3

  Transform a vector from world coordinates to the camera's reference frame.

  Name | Type | Description
  --- | --- | ---
  `cartesian` | Cartesian3 | The vector to transform.
  `result` | Cartesian3 | optional The object onto which to store the result.

  ##### Returns:

  The transformed vector.
  Source: Scene/Camera.js, line 995

#### zoomIn(amount)

  Zooms `amount` along the camera's view vector.

  Name | Type | Description
  --- | --- | ---
  `amount` | Number | optional The amount to move. Defaults to `defaultZoomAmount`.

  ##### See:

  - Camera#zoomOut
  Source: Scene/Camera.js, line 1472

#### zoomOut(amount)

  Zooms `amount` along the opposite direction of the camera's view vector.

  Name | Type | Description
  --- | --- | ---
  `amount` | Number | optional The amount to move. Defaults to `defaultZoomAmount`.

  ##### See:

  - Camera#zoomIn
  Source: Scene/Camera.js, line 1489

### Type Definitions

#### FlightCancelledCallback()

  A function that will execute when a flight is cancelled.
  Source: Scene/Camera.js, line 2615

#### FlightCompleteCallback()

  A function that will execute when a flight completes.
  Source: Scene/Camera.js, line 2610