Skip To Content ArcGIS for Developers Sign In Dashboard

ArcGISSceneLayer Class

(Esri::ArcGISRuntime::ArcGISSceneLayer)

A layer that displays 3D features from a scene service. More...

Header: #include <ArcGISSceneLayer>
Since: Esri::ArcGISRuntime 100.0
Inherits: Layer and RemoteResource

Public Functions

ArcGISSceneLayer(const QUrl &url, QObject *parent = nullptr)
ArcGISSceneLayer(const QUrl &url, Credential *credential, QObject *parent = nullptr)
ArcGISSceneLayer(Item *item, QObject *parent = nullptr)
~ArcGISSceneLayer()
double altitudeOffset() const
void clearSelection()
SceneLayerDataType dataType() const
FeatureTable *featureTable() const
void selectFeature(Feature *feature)
void selectFeatures(const QList<Feature *> &features)
TaskWatcher selectedFeatures()
void setAltitudeOffset(double altitudeOffset)
void setSurfacePlacement(SurfacePlacement surfacePlacement)
SurfacePlacement surfacePlacement() const
void unselectFeature(Feature *feature)
void unselectFeatures(const QList<Feature *> &features)

Reimplemented Public Functions

virtual Credential *credential() const
virtual RequestConfiguration requestConfiguration() const
virtual void setRequestConfiguration(const RequestConfiguration &requestConfiguration)
virtual QUrl url() const

Signals

void selectedFeaturesCompleted(QUuid taskId, Esri::ArcGISRuntime::FeatureQueryResult *featureQueryResult)

Additional Inherited Members

  • 1 property inherited from QObject
  • 1 public slot inherited from QObject
  • 1 public variable inherited from QObject
  • 10 static public members inherited from QObject
  • 9 protected functions inherited from QObject
  • 2 protected variables inherited from QObject

Detailed Description

A layer that displays 3D features from a scene service.

ArcGISSceneLayer is a layer that can render 3D features based on a published scene service. The features are rendered based on the distance from the Camera. Features appear more detailed when they are closer to the camera.

Example:

Display an ArcGISSceneLayer with the URL to the REST endpoint of a scene service:

m_sceneLayer = new ArcGISSceneLayer(QUrl("https://tiles.arcgis.com/tiles/P3ePLMYs2RVChkJx/arcgis/rest/services/Buildings_Brest/SceneServer/layers/0"), this);
m_scene->operationalLayers()->append(m_sceneLayer);

Member Function Documentation

ArcGISSceneLayer::ArcGISSceneLayer(const QUrl &url, QObject *parent = nullptr)

Constructor that accepts a URL (url) and an optional parent.

The URL represents one of the following:

  • A URL to an online service that has the feature data.
  • A URL to an item hosted on ArcGIS Online or ArcGIS Enterprise portal.
  • A local file URL to a scene layer package (.slpk).

ArcGISSceneLayer::ArcGISSceneLayer(const QUrl &url, Credential *credential, QObject *parent = nullptr)

Constructor that accepts the URL (url), a credential, and an optional parent.

The URL represents one of the following:

  • A URL to an online service that has the feature data.
  • A URL to an item hosted on ArcGIS Online or ArcGIS Enterprise portal.
  • A local file URL to a scene layer package (.slpk).

The credential is applied if the provided URL is to a secured service or portal item.

ArcGISSceneLayer::ArcGISSceneLayer(Item *item, QObject *parent = nullptr)

Constructor that accepts an Item (item) and an optional parent.

The Item represents a scene layer on ArcGIS Online or ArcGIS Enterprise portal.

ArcGISSceneLayer::~ArcGISSceneLayer()

Destructor.

double ArcGISSceneLayer::altitudeOffset() const

Returns the AltitudeOffset of this layer.

An altitude offset provides a simple mechanism to consistently modify the elevation of all features in the layer with a single value.

This function was introduced in Esri::ArcGISRuntime 100.6.

See also setAltitudeOffset().

