QGIS API Documentation  3.13.0-Master (7f54853aae)
Public Member Functions | List of all members
QgsMeshSpatialIndex Class Reference

A spatial index for QgsMeshFace objects. More...

#include <qgsmeshspatialindex.h>

Public Member Functions

 QgsMeshSpatialIndex ()
 Constructor for QgsSpatialIndex. More...
 
 QgsMeshSpatialIndex (const QgsMesh &triangularMesh, QgsFeedback *feedback=nullptr)
 Constructor - creates R-tree and bulk loads faces from the specified mesh. More...
 
 QgsMeshSpatialIndex (const QgsMeshSpatialIndex &other)
 Copy constructor. More...
 
 ~QgsMeshSpatialIndex ()
 Destructor finalizes work with spatial index. More...
 
QList< int > intersects (const QgsRectangle &rectangle) const
 Returns a list of face ids with a bounding box which intersects the specified rectangle. More...
 
QList< int > nearestNeighbor (const QgsPointXY &point, int neighbors) const
 Returns nearest neighbors to a point. More...
 
QgsMeshSpatialIndexoperator= (const QgsMeshSpatialIndex &other)
 Implement assignment operator. More...
 

Detailed Description

A spatial index for QgsMeshFace objects.

QgsMeshSpatialIndex objects are implicitly shared and can be inexpensively copied.

Note
While the underlying libspatialindex is not thread safe on some platforms, the QgsMeshSpatialIndex class implements its own locks and accordingly, a single QgsMeshSpatialIndex object can safely be used across multiple threads
See also
QgsSpatialIndex, which is for vector features
Since
QGIS 3.6

Definition at line 48 of file qgsmeshspatialindex.h.

Constructor & Destructor Documentation

◆ QgsMeshSpatialIndex() [1/3]

QgsMeshSpatialIndex::QgsMeshSpatialIndex ( )

Constructor for QgsSpatialIndex.

Creates an empty R-tree index.

Definition at line 295 of file qgsmeshspatialindex.cpp.

◆ QgsMeshSpatialIndex() [2/3]

QgsMeshSpatialIndex::QgsMeshSpatialIndex ( const QgsMesh triangularMesh,
QgsFeedback feedback = nullptr 
)
explicit

Constructor - creates R-tree and bulk loads faces from the specified mesh.

The optional feedback object can be used to allow cancellation of bulk face loading. Ownership of feedback is not transferred, and callers must take care that the lifetime of feedback exceeds that of the spatial index construction.

Definition at line 300 of file qgsmeshspatialindex.cpp.

◆ QgsMeshSpatialIndex() [3/3]

QgsMeshSpatialIndex::QgsMeshSpatialIndex ( const QgsMeshSpatialIndex other)

Copy constructor.

Definition at line 305 of file qgsmeshspatialindex.cpp.

◆ ~QgsMeshSpatialIndex()

QgsMeshSpatialIndex::~QgsMeshSpatialIndex ( )
default

Destructor finalizes work with spatial index.

Member Function Documentation

◆ intersects()

QList< int > QgsMeshSpatialIndex::intersects ( const QgsRectangle rectangle) const

Returns a list of face ids with a bounding box which intersects the specified rectangle.

Note
The intersection test is performed based on the face bounding boxes only, so it is necessary to manually test the returned faces for exact geometry intersection when required.

Definition at line 319 of file qgsmeshspatialindex.cpp.

◆ nearestNeighbor()

QList< int > QgsMeshSpatialIndex::nearestNeighbor ( const QgsPointXY point,
int  neighbors 
) const

Returns nearest neighbors to a point.

The number of neighbours returned is specified by the neighbours argument.

Note
The nearest neighbour test is performed based on the face bounding boxes only, so this method is not guaranteed to return the actual closest neighbours.

Definition at line 332 of file qgsmeshspatialindex.cpp.

◆ operator=()

QgsMeshSpatialIndex & QgsMeshSpatialIndex::operator= ( const QgsMeshSpatialIndex other)

Implement assignment operator.

Definition at line 312 of file qgsmeshspatialindex.cpp.


The documentation for this class was generated from the following files: