16#ifndef QGSMAPOVERLAYENTITY_H
17#define QGSMAPOVERLAYENTITY_H
39class QgsMapOverlayTextureGenerator;
55 explicit QgsMapOverlayEntity( QgsWindow3DEngine *engine, QgsOverlayTextureRenderView *debugTextureRenderView, Qgs3DMapSettings *mapSettings, Qt3DCore::QNode *parent =
nullptr );
57 ~QgsMapOverlayEntity()
override;
66 void update(
const QgsRectangle &extent,
const QVector<QgsPointXY> &frustumExtent,
double rotationDegrees,
bool showFrustum =
false );
70 void onLayersChanged();
71 void onTextureReady(
const QImage &image );
75 void invalidateMapImage();
76 void connectToLayersRepaintRequest();
80 static int size = []() {
81 constexpr int baseSize = 256;
82 QgsMapSettings mapSettings;
83 return static_cast<int>( std::round( baseSize * mapSettings.
devicePixelRatio() ) );
90 QgsWindow3DEngine *mEngine =
nullptr;
91 Qgs3DMapSettings *mMapSettings =
nullptr;
92 QgsMapOverlayTextureGenerator *mTextureGenerator =
nullptr;
94 Qt3DRender::QTextureImageDataPtr mImageDataPtr;
97 QList<QgsMapLayer *> mLayers;
100 QVector<QgsPointXY> mFrustumExtent;
102 bool mShowFrustum =
false;
Base class for all map layer types.
float devicePixelRatio() const
Returns the device pixel ratio.
An entity responsible for rendering an overlay texture in 3D view.
Simple render view to preview overlay textures in 3D view.
On-screen 3D engine: it creates an OpenGL window (QWindow) and displays rendered 3D scenes there.