Skip To Content ArcGIS for Developers Sign In Dashboard

SceneGraphicsView Class

(Esri::ArcGISRuntime::SceneGraphicsView)

A 3D scene implemented as a QGraphicWidget. More...

Header: #include <SceneGraphicsView>
Since: Esri::ArcGISRuntime 100.0
Inherits: QGraphicsView and SceneView

Public Functions

SceneGraphicsView(QWidget *parent = nullptr)
SceneGraphicsView(Scene *scene, QWidget *parent = nullptr)
~SceneGraphicsView()

Signals

void attributionRectChanged()
void attributionTextChanged()
void drawStatusChanged(Esri::ArcGISRuntime::DrawStatus status)
void errorOccurred(Esri::ArcGISRuntime::Error error)
void exportImageCompleted(QUuid taskId, QImage image)
void identifyGraphicsOverlayCompleted(QUuid taskId, Esri::ArcGISRuntime::IdentifyGraphicsOverlayResult *identifyResult)
void identifyGraphicsOverlaysCompleted(QUuid taskId, QList<Esri::ArcGISRuntime::IdentifyGraphicsOverlayResult *> identifyResults)
void identifyLayerCompleted(QUuid taskId, Esri::ArcGISRuntime::IdentifyLayerResult *identifyResult)
void identifyLayersCompleted(QUuid taskId, QList<Esri::ArcGISRuntime::IdentifyLayerResult *> identifyResults)
void keyPressed(QKeyEvent &keyEvent)
void keyReleased(QKeyEvent &keyEvent)
void layerViewStateChanged(Esri::ArcGISRuntime::Layer *layer, Esri::ArcGISRuntime::LayerViewState layerViewState)
void mouseClicked(QMouseEvent &mouseEvent)
void mouseDoubleClicked(QMouseEvent &mouseEvent)
void mouseMoved(QMouseEvent &mouseEvent)
void mousePressed(QMouseEvent &mouseEvent)
void mousePressedAndHeld(QMouseEvent &mouseEvent)
void mouseReleased(QMouseEvent &mouseEvent)
void mouseWheelChanged(QWheelEvent &wheelEvent)
void navigatingChanged()
void rectChanged(QRectF rect)
void sceneChanged()
void screenToLocationCompleted(QUuid taskId, Esri::ArcGISRuntime::Point location)
void setBookmarkCompleted(bool succeeded)
void setViewpointCameraCompleted(bool succeeded)
void setViewpointCompleted(bool succeeded)
void spatialReferenceChanged()
void touched(QTouchEvent &event)
void viewpointChanged()

Additional Inherited Members

Detailed Description

A 3D scene implemented as a QGraphicWidget.

A SceneGraphicsView renders data in a 3D scene and allows users to interact with the scene. In an MVC architecture, a SceneGraphicsView represents the view and a Scene represents the model.

A SceneGraphicsView implements a scene view as a QGraphicsView widget. It is used in user interfaces coded with C++.

Example:

Create a SceneGraphicsView and set as central widget:

// create the scene view
m_sceneView = new SceneGraphicsView(this);
// set central widget with the scene view on the QMainWindow
setCentralWidget(m_sceneView);

See also Scene, SceneView, and GeoView.

Member Function Documentation

SceneGraphicsView::SceneGraphicsView(QWidget *parent = nullptr)

Default constructor that takes an optional parent.

SceneGraphicsView::SceneGraphicsView(Scene *scene, QWidget *parent = nullptr)

Constructor that takes a scene and an optional parent.

SceneGraphicsView::~SceneGraphicsView()

Destructor.

[signal] void SceneGraphicsView::attributionRectChanged()

Emitted when the attribution bounding rectangle changes.

This function was introduced in Esri::ArcGISRuntime 100.1.

[signal] void SceneGraphicsView::attributionTextChanged()

Emitted when the attribution text changes.

This function was introduced in Esri::ArcGISRuntime 100.1.

[signal] void SceneGraphicsView::drawStatusChanged(Esri::ArcGISRuntime::DrawStatus status)

Signal emitted when the DrawStatus changes.

[signal] void SceneGraphicsView::errorOccurred(Esri::ArcGISRuntime::Error error)

Signal emitted when an error occurs.

  • error - Details about the error.

[signal] void SceneGraphicsView::exportImageCompleted(QUuid taskId, QImage image)

Signal emitted when exportImage has completed.

[signal] void SceneGraphicsView::identifyGraphicsOverlayCompleted(QUuid taskId, Esri::ArcGISRuntime::IdentifyGraphicsOverlayResult *identifyResult)

Emitted when an identifyGraphicsOverlay operation completes.

  • taskId - The task ID for the asynchronous operation.
  • identifyResult - The identify graphics overlay result object.

The returned IdentifyGraphicsOverlayResult object has the SceneGraphicsView as its parent.

See also Returned QObjects Parenting.

