mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			108 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/core/mesh/qgsmeshspatialindex.h                                  *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 | 
						|
 ************************************************************************/
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
class QgsMeshSpatialIndex
 | 
						|
{
 | 
						|
%Docstring(signature="appended")
 | 
						|
 | 
						|
A spatial index for :py:class:`QgsMeshFace` or :py:class:`QgsMeshEdge` objects.
 | 
						|
 | 
						|
:py:class:`QgsMeshSpatialIndex` objects are implicitly shared and can be inexpensively copied.
 | 
						|
 | 
						|
.. note::
 | 
						|
 | 
						|
   While the underlying libspatialindex is not thread safe on some platforms, the :py:class:`QgsMeshSpatialIndex`
 | 
						|
   class implements its own locks and accordingly, a single :py:class:`QgsMeshSpatialIndex` object can safely
 | 
						|
   be used across multiple threads
 | 
						|
 | 
						|
.. seealso:: :py:class:`QgsSpatialIndex` which is for vector features
 | 
						|
 | 
						|
.. versionadded:: 3.6
 | 
						|
%End
 | 
						|
 | 
						|
%TypeHeaderCode
 | 
						|
#include "qgsmeshspatialindex.h"
 | 
						|
%End
 | 
						|
  public:
 | 
						|
 | 
						|
    QgsMeshSpatialIndex();
 | 
						|
%Docstring
 | 
						|
Constructor for :py:class:`QgsSpatialIndex`. Creates an empty R-tree index.
 | 
						|
%End
 | 
						|
 | 
						|
    explicit QgsMeshSpatialIndex( const QgsMesh &mesh, QgsFeedback *feedback = 0, QgsMesh::ElementType elementType = QgsMesh::ElementType::Face );
 | 
						|
%Docstring
 | 
						|
Constructor - creates R-tree and bulk loads faces or edges from the specified mesh
 | 
						|
 | 
						|
Not implemented to construct R-tree for vertices
 | 
						|
Since QGIS 3.14 possibility to create R-tree for edges
 | 
						|
 | 
						|
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.
 | 
						|
%End
 | 
						|
 | 
						|
    QgsMeshSpatialIndex( const QgsMeshSpatialIndex &other );
 | 
						|
 | 
						|
    ~QgsMeshSpatialIndex();
 | 
						|
 | 
						|
 | 
						|
    QList<int> intersects( const QgsRectangle &rectangle ) const;
 | 
						|
%Docstring
 | 
						|
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.
 | 
						|
%End
 | 
						|
 | 
						|
    QList<int> nearestNeighbor( const QgsPointXY &point, int neighbors ) const;
 | 
						|
%Docstring
 | 
						|
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.
 | 
						|
%End
 | 
						|
 | 
						|
    QgsMesh::ElementType elementType() const;
 | 
						|
%Docstring
 | 
						|
Returns the type of mesh elements that are indexed
 | 
						|
 | 
						|
.. versionadded:: 3.14
 | 
						|
%End
 | 
						|
 | 
						|
    void addFace( int faceIndex, const QgsMesh &mesh );
 | 
						|
%Docstring
 | 
						|
Adds a face with ``faceIndex`` from the ``mesh`` in the spatial index
 | 
						|
%End
 | 
						|
 | 
						|
    void removeFace( int faceIndex, const QgsMesh &mesh );
 | 
						|
%Docstring
 | 
						|
Removes a face with ``faceIndex`` from the ``mesh`` in the spatial index
 | 
						|
%End
 | 
						|
 | 
						|
 | 
						|
};
 | 
						|
 | 
						|
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/core/mesh/qgsmeshspatialindex.h                                  *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 | 
						|
 ************************************************************************/
 |