16#ifndef QGSPOINTCLOUDLAYER3DRENDERER_H
17#define QGSPOINTCLOUDLAYER3DRENDERER_H
97 QSet<int> getFilteredOutValues()
const;
109 value = *
reinterpret_cast<const unsigned char *
>( data + offset );
112 value = *( data + offset );
116 value = *
reinterpret_cast<const qint32 *
>( data + offset );
119 value = *
reinterpret_cast<const quint32 *
>( data + offset );
123 value = *
reinterpret_cast<const qint64 *
>( data + offset );
126 value = *
reinterpret_cast<const quint64 *
>( data + offset );
130 value = *
reinterpret_cast<const short *
>( data + offset );
134 value = *
reinterpret_cast<const unsigned short *
>( data + offset );
138 value = *
reinterpret_cast<const float *
>( data + offset );
142 value = *
reinterpret_cast<const double *
>( data + offset );
164 bool isCanceled()
const;
170 void cancelRendering()
const;
200 std::unique_ptr<QgsPointCloud3DSymbol> mSymbol;
202 double mZValueScale = 1.0;
203 double mZValueFixedOffset = 0;
205 std::unique_ptr<QgsFeedback> mFeedback;
246 QString
type()
const override;
261 void resolveReferences(
const QgsProject &project )
override;
270 double maximumScreenError()
const;
279 void setMaximumScreenError(
double error );
286 bool showBoundingBoxes()
const;
293 void setShowBoundingBoxes(
bool showBoundingBoxes );
303 void setPointRenderingBudget(
int budget );
321 std::unique_ptr<QgsPointCloud3DSymbol> mSymbol;
322 double mMaximumScreenError = 3.0;
323 bool mShowBoundingBoxes =
false;
324 int mPointBudget = 5000000;
PointCloudZoomOutRenderBehavior
Point cloud zoom out options.
@ RenderExtents
Render only point cloud extents when zoomed out.
Qgs3DRenderContext()=default
Base class for all renderers that participate in 3D views.
QgsAbstractPointCloud3DRenderer()=default
Base class for feedback objects to be used for cancellation of something running in a worker thread.
void getAttribute(const char *data, std::size_t offset, QgsPointCloudAttribute::DataType type, T &value) const
Retrieves the attribute value from data at the specified offset, where type indicates the original da...
QgsPointCloud3DSymbol * symbol() const
Returns the symbol used for rendering the point cloud.
double zValueScale() const
Returns any constant scaling factor which must be applied to z values taken from the point cloud inde...
QgsFeedback * feedback() const
Returns the feedback object used to cancel rendering and check if rendering was canceled.
QgsPointCloudAttributeCollection attributes() const
Returns the attributes associated with the rendered block.
QgsPointCloud3DRenderContext(const QgsPointCloud3DRenderContext &rh)=delete
QgsCoordinateTransform coordinateTransform() const
Returns the coordinate transform used to transform points from layer CRS to the map CRS.
QgsRectangle layerExtent() const
Returns the 3D scene's extent in layer crs.
double zValueFixedOffset() const
Returns any constant offset which must be applied to z values taken from the point cloud index.
QgsPointCloud3DRenderContext(const Qgs3DRenderContext &context, const QgsCoordinateTransform &coordinateTransform, std::unique_ptr< QgsPointCloud3DSymbol > symbol, double zValueScale, double zValueFixedOffset)
Constructor for QgsPointCloud3DRenderContext.
QgsPointCloud3DRenderContext & operator=(const QgsPointCloud3DRenderContext &)=delete
3D symbol that draws point cloud geometries as 3D objects.
A collection of point cloud attributes.
DataType
Systems of unit measurement.
@ UShort
Unsigned short int 2 bytes.
@ Short
Short int 2 bytes.
@ UChar
Unsigned char 1 byte.
@ UInt32
Unsigned int32 4 bytes.
@ UInt64
Unsigned int64 8 bytes.
3D renderer that renders all points from a point cloud layer.
void setLayer(QgsPointCloudLayer *layer)
Sets point cloud layer associated with the renderer.
const QgsPointCloud3DSymbol * symbol() const
Returns 3D symbol associated with the renderer.
QgsPointCloudLayer3DRenderer()
Takes ownership of the symbol object.
QgsPointCloudLayer3DRenderer * clone() const override
Returns a cloned instance.
QgsPointCloudLayer * layer() const
Returns point cloud layer associated with the renderer.
void setSymbol(QgsPointCloud3DSymbol *symbol)
Sets the 3D symbol associated with the renderer.
Qt3DCore::QEntity * createEntity(Qgs3DMapSettings *map) const override
Returns a 3D entity that will be used to show renderer's data in 3D scene.
void setZoomOutBehavior(const Qgis::PointCloudZoomOutRenderBehavior behavior)
Sets the renderer behavior when zoomed out.
int pointRenderingBudget() const
Returns the maximum number of points that will be rendered to the scene.
Qgis::PointCloudZoomOutRenderBehavior zoomOutBehavior() const
Returns the renderer behavior when zoomed out.
Represents a map layer supporting display of point clouds.
Encapsulates the render context for a 2D point cloud rendering operation.
Abstract base class for 2d point cloud renderers.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
A container for the context for various read/write operations on objects.
A rectangle specified with double values.
_LayerRef< QgsMapLayer > QgsMapLayerRef
QList< QgsPointCloudCategory > QgsPointCloudCategoryList