QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
qgsanalysis.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  qgsanalysis.cpp
3  ----------
4  begin : September 2018
5  copyright : (C) 2018 by Matthias Kuhn
6  email : [email protected]
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 #include "qgsanalysis.h"
21 #include "qgis.h"
22 
24 #include "qgsgeometrygapcheck.h"
28 
30 {
31  static QgsAnalysis *sInstance( new QgsAnalysis() );
32  return sInstance;
33 }
34 
36 {
37  return instance()->mGeometryCheckRegistry.get();
38 }
39 
40 QgsAnalysis::QgsAnalysis()
41  : mGeometryCheckRegistry( qgis::make_unique<QgsGeometryCheckRegistry>() )
42 {
43  qRegisterMetaType< QList<std::shared_ptr<QgsGeometryCheckError> > >( "QList<std::shared_ptr<QgsGeometryCheckError>>" );
44 
45  mGeometryCheckRegistry->registerGeometryCheck( new QgsGeometryCheckFactoryT<QgsGeometrySelfIntersectionCheck>() );
46  mGeometryCheckRegistry->registerGeometryCheck( new QgsGeometryCheckFactoryT<QgsGeometryIsValidCheck>() );
47  mGeometryCheckRegistry->registerGeometryCheck( new QgsGeometryCheckFactoryT<QgsGeometryGapCheck>() );
48  mGeometryCheckRegistry->registerGeometryCheck( new QgsGeometryCheckFactoryT<QgsGeometryOverlapCheck>() );
49  mGeometryCheckRegistry->registerGeometryCheck( new QgsGeometryCheckFactoryT<QgsGeometryMissingVertexCheck>() );
50 }
QgsGeometryCheckFactoryT
Template to create a factory for a geometry check.
Definition: qgsgeometrycheckfactory.h:93
qgsgeometryselfintersectioncheck.h
qgsgeometrycheckregistry.h
qgsgeometrygapcheck.h
qgis.h
qgsgeometryisvalidcheck.h
qgsgeometrycheckfactory.h
qgsanalysis.h
QgsAnalysis::instance
static QgsAnalysis * instance()
Returns a pointer to the singleton instance.
Definition: qgsanalysis.cpp:29
qgsgeometryoverlapcheck.h
QgsAnalysis
QgsAnalysis is a singleton class containing various registry and other global members related to anal...
Definition: qgsanalysis.h:35
QgsAnalysis::geometryCheckRegistry
static QgsGeometryCheckRegistry * geometryCheckRegistry()
Returns the global geometry checker registry, used for managing all geometry check factories.
Definition: qgsanalysis.cpp:35
QgsGeometryCheckRegistry
This class manages all known geometry check factories.
Definition: qgsgeometrycheckregistry.h:42
qgsgeometrymissingvertexcheck.h