16 #ifndef QGSPOINTCLOUDLAYER3DRENDERER_H
17 #define QGSPOINTCLOUDLAYER3DRENDERER_H
56 double zValueScale,
double zValueFixedOffset );
102 QSet<int> getFilteredOutValues()
const;
108 template <
typename T>
115 value = *( data + offset );
119 value = *
reinterpret_cast< const qint32 *
>( data + offset );
122 value = *
reinterpret_cast< const quint32 *
>( data + offset );
126 value = *
reinterpret_cast< const qint64 *
>( data + offset );
129 value = *
reinterpret_cast< const quint64 *
>( data + offset );
133 value = *
reinterpret_cast< const short *
>( data + offset );
137 value = *
reinterpret_cast< const unsigned short *
>( data + offset );
141 value = *
reinterpret_cast< const float *
>( data + offset );
145 value = *
reinterpret_cast< const double *
>( data + offset );
167 bool isCanceled()
const;
173 void cancelRendering()
const;
194 std::unique_ptr<QgsPointCloud3DSymbol> mSymbol;
196 double mZValueScale = 1.0;
197 double mZValueFixedOffset = 0;
199 std::unique_ptr<QgsFeedback> mFeedback;
239 QString
type()
const override;
254 void resolveReferences(
const QgsProject &project )
override;
263 double maximumScreenError()
const;
272 void setMaximumScreenError(
double error );
279 bool showBoundingBoxes()
const;
286 void setShowBoundingBoxes(
bool showBoundingBoxes );
296 void setPointRenderingBudget(
int budget );
300 std::unique_ptr< QgsPointCloud3DSymbol > mSymbol;
301 double mMaximumScreenError = 1.0;
302 bool mShowBoundingBoxes =
false;
303 int mPointBudget = 1000000;
Base class for all renderers that may to participate in 3D view.
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...
QgsFeedback * feedback() const
Returns the feedback object used to cancel rendering and check if rendering was canceled.
double zValueScale() const
Returns any constant scaling factor which must be applied to z values taken from the point cloud inde...
QgsPointCloudAttributeCollection attributes() const
Returns the attributes associated with the rendered block.
QgsPointCloud3DRenderContext(const QgsPointCloud3DRenderContext &rh)=delete
QgsPointCloudRenderContext cannot be copied.
QgsCoordinateTransform coordinateTransform() const
Returns the coordinate transform used to transform points from layer CRS to the map CRS.
QgsPointCloud3DSymbol * symbol() const
Returns the symbol used for rendering the point cloud.
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
QgsPointCloudRenderContext cannot be copied.
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.
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.
QList< QgsPointCloudCategory > QgsPointCloudCategoryList