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.