16#ifndef QGSMAPTOOLCAPTURE_H
17#define QGSMAPTOOLCAPTURE_H
39class QgsMapToolCaptureRubberBand;
145 QList<QgsPointLocator::Match> snappingMatches()
const;
174 void deleteTempRubberBand();
177 void clean()
override;
220 Q_DECL_DEPRECATED
void setCircularDigitizingEnabled(
bool enable )
SIP_DEPRECATED;
227 Q_DECL_DEPRECATED
void setStreamDigitizingEnabled(
bool enable )
SIP_DEPRECATED;
233 void updateExtraSnapLayer();
297 void undo(
bool isAutoRepeat = false );
302 void startCapturing();
309 bool isCapturing() const;
396 void stopCapturing();
400 bool tracingEnabled();
406 bool tracingAddVertex(
const QgsPointXY &point );
409 QgsMapToolCaptureRubberBand *createCurveRubberBand()
const;
412 void resetRubberBand();
414 void setCurrentShapeMapToolIsActivated(
bool activated );
419 CaptureMode mCaptureMode;
422 bool mCapturing =
false;
440 QList<QgsPointLocator::Match> mSnappingMatches;
444 void validateGeometry();
446 QList<QgsGeometry::Error> mGeomErrors;
447 QList<QgsVertexMarker *> mGeomErrorMarkers;
454 bool mCaptureModeFromLayer =
false;
456 std::unique_ptr<QgsSnapIndicator> mSnapIndicator;
473 bool mAllowAddingStreamingPoints =
false;
474 int mStreamingToleranceInPixels = 1;
476 bool mStartNewCurve =
false;
478 bool mIgnoreSubsequentAutoRepeatUndo =
false;
481 std::unique_ptr<QgsBezierData> mBezierData;
483 std::unique_ptr<QgsBezierMarker> mBezierMarker;
485 bool mBezierDragging =
false;
487 int mBezierDragAnchorIndex = -1;
489 int mBezierDragHandleIndex = -1;
491 int mBezierMoveAnchorIndex = -1;
494 bool mWeightEditMode =
false;
496 int mWeightEditControlPointIndex = -1;
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.
A widget that floats next to the mouse pointer, and allows interaction with the AdvancedDigitizing fe...
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.
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.
A QgsGeometry with associated coordinate reference system.
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