18#ifndef QGSTILEDSCENELAYERRENDERER_H
19#define QGSTILEDSCENELAYERRENDERER_H
28#include <QElapsedTimer>
69 Qgis::MapLayerRendererFlags
flags()
const override;
88 void renderPrimitive(
const tinygltf::Model &model,
89 const tinygltf::Primitive &primitive,
92 const QMatrix4x4 *gltfLocalTransform,
93 const QString &contentUri,
96 void renderTrianglePrimitive(
const tinygltf::Model &model,
97 const tinygltf::Primitive &primitive,
100 const QMatrix4x4 *gltfLocalTransform,
101 const QString &contentUri,
104 void renderLinePrimitive(
const tinygltf::Model &model,
105 const tinygltf::Primitive &primitive,
108 const QMatrix4x4 *gltfLocalTransform,
109 const QString &contentUri,
114 std::unique_ptr< QgsTiledSceneRenderer > mRenderer;
115 bool mRenderTileBorders =
false;
117 QList< QgsMapClippingRegion > mClippingRegions;
125 enum class PrimitiveType
134 QPolygonF coordinates;
136 QPair< int, int > textureId { -1, -1 };
137 float textureCoords[6];
140 QVector< PrimitiveData > mPrimitiveData;
142 int mCurrentModelId = 0;
143 QHash< QPair< int, int >, QImage > mTextures;
148 bool hasContent =
false;
151 QVector< TileDetails > mTileDetails;
153 std::unique_ptr<QgsFeedback> mFeedback;
154 QSet< int > mWarnedPrimitiveTypes;
156 QElapsedTimer mElapsedTimer;
158 bool mEnableProfile =
false;
159 quint64 mPreparationTime = 0;
This class represents a coordinate reference system (CRS).
Base class for feedback objects to be used for cancellation of something running in a worker thread.
A map clipping region (in map coordinates and CRS).
Base class for utility classes that encapsulate information necessary for rendering of map layers.
virtual bool render()=0
Do the rendering (based on data stored in the class).
virtual bool forceRasterRender() const
Returns true if the renderer must be rendered to a raster paint device (e.g.
virtual Qgis::MapLayerRendererFlags flags() const
Returns flags which control how the map layer rendering behaves.
Contains information about the context of a rendering operation.
Represents a bounding volume for a tiled scene.
An index for tiled scene data providers.
Implementation of threaded 2D rendering for tiled scene layers.
QgsFeedback * feedback() const override
Access to feedback object of the layer renderer (may be nullptr)
~QgsTiledSceneLayerRenderer()
Represents a map layer supporting display of tiled scene objects.
Encapsulates the render context for a 2D tiled scene rendering operation.
Abstract base class for 2d tiled scene renderers.
Tiled scene data request.
Represents an individual tile from a tiled scene data source.
Class for storage of 3D vectors similar to QVector3D, with the difference that it uses double precisi...