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 |
Signals
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++.
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
[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 ()
Destructor.
[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.
- status - The new DrawStatus.
[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]
void SceneGraphicsView::navigatingChanged ()
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.