QGIS API Documentation 4.0.0-Norrköping (1ddcee3d0e4)
Loading...
Searching...
No Matches
qgsabstractterrainsettings.cpp
Go to the documentation of this file.
1/***************************************************************************
2 qgsabstractterrainsettings.cpp
3 --------------------------------------
4 Date : August 2024
5 Copyright : (C) 2024 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
17
18#include "qgis.h"
19
20#include <QDomElement>
21#include <QString>
22
23using namespace Qt::StringLiterals;
24
26
29
31{
32 element.setAttribute( u"exaggeration"_s, mTerrainVerticalScale );
33 element.setAttribute( u"texture-size"_s, mMapTileResolution );
34 element.setAttribute( u"max-terrain-error"_s, mMaxTerrainScreenError );
35 element.setAttribute( u"max-ground-error"_s, mMaxTerrainGroundError );
36 element.setAttribute( u"elevation-offset"_s, mTerrainElevationOffset );
37}
38
40{
41 mTerrainVerticalScale = element.attribute( u"exaggeration"_s, u"1"_s ).toDouble();
42 mMapTileResolution = element.attribute( u"texture-size"_s, u"512"_s ).toInt();
43 mMaxTerrainScreenError = element.attribute( u"max-terrain-error"_s, u"3"_s ).toDouble();
44 mMaxTerrainGroundError = element.attribute( u"max-ground-error"_s, u"1"_s ).toDouble();
45 mTerrainElevationOffset = element.attribute( u"elevation-offset"_s, u"0.0"_s ).toDouble();
46}
47
49{
50 mTerrainVerticalScale = source->mTerrainVerticalScale;
51 mMapTileResolution = source->mMapTileResolution;
52 mMaxTerrainScreenError = source->mMaxTerrainScreenError;
53 mMaxTerrainGroundError = source->mMaxTerrainGroundError;
54 mTerrainElevationOffset = source->mTerrainElevationOffset;
55}
56
58{
59 return mMapTileResolution == other->mMapTileResolution
60 && qgsDoubleNear( mTerrainVerticalScale, other->mTerrainVerticalScale )
61 && qgsDoubleNear( mMaxTerrainScreenError, other->mMaxTerrainScreenError )
62 && qgsDoubleNear( mMaxTerrainGroundError, other->mMaxTerrainGroundError )
63 && qgsDoubleNear( mTerrainElevationOffset, other->mTerrainElevationOffset );
64}
Base class for all terrain settings classes.
void copyCommonProperties(const QgsAbstractTerrainSettings *source)
Copies common properties from a source object.
void writeCommonProperties(QDomElement &element, const QgsReadWriteContext &context) const
Writes common properties from the base class into an XML element.
bool equalsCommon(const QgsAbstractTerrainSettings *other) const
Returns true if common base class settings from other match this object.
virtual void resolveReferences(const QgsProject *project)
After reading settings from XML, resolves references to any layers in a project that have been read a...
void readCommonProperties(const QDomElement &element, const QgsReadWriteContext &context)
Reads common properties from the base class from the given DOM element.
virtual ~QgsAbstractTerrainSettings()
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition qgsproject.h:113
A container for the context for various read/write operations on objects.
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference).
Definition qgis.h:6975