void ArcGISSceneLayer::clearSelection()

Clears selection on all features.

This function was introduced in Esri::ArcGISRuntime 100.3.

[virtual] Credential *ArcGISSceneLayer::credential() const

Reimplemented from RemoteResource::credential().

Returns the security credential used to access the scene service layer.

Only applicable if the service is secured.

SceneLayerDataType ArcGISSceneLayer::dataType() const

Gets the content type of an ArcGIS scene layer.

Return a SceneLayerDataType which identified the geometry and content type of and an ArcGIS scene layer.

The type of a scene layer can only be established after the layer has loaded. It can be used to identify the content type contained within the scene layer.

This function was introduced in Esri::ArcGISRuntime 100.5.

FeatureTable *ArcGISSceneLayer::featureTable() const

Returns the feature table associated with this ArcGISSceneLayer.

This function was introduced in Esri::ArcGISRuntime 100.3.

[virtual] RequestConfiguration ArcGISSceneLayer::requestConfiguration() const

Reimplemented from RemoteResource::requestConfiguration().

Returns the RequestConfiguration in use by this scene layer.

This function was introduced in Esri::ArcGISRuntime 100.1.

See also setRequestConfiguration().

void ArcGISSceneLayer::selectFeature(Feature *feature)

Adds the feature to the current selection set.

This function was introduced in Esri::ArcGISRuntime 100.3.

void ArcGISSceneLayer::selectFeatures(const QList<Feature *> &features)

Adds multiple features to the current selection set.

This function was introduced in Esri::ArcGISRuntime 100.3.

TaskWatcher ArcGISSceneLayer::selectedFeatures()

Launches a task to retrieve a collection of selected features, and returns a TaskWatcher for the asynchronous task.

This function was introduced in Esri::ArcGISRuntime 100.3.

[signal] void ArcGISSceneLayer::selectedFeaturesCompleted(QUuid taskId, Esri::ArcGISRuntime::FeatureQueryResult *featureQueryResult)

Signal emitted when the current selected features have been determined.

  • taskId - The task ID for the asynchronous operation.
  • featureQueryResult - A feature query result containing an iterator pointing to the selected features.

This function was introduced in Esri::ArcGISRuntime 100.3.

void ArcGISSceneLayer::setAltitudeOffset(double altitudeOffset)

Sets the altitudeOffset of this layer.

An altitude offset provides a simple mechanism to consistently modify the elevation of all features in the layer with a single value.

This function was introduced in Esri::ArcGISRuntime 100.6.

See also altitudeOffset().

[virtual] void ArcGISSceneLayer::setRequestConfiguration(const RequestConfiguration &requestConfiguration)

Reimplemented from RemoteResource::setRequestConfiguration().

Sets configuration parameters used for network requests sent by this scene layer to requestConfiguration.

This function was introduced in Esri::ArcGISRuntime 100.1.

See also requestConfiguration().

void ArcGISSceneLayer::setSurfacePlacement(SurfacePlacement surfacePlacement)

Sets the SurfacePlacement.

The SurfacePlacement enumeration specifies how the surface defines altitude.

This function was introduced in Esri::ArcGISRuntime 100.6.

See also surfacePlacement().

SurfacePlacement ArcGISSceneLayer::surfacePlacement() const

Returns the SurfacePlacement.

The SurfacePlacement enumeration specifies how the surface defines altitude.

This function was introduced in Esri::ArcGISRuntime 100.6.

See also setSurfacePlacement().

void ArcGISSceneLayer::unselectFeature(Feature *feature)

Unselects and removes a feature from the current selection.

This function was introduced in Esri::ArcGISRuntime 100.3.

void ArcGISSceneLayer::unselectFeatures(const QList<Feature *> &features)

Unselects and removes features from the current selection.

This function was introduced in Esri::ArcGISRuntime 100.3.

[virtual] QUrl ArcGISSceneLayer::url() const

Reimplemented from RemoteResource::url().

Returns the scene service layer URL.


Feedback on this topic?