16#ifndef QGSMAPTOOLCAPTURE_H 
   17#define QGSMAPTOOLCAPTURE_H 
   35class QgsMapToolCaptureRubberBand;
 
   66      NoCapabilities = 1 << 0, 
 
   67      SupportsCurves = 1 << 1, 
 
   68      ValidateGeometries = 1 << 2, 
 
   71    Q_DECLARE_FLAGS( Capabilities, Capability )
 
   81    virtual QgsMapToolCapture::Capabilities capabilities() 
const;
 
  141    QList<QgsPointLocator::Match> snappingMatches() 
const;
 
  155    void deleteTempRubberBand();
 
  158    void clean() 
override;
 
  203    Q_DECL_DEPRECATED 
void setCircularDigitizingEnabled( 
bool enable ) 
SIP_DEPRECATED;
 
  210    Q_DECL_DEPRECATED 
void setStreamDigitizingEnabled( 
bool enable ) 
SIP_DEPRECATED;
 
  216    void updateExtraSnapLayer();
 
  282    void undo( 
bool isAutoRepeat = false );
 
  287    void startCapturing();
 
  294    bool isCapturing() const;
 
  345    void stopCapturing();
 
  361    virtual void pointCaptured( 
const QgsPoint &point ) {Q_UNUSED( point )} 
SIP_FORCE 
  378    bool tracingEnabled();
 
  384    bool tracingAddVertex( 
const QgsPointXY &point );
 
  387    QgsMapToolCaptureRubberBand *createCurveRubberBand() 
const;
 
  390    void resetRubberBand();
 
  393    CaptureMode mCaptureMode;
 
  396    bool mCapturing = 
false;
 
  411    QList<QgsPointLocator::Match> mSnappingMatches;
 
  415    void validateGeometry();
 
  417    QList< QgsGeometry::Error > mGeomErrors;
 
  418    QList< QgsVertexMarker * > mGeomErrorMarkers;
 
  425    bool mCaptureModeFromLayer = 
false;
 
  427    std::unique_ptr<QgsSnapIndicator> mSnapIndicator;
 
  444    bool mAllowAddingStreamingPoints = 
false;
 
  445    int mStreamingToleranceInPixels = 1;
 
  447    bool mStartNewCurve = 
false;
 
  449    bool mIgnoreSubsequentAutoRepeatUndo = 
false;
 
  451    friend class TestQgsMapToolCapture;
 
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.
 
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.
 
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.