Provides orbital camera navigation around a stationary or moving GeoElement. More...
Import Statement: | import Esri.ArcGISRuntime 100.15 |
Since: | Esri.ArcGISRuntime 100.1 |
Inherits: |
Properties
- autoHeadingEnabled : bool
- autoPitchEnabled : bool
- autoRollEnabled : bool
- cameraDistance : double
- cameraDistanceInteractive : bool
- cameraHeadingOffset : double
- cameraHeadingOffsetInteractive : bool
- cameraPitchOffset : double
- cameraPitchOffsetInteractive : bool
- maxCameraDistance : double
- maxCameraHeadingOffset : double
- maxCameraPitchOffset : double
- minCameraDistance : double
- minCameraHeadingOffset : double
- minCameraPitchOffset : double
- moveCameraStatus : Enums.TaskStatus
- setTargetOffsetsStatus : Enums.TaskStatus
- targetGeoElement : GeoElement
- targetOffsetX : double
- targetOffsetY : double
- targetOffsetZ : double
- targetVerticalScreenFactor : real
Signals
- autoHeadingEnabledChanged()
- autoPitchEnabledChanged()
- autoRollEnabledChanged()
- cameraDistanceChanged()
- cameraDistanceInteractiveChanged()
- cameraHeadingOffsetChanged()
- cameraHeadingOffsetInteractiveChanged()
- cameraPitchOffsetChanged()
- cameraPitchOffsetInteractiveChanged()
- maxCameraDistanceChanged()
- maxCameraHeadingOffsetChanged()
- maxCameraPitchOffsetChanged()
- minCameraDistanceChanged()
- minCameraHeadingOffsetChanged()
- minCameraPitchOffsetChanged()
- moveCameraStatusChanged()
- setTargetOffsetsStatusChanged()
- targetGeoElementChanged()
- targetOffsetXChanged()
- targetOffsetYChanged()
- targetOffsetZChanged()
- targetVerticalScreenFactorChanged()
Methods
- bool cancelTask(string taskId)
- bool cancelTask(string taskId)
- string moveCamera(double distanceDelta, double headingDelta, double pitchDelta, real duration)
- string setTargetOffsets(double x, double y, double z, real duration)
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 its 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.
Type | Default Property |
---|---|
GeoElement | targetGeoElement |
See also CameraController and Cancelable.
Property Documentation
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
.
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.
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
.
The distance from the target object to the camera in meters.
This value must be greater than 0
.
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
.
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
°.
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.
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
°.
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.
The maximum distance from the camera to the target in meters.
There is no limit on the set maximum distance. Animations and interactions are bounded by this limit.
The maximum camera heading offset in degrees.
This value must be greater than minCameraHeadingOffset.
The maxCameraPitchOffset of the OrbitGeoElementCameraController.
This value must be greater than minCameraPitchOffset.
Defaults to 180
°.
minimum distance from the camera to the target in meters.
Animations and interactions are bounded by this limit.
Defaults to 0
.
The minimum camera heading offset in degrees.
This value must be greater than 0
° and less than maxCameraHeadingOffset.
Defaults to 0
°.
The minimum camera pitch offset in degrees.
This value must be less than maxCameraPitchOffset.
Defaults to 0
°.
The status of the moveCamera task.
See also 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.
The x offset of the target focus point relative to the target object in the x-axis of the target's coordinate 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
.
The y offset of the target focus point relative to the target object in the y-axis of the target's coordinate 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
.
The z offset of the target focus point relative to the target object in the z-axis of the target's coordinate 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
.
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
Emitted when the autoHeadingEnabled property changes.
Note: The corresponding handler is onAutoHeadingEnabledChanged
.
Emitted when the autoPitchEnabled property changes.
Note: The corresponding handler is onAutoPitchEnabledChanged
.
Emitted when the autoRollEnabled property changes.
Note: The corresponding handler is onAutoRollEnabledChanged
.
Emitted when the cameraDistance property changes.
Note: The corresponding handler is onCameraDistanceChanged
.
Emitted when the cameraDistanceInteractive property changes.
Note: The corresponding handler is onCameraDistanceInteractiveChanged
.
Emitted when the cameraHeadingOffset property changes.
Note: The corresponding handler is onCameraHeadingOffsetChanged
.
Emitted when the cameraHeadingOffsetInteractive property changes.
Note: The corresponding handler is onCameraHeadingOffsetInteractiveChanged
.
Emitted when the cameraPitchOffset property changes.
Note: The corresponding handler is onCameraPitchOffsetChanged
.
Emitted when the cameraPitchOffsetInteractive property changes.
Note: The corresponding handler is onCameraPitchOffsetInteractiveChanged
.
Emitted when the maxCameraDistance property changes.
Note: The corresponding handler is onMaxCameraDistanceChanged
.
Emitted when the maxCameraHeadingOffset property changes.
Note: The corresponding handler is onMaxCameraHeadingOffsetChanged
.
Emitted when the maxCameraPitchOffset property changes.
Note: The corresponding handler is onMaxCameraPitchOffsetChanged
.
Emitted when the minCameraDistance property changes.
Note: The corresponding handler is onMinCameraDistanceChanged
.
Emitted when the minCameraHeadingOffset property changes.
Note: The corresponding handler is onMinCameraHeadingOffsetChanged
.
Emitted when the minCameraPitchOffset property changes.
Note: The corresponding handler is onMinCameraPitchOffsetChanged
.
Emitted when the moveCameraStatus property changes.
Note: The corresponding handler is onMoveCameraStatusChanged
.
Emitted when the setTargetOffsetsStatus property changes.
Note: The corresponding handler is onSetTargetOffsetsStatusChanged
.
Emitted when the targetGeoElement property changes.
Note: The corresponding handler is onTargetGeoElementChanged
.
Emitted when the targetOffsetX property changes.
Note: The corresponding handler is onTargetOffsetXChanged
.
Emitted when the targetOffsetY property changes.
Note: The corresponding handler is onTargetOffsetYChanged
.
Emitted when the targetOffsetZ property changes.
Note: The corresponding handler is onTargetOffsetZChanged
.
Emitted when the targetVerticalScreenFactor property changes.
Note: The corresponding handler is onTargetVerticalScreenFactorChanged
.
Method Documentation
Cancels a moveCamera or or setTargetOffsets task.
- taskId - The ID of the task to be canceled.
See also Cancelable.
Cancel the task with the ID taskId.
Returns false
if the task cannot be canceled or there is no task with the specified id taskId.
See also Cancelable.
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.
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.