QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgspointcloudblockrequest.h
Go to the documentation of this file.
1/***************************************************************************
2 qgspointcloudblockrequest.h
3 --------------------
4 begin : March 2021
5 copyright : (C) 2021 by Belgacem Nedjima
6 email : belgacem dot nedjima at gmail dot com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGSPOINTCLOUDBLOCKREQUEST_H
19#define QGSPOINTCLOUDBLOCKREQUEST_H
20
21#include <QObject>
22
24#include "qgspointcloudindex.h"
25
26#define SIP_NO_FILE
27
36class CORE_EXPORT QgsPointCloudBlockRequest : public QObject
37{
38 Q_OBJECT
39 public:
40
45 QgsPointCloudBlockRequest( const IndexedPointCloudNode &node, const QString &Uri,
46 const QgsPointCloudAttributeCollection &attributes, const QgsPointCloudAttributeCollection &requestedAttributes,
47 const QgsVector3D &scale, const QgsVector3D &offset, const QgsPointCloudExpression &filterExpression, const QgsRectangle &filterRect );
48
49
51
55 std::unique_ptr<QgsPointCloudBlock> takeBlock();
56
58 QString errorStr();
59
60 signals:
62 void finished();
63
64 protected:
66 QString mUri;
69 std::unique_ptr<QgsTileDownloadManagerReply> mTileDownloadManagerReply = nullptr;
70 std::unique_ptr<QgsPointCloudBlock> mBlock;
71 QString mErrorStr;
73 QgsPointCloudExpression mFilterExpression;
75};
76
77#endif // QGSPOINTCLOUDBLOCKREQUEST_H
Represents a indexed point cloud node in octree.
Collection of point cloud attributes.
Base class for handling loading QgsPointCloudBlock asynchronously.
QgsPointCloudAttributeCollection mRequestedAttributes
QgsPointCloudAttributeCollection mAttributes
std::unique_ptr< QgsPointCloudBlock > mBlock
QString errorStr()
Returns the error message string of the request.
QgsPointCloudBlockRequest(const IndexedPointCloudNode &node, const QString &Uri, const QgsPointCloudAttributeCollection &attributes, const QgsPointCloudAttributeCollection &requestedAttributes, const QgsVector3D &scale, const QgsVector3D &offset, const QgsPointCloudExpression &filterExpression, const QgsRectangle &filterRect)
QgsPointCloudBlockRequest constructor Note: It is the responsablitiy of the caller to delete the bloc...
QgsPointCloudExpression mFilterExpression
virtual ~QgsPointCloudBlockRequest()=0
void finished()
Emitted when the request processing has finished.
std::unique_ptr< QgsPointCloudBlock > takeBlock()
Returns the requested block.
A rectangle specified with double values.
Definition: qgsrectangle.h:42
Class for storage of 3D vectors similar to QVector3D, with the difference that it uses double precisi...
Definition: qgsvector3d.h:31