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

    Public Functions

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


    void attributionRectChanged()
    void attributionTextChanged()
    void drawStatusChanged(Esri::ArcGISRuntime::DrawStatus status)
    void errorOccurred(const Esri::ArcGISRuntime::Error &error)
    void hoverEntered(QHoverEvent &hoverEvent)
    void hoverLeft(QHoverEvent &hoverEvent)
    void hoverMoved(QHoverEvent &hoverEvent)
    void keyPressed(QKeyEvent &keyEvent)
    void keyReleased(QKeyEvent &keyEvent)
    void layerViewStateChanged(Esri::ArcGISRuntime::Layer *layer, const 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(const QRectF &rect)
    void sceneChanged()
    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++.


    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

    See also Scene, SceneView, and GeoView.

    Member Function Documentation

    [explicit] SceneGraphicsView::SceneGraphicsView(QWidget *parent = nullptr)

    Default constructor that takes an optional parent.

    [explicit] SceneGraphicsView::SceneGraphicsView(Esri::ArcGISRuntime::Scene *scene, QWidget *parent = nullptr)

    Constructor that takes a scene and an optional parent.

    [override virtual] SceneGraphicsView::~SceneGraphicsView()


    [signal, since Esri::ArcGISRuntime 100.1] void SceneGraphicsView::attributionRectChanged()

    Emitted when the attribution bounding rectangle changes.

    This function was introduced in Esri::ArcGISRuntime 100.1.

    [signal, since Esri::ArcGISRuntime 100.1] 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(const Esri::ArcGISRuntime::Error &error)

    Signal emitted when an error occurs.

    • error - Details about the error.

    [signal, since Esri::ArcGISRuntime 200.2] void SceneGraphicsView::hoverEntered(QHoverEvent &hoverEvent)

    Emitted when the cursor enters.

    • hoverEvent - The hover event.

    This function was introduced in Esri::ArcGISRuntime 200.2.

    [signal, since Esri::ArcGISRuntime 200.2] void SceneGraphicsView::hoverLeft(QHoverEvent &hoverEvent)

    Emitted when the cursor leaves.

    • hoverEvent - The hover event.

    This function was introduced in Esri::ArcGISRuntime 200.2.

    [signal, since Esri::ArcGISRuntime 200.2] void SceneGraphicsView::hoverMoved(QHoverEvent &hoverEvent)

    Emitted when the cursor moves.

    • hoverEvent - The hover event.

    This function was introduced in Esri::ArcGISRuntime 200.2.

    [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, const 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(const QRectF &rect)

    Emitted when the visible area changes.

    • rect - The new rect representing the visible area.

    [signal, since Esri::ArcGISRuntime 100.3] void SceneGraphicsView::sceneChanged()

    Emitted when the scene changes.

    This function was introduced in Esri::ArcGISRuntime 100.3.

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

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