QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
project
qgsprojectelevationproperties.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsprojectelevationproperties.h
3
---------------
4
begin : February 2022
5
copyright : (C) 2022 by Nyall Dawson
6
email : nyall dot dawson at gmail dot com
7
***************************************************************************/
8
9
/***************************************************************************
10
* *
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
15
* *
16
***************************************************************************/
17
#ifndef QGSPROJECTELEVATIONPROPERTIES_H
18
#define QGSPROJECTELEVATIONPROPERTIES_H
19
20
#include <memory>
21
22
#include "qgis_core.h"
23
#include "
qgsrange.h
"
24
#include "
qgsunittypes.h
"
25
26
#include <QObject>
27
28
class
QDomElement;
29
class
QgsReadWriteContext
;
30
class
QDomDocument;
31
class
QgsAbstractTerrainProvider
;
32
class
QgsProject
;
33
40
class
CORE_EXPORT
QgsProjectElevationProperties
:
public
QObject
41
{
42
Q_OBJECT
43
44
public
:
48
QgsProjectElevationProperties
( QObject *parent
SIP_TRANSFERTHIS
=
nullptr
);
49
50
~QgsProjectElevationProperties
()
override
;
51
55
void
reset
();
56
60
void
resolveReferences
(
const
QgsProject
*project );
61
66
bool
readXml
(
const
QDomElement &element,
const
QgsReadWriteContext
&context );
67
72
QDomElement
writeXml
( QDomDocument &document,
const
QgsReadWriteContext
&context )
const
;
73
79
QgsAbstractTerrainProvider
*
terrainProvider
();
80
88
void
setTerrainProvider
(
QgsAbstractTerrainProvider
*provider
SIP_TRANSFER
);
89
102
QgsDoubleRange
elevationRange
()
const
{
return
mElevationRange; }
103
116
double
elevationFilterRangeSize
()
const
{
return
mElevationFilterRangeSize; }
117
125
bool
invertElevationFilter
()
const
{
return
mInvertElevationFilter; }
126
127
public
slots:
128
141
void
setElevationRange(
const
QgsDoubleRange
&range );
142
155
void
setElevationFilterRangeSize(
double
size );
156
164
void
setInvertElevationFilter(
bool
invert );
165
166
signals:
167
171
void
changed
();
172
184
void
elevationRangeChanged
(
const
QgsDoubleRange
&range );
185
186
private
:
187
std::unique_ptr< QgsAbstractTerrainProvider > mTerrainProvider;
188
QgsDoubleRange
mElevationRange;
189
double
mElevationFilterRangeSize = -1;
190
bool
mInvertElevationFilter =
false
;
191
};
192
193
194
#endif
// QGSPROJECTELEVATIONPROPERTIES_H
QgsAbstractTerrainProvider
Abstract base class for terrain providers.
Definition
qgsterrainprovider.h:44
QgsDoubleRange
QgsRange which stores a range of double values.
Definition
qgsrange.h:217
QgsProjectElevationProperties::readXml
bool readXml(const QDomElement &element, const QgsReadWriteContext &context)
Reads the property state from a DOM element.
Definition
qgsprojectelevationproperties.cpp:50
QgsProjectElevationProperties::reset
void reset()
Resets the properties to a default state.
Definition
qgsprojectelevationproperties.cpp:36
QgsProjectElevationProperties::elevationRange
QgsDoubleRange elevationRange() const
Returns the project's elevation range, which indicates the upper and lower elevation limits associate...
Definition
qgsprojectelevationproperties.h:102
QgsProjectElevationProperties::QgsProjectElevationProperties
QgsProjectElevationProperties(QObject *parent=nullptr)
Constructor for QgsProjectElevationProperties with the specified parent object.
Definition
qgsprojectelevationproperties.cpp:29
QgsProjectElevationProperties::writeXml
QDomElement writeXml(QDomDocument &document, const QgsReadWriteContext &context) const
Returns a DOM element representing the properties.
Definition
qgsprojectelevationproperties.cpp:94
QgsProjectElevationProperties::~QgsProjectElevationProperties
~QgsProjectElevationProperties() override
QgsProjectElevationProperties::terrainProvider
QgsAbstractTerrainProvider * terrainProvider()
Returns the project's terrain provider.
Definition
qgsprojectelevationproperties.cpp:120
QgsProjectElevationProperties::elevationRangeChanged
void elevationRangeChanged(const QgsDoubleRange &range)
Emitted when the project's elevation is changed.
QgsProjectElevationProperties::elevationFilterRangeSize
double elevationFilterRangeSize() const
Returns the fixed size for elevation range filtering in the project, used when interactively filterin...
Definition
qgsprojectelevationproperties.h:116
QgsProjectElevationProperties::changed
void changed()
Emitted when the elevation properties change.
QgsProjectElevationProperties::resolveReferences
void resolveReferences(const QgsProject *project)
Resolves reference to layers from stored layer ID.
Definition
qgsprojectelevationproperties.cpp:44
QgsProjectElevationProperties::setTerrainProvider
void setTerrainProvider(QgsAbstractTerrainProvider *provider)
Sets the project's terrain provider.
Definition
qgsprojectelevationproperties.cpp:125
QgsProjectElevationProperties::invertElevationFilter
bool invertElevationFilter() const
Returns true if the elevation range filter slider should be inverted for this project.
Definition
qgsprojectelevationproperties.h:125
QgsProject
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition
qgsproject.h:114
QgsReadWriteContext
A container for the context for various read/write operations on objects.
Definition
qgsreadwritecontext.h:38
SIP_TRANSFERTHIS
#define SIP_TRANSFERTHIS
Definition
qgis_sip.h:52
SIP_TRANSFER
#define SIP_TRANSFER
Definition
qgis_sip.h:35
qgsrange.h
qgsunittypes.h
Generated on
for QGIS API Documentation by
1.17.0