Skip To Content ArcGIS for Developers Sign In Dashboard

ModelSceneSymbol Class

(Esri::ArcGISRuntime::ModelSceneSymbol)

Used to display Point or Multipoint GeoElements in a scene using a 3D model. More...

Header: #include <ModelSceneSymbol>
Since: Esri::ArcGISRuntime 100.0
Inherits: MarkerSceneSymbol, Loadable, and RemoteResource

Public Functions

ModelSceneSymbol(const QUrl &url, QObject *parent = nullptr)
ModelSceneSymbol(const QUrl &url, Credential *credential, QObject *parent = nullptr)
ModelSceneSymbol(const QUrl &url, float scale, QObject *parent = nullptr)
ModelSceneSymbol(const QUrl &url, Credential *credential, float scale, QObject *parent = nullptr)
~ModelSceneSymbol()
float scale() const
void setSymbolSizeUnits(SymbolSizeUnits sizeUnits)
SymbolSizeUnits symbolSizeUnits() const

Reimplemented Public Functions

virtual void cancelLoad()
virtual Credential *credential() const
virtual void load()
virtual Error loadError() const
virtual LoadStatus loadStatus() const
virtual RequestConfiguration requestConfiguration() const
virtual void retryLoad()
virtual void setRequestConfiguration(const RequestConfiguration &requestConfiguration)
virtual QUrl url() const

Signals

void doneLoading(Esri::ArcGISRuntime::Error loadError)
void loadStatusChanged(Esri::ArcGISRuntime::LoadStatus loadStatus)

Additional Inherited Members

Detailed Description

Used to display Point or Multipoint GeoElements in a scene using a 3D model.

A model symbol is used to provide a realistic three-dimensional visualization to symbolize scene features. Create a ModelSceneSymbol using a 3D model file, passing the URL of the file and a scale factor to the model symbol constructor. Depending on the model file's default orientation, you may have to rotate the symbol to get your model in the desired orientation. Note that ModelSceneSymbol will not display using static rendering mode. The symbol will be positioned using the centroid of the model object, and this may not be the same as the center of its bounding extent. Refer to the {https://developers.arcgis.com/qt/latest/qml/guide/symbol-types-described.htm}{Symbol types} topic in the developers guide for information about supported 3D model types.

Example:

Create a ModelSceneSymbol from a *.dae file:

constexpr float scale = 5.0f;
ModelSceneSymbol* mms = new ModelSceneSymbol(QUrl(dataPath), scale, this);
mms->setHeading(180);

Member Function Documentation

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

Constructs a model scene symbol by providing a url and an optional parent.

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

Constructs a model scene symbol by providing a url, credential, and an optional parent.

ModelSceneSymbol::ModelSceneSymbol(const QUrl &url, float scale, QObject *parent = nullptr)

Constructs a model scene symbol by providing a url, scale factor, and an optional parent.

ModelSceneSymbol::ModelSceneSymbol(const QUrl &url, Credential *credential, float scale, QObject *parent = nullptr)

Constructs a model scene symbol by providing a url, credential, scale factor, and an optional parent.

ModelSceneSymbol::~ModelSceneSymbol()

Destructor.

[virtual] void ModelSceneSymbol::cancelLoad()

Reimplemented from Loadable::cancelLoad().

See Loadable.

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

Reimplemented from RemoteResource::credential().

Returns the credential of the symbol.

[signal] void ModelSceneSymbol::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.

[virtual] void ModelSceneSymbol::load()

Reimplemented from Loadable::load().

See Loadable.

[virtual] Error ModelSceneSymbol::loadError() const

Reimplemented from Loadable::loadError().

See Loadable.

[virtual] LoadStatus ModelSceneSymbol::loadStatus() const

Reimplemented from Loadable::loadStatus().

See Loadable.

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

Signal emitted when the load status changes for this object.

See also Loadable.

[virtual] RequestConfiguration ModelSceneSymbol::requestConfiguration() const

Reimplemented from RemoteResource::requestConfiguration().

Returns the RequestConfiguration in use by this symbol.

This function was introduced in Esri::ArcGISRuntime 100.1.

See also setRequestConfiguration().

[virtual] void ModelSceneSymbol::retryLoad()

Reimplemented from Loadable::retryLoad().

See Loadable.

float ModelSceneSymbol::scale() const

Returns the scale factor of the symbol.

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

Reimplemented from RemoteResource::setRequestConfiguration().

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

This function was introduced in Esri::ArcGISRuntime 100.1.

See also requestConfiguration().

void ModelSceneSymbol::setSymbolSizeUnits(SymbolSizeUnits sizeUnits)

Sets the symbol size units of the model symbol using the specified sizeUnits.

Default is SymbolSizeUnits::Meters

Renders the symbol by interpreting the size values as DIPs or Meters.

This function was introduced in Esri::ArcGISRuntime 100.5.

See also symbolSizeUnits().

SymbolSizeUnits ModelSceneSymbol::symbolSizeUnits() const

Returns the symbol size units of the model symbol.

This function was introduced in Esri::ArcGISRuntime 100.5.

See also setSymbolSizeUnits().

[virtual] QUrl ModelSceneSymbol::url() const

Reimplemented from RemoteResource::url().

Returns the url of the symbol.


Feedback on this topic?