QGIS API Documentation 3.41.0-Master (45a0abf3bec)
Loading...
Searching...
No Matches
qgsmeshspatialindex.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsmeshspatialindex.h
3 ---------------------
4 begin : January 2019
5 copyright : (C) 2019 by Peter Petrik
6 email : zilolv at gmail dot com
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
16#ifndef QGSMESHSPATIALINDEX_H
17#define QGSMESHSPATIALINDEX_H
18
19#include "qgis_sip.h"
20
21class QgsRectangle;
22class QgsPointXY;
23class QgsFeedback;
24struct QgsMesh;
25
26#include "qgis_core.h"
27#include <QList>
28#include <QSharedDataPointer>
29#include "qgsmeshdataprovider.h"
30
31class QgsMeshSpatialIndexData;
32
49class CORE_EXPORT QgsMeshSpatialIndex
50{
51 public:
52
57
68 explicit QgsMeshSpatialIndex( const QgsMesh &mesh, QgsFeedback *feedback = nullptr, QgsMesh::ElementType elementType = QgsMesh::ElementType::Face );
69
71
74
75 QgsMeshSpatialIndex &operator=( const QgsMeshSpatialIndex &other );
76
83 QList<int> intersects( const QgsRectangle &rectangle ) const;
84
92 QList<int> nearestNeighbor( const QgsPointXY &point, int neighbors ) const;
93
99 QgsMesh::ElementType elementType() const;
100
104 void addFace( int faceIndex, const QgsMesh &mesh );
105
109 void removeFace( int faceIndex, const QgsMesh &mesh );
110
111
112 private:
114 QSharedDataPointer<QgsMeshSpatialIndexData> d;
115};
116
117#endif //QGSMESHSPATIALINDEX_H
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Definition qgsfeedback.h:44
A spatial index for QgsMeshFace or QgsMeshEdge objects.
~QgsMeshSpatialIndex()
Destructor finalizes work with spatial index.
A class to represent a 2D point.
Definition qgspointxy.h:60
A rectangle specified with double values.
Mesh - vertices, edges and faces.
ElementType
Defines type of mesh elements.