18#ifndef QGSPOINTCLOUDLAYERRENDERER_H
19#define QGSPOINTCLOUDLAYERRENDERER_H
39#include <QElapsedTimer>
46class QgsPointCloudSubIndex;
86 std::unique_ptr< QgsPointCloudRenderer > mRenderer;
87 std::unique_ptr< QgsPointCloudExtentRenderer > mSubIndexExtentRenderer;
97 QList< QgsMapClippingRegion > mClippingRegions;
99 const QVector< QgsPointCloudSubIndex > mSubIndexes;
100 std::optional<QgsPointCloudIndex> mOverviewIndex;
101 double mAverageSubIndexWidth = 0;
102 double mAverageSubIndexHeight = 0;
104 int mRenderTimeHint = 0;
105 bool mBlockRenderUpdates =
false;
106 QElapsedTimer mElapsedTimer;
108 std::unique_ptr<QgsFeedback> mFeedback =
nullptr;
110 bool mEnableProfile =
false;
111 quint64 mPreparationTime = 0;
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Base class for feedback objects to be used for cancellation of something running in a worker thread.
A geometry is the spatial representation of a feature.
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.
virtual void setLayerRenderingTimeHint(int time)
Sets approximate render time (in ms) for the layer to render.
A collection of point cloud attributes.
Smart pointer for QgsAbstractPointCloudIndex.
Implementation of threaded rendering for point cloud layers.
QgsFeedback * feedback() const override
Access to feedback object of the layer renderer (may be nullptr)
~QgsPointCloudLayerRenderer()
Represents a map layer supporting display of point clouds.
Represents an indexed point cloud node's position in octree.
Encapsulates the render context for a 2D point cloud rendering operation.
Abstract base class for 2d point cloud renderers.
Point cloud data request.
Contains information about the context of a rendering operation.
A 3D vector (similar to QVector3D) with the difference that it uses double precision instead of singl...