Skip To Content ArcGIS for Developers Sign In Dashboard

ModelSceneSymbol Class

(Esri::ArcGISRuntime::ModelSceneSymbol)

A 3D marker symbol based on 3D models. 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

A 3D marker symbol based on 3D models.

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. The supported model file types include Collada (.dae), 3D Max (.3ds), Blender 3d (.blend), and the formats listed in the Open Asset Import Library (Assimp). 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.

Example:

Create a ModelSceneSymbol from a *.lwo 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?