Skip To Content ArcGIS for Developers Sign In Dashboard

OrbitGeoElementCameraController QML Type

Provides orbital camera navigation around a stationary or moving GeoElement. More...

Import Statement: import Esri.ArcGISRuntime 100.6
Since: Esri.ArcGISRuntime 100.1
Inherits:

CameraController

Properties

Signals

Methods

Detailed Description

Camera controllers can be applied to a SceneView to determine the camera interaction and navigation model.

Setting this type as the CameraController for a SceneView will ensure that the camera is always focused on the targetGeoElement. The controller allows the camera to be adjusted relative to the orientation of the targetGeoElement.

When the target moves, the camera will move with the target to maintain it's relative position. To update the target's heading, pitch and roll you must use a Renderer and GeoElement attributes.

When using a Graphic as the GeoElement, the Graphic and the GraphicsOverlay that contains it must be added to the SceneView before you add the OrbitGeoElementCameraController to the SceneView.

This QML type supports the following default properties. A default property may be declared inside another declared object without being assigned explicitly to a property.

TypeDefault Property
GeoElementtargetGeoElement

See also CameraController and Cancelable.

Property Documentation

autoHeadingEnabled : bool

Whether the camera heading offset is updated with target's heading.

When true, the camera's position will rotate with the target's heading. Otherwise, the camera position is not affected by the target's heading.

Defaults to true.


autoPitchEnabled : bool

Whether the camera pitch offset is updated with target's pitch.

If true, the camera will maintain its pitch offset when the target's pitch changes. The target's pitch can be controlled using an expression in the renderer class.


autoRollEnabled : bool

whether the camera roll offset is updated with target's roll.

When true, the camera's position will rotate with the target's roll. Otherwise, the camera position is not affected by the target's roll.

Defaults to true.


cameraDistance : double

The distance from the target object to the camera in meters.

This value must be greater than 0.


cameraDistanceInteractive : bool

Enables user interactions for changing the distance/zoom between the camera and the target object.

When true, the user may zoom towards and away from the targetGeoElement using mouse/touch interactions with the view.

The default setting is true.


cameraHeadingOffset : double

The heading offset of the camera, in degrees, relative to the target object.

The camera heading offset is a clockwise angle in the target's horizontal plane, starting from the heading of the target.

For example, if the target has a heading of 45°,a heading offset of 10 for the camera controller indicates an effective compass bearing of 55°.

Any angle in degrees is valid: the value will be wrapped between -180° and 180°.

The default is 0°.


cameraHeadingOffsetInteractive : bool

Enables user interactions for changing the heading offset between the camera and the target object.

Set this property to true to allow the user to interactively change the heading between the camera and the target object using mouse/touch interactions with the view.


cameraPitchOffset : double

The pitch offset of the camera, in degrees, relative to the target object.

An anti-clockwise angle from the positive z-axis of the target element to the target's horizontal plane. Any angle is valid: the value will be wrapped between 0° and 180°.

The default is 45°.


cameraPitchOffsetInteractive : bool

Enables user interactions for changing the pitch offset between the camera and the target object.

Set this property true to allow the user to interactively change the pitch of the camera relative to the target object using mouse/touch interactions with the view.


maxCameraDistance : double

The maximum distance from the camera to the target.


maxCameraHeadingOffset : double

The maximum camera heading offset in degrees.

This value must be greater than minCameraHeadingOffset.


maxCameraPitchOffset : double

The maxCameraPitchOffset of the OrbitGeoElementCameraController.

This value must be greater than minCameraPitchOffset.

Defaults to 180°.


minCameraDistance : double

minimum distance from the camera to the target in meters.

This value must be greater than 0.

Defaults to 0.


minCameraHeadingOffset : double

The minimum camera heading offset in degrees.

This value must be greater than 0° and less than maxCameraHeadingOffset.

Defaults to 0°.


minCameraPitchOffset : double

The minimum camera pitch offset in degrees.

This value must be less than maxCameraPitchOffset.

Defaults to 0°.


moveCameraStatus : Enums.TaskStatus

The status of the moveCamera task.

See also Enums.TaskStatus.


setTargetOffsetsStatus : Enums.TaskStatus

The status of the setTargetOffsets task.

See also Enums.TaskStatus.


[default] targetGeoElement : GeoElement

