QGIS API Documentation  3.26.3-Buenos Aires (65e4edfdad)
qgspointcloudstatscalculator.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgspointcloudstatscalculator.h
3  --------------------
4  begin : April 2022
5  copyright : (C) 2022 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 QGSPOINTCLOUDSTATSCALCULATOR_H
19 #define QGSPOINTCLOUDSTATSCALCULATOR_H
20 
21 #include "qgis_core.h"
22 
23 #include <QVariant>
24 #include <QSet>
25 #include <QFuture>
26 #include <QFutureWatcher>
27 #include <QEventLoop>
28 
29 #include "qgspointcloudrequest.h"
30 #include "qgsstatisticalsummary.h"
32 
33 #define SIP_NO_FILE
34 
35 class QgsPointCloudIndex;
36 class QgsPointCloudBlock;
39 class QgsFeedback;
40 
49 class CORE_EXPORT QgsPointCloudStatsCalculator : public QObject
50 {
51  Q_OBJECT
52  public:
55 
60  bool calculateStats( QgsFeedback *feedback, const QVector<QgsPointCloudAttribute> &attributes, qint64 pointsLimit = -1 );
61 
63  QgsPointCloudStatistics statistics() const { return mStats; }
64 
65  private:
66  std::unique_ptr<QgsPointCloudIndex> mIndex = nullptr;
67 
69  QSet<IndexedPointCloudNode> mProcessedNodes;
70 
71  QgsPointCloudRequest mRequest;
72 };
73 
74 
75 #endif // QGSPOINTCLOUDSTATSCALCULATOR_H
QgsPointCloudStatsCalculator::statistics
QgsPointCloudStatistics statistics() const
Returns the object containing the calculated statistics.
Definition: qgspointcloudstatscalculator.h:63
QgsPointCloudStatistics
Class used to store statistics of a point cloud dataset.
Definition: qgspointcloudstatistics.h:61
QgsPointCloudBlock
Base class for storing raw data from point cloud nodes.
Definition: qgspointcloudblock.h:38
qgsstatisticalsummary.h
QgsPointCloudRequest
Point cloud data request.
Definition: qgspointcloudrequest.h:39
qgspointcloudstatistics.h
IndexedPointCloudNode
Represents a indexed point cloud node in octree.
Definition: qgspointcloudindex.h:57
QgsFeedback
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Definition: qgsfeedback.h:44
QgsPointCloudAttribute
Attribute for point cloud data pair of name and size in bytes.
Definition: qgspointcloudattribute.h:40
QgsPointCloudStatsCalculator
Class used to calculate statistics of a point cloud dataset.
Definition: qgspointcloudstatscalculator.h:49
QgsPointCloudIndex
Represents a indexed point clouds data in octree.
Definition: qgspointcloudindex.h:163
qgspointcloudrequest.h