SceneGraphicsView Class

  • SceneGraphicsView
  • class Esri::ArcGISRuntime::SceneGraphicsView

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

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

    This class was introduced in Esri::ArcGISRuntime 100.0.

    Public Functions

    SceneGraphicsView(Esri::ArcGISRuntime::Scene *scene, QWidget *parent = nullptr)
    SceneGraphicsView(QWidget *parent = nullptr)
    virtual ~SceneGraphicsView() override

    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()

    Detailed Description

    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(Esri::ArcGISRuntime::Scene *scene, QWidget *parent = nullptr)

    Constructor that takes a scene and an optional parent.

    SceneGraphicsView::SceneGraphicsView(QWidget *parent = nullptr)

    Default constructor that takes an optional parent.

    [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.

    [override virtual] SceneGraphicsView::~SceneGraphicsView()

    Destructor.

    Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.

    You can no longer sign into this site. Go to your ArcGIS portal or the ArcGIS Location Platform dashboard to perform management tasks.

    Your ArcGIS portal

    Create, manage, and access API keys and OAuth 2.0 developer credentials, hosted layers, and data services.

    Your ArcGIS Location Platform dashboard

    Manage billing, monitor service usage, and access additional resources.

    Learn more about these changes in the What's new in Esri Developers June 2024 blog post.

    Close