The target GeoElement which is the focal point for the camera.


targetOffsetX : double

The x offset of the target focus point relative to the target object in the x-axis of the target's coordindate system.

The offset of the camera focal point from the targetGeoElement along its x-axis. Setting the offsets for the target allows the user to move the focal point from the graphic's geometry to any point.

Defaults to 0.


targetOffsetY : double

The y offset of the target focus point relative to the target object in the y-axis of the target's coordindate system.

The offset of the camera focal point from the targetGeoElement along its y-axis. Setting the offsets for the target allows the user to move the focal point from the graphic's geometry to any point.

Defaults to 0.


targetOffsetZ : double

The z offset of the target focus point relative to the target object in the z-axis of the target's coordindate system.

The offset of the camera focal point from the targetGeoElement along its z-axis. Setting the offsets for the target allows the user to move the focal point from the graphic's geometry to any point.

Defaults to 0.


targetVerticalScreenFactor : real

The target vertical screen factor of the orbit camera controller.

Controls the vertical position of the target on the screen. The value can range between 0.0 (bottom of the screen) and 1.0 (top of the screen).

Defaults to 0.5 (center of the screen).


Signal Documentation

autoHeadingEnabledChanged()

Emitted when the autoHeadingEnabled property changes.


autoPitchEnabledChanged()

Emitted when the autoPitchEnabled property changes.


autoRollEnabledChanged()

Emitted when the autoRollEnabled property changes.


cameraDistanceChanged()

Emitted when the cameraDistance property changes.


cameraDistanceInteractiveChanged()

Emitted when the cameraDistanceInteractive property changes.


cameraHeadingOffsetChanged()

Emitted when the cameraHeadingOffset property changes.


cameraHeadingOffsetInteractiveChanged()

Emitted when the cameraHeadingOffsetInteractive property changes.


cameraPitchOffsetChanged()

Emitted when the cameraPitchOffset property changes.


cameraPitchOffsetInteractiveChanged()

Emitted when the cameraPitchOffsetInteractive property changes.


maxCameraDistanceChanged()

Emitted when the maxCameraDistance property changes.


maxCameraHeadingOffsetChanged()

Emitted when the maxCameraHeadingOffset property changes.


maxCameraPitchOffsetChanged()

Emitted when the maxCameraPitchOffset property changes.


minCameraDistanceChanged()

Emitted when the minCameraDistance property changes.


minCameraHeadingOffsetChanged()

Emitted when the minCameraHeadingOffset property changes.


minCameraPitchOffsetChanged()

Emitted when the minCameraPitchOffset property changes.


moveCameraStatusChanged()

Emitted when the moveCameraStatus property changes.


setTargetOffsetsStatusChanged()

Emitted when the setTargetOffsetsStatus property changes.


targetGeoElementChanged()

Emitted when the targetGeoElement property changes.


targetOffsetXChanged()

Emitted when the targetOffsetX property changes.


targetOffsetYChanged()

Emitted when the targetOffsetY property changes.


targetOffsetZChanged()

Emitted when the targetOffsetZ property changes.


targetVerticalScreenFactorChanged()

Emitted when the targetVerticalScreenFactor property changes.


Method Documentation

bool cancelTask(string taskId)

Cancels a moveCamera or or setTargetOffsets task.

  • taskId - The ID of the task to be canceled.

See also Cancelable.


bool cancelTask(string taskId)

See also Cancelable.


string moveCamera(double distanceDelta, double headingDelta, double pitchDelta, real duration)

Animate the camera to the new offset position relative to the target.

  • distanceDelta - The change in distance (meters) to apply in the animation.
  • headingDelta - The change in heading (degrees) to apply in the animation.
  • pitchDelta - The change in pitch (degrees) to apply in the animation.
  • duration - The duration of the animation in seconds.

The moveCameraStatus property reports the status of the operation.


string setTargetOffsets(double x, double y, double z, real duration)

Animate the camera to focus on the new point offset relative to the target.

  • x - The offset along the target's x-axis to apply in the animation.
  • y - The offset along the target's y-axis to apply in the animation.
  • z - The offset along the target's z-axis to apply in the animation.
  • duration - The duration of the animation in seconds.

The setTargetOffsetsStatus property reports the status of the operation.



Feedback on this topic?