ArcGISSceneViewController class final
A user interface control that displays three-dimensional (3D) geographic content defined by an ArcGISScene.
An ArcGISSceneViewController is a user interface that displays ArcGISScene layers and graphics in 3D. It uses a camera to control the visible area (extent) of the ArcGISScene and supports user interactions such as pan, zoom, tilt, and rotate. A scene view also provides access to the underlying layer data in a scene.
To display an ArcGISScene, add an ArcGISSceneViewController control to your app and assign the scene to it. This loads the scene and its content, such as a Surface, Basemap and collection of operational layers, and displays this content on screen.
User interactions such as pan, zoom, tilt, rotate, and identify or selection are supported in the ArcGISSceneViewController using touch, mouse, keyboard or pen/pencil. If required, you can override keys, clicks, and gestures to provide a specific user experience.
The visible area (Viewpoint) of an ArcGISSceneViewController is defined by the position and orientation of a Camera. To determine the current visible area, call GeoViewController.getCurrentViewpoint. Make sure that any user-initiated or programmatic navigation is complete before getting the current Viewpoint by calling GeoViewController.isNavigating.
You can programmatically set the visible area by specifying a viewpoint. For example, to zoom to the Viewpoint specified by a camera, pass the Camera to the ArcGISSceneViewController using one of its methods, such as ArcGISSceneViewController.setViewpointCamera. The ArcGISSceneViewController has a camera controller (ArcGISSceneViewController.cameraController) to manage the camera's movement and user interactions.
In an MVC architecture, the ArcGISSceneViewController represents the View tier. The Model tier is represented by the ArcGISScene object which can provide a collection of operational layers, a Basemap and a Surface. You can only set one ArcGISScene per ArcGISSceneViewController, but you can swap the ArcGISSceneViewController.arcGISScene with another when the application is running.
See Scene view for more information.
- Inheritance
-
- Object
- GeoViewController
- ArcGISSceneViewController
Properties
- ambientLightColor ↔ Color
-
The color of the scene view's ambient light.
getter/setter pair
-
analysisOverlays
→ List<
AnalysisOverlay> -
A collection of analysis overlays that render the results of 3D visual
analysis on the scene view.
no setter
- arcGISScene ↔ ArcGISScene?
-
The scene that the ArcGISSceneViewController is displaying.
getter/setter pair
- atmosphereEffect ↔ AtmosphereEffect
-
The effect applied to the scene's atmosphere.
getter/setter pair
- attributionText → String
-
The attribution text for the data that is currently displayed in the
GeoViewController.
no setterinherited
- cameraController ↔ CameraController
-
The camera controller manages the position, orientation, and movement of
the camera for an ArcGISSceneViewController.
getter/setter pair
- drawStatus → DrawStatus
-
The current drawing status of the content displayed in the
GeoViewController.
no setterinherited
- fieldOfView → double
-
The horizontal field of view of the scene view in degrees.
no setter
- fieldOfViewDistortionRatio → double
-
The ratio indicates how much the vertical field of view is distorted.
no setter
-
graphicsOverlays
→ List<
GraphicsOverlay> -
A collection of GraphicsOverlay objects used to display graphics on top
of the view's content.
no setterinherited
- grid ↔ Grid?
-
A coordinate system grid to display on top of the GeoViewController.
getter/setter pairinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
-
imageOverlays
→ List<
ImageOverlay> -
A collection of overlays for displaying images in the view.
no setterinherited
- interactionOptions → InteractionOptions
-
Options for controlling how user interactions behave.
no setter
- isAttributionTextVisible ↔ bool
-
True if attribution text is visible in the GeoViewController, false
otherwise.
getter/setter pairinherited
-
True if the GeoViewController is animating a viewpoint change or a
navigation gesture is in progress, otherwise false.
no setterinherited
- isWrapAroundEnabled → bool
-
True if continuous panning across the international date line is enabled
in the GeoViewController, false otherwise.
no setterinherited
- labeling ↔ ViewLabelProperties
-
The view label properties.
getter/setter pairinherited
-
onAttributionChanged
→ Stream<
String> -
Invokes the callback when the attribution text of the GeoViewController
changes.
no setterinherited
-
onDrawStatusChanged
→ Stream<
DrawStatus> -
Invokes the callback when the draw status of the GeoViewController
changes.
no setterinherited
-
onLayerViewStateChanged
→ Stream<
({Layer layer, LayerViewState layerViewState})> -
Invokes the callback when the layer view state of any layer in the
GeoViewController changes.
no setterinherited
-
Invokes the callback when the navigation state of the GeoViewController
changes.
no setterinherited
-
onSpatialReferenceChanged
→ Stream<
SpatialReference?> -
Invokes the callback when the spatial reference of the GeoViewController
changes.
no setterinherited
-
onTimeExtentChanged
→ Stream<
TimeExtent?> -
Invokes the callback when the time extent of the GeoViewController
changes.
no setterinherited
-
onViewpointChanged
→ Stream<
void> -
Invokes the callback when the viewpoint of the GeoViewController has
changed.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- selectionProperties ↔ SelectionProperties
-
The selection properties for all graphic overlays and selectable layers
within the GeoViewController.
getter/setter pairinherited
- spaceEffect ↔ SpaceEffect
-
The visual effect of outer space in the scene view. The modes are black
with stars or transparent.
getter/setter pair
- spatialReference → SpatialReference?
-
The spatial reference defines the coordinate system used by the map or
scene in the GeoViewController.
no setterinherited
- sunLighting ↔ LightingMode
-
The type of ambient sunlight and shadows in the scene view.
getter/setter pair
- sunTime ↔ DateTime
-
The position of the sun in the scene view based on a specific date and
time.
getter/setter pair
- timeExtent ↔ TimeExtent?
-
The current TimeExtent of the GeoViewController.
getter/setter pairinherited
Methods
-
dispose(
) → void -
This function cleans up properties of this controller before garbage
collection happens. This function should be overriden by subclasses that
have other properties that need to be cleaned up.
inherited
-
exportImage(
) → Future< ArcGISImage> -
Exports an image snapshot of the current GeoViewController.
inherited
-
getCurrentViewpoint(
ViewpointType viewpointType) → Viewpoint? -
Retrieves the current Viewpoint of the GeoViewController.
inherited
-
getCurrentViewpointCamera(
) → Camera - Retrieves the camera that displays the current viewpoint.
-
getLayerViewState(
Layer layer) → LayerViewState? -
Retrieves the layer's state in the GeoViewController.
inherited
-
identifyGraphicsOverlay(
GraphicsOverlay graphicsOverlay, {required Offset screenPoint, required double tolerance, bool returnPopupsOnly = false, int? maximumResults = 1}) → Future< IdentifyGraphicsOverlayResult> -
Identifies a limited number of graphics in the specified graphics overlay,
at the given screen point.
inherited
-
identifyGraphicsOverlays(
{required Offset screenPoint, required double tolerance, bool returnPopupsOnly = false, int? maximumResultsPerOverlay = 1}) → Future< List< IdentifyGraphicsOverlayResult> > -
Identifies a limited number of graphics in all graphics overlays, at the
given screen point.
inherited
-
identifyLayer(
Layer layer, {required Offset screenPoint, required double tolerance, bool returnPopupsOnly = false, int? maximumResults = 1}) → Future< IdentifyLayerResult> -
Identifies a limited number of geoelements in the specified layer or
sublayer, at the given screen point.
inherited
-
identifyLayers(
{required Offset screenPoint, required double tolerance, bool returnPopupsOnly = false, int? maximumResultsPerLayer = 1}) → Future< List< IdentifyLayerResult> > -
Identifies a limited number of geoelements at the given screen point, in
each identifiable layer or sublayer in the GeoViewController's
ArcGISMap or ArcGISScene.
inherited
-
locationToScreen(
{required ArcGISPoint mapPoint}) → LocationToScreenResult? - Converts a location in map coordinates to a point in screen coordinates relative to the upper-left corner of the scene view.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
screenToBaseSurface(
{required Offset screen}) → ArcGISPoint? - Converts the specified screen coordinate, relative to the upper-left corner of the scene view, to a location on the base surface in map coordinates.
-
screenToLocation(
{required Offset screen}) → Future< ArcGISPoint> - Asynchronously converts a screen coordinate relative to the upper-left corner of the scene view to a location in map coordinates.
-
setBookmark(
Bookmark bookmark) → Future< bool> -
Sets the Viewpoint of the GeoViewController to the
Bookmark.viewpoint.
inherited
-
setFieldOfView(
{required double angle, double distortionRatio = 1.0}) → void - Sets the field of view on the scene view in degrees and determines how much the vertical field of view is distorted.
-
setFieldOfViewFromLensIntrinsics(
{required double xFocalLength, required double yFocalLength, required double xPrincipal, required double yPrincipal, required double xImageSize, required double yImageSize, required DeviceOrientation deviceOrientation}) → void - Matches the field of view of the scene view to the field of view of a camera lens using the lens characteristics.
-
setViewpoint(
Viewpoint viewpoint) → void -
Pan or zoom the GeoViewController to the specified Viewpoint location.
inherited
-
setViewpointAnimated(
Viewpoint viewpoint, {double? duration}) → Future< bool> -
Pan or zoom the GeoViewController using animation to the specified
Viewpoint location. Animation takes place over the specified duration.
inherited
-
setViewpointCamera(
Camera camera) → void - Immediately changes the display to the viewpoint specified by the given camera.
-
setViewpointCameraAnimated(
{required Camera camera, double duration = 0.25}) → Future< bool> - Animates the display to the viewpoint specified by the given camera using the specified duration to arrive.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited