16 #ifndef QGSMAPTOOLCAPTURE_H
17 #define QGSMAPTOOLCAPTURE_H
37 class QgsMapToolCaptureRubberBand;
62 bool curveIsComplete()
const;
75 void addPoint(
const QgsPoint &point,
bool doUpdate =
true );
78 void movePoint(
const QgsPoint &point );
81 void movePoint(
int index,
const QgsPoint &point );
96 QgsPoint pointFromEnd(
int posFromEnd )
const;
99 void removeLastPoint();
156 Q_DECLARE_FLAGS( Capabilities, Capability )
175 void activate() override;
176 void deactivate() override;
235 void setCircularDigitizingEnabled(
bool enable );
241 void setStreamDigitizingEnabled(
bool enable );
247 void updateExtraSnapLayer();
335 void undo(
bool isAutoRepeat = false );
340 void startCapturing();
347 bool isCapturing() const;
398 void stopCapturing();
402 bool tracingEnabled();
408 bool tracingAddVertex( const
QgsPointXY &point );
411 QgsMapToolCaptureRubberBand *createCurveRubberBand() const;
418 void resetRubberBand();
427 bool mCapturing = false;
436 std::
unique_ptr<QgsMapToolCaptureRubberBand> mTempRubberBand;
445 void validateGeometry();
455 bool mCaptureModeFromLayer = false;
470 bool mStreamingEnabled = false;
471 bool mAllowAddingStreamingPoints = false;
472 int mStreamingToleranceInPixels = 1;
474 bool mStartNewCurve = false;
476 bool mIgnoreSubsequentAutoRepeatUndo = false;
Keeps a pointer to a QObject and deletes it whenever this object is deleted.
Abstract base class for all geometries.
Compound curve geometry type.
Abstract base class for curved geometry type.
A rubberband class for QgsAbstractGeometry (considering curved geometries).
virtual void setGeometry(QgsAbstractGeometry *geom)
Sets geometry (takes ownership). Geometry is expected to be in map coordinates.
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.
Handles storage of information regarding WKB types and their properties.
GeometryType
The geometry types are used to group QgsWkbTypes::Type in a coarse way.
Type
The WKB type describes the number of dimensions a geometry has.
std::unique_ptr< GEOSGeometry, GeosDeleter > unique_ptr
Scoped GEOS pointer.
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.