QGIS API Documentation 3.99.0-Master (2fe06baccd8)
Loading...
Searching...
No Matches
qgsgeometryoptions.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsgeometryoptions.h
3 -------------------
4 begin : Aug 23, 2018
5 copyright : (C) 2018 by Matthias Kuhn
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
18#ifndef QGSGEOMETRYOPTIONS_H
19#define QGSGEOMETRYOPTIONS_H
20
21#include "qgis_core.h"
22#include "qgsgeometry.h"
23
24#include <QObject>
25
27
36class CORE_EXPORT QgsGeometryOptions : public QObject
37{
38 Q_OBJECT
39
40 public:
41
46
52 bool removeDuplicateNodes() const;
53
59 void setRemoveDuplicateNodes( bool value );
60
68 double geometryPrecision() const;
69
77 void setGeometryPrecision( double value );
78
84 bool isActive() const;
85
91 void apply( QgsGeometry &geometry ) const;
92
98 QStringList geometryChecks() const;
99
105 void setGeometryChecks( const QStringList &geometryChecks );
106
112 QVariantMap checkConfiguration( const QString &checkId ) const;
113
119 void setCheckConfiguration( const QString &checkId, const QVariantMap &checkConfiguration );
120
126 void writeXml( QDomNode &node ) const;
127
133 void readXml( const QDomNode &node );
134
135#ifndef SIP_RUN
138#endif
139
140 signals:
141
148
155
162
171
172 private:
173
179 bool mRemoveDuplicateNodes = false;
180
188 double mGeometryPrecision = 0.0;
189
190 QStringList mGeometryChecks;
191 QVariantMap mCheckConfiguration;
192};
193
194#endif // QGSGEOMETRYOPTIONS_H
bool isActive() const
Determines if at least one fix is enabled.
void removeDuplicateNodesChanged()
Automatically remove duplicate nodes on all geometries which are edited on this layer.
void geometryChecksChanged()
A list of activated geometry checks.
double geometryPrecision() const
The precision in which geometries on this layer should be saved.
bool removeDuplicateNodes() const
Automatically remove duplicate nodes on all geometries which are edited on this layer.
void setGeometryPrecision(double value)
The precision in which geometries on this layer should be saved.
void setRemoveDuplicateNodes(bool value)
Automatically remove duplicate nodes on all geometries which are edited on this layer.
void readXml(const QDomNode &node)
Read the geometry options from node.
QgsGeometryOptions()
Create a new QgsGeometryOptions object.
void setCheckConfiguration(const QString &checkId, const QVariantMap &checkConfiguration)
Set the configuration for the check checkId.
static const QgsSettingsEntryString * settingsGeometryValidationDefaultChecks
Settings entry search path for templates.
QStringList geometryChecks() const
A list of activated geometry checks.
void checkConfigurationChanged()
Access the configuration for the check checkId.
void apply(QgsGeometry &geometry) const
Apply any fixes configured on this class to geometry.
void geometryPrecisionChanged()
The precision in which geometries on this layer should be saved.
void writeXml(QDomNode &node) const
Write the geometry options to the node.
void setGeometryChecks(const QStringList &geometryChecks)
A list of activated geometry checks.
QVariantMap checkConfiguration(const QString &checkId) const
Access the configuration for the check checkId.
A geometry is the spatial representation of a feature.
A string settings entry.