QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
analysis
vector
geometry_checker
qgsgeometrytypecheck.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsgeometrytypecheck.h
3
---------------------
4
begin : September 2015
5
copyright : (C) 2014 by Sandro Mani / Sourcepole AG
6
email : smani at sourcepole dot ch
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
16
17
#ifndef QGS_GEOMETRY_TYPE_CHECK_H
18
#define QGS_GEOMETRY_TYPE_CHECK_H
19
20
#include "
qgssinglegeometrycheck.h
"
21
22
#define SIP_NO_FILE
23
28
class
ANALYSIS_EXPORT
QgsGeometryTypeCheckError
:
public
QgsSingleGeometryCheckError
29
{
30
public
:
38
QgsGeometryTypeCheckError
(
const
QgsSingleGeometryCheck
*
check
,
const
QgsGeometry
&geometry,
const
QgsGeometry
&
errorLocation
,
Qgis::WkbType
flatType )
39
:
QgsSingleGeometryCheckError
(
check
, geometry,
errorLocation
)
40
, mFlatType( flatType )
41
{}
42
43
bool
isEqual
(
const
QgsSingleGeometryCheckError
*other )
const override
;
44
45
QString
description
()
const override
;
46
47
private
:
48
Qgis::WkbType
mFlatType;
49
};
50
55
class
ANALYSIS_EXPORT
QgsGeometryTypeCheck
:
public
QgsSingleGeometryCheck
56
{
57
Q_DECLARE_TR_FUNCTIONS(
QgsGeometryTypeCheck
)
58
public
:
59
QgsGeometryTypeCheck
(
QgsGeometryCheckContext
*
context
,
const
QVariantMap &configuration,
int
allowedTypes )
60
:
QgsSingleGeometryCheck
(
context
, configuration )
61
, mAllowedTypes( allowedTypes )
62
{}
63
QList<Qgis::GeometryType>
compatibleGeometryTypes
()
const override
{
return
factoryCompatibleGeometryTypes
(); }
64
QList<QgsSingleGeometryCheckError *> processGeometry(
const
QgsGeometry
&geometry )
const override
;
65
void
fixError(
const
QMap<QString, QgsFeaturePool *> &featurePools,
QgsGeometryCheckError
*error,
int
method,
const
QMap<QString, int> &mergeAttributeIndices, Changes &changes )
const override
;
66
Q_DECL_DEPRECATED QStringList resolutionMethods()
const override
;
67
QString
description
()
const override
;
68
QString id()
const override
;
69
QgsGeometryCheck::CheckType
checkType()
const override
;
70
71
static
QList<Qgis::GeometryType>
factoryCompatibleGeometryTypes
()
SIP_SKIP
{
return
{
Qgis::GeometryType::Point
,
Qgis::GeometryType::Line
,
Qgis::GeometryType::Polygon
}; }
72
static
bool
factoryIsCompatible
(
QgsVectorLayer
*layer )
SIP_SKIP
{
return
factoryCompatibleGeometryTypes
().contains( layer->geometryType() ); }
73
static
QString factoryDescription()
SIP_SKIP
;
74
static QString factoryId()
SIP_SKIP
;
75
static
QgsGeometryCheck
::CheckType factoryCheckType()
SIP_SKIP
;
76
77
private:
78
enum ResolutionMethod
79
{
80
Convert,
81
Delete,
82
NoChange
83
};
84
int
mAllowedTypes;
85
};
86
87
#endif
// QGS_GEOMETRY_TYPE_CHECK_H
Qgis::GeometryType::Point
@ Point
Points.
Definition
qgis.h:400
Qgis::GeometryType::Line
@ Line
Lines.
Definition
qgis.h:401
Qgis::GeometryType::Polygon
@ Polygon
Polygons.
Definition
qgis.h:402
Qgis::WkbType
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition
qgis.h:314
QgsGeometryCheckContext
Base configuration for geometry checks.
Definition
qgsgeometrycheckcontext.h:32
QgsGeometryCheckError
This represents an error reported by a geometry check.
Definition
qgsgeometrycheckerror.h:35
QgsGeometryCheck
Base class for geometry checks.
Definition
qgsgeometrycheck.h:93
QgsGeometryCheck::CheckType
CheckType
The type of a check.
Definition
qgsgeometrycheck.h:149
QgsGeometryCheck::context
const QgsGeometryCheckContext * context() const
Returns the context.
Definition
qgsgeometrycheck.h:335
QgsGeometryTypeCheckError::QgsGeometryTypeCheckError
QgsGeometryTypeCheckError(const QgsSingleGeometryCheck *check, const QgsGeometry &geometry, const QgsGeometry &errorLocation, Qgis::WkbType flatType)
Constructor for QgsGeometryTypeCheckError.
Definition
qgsgeometrytypecheck.h:38
QgsGeometryTypeCheck::compatibleGeometryTypes
QList< Qgis::GeometryType > compatibleGeometryTypes() const override
A list of geometry types for which this check can be performed.
Definition
qgsgeometrytypecheck.h:63
QgsGeometryTypeCheck::factoryCompatibleGeometryTypes
static QList< Qgis::GeometryType > factoryCompatibleGeometryTypes()
Definition
qgsgeometrytypecheck.h:71
QgsGeometryTypeCheck::QgsGeometryTypeCheck
QgsGeometryTypeCheck(QgsGeometryCheckContext *context, const QVariantMap &configuration, int allowedTypes)
Definition
qgsgeometrytypecheck.h:59
QgsGeometryTypeCheck::factoryIsCompatible
static bool factoryIsCompatible(QgsVectorLayer *layer)
Definition
qgsgeometrytypecheck.h:72
QgsGeometry
A geometry is the spatial representation of a feature.
Definition
qgsgeometry.h:267
QgsSingleGeometryCheckError
An error from a QgsSingleGeometryCheck.
Definition
qgssinglegeometrycheck.h:39
QgsSingleGeometryCheckError::errorLocation
QgsGeometry errorLocation() const
The exact location of the error.
Definition
qgssinglegeometrycheck.cpp:87
QgsSingleGeometryCheckError::isEqual
virtual bool isEqual(const QgsSingleGeometryCheckError *other) const
Check if this error is equal to other.
Definition
qgssinglegeometrycheck.cpp:66
QgsSingleGeometryCheckError::description
virtual QString description() const
A human readable description of this error.
Definition
qgssinglegeometrycheck.cpp:77
QgsSingleGeometryCheckError::QgsSingleGeometryCheckError
QgsSingleGeometryCheckError(const QgsSingleGeometryCheck *check, const QgsGeometry &geometry, const QgsGeometry &errorLocation, const QgsVertexId &vertexId=QgsVertexId())
Creates a new single geometry check error.
Definition
qgssinglegeometrycheck.h:44
QgsSingleGeometryCheckError::check
const QgsSingleGeometryCheck * check() const
The check that created this error.
Definition
qgssinglegeometrycheck.cpp:82
QgsSingleGeometryCheck
Base class for geometry checks for a single geometry without any context of the layer or other layers...
Definition
qgssinglegeometrycheck.h:148
QgsSingleGeometryCheck::QgsSingleGeometryCheck
QgsSingleGeometryCheck(const QgsGeometryCheckContext *context, const QVariantMap &configuration)
Creates a new single geometry check.
Definition
qgssinglegeometrycheck.h:153
QgsVectorLayer
Represents a vector layer which manages a vector based dataset.
Definition
qgsvectorlayer.h:414
SIP_SKIP
#define SIP_SKIP
Definition
qgis_sip.h:138
qgssinglegeometrycheck.h
Generated on
for QGIS API Documentation by
1.17.0