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 );
417 CaptureMode mCaptureMode;
420 bool mCapturing =
false;
435 QList<QgsPointLocator::Match> mSnappingMatches;
439 void validateGeometry();
441 QList<QgsGeometry::Error> mGeomErrors;
442 QList<QgsVertexMarker *> mGeomErrorMarkers;
449 bool mCaptureModeFromLayer =
false;
451 std::unique_ptr<QgsSnapIndicator> mSnapIndicator;
468 bool mAllowAddingStreamingPoints =
false;
469 int mStreamingToleranceInPixels = 1;
471 bool mStartNewCurve =
false;
473 bool mIgnoreSubsequentAutoRepeatUndo =
false;
476 std::unique_ptr<QgsBezierData> mBezierData;
478 std::unique_ptr<QgsBezierMarker> mBezierMarker;
480 bool mBezierDragging =
false;
482 int mBezierDragAnchorIndex = -1;
484 int mBezierDragHandleIndex = -1;
486 int mBezierMoveAnchorIndex = -1;
489 bool mWeightEditMode =
false;
491 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