16#ifndef QGSMAPTOOLCAPTURE_H
17#define QGSMAPTOOLCAPTURE_H
35class QgsMapToolCaptureRubberBand;
66 NoCapabilities = 1 << 0,
67 SupportsCurves = 1 << 1,
68 ValidateGeometries = 1 << 2,
71 Q_DECLARE_FLAGS( Capabilities, Capability )
81 virtual QgsMapToolCapture::Capabilities capabilities()
const;
141 QList<QgsPointLocator::Match> snappingMatches()
const;
155 void deleteTempRubberBand();
158 void clean()
override;
203 Q_DECL_DEPRECATED
void setCircularDigitizingEnabled(
bool enable )
SIP_DEPRECATED;
210 Q_DECL_DEPRECATED
void setStreamDigitizingEnabled(
bool enable )
SIP_DEPRECATED;
216 void updateExtraSnapLayer();
282 void undo(
bool isAutoRepeat = false );
287 void startCapturing();
294 bool isCapturing() const;
345 void stopCapturing();
361 virtual void pointCaptured(
const QgsPoint &point ) {Q_UNUSED( point )}
SIP_FORCE
378 bool tracingEnabled();
384 bool tracingAddVertex(
const QgsPointXY &point );
387 QgsMapToolCaptureRubberBand *createCurveRubberBand()
const;
390 void resetRubberBand();
393 CaptureMode mCaptureMode;
396 bool mCapturing =
false;
411 QList<QgsPointLocator::Match> mSnappingMatches;
415 void validateGeometry();
417 QList< QgsGeometry::Error > mGeomErrors;
418 QList< QgsVertexMarker * > mGeomErrorMarkers;
425 bool mCaptureModeFromLayer =
false;
427 std::unique_ptr<QgsSnapIndicator> mSnapIndicator;
444 bool mAllowAddingStreamingPoints =
false;
445 int mStreamingToleranceInPixels = 1;
447 bool mStartNewCurve =
false;
449 bool mIgnoreSubsequentAutoRepeatUndo =
false;
451 friend class TestQgsMapToolCapture;
CaptureTechnique
Capture technique.
@ StraightSegments
Default capture mode - capture occurs with straight line segments.
WkbType
The WKB type describes the number of dimensions a geometry has.
Compound curve geometry type.
Curve polygon 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.
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.