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();
296 void undo(
bool isAutoRepeat = false );
301 void startCapturing();
308 bool isCapturing() const;
395 void stopCapturing();
399 bool tracingEnabled();
405 bool tracingAddVertex(
const QgsPointXY &point );
408 QgsMapToolCaptureRubberBand *createCurveRubberBand()
const;
411 void resetRubberBand();
413 void setCurrentShapeMapToolIsActivated(
bool activated );
416 CaptureMode mCaptureMode;
419 bool mCapturing =
false;
434 QList<QgsPointLocator::Match> mSnappingMatches;
438 void validateGeometry();
440 QList<QgsGeometry::Error> mGeomErrors;
441 QList<QgsVertexMarker *> mGeomErrorMarkers;
448 bool mCaptureModeFromLayer =
false;
450 std::unique_ptr<QgsSnapIndicator> mSnapIndicator;
467 bool mAllowAddingStreamingPoints =
false;
468 int mStreamingToleranceInPixels = 1;
470 bool mStartNewCurve =
false;
472 bool mIgnoreSubsequentAutoRepeatUndo =
false;
475 std::unique_ptr<QgsBezierData> mBezierData;
477 std::unique_ptr<QgsBezierMarker> mBezierMarker;
479 bool mBezierDragging =
false;
481 int mBezierDragAnchorIndex = -1;
483 int mBezierDragHandleIndex = -1;
485 int mBezierMoveAnchorIndex = -1;
488 bool mWeightEditMode =
false;
490 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.
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