QGIS API Documentation
3.43.0-Master (a6cade80589)
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
f
g
h
i
l
m
n
o
p
q
r
s
t
w
Functions
a
b
c
d
f
g
h
i
l
m
n
o
p
r
s
t
w
Variables
Typedefs
Enumerations
Enumerator
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
2
3
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
2
3
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
o
p
r
s
t
u
v
w
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Related Symbols
3
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
Files
File List
File Members
All
3
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Variables
a
b
c
e
f
g
h
i
l
n
o
p
q
r
s
t
w
Typedefs
3
a
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
Enumerator
Macros
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
w
y
Loading...
Searching...
No Matches
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
bool
QgsMapUnitScale::isNull
()
const
21
{
22
return
qgsDoubleNear
(
minScale
, 0 )
23
&&
qgsDoubleNear
(
maxScale
, 0 )
24
&& !
minSizeMMEnabled
25
&&
qgsDoubleNear
(
minSizeMM
, 0 )
26
&& !
maxSizeMMEnabled
27
&&
qgsDoubleNear
(
maxSizeMM
, 0 );
28
}
20
bool
QgsMapUnitScale::isNull
()
const
{
…
}
29
30
double
QgsMapUnitScale::computeMapUnitsPerPixel
(
const
QgsRenderContext
&
c
)
const
31
{
32
double
mup =
c
.mapToPixel().mapUnitsPerPixel();
33
const
double
renderScale =
c
.rendererScale();
34
if
( !
qgsDoubleNear
(
minScale
, 0 ) )
35
{
36
mup = std::min( mup / ( renderScale /
minScale
), mup );
37
}
38
if
( !
qgsDoubleNear
(
maxScale
, 0 ) )
39
{
40
mup = std::max( mup / ( renderScale /
maxScale
), mup );
41
}
42
return
mup;
43
}
30
double
QgsMapUnitScale::computeMapUnitsPerPixel
(
const
QgsRenderContext
&
c
)
const
{
…
}
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:30
QgsMapUnitScale::minSizeMMEnabled
bool minSizeMMEnabled
Whether the minimum size in mm should be respected.
Definition
qgsmapunitscale.h:71
QgsMapUnitScale::maxScale
double maxScale
The maximum scale, or 0.0 if unset.
Definition
qgsmapunitscale.h:68
QgsMapUnitScale::isNull
bool isNull() const
Returns true if the scale is null, i.e.
Definition
qgsmapunitscale.cpp:20
QgsMapUnitScale::minScale
double minScale
The minimum scale, or 0.0 if unset.
Definition
qgsmapunitscale.h:62
QgsMapUnitScale::maxSizeMM
double maxSizeMM
The maximum size in millimeters, or 0.0 if unset.
Definition
qgsmapunitscale.h:77
QgsMapUnitScale::maxSizeMMEnabled
bool maxSizeMMEnabled
Whether the maximum size in mm should be respected.
Definition
qgsmapunitscale.h:75
QgsMapUnitScale::minSizeMM
double minSizeMM
The minimum size in millimeters, or 0.0 if unset.
Definition
qgsmapunitscale.h:73
QgsRenderContext
Contains information about the context of a rendering operation.
Definition
qgsrendercontext.h:62
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:6302
qgsmapunitscale.h
qgsrendercontext.h
Generated on Wed May 7 2025 07:40:23 for QGIS API Documentation by
1.9.8