QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
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
24#include <memory>
25
26class QgsMapSettings;
28
33class CORE_EXPORT QgsLabelingResults
34{
35 public:
38
43
49 QList< QgsLabelPosition > allLabels() const;
50
54 QList<QgsLabelPosition> labelsAtPosition( const QgsPointXY &p ) const;
55
59 QList<QgsLabelPosition> labelsWithinRect( const QgsRectangle &r ) const;
60
66 QList<QgsLabelPosition> groupedLabelPositions( long long groupId ) const;
67
75 QList<QgsCalloutPosition> calloutsWithinRectangle( const QgsRectangle &rectangle ) const;
76
81 void setMapSettings( const QgsMapSettings &settings );
82
83 private:
84#ifdef SIP_RUN
86#endif
87
88 std::unique_ptr< QgsLabelSearchTree > mLabelSearchTree;
89
90 friend class QgsPalLabeling;
93};
94
95#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:60
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.