[signal] void SceneGraphicsView::identifyGraphicsOverlaysCompleted(QUuid taskId, QList<Esri::ArcGISRuntime::IdentifyGraphicsOverlayResult *> identifyResults)

Emitted when an identifyGraphicsOverlays operation completes.

The returned IdentifyGraphicsOverlayResult objects have the SceneGraphicsView as their parent.

See also Returned QObjects Parenting.

[signal] void SceneGraphicsView::identifyLayerCompleted(QUuid taskId, Esri::ArcGISRuntime::IdentifyLayerResult *identifyResult)

Emitted when an identifyLayer operation completes.

  • taskId - The task ID for the asynchronous operation.
  • identifyResult - The IdentifyLayerResult object containing a list of GeoElements.

The returned IdentifyLayerResult object has the SceneGraphicsView as its parent.

See also Returned QObjects Parenting.

[signal] void SceneGraphicsView::identifyLayersCompleted(QUuid taskId, QList<Esri::ArcGISRuntime::IdentifyLayerResult *> identifyResults)

Emitted when an identifyLayers operation completes.

  • taskId - The task ID for the asynchronous operation.
  • identifyResults - A list of IdentifyLayerResult.

The returned IdentifyLayerResult objects have the SceneGraphicsView as their parent.

See also Returned QObjects Parenting.

[signal] void SceneGraphicsView::keyPressed(QKeyEvent &keyEvent)

Emitted when a key pressed has been detected.

  • keyEvent - The key event.

[signal] void SceneGraphicsView::keyReleased(QKeyEvent &keyEvent)

Emitted when a key release has been detected.

  • keyEvent - The key event.

[signal] void SceneGraphicsView::layerViewStateChanged(Esri::ArcGISRuntime::Layer *layer, Esri::ArcGISRuntime::LayerViewState layerViewState)

Signal emitted when the LayerViewState changes.

  • layer - The layer that had a state change.
  • layerViewState - The LayerViewState with the new state information.

The returned Layer object has the SceneGraphicsView as its parent.

See also Returned QObjects Parenting.

[signal] void SceneGraphicsView::mouseClicked(QMouseEvent &mouseEvent)

Emitted when mouse is pressed and released over the same location.

  • mouseEvent - The mouse event.

[signal] void SceneGraphicsView::mouseDoubleClicked(QMouseEvent &mouseEvent)

Emitted when a double click even is detected.

  • mouseEvent - The mouse event.

[signal] void SceneGraphicsView::mouseMoved(QMouseEvent &mouseEvent)

Emitted when mouse is moved.

  • mouseEvent - The mouse event.

[signal] void SceneGraphicsView::mousePressed(QMouseEvent &mouseEvent)

Emitted when mouse is pressed.

  • mouseEvent - The mouse event.

[signal] void SceneGraphicsView::mousePressedAndHeld(QMouseEvent &mouseEvent)

Emitted when there is a long press and hold (currently 800ms) on the same point.

  • mouseEvent - The mouse event.

[signal] void SceneGraphicsView::mouseReleased(QMouseEvent &mouseEvent)

Emitted when mouse is released.

  • mouseEvent - The mouse event.

[signal] void SceneGraphicsView::mouseWheelChanged(QWheelEvent &wheelEvent)

Emitted when mouse wheel movement has been detected.

  • wheelEvent - The wheel event.

Signal emitted when the view has started or completed navigating.

[signal] void SceneGraphicsView::rectChanged(QRectF rect)

Emitted when the visible area changes.

  • rect - The new rect representing the visible area.

[signal] void SceneGraphicsView::sceneChanged()

Emitted when the scene changes.

This function was introduced in Esri::ArcGISRuntime 100.3.

[signal] void SceneGraphicsView::screenToLocationCompleted(QUuid taskId, Esri::ArcGISRuntime::Point location)

Signal emitted when the screenToLocation operation completes.

  • taskId - The task ID from the screenToLocation async task.
  • location - The location on the scene view.

[signal] void SceneGraphicsView::setBookmarkCompleted(bool succeeded)

Signal emitted when a bookmark has been set.

  • succeeded - Whether the bookmark was successfully set.

This function was introduced in Esri::ArcGISRuntime 100.3.

[signal] void SceneGraphicsView::setViewpointCameraCompleted(bool succeeded)

Signal emitted when the viewpoint with camera has been set.

  • succeeded - Whether the viewpoint was successfully set.

[signal] void SceneGraphicsView::setViewpointCompleted(bool succeeded)

Signal emitted when the viewpoint has been set.

  • succeeded - Whether the viewpoint was successfully set.

[signal] void SceneGraphicsView::spatialReferenceChanged()

Signal emitted when the SpatialReference changed.

[signal] void SceneGraphicsView::touched(QTouchEvent &event)

Emitted when a touch event has been detected.

Accept the event to prevent the SceneGraphicsView from performing its default gesture interaction behavior.

  • event - The touch event.

[signal] void SceneGraphicsView::viewpointChanged()

Emitted when the viewpoint changes.


Feedback on this topic?