16 #ifndef QGSMAPTOOLCAPTURE_H
17 #define QGSMAPTOOLCAPTURE_H
36 class QgsMapToolCaptureRubberBand;
73 NoCapabilities = 1 << 0,
74 SupportsCurves = 1 << 1,
75 ValidateGeometries = 1 << 2,
78 Q_DECLARE_FLAGS( Capabilities, Capability )
88 virtual QgsMapToolCapture::Capabilities capabilities()
const;
95 virtual bool supportsTechnique( CaptureTechnique technique )
const;
129 QList<QgsPointLocator::Match> snappingMatches()
const;
142 void deleteTempRubberBand();
145 void clean()
override;
157 void setCircularDigitizingEnabled(
bool enable );
163 void setStreamDigitizingEnabled(
bool enable );
169 void updateExtraSnapLayer();
257 void undo(
bool isAutoRepeat = false );
262 void startCapturing();
269 bool isCapturing() const;
320 void stopCapturing();
324 bool tracingEnabled();
330 bool tracingAddVertex( const
QgsPointXY &point );
333 QgsMapToolCaptureRubberBand *createCurveRubberBand() const;
336 void resetRubberBand();
340 CaptureMode mCaptureMode;
343 bool mCapturing = false;
353 std::
unique_ptr<QgsMapToolCaptureRubberBand> mTempRubberBand;
362 void validateGeometry();
372 bool mCaptureModeFromLayer = false;
387 bool mStreamingEnabled = false;
388 bool mAllowAddingStreamingPoints = false;
389 int mStreamingToleranceInPixels = 1;
391 bool mStartNewCurve = false;
393 bool mIgnoreSubsequentAutoRepeatUndo = false;
395 friend class TestQgsMapToolCapture;
Keeps a pointer to a QObject and deletes it whenever this object is deleted.
Compound curve geometry type.
Abstract base class for curved geometry type.
A geometry is the spatial representation of a feature.
Map canvas is a class for displaying all GIS data types on a canvas.
Base class for all map layer types.
A QgsMapMouseEvent is the result of a user interaction with the mouse on a QgsMapCanvas.
The class defines interface for querying point location:
A class to represent a 2D point.
Point geometry type, with support for z-dimension and m-values.
A class for drawing transient features (e.g.
Class that shows snapping marker on map canvas for the current snapping match.
Represents a vector layer which manages a vector based data sets.
A class for marking vertices of features using e.g.
Handles storage of information regarding WKB types and their properties.
std::unique_ptr< GEOSGeometry, GeosDeleter > unique_ptr
Scoped GEOS pointer.
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into c
QVector< QgsPoint > QgsPointSequence
qint64 QgsFeatureId
64 bit feature ids negative numbers are used for uncommitted/newly added features
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsField::ConfigurationFlags) CORE_EXPORT QDataStream &operator<<(QDataStream &out
Writes the field to stream out. QGIS version compatibility is not guaranteed.