QGIS API Documentation  3.21.0-Master (909859188c)
qgslabelingresults.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgslabelingresults.h
3  -------------------
4  begin : February 2021
5  copyright : (C) Nyall Dawson
6  email : nyall dot dawson 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 QGSLABELINGRESULTS_H
17 #define QGSLABELINGRESULTS_H
18 
19 #include "qgis_core.h"
20 #include "qgis_sip.h"
21 #include "qgslabelposition.h"
22 #include "qgscalloutposition.h"
23 #include <memory>
24 
25 class QgsLabelSearchTree;
26 
32 class CORE_EXPORT QgsLabelingResults
33 {
34  public:
37 
42 
48  QList< QgsLabelPosition > allLabels() const;
49 
53  QList<QgsLabelPosition> labelsAtPosition( const QgsPointXY &p ) const;
54 
58  QList<QgsLabelPosition> labelsWithinRect( const QgsRectangle &r ) const;
59 
67  QList<QgsCalloutPosition> calloutsWithinRectangle( const QgsRectangle &rectangle ) const;
68 
73  void setMapSettings( const QgsMapSettings &settings );
74 
75  private:
76 #ifdef SIP_RUN
78 #endif
79 
80  std::unique_ptr< QgsLabelSearchTree > mLabelSearchTree;
81 
82  friend class QgsPalLabeling;
85 };
86 
87 #endif // QGSLABELINGRESULTS_H
A class to query the labeling structure at a given point (small wrapper around pal RTree class)
Class that stores computed placement from labeling engine.
QgsLabelingResults(const QgsLabelingResults &)=delete
QgsLabelingResults cannot be copied.
QgsLabelingResults & operator=(const QgsLabelingResults &rh)=delete
QgsLabelingResults cannot be copied.
The QgsMapSettings class contains configuration for rendering of the map.
PAL labeling utilities.
A class to represent a 2D point.
Definition: qgspointxy.h:59
A rectangle specified with double values.
Definition: qgsrectangle.h:42
The QgsVectorLayerDiagramProvider class implements support for diagrams within the labeling engine.
The QgsVectorLayerLabelProvider class implements a label provider for vector layers.