A user interface control that displays three-dimensional (3D) geographic content defined by a Scene. More...
Member Function Documentation[protected]
SceneView::SceneView(int width, int height)
Constructs a SceneView with a specified size.
[override virtual noexcept]
SceneView::~SceneView()
Destructor.
[since Esri::ArcGISRuntime 100.1]
QColor SceneView::ambientLightColor() const
Returns the color of the scene view's ambient light.
The ambient light is visible if the sunLighting is set to LightingMode::Light or LightingMode::LightAndShadows.
This function was introduced in Esri::ArcGISRuntime 100.1.
See also setAmbientLightColor().
[since Esri::ArcGISRuntime 100.2]
Esri::ArcGISRuntime::AnalysisOverlayListModel *SceneView::analysisOverlays() const
Gets the list of analysis overlays that render the results of 3D visual analysis on the scene view.
Dynamic 3D analyses, such as LineOfSight and Viewshed, generate visual results that are rendered on the scene view. To display the results, add the Analysis to a collection of AnalysisOverlay::analyses and then add the AnalysisOverlay to the collection of SceneView::analysisOverlays.
Note that the SceneView::analysisOverlays collection can be empty but is never null. It's created for a specific SceneView so you can't reuse an AnalysisOverlay collection from another SceneView. Each AnalysisOverlay can only exist in one SceneView::analysisOverlays collection.
This function was introduced in Esri::ArcGISRuntime 100.2.
Esri::ArcGISRuntime::Scene *SceneView::arcGISScene() constGets the scene that the SceneView is displaying.
If you assign a Scene to a SceneView, the scene, its Surface, Basemap, and collection of operational layers automatically start to load. When loading completes, the layers and basemap are rendered over the Surface in the scene view.
You can load a Scene into your app before you assign it to a SceneView by calling GeoModel::load. This is useful if you want to validate the content of a scene before you display it.
See also setArcGISScene().
Esri::ArcGISRuntime::AtmosphereEffect SceneView::atmosphereEffect() constGets the effect applied to the scene's atmosphere.
The default value is AtmosphereEffect::HorizonOnly
See also setAtmosphereEffect().
Esri::ArcGISRuntime::CameraController *SceneView::cameraController() constReturns the camera controller that manages the position, orientation, and movement of the camera for a SceneView.
The controller handles user-interaction with the SceneView and updates the Camera. You can assign a CameraController with a specific navigation mode that is free roaming, following a moving target, fixed on a stationary target, or that supports AR transformation matrices. For more information, see CameraController.
The default is GlobeCameraController.
See also setCameraController().
Esri::ArcGISRuntime::Camera SceneView::currentViewpointCamera() constGets the camera that displays the current viewpoint.
[since Esri::ArcGISRuntime 100.6]
double SceneView::fieldOfView() const
Returns the horizontal field of view of the scene view in degrees.
The value of the field of view is influenced by the size and orientation of the device screen. A landscape orientation has a larger field of view value than a portrait orientation
The default value is 45.0.
This function was introduced in Esri::ArcGISRuntime 100.6.
See also setFieldOfView().
[since Esri::ArcGISRuntime 100.6]
double SceneView::fieldOfViewDistortionRatio() const
Gets the ratio that indicates how much the vertical field of view is distorted.
A distortion factor less than 1.0 causes the visuals to be stretched taller in comparison to their width. A distortion factor greater than 1.0 causes the visuals to be shrunk shorter in comparison to their width.
The default value is 1.0.
This function was introduced in Esri::ArcGISRuntime 100.6.
Esri::ArcGISRuntime::LocationToScreenResult SceneView::locationToScreen(const Esri::ArcGISRuntime::Point &scenePoint) constConverts a location in map coordinates to a point in screen coordinates relative to the upper-left corner of the scene view.
The screen coordinates are in device-independent pixels (DIP) relative to the upper-left corner of the scene view at position 0,0. The LocationToScreenResult indicates whether the screen coordinates are visible in the scene view. They can be invisible if they are on the other side of the globe, not in the Viewpoint, or are blocked by the base surface or elevation layer.
To call this method, assign a scene to the scene view, ensure that it is loaded and the draw status is DrawStatus::Completed.
[static, since Esri::ArcGISRuntime 100.3]
quint64 SceneView::memoryLimit()
Gets the total memory (in bytes) that a process can use for rendering scene data (Android only).
Note, the default value is determined upon initialization of the first SceneView instance that is being created by the process. Before any SceneView instance has been created, zero is returned. For some use cases you might want to choose to set a custom limit. See setMemoryLimit for details.
The default value is determined as follows:
This function was introduced in Esri::ArcGISRuntime 100.3.
See also setMemoryLimit().
Esri::ArcGISRuntime::Point SceneView::screenToBaseSurface(double screenX, double screenY) constReturns the x/y location on the map that corresponds to the provided screen coordinates.
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.
The coordinate of the top left corner of the screen is 0,0.
This method gets the x/y coordinates on the base surface that would be seen at the screen coordinates without regard for any features in the scene. Any features in the line of sight from the camera to the base surface are ignored. To convert this result into a 3D scene location, use the returned x/y coordinates with the z-value at that x/y location on the base surface.
To call this method, assign a scene to the scene view, ensure that it is loaded and the draw status is DrawStatus::Completed.
[since Esri::ArcGISRuntime 200.2]
QFuture<Esri::ArcGISRuntime::Point> SceneView::screenToLocationAsync(double screenX, double screenY)
Asynchronously converts a screen coordinate relative to the upper-left corner of the scene view to a location in map coordinates.
The coordinate of the top left corner of the screen is 0,0.
This is a high performance calculation executed on the GPU using a triangular mesh. Note that elevation values are approximated, and as the distance between the camera and the surface increases, the precision of the elevation value decreases.
To call this method, assign a scene to the scene view, ensure that it is loaded and the draw status is DrawStatus::Completed. This method returns a QFuture for the asynchronous operation. Use future.then() to continue processing when the operation completes. Use future.onFailed() to handle exceptions of type ErrorException.
See Working with QFuture for further details.
This function was introduced in Esri::ArcGISRuntime 200.2.
[since Esri::ArcGISRuntime 100.1]
void SceneView::setAmbientLightColor(const QColor &color)
Sets the ambientLightColor to color.
The ambientLightColor is the color of the scene view's ambient light.
This function was introduced in Esri::ArcGISRuntime 100.1.
See also ambientLightColor.
void SceneView::setArcGISScene(Esri::ArcGISRuntime::Scene *scene)Sets the scene associated with this SceneView.
Setting a non-loaded scene to a view starts the load process of the scene so the scene can be displayed once loaded.
See also arcGISScene().
void SceneView::setAtmosphereEffect(Esri::ArcGISRuntime::AtmosphereEffect atmosphereEffect)Sets the atmosphereEffect to atmosphereEffect.
See also atmosphereEffect.
void SceneView::setCameraController(Esri::ArcGISRuntime::CameraController *cameraController)Sets the sceneview's camera controller.
The camera controller determines the camera interaction and navigation model.
The default is GlobeCameraController.
See also cameraController().
[since Esri::ArcGISRuntime 100.6]
void SceneView::setFieldOfView(double angle)
Sets the horizontal field of view of the scene view in degrees.
The value of the field of view is influenced by the size and orientation of the device screen. A landscape orientation has a larger field of view value than a portrait orientation.
This value must be between 0 and 120. If the value is outside the range, the field of view is not changed and an error "Invalid argument" is emitted.
angle - The field of view on the scene view in degrees. This value must be greater than 0 and less than or equal to 120.
This function was introduced in Esri::ArcGISRuntime 100.6.
See also fieldOfView().
[since Esri::ArcGISRuntime 100.6]
void SceneView::setFieldOfViewAndDistortionRatio(double angle, double distortionRatio)
Sets the field of view on the scene view in degrees and determines how much the vertical field of view is distorted.
A distortion ratio less than 1.0 will cause the visuals to be stretched taller in comparison to their width. A distortion ratio greater than 1.0 will cause the visuals to be shrunk shorter in comparison to their width. The default distortion ratio is 1.0.
If the values are outside the range, the field of view and the field of view vertical distortion ratio are not changed and an error "Invalid argument" is emitted.
This function was introduced in Esri::ArcGISRuntime 100.6.
[since Esri::ArcGISRuntime 100.6]
void SceneView::setFieldOfViewFromLensIntrinsics(double xFocalLength, double yFocalLength, double xPrincipal, double yPrincipal, double xImageSize, double yImageSize, Esri::ArcGISRuntime::DeviceOrientation deviceOrientation)
Sets the field of view of the scene view to the field of view of a camera lens using the lens characteristics.
Allows for matching the field of view of the scene view to the field of view of a camera lens using the lens characteristics. All parameter values must be greater than 0.
This function was introduced in Esri::ArcGISRuntime 100.6.
[static, since Esri::ArcGISRuntime 100.3]
void SceneView::setMemoryLimit(quint64 memoryLimitBytes)
Sets the total memory (in bytes) that a process can use for rendering scene data to memoryLimitBytes (Android only).
The memory limit is set by default and this should be sufficient for most use cases. For more details of how the default limit is determined see memoryLimit. For some use cases you might want to choose to override the default to increase or reduce the limit. In those cases, set this property before instantiating any SceneView objects. If you choose to override this limit, consider the device's recommended memory limits. You can get that value from ActivityManager.getLargeMemoryClass()
.
This function was introduced in Esri::ArcGISRuntime 100.3.
See also memoryLimit().
[since Esri::ArcGISRuntime 100.6]
void SceneView::setSpaceEffect(Esri::ArcGISRuntime::SpaceEffect spaceEffect)
Sets the space effect for the scene view.
This function was introduced in Esri::ArcGISRuntime 100.6.
See also spaceEffect().
[since Esri::ArcGISRuntime 100.1]
void SceneView::setSunLighting(Esri::ArcGISRuntime::LightingMode lightingMode)
Sets the lighting mode for the sceneview.
The lighting mode determines whether the Earth appears to be illuminated by the Sun, and whether to simulate shadows. For example, this can be used to control whether the shadows of terrain and 3D models are cast.
This function was introduced in Esri::ArcGISRuntime 100.1.
See also sunLighting().
[since Esri::ArcGISRuntime 100.1]
void SceneView::setSunTime(const QDateTime &sunTime)
Sets the Sun's position to simulate a specific time.
The position of sunset, sunrise, and the night-time area of darkness are visible in the scene view as calculated from the SceneView::setSunTime value. These lighting effects are visible if you have set the SceneView::sunLighting modes of LightingMode::Light and LightingMode::LightAndShadows.
The default value is Fri Sep 22 2000 12:00:00 GMT+0000.
You can simulate the Sun's position relative to the Earth to be as it would at a specific date and time.
The default time of the simulation is September 22, 2000 at noon GMT.
This function was introduced in Esri::ArcGISRuntime 100.1.
See also sunTime().
void SceneView::setViewpointCameraAndWait(const Esri::ArcGISRuntime::Camera &camera)Sets the Camera for the scene view synchronously. This call runs in the same thread as the caller and will block until it finishes.
The Camera determines at what position and angle the scene is viewed.
[since Esri::ArcGISRuntime 200.2]
QFuture<bool> SceneView::setViewpointCameraAsync(const Esri::ArcGISRuntime::Camera &camera)
Changes the display to the new camera viewpoint asynchronously.
Use setViewpointCameraAsync(const Esri::ArcGISRuntime::Camera&, float) to set a viewpoint that animates over a specified duration.
This method returns a QFuture for the asynchronous operation. Use future.then() to continue processing when the operation completes. Use future.onFailed() to handle exceptions of type ErrorException.
See Working with QFuture for further details.
This function was introduced in Esri::ArcGISRuntime 200.2.
[since Esri::ArcGISRuntime 200.2]
QFuture<bool> SceneView::setViewpointCameraAsync(const Esri::ArcGISRuntime::Camera &camera, float duration)
Animates the display to the viewpoint specified by the given camera using the specified duration to arrive.
This method returns a QFuture for the asynchronous operation. Use future.then() to continue processing when the operation completes. Use future.onFailed() to handle exceptions of type ErrorException.
See Working with QFuture for further details.
This function was introduced in Esri::ArcGISRuntime 200.2.
[since Esri::ArcGISRuntime 100.6]
Esri::ArcGISRuntime::SpaceEffect SceneView::spaceEffect() const
Gets the visual effect of outer space in the scene view.
Determines whether outer space is black with stars or transparent in the scene view.
The default value is SpaceEffect::Stars
.
This function was introduced in Esri::ArcGISRuntime 100.6.
See also setSpaceEffect().
[since Esri::ArcGISRuntime 100.1]
Esri::ArcGISRuntime::LightingMode SceneView::sunLighting() const
Returns the type of ambient sunlight and shadows in the scene view.
LightingMode::Light and LightingMode::LightAndShadows display ambient light according to the specified SceneView::ambientLightColor.
The default value is LightingMode::NoLight.
This function was introduced in Esri::ArcGISRuntime 100.1.
See also setSunLighting().
[since Esri::ArcGISRuntime 100.1]
QDateTime SceneView::sunTime() const
Returns the position of the sun in the scene view based on a specific date and time.
The position of sunset, sunrise, and the night-time area of darkness are visible in the scene view as calculated from the sunTime value. These lighting effects are visible if you have set the sunLighting modes of LightingMode::Light and LightingMode::LightAndShadows. The default value is Fri Sep 22 2000 12:00:00 GMT+0000
This function was introduced in Esri::ArcGISRuntime 100.1.
See also setSunTime().
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4