Skip To Content ArcGIS for Developers Sign In Dashboard

Surface Class

(Esri::ArcGISRuntime::Surface)

Class containing elevation sources. More...

Header: #include <Surface>
Since: Esri::ArcGISRuntime 100.0
Inherits: Object and Loadable

Public Functions

Surface(QObject *parent = nullptr)
Surface(const QList<ElevationSource *> &elevationSources, QObject *parent = nullptr)
~Surface()
BackgroundGrid backgroundGrid() const
float elevationExaggeration() const
ElevationSourceListModel *elevationSources() const
bool isEnabled() const
TaskWatcher locationToElevation(const Point &location)
QString name() const
NavigationConstraint navigationConstraint() const
float opacity() const
void setBackgroundGrid(const BackgroundGrid &backgroundGrid)
void setElevationExaggeration(float exaggeration)
void setEnabled(bool enabled)
void setName(const QString &name)
void setNavigationConstraint(NavigationConstraint navigationConstraint)
void setOpacity(float opacity) const

Reimplemented Public Functions

virtual void cancelLoad()
virtual void load()
virtual Error loadError() const
virtual LoadStatus loadStatus() const
virtual void retryLoad()

Signals

void doneLoading(Esri::ArcGISRuntime::Error loadError)
void loadStatusChanged(Esri::ArcGISRuntime::LoadStatus loadStatus)
void locationToElevationCompleted(QUuid taskId, double elevation)

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

Class containing elevation sources.

Surface contains a list of elevation sources, and defines a surface upon which layers and overlays can be draped. The order of the elevation sources determines how the elevations are blended together for each level of detail.

Member Function Documentation

Surface::Surface(QObject *parent = nullptr)

Default constructor that takes an optional parent.

Surface::Surface(const QList<ElevationSource *> &elevationSources, QObject *parent = nullptr)

Constructor that takes a list of ElevationSource elevationSources and an optional parent.

Surface::~Surface()

Destructor

BackgroundGrid Surface::backgroundGrid() const

Gets the surface's background grid.

The surface is displayed on top of the background grid.

This function was introduced in Esri::ArcGISRuntime 100.1.

See also setBackgroundGrid().

[virtual] void Surface::cancelLoad()

Reimplemented from Loadable::cancelLoad().

See Loadable.

[signal] void Surface::doneLoading(Esri::ArcGISRuntime::Error loadError)

Signal emitted when this object is done loading.

  • loadError - Details about any error that may have occurred.

Note: If there is a load error it will also be emitted on the errorOccurred signal.

See also Loadable and Object.

float Surface::elevationExaggeration() const

Gets the elevation exaggeration for the surface.

The altitude values of the surface data are multiplied by the exaggeration value. The default value is 1.0.

See also setElevationExaggeration().

ElevationSourceListModel *Surface::elevationSources() const

Gets the list of elevationSources as a model.

bool Surface::isEnabled() const

Gets whether the surface is enabled.

Returns true if it is enabled.

[virtual] void Surface::load()

Reimplemented from Loadable::load().

See Loadable.

[virtual] Error Surface::loadError() const

Reimplemented from Loadable::loadError().

See Loadable.

[virtual] LoadStatus Surface::loadStatus() const

Reimplemented from Loadable::loadStatus().

See Loadable.

[signal] void Surface::loadStatusChanged(Esri::ArcGISRuntime::LoadStatus loadStatus)

Signal emitted when the loadStatus property changes.

See also Loadable.

TaskWatcher Surface::locationToElevation(const Point &location)

Gets the elevation (in meters) for the specified location on the surface.

[signal] void Surface::locationToElevationCompleted(QUuid taskId, double elevation)

Signal emitted when the elevation of the point has been calculated.

  • taskId - The task ID for the asynchronous operation.
  • elevation - The elevation of the point in meters above sea level.

QString Surface::name() const

Gets the name of the surface.

See also setName().

Gets the type of navigation constraint from the surface.

The default value is NavigationConstraint::StayAbove.

This function was introduced in Esri::ArcGISRuntime 100.5.

See also setNavigationConstraint().

float Surface::opacity() const

Gets the opacity of the ground surface.

This function was introduced in Esri::ArcGISRuntime 100.5.

See also setOpacity.

[virtual] void Surface::retryLoad()

Reimplemented from Loadable::retryLoad().

See Loadable.

void Surface::setBackgroundGrid(const BackgroundGrid &backgroundGrid)

Sets the surface's background grid to backgroundGrid.

This function was introduced in Esri::ArcGISRuntime 100.1.

See also backgroundGrid().

void Surface::setElevationExaggeration(float exaggeration)

Sets the elevation exaggeration for the surface.

See also elevationExaggeration().

void Surface::setEnabled(bool enabled)

Sets whether the surface is enabled.

See also isEnabled().

void Surface::setName(const QString &name)

Sets the name of the surface.

See also name().

void Surface::setNavigationConstraint(NavigationConstraint navigationConstraint)

Sets the type of navigation constraint from the surface to navigationConstraint.

The default value is NavigationConstraint::StayAbove.

This function was introduced in Esri::ArcGISRuntime 100.5.

See also navigationConstraint().

void Surface::setOpacity(float opacity) const

Sets the opacity of the ground surface.

You can adjust this ground surface opacity property to see through the ground. Changing this property also changes the transparency of the basemap. (Draped operational layers are not affected by this property.) Valid opacity values are from 0.0 (full transparency) to 1.0 (full opacity). The opacity affects all base layers and the grid color:

  • If an individual base layer has 50% opacity and the surface has 50% opacity, the effect will be multiplicative, i.e. the base layer will appear to have 25% opacity.
  • If the grid color has an alpha value of 50% and the surface has 50% opacity, the effect on the grid will also be multiplicative.

The default value is 1.0.

This function was introduced in Esri::ArcGISRuntime 100.5.

See also opacity().


Feedback on this topic?