18#ifndef QGSTILEDSCENELAYERRENDERER_H
19#define QGSTILEDSCENELAYERRENDERER_H
29#include <QElapsedTimer>
90 const tinygltf::Model &model,
91 const tinygltf::Primitive &primitive,
94 const QMatrix4x4 *gltfLocalTransform,
95 const QString &contentUri,
99 void renderTrianglePrimitive(
100 const tinygltf::Model &model,
101 const tinygltf::Primitive &primitive,
104 const QMatrix4x4 *gltfLocalTransform,
105 const QString &contentUri,
109 void renderLinePrimitive(
110 const tinygltf::Model &model,
111 const tinygltf::Primitive &primitive,
114 const QMatrix4x4 *gltfLocalTransform,
115 const QString &contentUri,
121 std::unique_ptr< QgsTiledSceneRenderer > mRenderer;
122 bool mRenderTileBorders =
false;
124 QList< QgsMapClippingRegion > mClippingRegions;
133 enum class PrimitiveType
142 QPolygonF coordinates;
144 QPair< int, int > textureId { -1, -1 };
145 float textureCoords[6];
148 QVector< PrimitiveData > mPrimitiveData;
150 int mCurrentModelId = 0;
151 QHash< QPair< int, int >, QImage > mTextures;
156 bool hasContent =
false;
159 QVector< TileDetails > mTileDetails;
161 std::unique_ptr<QgsFeedback> mFeedback;
162 QSet< int > mWarnedPrimitiveTypes;
164 QElapsedTimer mElapsedTimer;
166 bool mEnableProfile =
false;
167 quint64 mPreparationTime = 0;
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
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).
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.
QgsMapLayerRenderer(const QString &layerID, QgsRenderContext *context=nullptr)
Constructor for QgsMapLayerRenderer, with the associated layerID and render context.
Contains information about the context of a rendering operation.
Represents a bounding volume for a tiled scene.
An index for tiled scene data providers.
QgsTiledSceneLayerRenderer(QgsTiledSceneLayer *layer, QgsRenderContext &context)
Ctor.
QgsFeedback * feedback() const override
Access to feedback object of the layer renderer (may be nullptr).
~QgsTiledSceneLayerRenderer() override
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.
A 3D vector (similar to QVector3D) with the difference that it uses double precision instead of singl...