|
QGroundControl
Ground Control Station for MAVLink Drones
|
#include <GeoMapSpriteLayer.h>
Inheritance diagram for GeoMapSpriteLayer:
Collaboration diagram for GeoMapSpriteLayer:Signals | |
| void | sceneChanged () |
| void | surfaceModelChanged () |
| void | modelChanged () |
| void | coordinatesChanged () |
| void | spriteChanged () |
| void | spriteSizeChanged () |
Public Member Functions | |
| GeoMapSpriteLayer (QQuickItem *parent=nullptr) | |
| GeoScene * | scene () const |
| void | setScene (GeoScene *scene) |
| SurfacePatchModel * | surfaceModel () const |
| void | setSurfaceModel (SurfacePatchModel *surfaceModel) |
| QAbstractItemModel * | model () const |
| void | setModel (QAbstractItemModel *model) |
| QVariantList | coordinates () const |
| Coordinate list alternative to model (model takes precedence when set) | |
| void | setCoordinates (const QVariantList &coordinates) |
| QQuickItem * | sprite () const |
| void | setSprite (QQuickItem *sprite) |
| qreal | spriteSize () const |
| On-screen sprite width/height in (logical) pixels. | |
| void | setSpriteSize (qreal spriteSize) |
Protected Member Functions | |
| QSGNode * | updatePaintNode (QSGNode *oldNode, UpdatePaintNodeData *updatePaintNodeData) override |
Batched screen-space marker layer: renders one identical sprite per model row as a single scene-graph geometry node (one draw call, no per-marker QObjects). Use instead of a Repeater of GeoMapItems for high-count marker types (e.g. camera trigger points).
The model must expose a QObject per row at Qt::UserRole (QmlObjectListModel contract) with a QGeoCoordinate "coordinate" property; alternatively set coordinates to a plain list of QGeoCoordinates. Markers clamp to the rendered terrain surface and are center-anchored at spriteSize pixels square, in both 2D and 3D camera modes. sprite must be a texture provider (an Item with layer.enabled or a ShaderEffectSource).
Definition at line 40 of file GeoMapSpriteLayer.h.
|
explicit |
Definition at line 27 of file GeoMapSpriteLayer.cc.
|
inline |
Coordinate list alternative to model (model takes precedence when set)
Definition at line 67 of file GeoMapSpriteLayer.h.
Referenced by setCoordinates().
|
signal |
Referenced by setCoordinates().
|
inline |
Definition at line 62 of file GeoMapSpriteLayer.h.
Referenced by setModel().
|
signal |
Referenced by setModel().
|
inline |
Definition at line 54 of file GeoMapSpriteLayer.h.
Referenced by setScene().
|
signal |
Referenced by setScene().
| void GeoMapSpriteLayer::setCoordinates | ( | const QVariantList & | coordinates | ) |
Definition at line 107 of file GeoMapSpriteLayer.cc.
References coordinates(), and coordinatesChanged().
| void GeoMapSpriteLayer::setModel | ( | QAbstractItemModel * | model | ) |
Definition at line 81 of file GeoMapSpriteLayer.cc.
References model(), and modelChanged().
| void GeoMapSpriteLayer::setScene | ( | GeoScene * | scene | ) |
Definition at line 35 of file GeoMapSpriteLayer.cc.
References GeoScene::cameraChanged(), scene(), sceneChanged(), GeoScene::sceneOriginChanged(), and GeoScene::terrainScaleChanged().
| void GeoMapSpriteLayer::setSprite | ( | QQuickItem * | sprite | ) |
Definition at line 117 of file GeoMapSpriteLayer.cc.
References sprite(), and spriteChanged().
| void GeoMapSpriteLayer::setSpriteSize | ( | qreal | spriteSize | ) |
Definition at line 138 of file GeoMapSpriteLayer.cc.
References spriteSize(), and spriteSizeChanged().
| void GeoMapSpriteLayer::setSurfaceModel | ( | SurfacePatchModel * | surfaceModel | ) |
Definition at line 59 of file GeoMapSpriteLayer.cc.
References surfaceModel(), surfaceModelChanged(), and SurfacePatchModel::terrainHeightsChanged().
|
inline |
Definition at line 71 of file GeoMapSpriteLayer.h.
Referenced by setSprite().
|
signal |
Referenced by setSprite().
|
inline |
On-screen sprite width/height in (logical) pixels.
Definition at line 76 of file GeoMapSpriteLayer.h.
Referenced by setSpriteSize().
|
signal |
Referenced by setSpriteSize().
|
inline |
Definition at line 58 of file GeoMapSpriteLayer.h.
Referenced by setSurfaceModel().
|
signal |
Referenced by setSurfaceModel().
|
overrideprotected |
Definition at line 221 of file GeoMapSpriteLayer.cc.
References GeoScene::camera(), GeoScene::terrainScale(), GeoScene::verticalScale(), and GeoMapCamera::worldToScreen().