QGIS API Documentation  3.26.3-Buenos Aires (65e4edfdad)
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 
23 #include "qgstiledownloadmanager.h"
24 #include "qgspointcloudindex.h"
25 
26 #define SIP_NO_FILE
27 
36 class 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 );
48 
49 
50  virtual ~QgsPointCloudBlockRequest() = 0;
51 
56  QgsPointCloudBlock *block();
57 
59  QString errorStr();
60 
61  signals:
63  void finished();
64 
65  protected:
67  QString mUri;
70  std::unique_ptr<QgsTileDownloadManagerReply> mTileDownloadManagerReply = nullptr;
71  QgsPointCloudBlock *mBlock = nullptr;
72  QString mErrorStr;
73  QgsVector3D mScale, mOffset;
74  QgsPointCloudExpression mFilterExpression;
75 };
76 
77 #endif // QGSPOINTCLOUDBLOCKREQUEST_H
QgsPointCloudBlockRequest::mNode
IndexedPointCloudNode mNode
Definition: qgspointcloudblockrequest.h:66
QgsPointCloudBlockRequest::mScale
QgsVector3D mScale
Definition: qgspointcloudblockrequest.h:73
qgstiledownloadmanager.h
QgsVector3D
Class for storage of 3D vectors similar to QVector3D, with the difference that it uses double precisi...
Definition: qgsvector3d.h:31
QgsPointCloudBlock
Base class for storing raw data from point cloud nodes.
Definition: qgspointcloudblock.h:38
IndexedPointCloudNode
Represents a indexed point cloud node in octree.
Definition: qgspointcloudindex.h:57
QgsPointCloudAttributeCollection
Collection of point cloud attributes.
Definition: qgspointcloudattribute.h:141
QgsPointCloudBlockRequest::mAttributes
QgsPointCloudAttributeCollection mAttributes
Definition: qgspointcloudblockrequest.h:68
QgsPointCloudBlockRequest::mRequestedAttributes
QgsPointCloudAttributeCollection mRequestedAttributes
Definition: qgspointcloudblockrequest.h:69
qgspointcloudindex.h
QgsPointCloudBlockRequest::mUri
QString mUri
Definition: qgspointcloudblockrequest.h:67
QgsPointCloudBlockRequest::mErrorStr
QString mErrorStr
Definition: qgspointcloudblockrequest.h:72
QgsPointCloudBlockRequest
Base class for handling loading QgsPointCloudBlock asynchronously.
Definition: qgspointcloudblockrequest.h:36
QgsPointCloudBlockRequest::mFilterExpression
QgsPointCloudExpression mFilterExpression
Definition: qgspointcloudblockrequest.h:74