QGIS API Documentation 3.32.0-Lima (311a8cb8a6)
qgspointcloudsubindex.h
Go to the documentation of this file.
1/***************************************************************************
2 qgspointcloudsubindex.h
3 -----------------------
4 begin : March 2023
5 copyright : (C) 2023 by Stefanos Natsis
6 email : uclaros 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 QGSPOINTCLOUDSUBINDEX_H
19#define QGSPOINTCLOUDSUBINDEX_H
20
21#include <memory>
22#include <QString>
23
24#include "qgspointcloudindex.h"
25#include "qgsgeometry.h"
26#include "qgsrange.h"
27
29#define SIP_NO_FILE
30
31
39class QgsPointCloudSubIndex
40{
41 public:
43 QgsPointCloudSubIndex( const QString &uri, const QgsGeometry &geometry, const QgsRectangle &extent, const QgsDoubleRange &zRange, qint64 count )
44 : mUri( uri )
45 , mExtent( extent )
46 , mGeometry( geometry )
47 , mPointCount( count )
48 , mZRange( zRange )
49 {
50 }
51
53 QgsPointCloudIndex *index() const { return mIndex.get(); }
54
56 void setIndex( QgsPointCloudIndex *index ) { mIndex.reset( index ); }
57
59 QString uri() const { return mUri; }
60
62 QgsRectangle extent() const { return mExtent; }
63
65 QgsDoubleRange zRange() const { return mZRange; }
66
71 QgsGeometry polygonBounds() const { return mGeometry; }
72
74 qint64 pointCount() const { return mPointCount; }
75
76 private:
77 std::shared_ptr<QgsPointCloudIndex> mIndex;
78 QString mUri;
79 QgsRectangle mExtent;
80 QgsGeometry mGeometry;
81 qint64 mPointCount = 0;
82 QgsDoubleRange mZRange;
83};
84
86#endif // QGSPOINTCLOUDSUBINDEX_H
QgsRange which stores a range of double values.
Definition: qgsrange.h:203
A geometry is the spatial representation of a feature.
Definition: qgsgeometry.h:164
Represents a indexed point clouds data in octree.
A rectangle specified with double values.
Definition: qgsrectangle.h:42