QGIS API Documentation
3.22.4-Białowieża (ce8e65e95e)
src
core
qgsmapunitscale.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgsmapunitscale.cpp
3
-------------------
4
begin : April 2014
5
copyright : (C) Sandro Mani
6
email : smani at sourcepole dot ch
7
8
***************************************************************************
9
* *
10
* This program is free software; you can redistribute it and/or modify *
11
* it under the terms of the GNU General Public License as published by *
12
* the Free Software Foundation; either version 2 of the License, or *
13
* (at your option) any later version. *
14
* *
15
***************************************************************************/
16
17
#include "
qgsmapunitscale.h
"
18
#include "
qgsrendercontext.h
"
19
20
double
QgsMapUnitScale::computeMapUnitsPerPixel
(
const
QgsRenderContext
&
c
)
const
21
{
22
double
mup =
c
.mapToPixel().mapUnitsPerPixel();
23
const
double
renderScale =
c
.rendererScale();
24
if
( !
qgsDoubleNear
(
minScale
, 0 ) )
25
{
26
mup = std::min( mup / ( renderScale /
minScale
), mup );
27
}
28
if
( !
qgsDoubleNear
(
maxScale
, 0 ) )
29
{
30
mup = std::max( mup / ( renderScale /
maxScale
), mup );
31
}
32
return
mup;
33
}
QgsMapUnitScale::computeMapUnitsPerPixel
double computeMapUnitsPerPixel(const QgsRenderContext &c) const
Computes a map units per pixel scaling factor, respecting the minimum and maximum scales set for the ...
Definition:
qgsmapunitscale.cpp:20
QgsMapUnitScale::maxScale
double maxScale
The maximum scale, or 0.0 if unset.
Definition:
qgsmapunitscale.h:61
QgsMapUnitScale::minScale
double minScale
The minimum scale, or 0.0 if unset.
Definition:
qgsmapunitscale.h:55
QgsRenderContext
Contains information about the context of a rendering operation.
Definition:
qgsrendercontext.h:58
c
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into c
Definition:
porting_processing.dox:1
qgsDoubleNear
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
Definition:
qgis.h:1246
qgsmapunitscale.h
qgsrendercontext.h
Generated on Thu Feb 24 2022 10:41:09 for QGIS API Documentation by
1.9.1