A camera controller that supports orbital camera navigation around a stationary point in a SceneView. More...
Import Statement: | import Esri.ArcGISRuntime |
Since: | Esri.ArcGISRuntime 100.1 |
Inherits: |
- List of all members, including inherited members
- OrbitLocationCameraController is part of QML Type List.
Properties
- cameraDistance : double
- cameraDistanceInteractive : bool
- cameraHeadingOffset : double
- cameraHeadingOffsetInteractive : bool
- cameraPitchOffset : double
- cameraPitchOffsetInteractive : bool
- initialCameraLocation : Point
- maxCameraDistance : double
- maxCameraHeadingOffset : double
- maxCameraPitchOffset : double
- minCameraDistance : double
- minCameraHeadingOffset : double
- minCameraPitchOffset : double
- moveCameraStatus : Enums.TaskStatus
- targetLocation : Point
Signals
- cameraDistanceChanged()
- cameraDistanceInteractiveChanged()
- cameraHeadingOffsetChanged()
- cameraHeadingOffsetInteractiveChanged()
- cameraPitchOffsetChanged()
- cameraPitchOffsetInteractiveChanged()
- initialCameraLocationChanged()
- maxCameraDistanceChanged()
- maxCameraHeadingOffsetChanged()
- maxCameraPitchOffsetChanged()
- minCameraDistanceChanged()
- minCameraHeadingOffsetChanged()
- minCameraPitchOffsetChanged()
- moveCameraStatusChanged()
- targetLocationChanged()
Methods
- bool cancelTask(string taskId)
- string moveCamera(double distanceDelta, double headingDelta, double pitchDelta, real duration)
Detailed Description
An orbit camera controller locks navigation around a target point. The camera can orbit around the target point but always focuses directly on the point. To activate the controller, set the controller on the SceneView::cameraController property. Once applied, the target point cannot be changed and setting the viewpoint on the SceneView is disabled. In this mode, the user can rotate around and zoom in and out from the target point.
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.
Type | Default Property |
---|---|
Point | targetLocation |
See also CameraController, Cancelable, OrbitGeoElementCameraController, and GlobeCameraController.
Property Documentation
cameraDistance : double |
The distance from the target location to the camera in meters.
The camera position and orientation is derived from this distance plus any camera offsets.
This value must be greater than 0
.
cameraDistanceInteractive : bool |
The interactive heading value indicating whether user interactions affect the camera's distance from the target.
When true
, the user may zoom towards and away from the targetLocation using mouse/touch interactions with the view.
The default setting is true
.
cameraHeadingOffset : double |
The heading of the camera relative to the targetLocation, in degrees.
The clockwise angle in the horizontal plane of the targetLocation starting from due south. Any angle in degrees is valid and will automatically be normalized between -180
to 180
. Defaults to 0
degrees.
cameraHeadingOffsetInteractive : bool |
The interactive heading offset value indicating whether user interactions affect the camera's heading.
When interactive heading is true
the user is able to manually change the relative heading between the target focal point and the camera.
The default setting is true
.
cameraPitchOffset : double |
The pitch of the camera relative to the targetLocation, in degrees.
The anti-clockwise angle from the positive Z axis through the targetLocation to the target's horizontal plane. Any angle in degrees is valid and will automatically be normalized between 0
and 180
. Defaults to 45
degrees.
cameraPitchOffsetInteractive : bool |
The interactive pitch value indicating whether user interactions affect the camera's pitch.
When enabled, the user can change the cameraPitchOffset with a vertical pan interaction.
The default setting is true
.
[since Esri.ArcGISRuntime 100.3] initialCameraLocation : Point |
The camera location of the camera controller.
Sets the initial location of the camera. The distance, heading, and pitch will be calculated based on this point and the targetLocation. The target location must also be set before this is added to the scene.
This property was introduced in Esri.ArcGISRuntime 100.3.
maxCameraDistance : double |
The maximum distance from the camera to the targetLocation, in meters.
The value must be greater than minCameraDistance. Serves as the maximum value for cameraDistance. Animations and interactions obey this limit. No limit on this maximum distance.
maxCameraHeadingOffset : double |
The maximum camera heading offset relative to the targetLocation, in degrees.
The value must be greater than minCameraHeadingOffset. Serves as the maximum value for cameraHeadingOffset. Animations and interactions obey this limit. Defaults to 180
.
maxCameraPitchOffset : double |
The maximum camera pitch offset in degrees.
This value must be in the range: minCameraPitchOffset to 90
°.
Serves as the maximum value for cameraPitchOffset. Animations and interactions obey this limit.
The default value is 90
°.
minCameraDistance : double |
The minimum distance from the camera to the targetLocation, in meters.
The value cannot be negative. Serves as the minimum value for cameraDistance. Animations and interactions obey this limit. Defaults to 0
.
minCameraHeadingOffset : double |
The minimum camera heading offset relative to the targetLocation, in degrees.
The value must be less than maxCameraHeadingOffset. Serves as the minimum value for cameraHeadingOffset. Animations and interactions obey this limit. Defaults to -180
.
minCameraPitchOffset : double |
The minimum camera pitch offset relative to the targetLocation, in degrees.
The value must be less than maxCameraPitchOffset but no less than -90
. Serves as the minimum value for cameraPitchOffset. Animations and interactions obey this limit. Defaults to -90
.
[read-only] moveCameraStatus : Enums.TaskStatus |
Returns the status of the moveCamera task (read-only).
See also Enums.TaskStatus.
[default] targetLocation : Point |
The location on which the camera focuses and around which it orbits.
The target location is the focal point of the camera managed by the orbit camera controller. The position of the camera is determined by the cameraDistance, cameraHeadingOffset, and cameraPitchOffset relative to this location.
Signal Documentation
cameraDistanceChanged() |
Emitted when the cameraDistance property changes.
Note: The corresponding handler is onCameraDistanceChanged
.
cameraDistanceInteractiveChanged() |
Emitted when the cameraDistanceInteractive property changes.
Note: The corresponding handler is onCameraDistanceInteractiveChanged
.
cameraHeadingOffsetChanged() |
Emitted when the cameraHeadingOffset property changes.
Note: The corresponding handler is onCameraHeadingOffsetChanged
.
cameraHeadingOffsetInteractiveChanged() |
Emitted when the cameraHeadingOffsetInteractive property changes.
Note: The corresponding handler is onCameraHeadingOffsetInteractiveChanged
.
cameraPitchOffsetChanged() |
Emitted when the cameraPitchOffset property changes.
Note: The corresponding handler is onCameraPitchOffsetChanged
.
cameraPitchOffsetInteractiveChanged() |
Emitted when the cameraPitchOffsetInteractive property changes.
Note: The corresponding handler is onCameraPitchOffsetInteractiveChanged
.
|
Emitted when the initialCameraLocation property changes.
Note: The corresponding handler is onInitialCameraLocationChanged
.
This signal was introduced in Esri.ArcGISRuntime 100.3.
maxCameraDistanceChanged() |
Emitted when the maxCameraDistance property changes.
Note: The corresponding handler is onMaxCameraDistanceChanged
.
maxCameraHeadingOffsetChanged() |
Emitted when the maxCameraHeadingOffset property changes.
Note: The corresponding handler is onMaxCameraHeadingOffsetChanged
.
maxCameraPitchOffsetChanged() |
Emitted when the maxCameraPitchOffset property changes.
Note: The corresponding handler is onMaxCameraPitchOffsetChanged
.
minCameraDistanceChanged() |
Emitted when the minCameraDistance property changes.
Note: The corresponding handler is onMinCameraDistanceChanged
.
minCameraHeadingOffsetChanged() |
Emitted when the minCameraHeadingOffset property changes.
Note: The corresponding handler is onMinCameraHeadingOffsetChanged
.
minCameraPitchOffsetChanged() |
Emitted when the minCameraPitchOffset property changes.
Note: The corresponding handler is onMinCameraPitchOffsetChanged
.
moveCameraStatusChanged() |
Emitted when the moveCameraStatus property changes.
Note: The corresponding handler is onMoveCameraStatusChanged
.
targetLocationChanged() |
Emitted when the targetLocation property changes.
Note: The corresponding handler is onTargetLocationChanged
.
Method Documentation
bool cancelTask(string taskId) |
Cancels a moveCamera task.
Returns false
if the task cannot be canceled or there is no task with the specified id taskId.
- taskId - The ID of the moveCamera task to be canceled.
See also Cancelable.
string moveCamera(double distanceDelta, double headingDelta, double pitchDelta, real duration) |
Animate the camera to the new 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 shows the status of this operation.
The heading and pitch delta values may be greater than 360
degrees and the angle is not normalized. For example, a heading delta of 720
will make the camera do two circles around the target within the duration time. Returns a string representing the task ID of the asynchronous task.