QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
qgsmapclippingutils.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsmapclippingutils.h
3  --------------------------------------
4  Date : June 2020
5  Copyright : (C) 2020 by 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 QGSMAPCLIPPINGUTILS_H
17 #define QGSMAPCLIPPINGUTILS_H
18 
19 #include "qgis_core.h"
20 #include "qgis_sip.h"
21 #include "qgsmaplayer.h"
22 
23 #include <QList>
24 #include <QPainterPath>
25 
26 class QgsRenderContext;
27 class QgsMapLayer;
28 class QgsGeometry;
30 
39 class CORE_EXPORT QgsMapClippingUtils
40 {
41  public:
42 
46  static QList< QgsMapClippingRegion > collectClippingRegionsForLayer( const QgsRenderContext &context, const QgsMapLayer *layer );
47 
60  static QgsGeometry calculateFeatureRequestGeometry( const QList< QgsMapClippingRegion > &regions, const QgsRenderContext &context, bool &shouldFilter );
61 
74  static QgsGeometry calculateFeatureIntersectionGeometry( const QList< QgsMapClippingRegion > &regions, const QgsRenderContext &context, bool &shouldClip );
75 
88  static QPainterPath calculatePainterClipRegion( const QList< QgsMapClippingRegion > &regions, const QgsRenderContext &context, QgsMapLayerType layerType, bool &shouldClip );
89 
102  static QgsGeometry calculateLabelIntersectionGeometry( const QList< QgsMapClippingRegion > &regions, const QgsRenderContext &context, bool &shouldClip );
103 };
104 
105 #endif // QGSMAPCLIPPINGUTILS_H
QgsMapClippingRegion
A map clipping region (in map coordinates and CRS).
Definition: qgsmapclippingregion.h:32
QgsMapLayerType
QgsMapLayerType
Types of layers that can be added to a map.
Definition: qgsmaplayer.h:68
QgsRenderContext
Contains information about the context of a rendering operation.
Definition: qgsrendercontext.h:58
QgsMapClippingUtils
Utility functions for use when clipping map renders.
Definition: qgsmapclippingutils.h:40
qgsmaplayer.h
qgis_sip.h
QgsGeometry
A geometry is the spatial representation of a feature.
Definition: qgsgeometry.h:124
QgsMapLayer
Base class for all map layer types.
Definition: qgsmaplayer.h:83