16 #ifndef QGSSNAPPINGUTILS_H    17 #define QGSSNAPPINGUTILS_H    20 #include "qgis_core.h"   166     QList<QgsSnappingUtils::LayerConfig> 
layers()
 const { 
return mLayers; }
   186     void setEnableSnappingForInvisibleFeature( 
bool enable );
   200     void toggleEnabled();
   217     void clearAllLocators();
   222     void onInitFinished( 
bool ok );
   225     void onIndividualLayerSettingsChanged( 
const QHash<QgsVectorLayer *, QgsSnappingConfig::IndividualLayerSettings> &layerSettings );
   234     typedef QPair< QgsVectorLayer *, QgsRectangle > LayerAndAreaOfInterest;
   239     void prepareIndex( 
const QList<LayerAndAreaOfInterest> &layers, 
bool relaxed );
   250     QList<LayerConfig> mLayers;
   253     typedef QMap<QgsVectorLayer *, QgsPointLocator *> LocatorsMap;
   255     LocatorsMap mLocators;
   257     LocatorsMap mTemporaryLocators;
   259     QSet<QString> mHybridNonindexableLayers;
   271     QHash<QString, double> mHybridMaxAreaPerLayer;
   273     int mHybridPerLayerFeatureLimit = 50000;
   276     bool mEnableSnappingForInvisibleFeature = 
true;
   280 #endif // QGSSNAPPINGUTILS_H 
The class defines interface for querying point location: 
 
A rectangle specified with double values. 
 
bool operator!=(const QgsSnappingUtils::LayerConfig &other) const
 
QgsMapSettings mapSettings() const
 
virtual void prepareIndexProgress(int index)
Called when finished indexing a layer with snapToMap. When index == count the indexing is complete...
 
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
 
QgsVectorLayer * currentLayer() const
The current layer used if mode is SnapCurrentLayer. 
 
A class to represent a 2D point. 
 
UnitType
Type of unit of tolerance value from settings. 
 
Interface that allows rejection of some matches in intersection queries (e.g. 
 
void setIndexingStrategy(IndexingStrategy strategy)
Sets a strategy for indexing geometry data - determines how fast and memory consuming the data struct...
 
The QgsMapSettings class contains configuration for rendering of the map. 
 
LayerConfig(QgsVectorLayer *l, QgsPointLocator::Types t, double tol, QgsTolerance::UnitType u)
Create a new configuration for a snapping layer. 
 
For all layers build index of full extent. Uses more memory, but queries are faster. 
 
For "big" layers using IndexNeverFull, for the rest IndexAlwaysFull. Compromise between speed and mem...
 
QList< QgsSnappingUtils::LayerConfig > layers() const
Query layers used for snapping. 
 
QgsTolerance::UnitType unit
The units in which the tolerance is specified. 
 
IndexingStrategy indexingStrategy() const
Find out which strategy is used for indexing - by default hybrid indexing is used. 
 
double tolerance
The range around snapping targets in which snapping should occur. 
 
For all layers only create temporary indexes of small extent. Low memory usage, slower queries...
 
virtual void prepareIndexStarting(int count)
Called when starting to index with snapToMap - can be overridden and e.g. progress dialog can be prov...
 
bool operator==(const QgsSnappingUtils::LayerConfig &other) const
 
QgsVectorLayer * layer
The layer to configure. 
 
Configures how a certain layer should be handled in a snapping operation. 
 
This class represents a coordinate reference system (CRS). 
 
This class has all the configuration of snapping and can return answers to snapping queries...
 
QgsPointLocator::Types type
To which geometry properties of this layers a snapping should happen. 
 
This is a container for configuration of the snapping of the project. 
 
Represents a vector layer which manages a vector based data sets.