16#ifndef QGSMAPTOOLCAPTURE_H
17#define QGSMAPTOOLCAPTURE_H
35class QgsMapToolCaptureRubberBand;
66 NoCapabilities = 1 << 0,
67 SupportsCurves = 1 << 1,
68 ValidateGeometries = 1 << 2,
139 QList<QgsPointLocator::Match> snappingMatches()
const;
153 void deleteTempRubberBand();
156 void clean()
override;
199 Q_DECL_DEPRECATED
void setCircularDigitizingEnabled(
bool enable )
SIP_DEPRECATED;
206 Q_DECL_DEPRECATED
void setStreamDigitizingEnabled(
bool enable )
SIP_DEPRECATED;
212 void updateExtraSnapLayer();
275 void undo(
bool isAutoRepeat = false );
280 void startCapturing();
287 bool isCapturing() const;
338 void stopCapturing();
353 virtual void pointCaptured(
const QgsPoint &point )
SIP_FORCE { Q_UNUSED( point ) }
370 bool tracingEnabled();
376 bool tracingAddVertex(
const QgsPointXY &point );
379 QgsMapToolCaptureRubberBand *createCurveRubberBand()
const;
382 void resetRubberBand();
385 CaptureMode mCaptureMode;
388 bool mCapturing =
false;
403 QList<QgsPointLocator::Match> mSnappingMatches;
407 void validateGeometry();
409 QList<QgsGeometry::Error> mGeomErrors;
410 QList<QgsVertexMarker *> mGeomErrorMarkers;
417 bool mCaptureModeFromLayer =
false;
419 std::unique_ptr<QgsSnapIndicator> mSnapIndicator;
436 bool mAllowAddingStreamingPoints =
false;
437 int mStreamingToleranceInPixels = 1;
439 bool mStartNewCurve =
false;
441 bool mIgnoreSubsequentAutoRepeatUndo =
false;
443 friend class TestQgsMapToolCapture;
Keeps a pointer to an object owned by a QObject parent, and deletes it whenever this parent object is...
Keeps a pointer to a QObject and deletes it whenever this object is deleted.
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.
Validates geometries using the QGIS geometry validation model.
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 mouse event which is the result of a user interaction with a QgsMapCanvas.
Defines the interface for querying point locations.
Point geometry type, with support for z-dimension and m-values.
Responsible for drawing transient features (e.g.
Shows a snapping marker on map canvas for the current snapping match.
Represents a vector layer which manages a vector based dataset.
A map canvas item 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
#define SIP_ENUM_BASETYPE(type)
QVector< QgsPoint > QgsPointSequence
qint64 QgsFeatureId
64 bit feature ids negative numbers are used for uncommitted/newly added features
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsTextRendererUtils::CurvedTextFlags)