16#ifndef QGSPOINTCLOUDLAYER3DRENDERER_H
17#define QGSPOINTCLOUDLAYER3DRENDERER_H
55 double zValueScale,
double zValueFixedOffset );
98 QSet<int> getFilteredOutValues()
const;
104 template <
typename T>
110 value = *
reinterpret_cast< const unsigned char *
>( data + offset );
113 value = *( data + offset );
117 value = *
reinterpret_cast< const qint32 *
>( data + offset );
120 value = *
reinterpret_cast< const quint32 *
>( data + offset );
124 value = *
reinterpret_cast< const qint64 *
>( data + offset );
127 value = *
reinterpret_cast< const quint64 *
>( data + offset );
131 value = *
reinterpret_cast< const short *
>( data + offset );
135 value = *
reinterpret_cast< const unsigned short *
>( data + offset );
139 value = *
reinterpret_cast< const float *
>( data + offset );
143 value = *
reinterpret_cast< const double *
>( data + offset );
165 bool isCanceled()
const;
171 void cancelRendering()
const;
201 std::unique_ptr<QgsPointCloud3DSymbol> mSymbol;
203 double mZValueScale = 1.0;
204 double mZValueFixedOffset = 0;
206 std::unique_ptr<QgsFeedback> mFeedback;
247 QString
type()
const override;
262 void resolveReferences(
const QgsProject &project )
override;
271 double maximumScreenError()
const;
280 void setMaximumScreenError(
double error );
287 bool showBoundingBoxes()
const;
294 void setShowBoundingBoxes(
bool showBoundingBoxes );
304 void setPointRenderingBudget(
int budget );
310 std::unique_ptr< QgsPointCloud3DSymbol > mSymbol;
311 double mMaximumScreenError = 3.0;
312 bool mShowBoundingBoxes =
false;
313 int mPointBudget = 5000000;
Base class for all renderers that may to participate in 3D view.
Base class for point cloud 3D renderers.
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Encapsulates the render context for a 3D point cloud rendering operation.
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 & operator=(const QgsPointCloud3DRenderContext &)=delete
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
const QgsPointCloud3DSymbol * symbol() const
Returns 3D symbol associated with the renderer.
int pointRenderingBudget() const
Returns the maximum number of points that will be rendered to the scene.
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,...
The class is used as a container of context for various read/write operations on other objects.
A rectangle specified with double values.
QList< QgsPointCloudCategory > QgsPointCloudCategoryList