QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
Public Types | Public Slots | Public Member Functions | Protected Slots | Protected Member Functions | Friends | List of all members
QgsMapToolCapture Class Reference

QgsMapToolCapture is a base class capable of capturing point, lines and polygons. More...

#include <qgsmaptoolcapture.h>

Inheritance diagram for QgsMapToolCapture:
Inheritance graph
[legend]

Public Types

typedef QFlags< CapabilityCapabilities
 
enum  Capability { NoCapabilities = 1 << 0 , SupportsCurves = 1 << 1 , ValidateGeometries = 1 << 2 }
 Specific capabilities of the tool. More...
 
enum  CaptureMode { CaptureNone , CapturePoint , CaptureLine , CapturePolygon }
 Different capture modes. More...
 
- Public Types inherited from QgsMapTool
enum  Flag { Transient = 1 << 1 , EditTool = 1 << 2 , AllowZoomRect = 1 << 3 , ShowContextMenu = 1 << 4 }
 Enumeration of flags that adjust the way the map tool operates. More...
 
typedef QFlags< FlagFlags
 

Public Slots

Q_DECL_DEPRECATED void setCircularDigitizingEnabled (bool enable)
 Enable the digitizing with curve. More...
 
Q_DECL_DEPRECATED void setStreamDigitizingEnabled (bool enable)
 Toggles the stream digitizing mode. More...
 

Public Member Functions

 QgsMapToolCapture (QgsMapCanvas *canvas, QgsAdvancedDigitizingDockWidget *cadDockWidget, CaptureMode mode)
 constructor More...
 
 ~QgsMapToolCapture () override
 
void activate () override
 Registers this maptool with the cad dock widget. More...
 
int addCurve (QgsCurve *c)
 Adds a whole curve (e.g. circularstring) to the captured geometry. Curve must be in map CRS. More...
 
void cadCanvasMoveEvent (QgsMapMouseEvent *e) override
 Override this method when subclassing this class. More...
 
void cadCanvasReleaseEvent (QgsMapMouseEvent *e) override
 Override this method when subclassing this class. More...
 
virtual QgsMapToolCapture::Capabilities capabilities () const
 Returns flags containing the supported capabilities. More...
 
const QgsCompoundCurvecaptureCurve () const
 Gets the capture curve. More...
 
void clean () override
 convenient method to clean members More...
 
void clearCurve ()
 Clear capture curve. More...
 
Qgis::CaptureTechnique currentCaptureTechnique () const
 Returns the active capture technique. More...
 
void deactivate () override
 Unregisters this maptool from the cad dock widget. More...
 
void deleteTempRubberBand ()
 Clean a temporary rubberband. More...
 
void keyPressEvent (QKeyEvent *e) override
 Intercept key events like Esc or Del to delete the last point. More...
 
QgsPoint mapPoint (const QgsMapMouseEvent &e) const
 Creates a QgsPoint with ZM support if necessary (according to the WkbType of the current layer). More...
 
QgsPoint mapPoint (const QgsPointXY &point) const
 Creates a QgsPoint with ZM support if necessary (according to the WkbType of the current layer). More...
 
CaptureMode mode () const
 The capture mode. More...
 
void setCurrentCaptureTechnique (Qgis::CaptureTechnique technique)
 Sets the current capture if it is supported by the map tool. More...
 
void setCurrentShapeMapTool (const QgsMapToolShapeMetadata *shapeMapToolMetadata)
 Sets the current shape tool. More...
 
QList< QgsPointLocator::MatchsnappingMatches () const
 Returns a list of matches for each point on the captureCurve. More...
 
virtual bool supportsTechnique (Qgis::CaptureTechnique technique) const
 Returns true if the tool supports the specified capture technique. More...
 
QgsRubberBandtakeRubberBand ()
 Returns the rubberBand currently owned by this map tool and transfers ownership to the caller. More...
 
- Public Member Functions inherited from QgsMapToolAdvancedDigitizing
 QgsMapToolAdvancedDigitizing (QgsMapCanvas *canvas, QgsAdvancedDigitizingDockWidget *cadDockWidget)
 Creates an advanced digitizing maptool. More...
 
void activate () override
 Registers this maptool with the cad dock widget. More...
 
virtual void cadCanvasMoveEvent (QgsMapMouseEvent *e)
 Override this method when subclassing this class. More...
 
virtual void cadCanvasPressEvent (QgsMapMouseEvent *e)
 Override this method when subclassing this class. More...
 
virtual void cadCanvasReleaseEvent (QgsMapMouseEvent *e)
 Override this method when subclassing this class. More...
 
QgsAdvancedDigitizingDockWidgetcadDockWidget () const
 
void canvasMoveEvent (QgsMapMouseEvent *e) override
 Catch the mouse move event, filters it, transforms it to map coordinates and send it to virtual method. More...
 
void canvasPressEvent (QgsMapMouseEvent *e) override
 Catch the mouse press event, filters it, transforms it to map coordinates and send it to virtual method. More...
 
void canvasReleaseEvent (QgsMapMouseEvent *e) override
 Catch the mouse release event, filters it, transforms it to map coordinates and send it to virtual method. More...
 
void deactivate () override
 Unregisters this maptool from the cad dock widget. More...
 
bool isAdvancedDigitizingAllowed () const
 Returns whether functionality of advanced digitizing dock widget is currently allowed. More...
 
bool isAutoSnapEnabled () const
 Returns whether mouse events (press/move/release) should automatically try to snap mouse position (according to the snapping configuration of map canvas) before passing the mouse coordinates to the tool. More...
 
virtual QgsMapLayerlayer () const
 Returns the layer associated with the map tool. More...
 
void setSnapToLayerGridEnabled (bool snapToLayerGridEnabled)
 Enables or disables snap to grid of mouse events. More...
 
bool snapToLayerGridEnabled () const
 Enables or disables snap to grid of mouse events. More...
 
- Public Member Functions inherited from QgsMapToolEdit
 QgsMapToolEdit (QgsMapCanvas *canvas)
 
QgsGeometryRubberBandcreateGeometryRubberBand (Qgis::GeometryType geometryType=Qgis::GeometryType::Line, bool alternativeBand=false) const
 Creates a geometry rubber band with the color/line width from the QGIS settings. More...
 
Flags flags () const override
 Returns the flags for the map tool. More...
 
- Public Member Functions inherited from QgsMapTool
 ~QgsMapTool () override
 
QAction * action ()
 Returns associated action with map tool or nullptr if no action is associated. More...
 
virtual void activate ()
 called when set as currently active map tool More...
 
QAbstractButton * button ()
 Returns associated button with map tool or nullptr if no button is associated. More...
 
QgsMapCanvascanvas () const
 returns pointer to the tool's map canvas More...
 
virtual void canvasDoubleClickEvent (QgsMapMouseEvent *e)
 Mouse double-click event for overriding. Default implementation does nothing. More...
 
virtual void canvasMoveEvent (QgsMapMouseEvent *e)
 Mouse move event for overriding. Default implementation does nothing. More...
 
virtual void canvasPressEvent (QgsMapMouseEvent *e)
 Mouse press event for overriding. Default implementation does nothing. More...
 
virtual void canvasReleaseEvent (QgsMapMouseEvent *e)
 Mouse release event for overriding. Default implementation does nothing. More...
 
virtual bool canvasToolTipEvent (QHelpEvent *e)
 Tooltip event for overriding. More...
 
virtual void clean ()
 convenient method to clean members More...
 
virtual void deactivate ()
 called when map tool is being deactivated More...
 
virtual Flags flags () const
 Returns the flags for the map tool. More...
 
virtual bool gestureEvent (QGestureEvent *e)
 gesture event for overriding. Default implementation does nothing. More...
 
bool isActive () const
 Returns if the current map tool active on the map canvas. More...
 
virtual void keyPressEvent (QKeyEvent *e)
 Key event for overriding. Default implementation does nothing. More...
 
virtual void keyReleaseEvent (QKeyEvent *e)
 Key event for overriding. Default implementation does nothing. More...
 
virtual void populateContextMenu (QMenu *menu)
 Allows the tool to populate and customize the given menu, prior to showing it in response to a right-mouse button click. More...
 
virtual bool populateContextMenuWithEvent (QMenu *menu, QgsMapMouseEvent *event)
 Allows the tool to populate and customize the given menu, prior to showing it in response to a right-mouse button click. More...
 
virtual void reactivate ()
 Called when the map tool is being activated while it is already active. More...
 
void setAction (QAction *action)
 Use this to associate a QAction to this maptool. More...
 
void setButton (QAbstractButton *button)
 Use this to associate a button to this maptool. More...
 
virtual void setCursor (const QCursor &cursor)
 Sets a user defined cursor. More...
 
QgsPointXY toMapCoordinates (QPoint point)
 Transforms a point from screen coordinates to map coordinates. More...
 
QString toolName ()
 Emit map tool changed with the old tool. More...
 
virtual void wheelEvent (QWheelEvent *e)
 Mouse wheel event for overriding. Default implementation does nothing. More...
 

Protected Slots

void stopCapturing ()
 Stop capturing. More...
 

Protected Member Functions

int addVertex (const QgsPointXY &mapPoint, const QgsPointLocator::Match &match)
 Variant to supply more information in the case of snapping. More...
 
int addVertex (const QgsPointXY &point)
 Adds a point to the rubber band (in map coordinates) and to the capture list (in layer coordinates) More...
 
void closePolygon ()
 Close an open polygon. More...
 
int fetchLayerPoint (const QgsPointLocator::Match &match, QgsPoint &layerPoint)
 Fetches the original point from the source layer if it has the same CRS as the current layer. More...
 
bool isCapturing () const
 Are we currently capturing? More...
 
int nextPoint (const QgsPoint &mapPoint, QgsPoint &layerPoint)
 Converts a map point to layer coordinates. More...
 
int nextPoint (QPoint p, QgsPoint &layerPoint, QgsPoint &mapPoint)
 Converts a point to map coordinates and layer coordinates. More...
 
Q_DECL_DEPRECATED QVector< QgsPointXYpoints () const
 List of digitized points. More...
 
QgsPointSequence pointsZM () const
 List of digitized points. More...
 
void setPoints (const QgsPointSequence &pointList)
 Set the points on which to work. More...
 
Q_DECL_DEPRECATED void setPoints (const QVector< QgsPointXY > &pointList)
 Set the points on which to work. More...
 
int size ()
 Number of points digitized. More...
 
void startCapturing ()
 Start capturing. More...
 
void undo (bool isAutoRepeat=false)
 Removes the last vertex from mRubberBand and mCaptureList. More...
 
- Protected Member Functions inherited from QgsMapToolAdvancedDigitizing
void setAdvancedDigitizingAllowed (bool allowed)
 Sets whether functionality of advanced digitizing dock widget is currently allowed. More...
 
void setAutoSnapEnabled (bool enabled)
 Sets whether mouse events (press/move/release) should automatically try to snap mouse position This method is protected because it should be a decision of the map tool and not from elsewhere. More...
 
- Protected Member Functions inherited from QgsMapToolEdit
TopologicalResult addTopologicalPoints (const QVector< QgsPoint > &vertices)
 Adds a list of vertices to other features to keep topology up to date, e.g. More...
 
Q_DECL_DEPRECATED TopologicalResult addTopologicalPoints (const QVector< QgsPointXY > &vertices)
 Adds a list of vertices to other features to keep topology up to date, e.g. More...
 
QgsRubberBandcreateRubberBand (Qgis::GeometryType geometryType=Qgis::GeometryType::Line, bool alternativeBand=false)
 Creates a rubber band with the color/line width from the QGIS settings. More...
 
QgsVectorLayercurrentVectorLayer ()
 Returns the current vector layer of the map canvas or 0. More...
 
void notifyNotEditableLayer ()
 Display a timed message bar noting the active vector layer is not editable. More...
 
void notifyNotVectorLayer ()
 Display a timed message bar noting the active layer is not vector. More...
 
- Protected Member Functions inherited from QgsMapTool
 QgsMapTool (QgsMapCanvas *canvas)
 Constructor takes a map canvas as a parameter. More...
 
QgsMapLayerlayer (const QString &id)
 Returns the map layer with the matching ID, or nullptr if no layers could be found. More...
 
void setToolName (const QString &name)
 Sets the tool's name. More...
 
QPoint toCanvasCoordinates (const QgsPointXY &point) const
 Transforms a point from map coordinates to screen coordinates. More...
 
QgsPoint toLayerCoordinates (const QgsMapLayer *layer, const QgsPoint &point)
 Transforms a point from map coordinates to layer coordinates. More...
 
QgsPointXY toLayerCoordinates (const QgsMapLayer *layer, const QgsPointXY &point)
 Transforms a point from map coordinates to layer coordinates. More...
 
QgsRectangle toLayerCoordinates (const QgsMapLayer *layer, const QgsRectangle &rect)
 Transforms a rect from map coordinates to layer coordinates. More...
 
QgsPointXY toLayerCoordinates (const QgsMapLayer *layer, QPoint point)
 Transforms a point from screen coordinates to layer coordinates. More...
 
QgsPoint toMapCoordinates (const QgsMapLayer *layer, const QgsPoint &point)
 Transforms a point from layer coordinates to map coordinates (which is different in case reprojection is used). More...
 
QgsPointXY toMapCoordinates (const QgsMapLayer *layer, const QgsPointXY &point)
 Transforms a point from layer coordinates to map coordinates (which is different in case reprojection is used). More...
 

Friends

class TestQgsMapToolCapture
 

Additional Inherited Members

- Signals inherited from QgsMapTool
void activated ()
 signal emitted once the map tool is activated More...
 
void deactivated ()
 signal emitted once the map tool is deactivated More...
 
void messageDiscarded ()
 emit signal to clear previous message More...
 
void messageEmitted (const QString &message, Qgis::MessageLevel=Qgis::MessageLevel::Info)
 emit a message More...
 
void reactivated ()
 
- Static Public Member Functions inherited from QgsMapToolEdit
static double defaultMValue ()
 Returns default M value. More...
 
static double defaultZValue ()
 Returns default Z value. More...
 
- Static Public Member Functions inherited from QgsMapTool
static double searchRadiusMM ()
 Gets search radius in mm. More...
 
static double searchRadiusMU (const QgsRenderContext &context)
 Gets search radius in map units for given context. More...
 
static double searchRadiusMU (QgsMapCanvas *canvas)
 Gets search radius in map units for given canvas. More...
 
- Protected Types inherited from QgsMapToolEdit
enum  TopologicalResult { Success = 0 , InvalidCanvas = 1 , InvalidLayer = 2 }
 Result of addTopologicalPoints. More...
 
- Static Protected Member Functions inherited from QgsMapToolEdit
static QColor digitizingFillColor ()
 Returns fill color for rubber bands (from global settings) More...
 
static QColor digitizingStrokeColor ()
 Returns stroke color for rubber bands (from global settings) More...
 
static int digitizingStrokeWidth ()
 Returns stroke width for rubber bands (from global settings) More...
 
- Protected Attributes inherited from QgsMapToolAdvancedDigitizing
QgsAdvancedDigitizingDockWidgetmCadDockWidget = nullptr
 
- Protected Attributes inherited from QgsMapTool
QAction * mAction = nullptr
 Optional pointer to an action that will be checked on map tool activation and unchecked on map tool deactivation. More...
 
QAbstractButton * mButton = nullptr
 Optional pointer to a button that will be checked on map tool activation and unchecked on map tool deactivation. More...
 
QPointer< QgsMapCanvasmCanvas
 The pointer to the map canvas. More...
 
QCursor mCursor
 The cursor used in the map tool. More...
 
QString mToolName
 The translated name of the map tool. More...
 

Detailed Description

QgsMapToolCapture is a base class capable of capturing point, lines and polygons.

The tool supports different techniques: straight segments, curves, streaming and shapes Once the the geometry is captured the virtual private handler geometryCaptured is called as well as a more specific handler (pointCaptured, lineCaptured or polygonCaptured)

Definition at line 48 of file qgsmaptoolcapture.h.

Member Typedef Documentation

◆ Capabilities

Definition at line 71 of file qgsmaptoolcapture.h.

Member Enumeration Documentation

◆ Capability

Specific capabilities of the tool.

Enumerator
NoCapabilities 

No specific capabilities.

SupportsCurves 

Supports curved geometries input.

ValidateGeometries 

Tool supports geometry validation (since QGIS 3.22)

Definition at line 64 of file qgsmaptoolcapture.h.

◆ CaptureMode

Different capture modes.

Enumerator
CaptureNone 

Do not capture / determine mode from layer geometry type.

CapturePoint 

Capture points.

CaptureLine 

Capture lines.

CapturePolygon 

Capture polygons.

Definition at line 55 of file qgsmaptoolcapture.h.

Constructor & Destructor Documentation

◆ QgsMapToolCapture()

QgsMapToolCapture::QgsMapToolCapture ( QgsMapCanvas canvas,
QgsAdvancedDigitizingDockWidget cadDockWidget,
CaptureMode  mode 
)

constructor

Definition at line 47 of file qgsmaptoolcapture.cpp.

◆ ~QgsMapToolCapture()

QgsMapToolCapture::~QgsMapToolCapture ( )
override

Definition at line 76 of file qgsmaptoolcapture.cpp.

Member Function Documentation

◆ activate()

void QgsMapToolCapture::activate ( )
overridevirtual

Registers this maptool with the cad dock widget.

Reimplemented from QgsMapToolAdvancedDigitizing.

Reimplemented in QgsMapToolDigitizeFeature.

Definition at line 117 of file qgsmaptoolcapture.cpp.

◆ addCurve()

int QgsMapToolCapture::addCurve ( QgsCurve c)

Adds a whole curve (e.g. circularstring) to the captured geometry. Curve must be in map CRS.

Definition at line 792 of file qgsmaptoolcapture.cpp.

◆ addVertex() [1/2]

int QgsMapToolCapture::addVertex ( const QgsPointXY mapPoint,
const QgsPointLocator::Match match 
)
protected

Variant to supply more information in the case of snapping.

Parameters
mapPointThe vertex to add in map coordinates
matchData about the snapping match. Can be an invalid match, if point not snapped.

Definition at line 675 of file qgsmaptoolcapture.cpp.

◆ addVertex() [2/2]

int QgsMapToolCapture::addVertex ( const QgsPointXY point)
protected

Adds a point to the rubber band (in map coordinates) and to the capture list (in layer coordinates)

Returns
0 in case of success, 2 if coordinate transformation failed

Definition at line 670 of file qgsmaptoolcapture.cpp.

◆ cadCanvasMoveEvent()

void QgsMapToolCapture::cadCanvasMoveEvent ( QgsMapMouseEvent e)
overridevirtual

Override this method when subclassing this class.

This will receive adapted events from the cad system whenever a canvasMoveEvent is triggered and it's not hidden by the cad's construction mode.

Parameters
eMouse events prepared by the cad system

Reimplemented from QgsMapToolAdvancedDigitizing.

Definition at line 474 of file qgsmaptoolcapture.cpp.

◆ cadCanvasReleaseEvent()

void QgsMapToolCapture::cadCanvasReleaseEvent ( QgsMapMouseEvent e)
overridevirtual

Override this method when subclassing this class.

This will receive adapted events from the cad system whenever a canvasReleaseEvent is triggered and it's not hidden by the cad's construction mode.

Parameters
eMouse events prepared by the cad system

Reimplemented from QgsMapToolAdvancedDigitizing.

Reimplemented in QgsMapToolDigitizeFeature.

Definition at line 1251 of file qgsmaptoolcapture.cpp.

◆ capabilities()

QgsMapToolCapture::Capabilities QgsMapToolCapture::capabilities ( ) const
virtual

Returns flags containing the supported capabilities.

Reimplemented in QgsMapToolDigitizeFeature.

Definition at line 98 of file qgsmaptoolcapture.cpp.

◆ captureCurve()

const QgsCompoundCurve * QgsMapToolCapture::captureCurve ( ) const
inline

Gets the capture curve.

Returns
Capture curve

Definition at line 133 of file qgsmaptoolcapture.h.

◆ clean()

void QgsMapToolCapture::clean ( )
overridevirtual

convenient method to clean members

Reimplemented from QgsMapTool.

Definition at line 1023 of file qgsmaptoolcapture.cpp.

◆ clearCurve()

void QgsMapToolCapture::clearCurve ( )

Clear capture curve.

Definition at line 849 of file qgsmaptoolcapture.cpp.

◆ closePolygon()

void QgsMapToolCapture::closePolygon ( )
protected

Close an open polygon.

Definition at line 1032 of file qgsmaptoolcapture.cpp.

◆ currentCaptureTechnique()

Qgis::CaptureTechnique QgsMapToolCapture::currentCaptureTechnique ( ) const
inline

Returns the active capture technique.

Since
QGIS 3.32

Definition at line 100 of file qgsmaptoolcapture.h.

◆ deactivate()

void QgsMapToolCapture::deactivate ( )
overridevirtual

Unregisters this maptool from the cad dock widget.

Reimplemented from QgsMapToolAdvancedDigitizing.

Reimplemented in QgsMapToolDigitizeFeature.

Definition at line 129 of file qgsmaptoolcapture.cpp.

◆ deleteTempRubberBand()

void QgsMapToolCapture::deleteTempRubberBand ( )

Clean a temporary rubberband.

Definition at line 1018 of file qgsmaptoolcapture.cpp.

◆ fetchLayerPoint()

int QgsMapToolCapture::fetchLayerPoint ( const QgsPointLocator::Match match,
QgsPoint layerPoint 
)
protected

Fetches the original point from the source layer if it has the same CRS as the current layer.

If topological editing is activated, the points are projected to the current layer CRS.

Returns
0 in case of success 1 if not applicable (CRS mismatch / invalid layer) 2 in case of failure

Definition at line 607 of file qgsmaptoolcapture.cpp.

◆ isCapturing()

bool QgsMapToolCapture::isCapturing ( ) const
protected

Are we currently capturing?

Returns
Is the tool in capture mode?

Definition at line 990 of file qgsmaptoolcapture.cpp.

◆ keyPressEvent()

void QgsMapToolCapture::keyPressEvent ( QKeyEvent *  e)
overridevirtual

Intercept key events like Esc or Del to delete the last point.

Parameters
ekey event

Reimplemented from QgsMapTool.

Reimplemented in QgsMapToolDigitizeFeature.

Definition at line 940 of file qgsmaptoolcapture.cpp.

◆ mapPoint() [1/2]

QgsPoint QgsMapToolCapture::mapPoint ( const QgsMapMouseEvent e) const

Creates a QgsPoint with ZM support if necessary (according to the WkbType of the current layer).

If the point is snapped, then the Z value is derived from the snapped point.

Parameters
eA mouse event
Returns
a point with ZM support if necessary

Definition at line 1195 of file qgsmaptoolcapture.cpp.

◆ mapPoint() [2/2]

QgsPoint QgsMapToolCapture::mapPoint ( const QgsPointXY point) const

Creates a QgsPoint with ZM support if necessary (according to the WkbType of the current layer).

Parameters
pointA point in 2D
Returns
a point with ZM support if necessary

Definition at line 1156 of file qgsmaptoolcapture.cpp.

◆ mode()

CaptureMode QgsMapToolCapture::mode ( ) const
inline

The capture mode.

Returns
Capture mode

Definition at line 117 of file qgsmaptoolcapture.h.

◆ nextPoint() [1/2]

int QgsMapToolCapture::nextPoint ( const QgsPoint mapPoint,
QgsPoint layerPoint 
)
protected

Converts a map point to layer coordinates.

Parameters
mapPointthe point in map coordinates
[in,out]layerPointthe point in layer coordinates
Returns
0 in case of success 1 if the current layer is nullptr 2 if the transformation failed

Definition at line 574 of file qgsmaptoolcapture.cpp.

◆ nextPoint() [2/2]

int QgsMapToolCapture::nextPoint ( QPoint  p,
QgsPoint layerPoint,
QgsPoint mapPoint 
)
protected

Converts a point to map coordinates and layer coordinates.

Parameters
pthe input point
[in,out]layerPointthe point in layer coordinates
[in,out]mapPointthe point in map coordinates
Returns
0 in case of success 1 if the current layer is nullptr or not a vector layer 2 if the transformation failed

Definition at line 601 of file qgsmaptoolcapture.cpp.

◆ points()

QVector< QgsPointXY > QgsMapToolCapture::points ( ) const
protected

List of digitized points.

Returns
List of points
Deprecated:
since QGIS 3.12 - will be removed in QGIS 4.0. Use the variant returns QgsPoint objects instead of QgsPointXY.

Definition at line 1117 of file qgsmaptoolcapture.cpp.

◆ pointsZM()

QgsPointSequence QgsMapToolCapture::pointsZM ( ) const
protected

List of digitized points.

Returns
List of points
Since
QGIS 3.12

Definition at line 1125 of file qgsmaptoolcapture.cpp.

◆ setCircularDigitizingEnabled

void QgsMapToolCapture::setCircularDigitizingEnabled ( bool  enable)
slot

Enable the digitizing with curve.

Deprecated:
since QGIS 3.26 use setCurrentCaptureTechnique() instead

Definition at line 394 of file qgsmaptoolcapture.cpp.

◆ setCurrentCaptureTechnique()

void QgsMapToolCapture::setCurrentCaptureTechnique ( Qgis::CaptureTechnique  technique)

Sets the current capture if it is supported by the map tool.

Since
QGIS 3.26

Definition at line 410 of file qgsmaptoolcapture.cpp.

◆ setCurrentShapeMapTool()

void QgsMapToolCapture::setCurrentShapeMapTool ( const QgsMapToolShapeMetadata shapeMapToolMetadata)

Sets the current shape tool.

See also
QgsMapToolShapeRegistry
Since
QGIS 3.26

Definition at line 453 of file qgsmaptoolcapture.cpp.

◆ setPoints() [1/2]

void QgsMapToolCapture::setPoints ( const QgsPointSequence pointList)
protected

Set the points on which to work.

Parameters
pointListA list of points
Since
QGIS 3.12

Definition at line 1144 of file qgsmaptoolcapture.cpp.

◆ setPoints() [2/2]

void QgsMapToolCapture::setPoints ( const QVector< QgsPointXY > &  pointList)
protected

Set the points on which to work.

Parameters
pointListA list of points
Deprecated:
since QGIS 3.12 - will be removed in QGIS 4.0. Use the variant which accepts QgsPoint objects instead of QgsPointXY.

Definition at line 1132 of file qgsmaptoolcapture.cpp.

◆ setStreamDigitizingEnabled

void QgsMapToolCapture::setStreamDigitizingEnabled ( bool  enable)
slot

Toggles the stream digitizing mode.

Since
QGIS 3.20
Deprecated:
since QGIS 3.26 use setCurrentCaptureTechnique() instead

Definition at line 402 of file qgsmaptoolcapture.cpp.

◆ size()

int QgsMapToolCapture::size ( )
protected

Number of points digitized.

Returns
Number of points

Definition at line 1112 of file qgsmaptoolcapture.cpp.

◆ snappingMatches()

QList< QgsPointLocator::Match > QgsMapToolCapture::snappingMatches ( ) const

Returns a list of matches for each point on the captureCurve.

Definition at line 855 of file qgsmaptoolcapture.cpp.

◆ startCapturing()

void QgsMapToolCapture::startCapturing ( )
protected

Start capturing.

Definition at line 985 of file qgsmaptoolcapture.cpp.

◆ stopCapturing

void QgsMapToolCapture::stopCapturing ( )
protectedslot

Stop capturing.

Definition at line 995 of file qgsmaptoolcapture.cpp.

◆ supportsTechnique()

bool QgsMapToolCapture::supportsTechnique ( Qgis::CaptureTechnique  technique) const
virtual

Returns true if the tool supports the specified capture technique.

Since
QGIS 3.20

Reimplemented in QgsMapToolDigitizeFeature.

Definition at line 103 of file qgsmaptoolcapture.cpp.

◆ takeRubberBand()

QgsRubberBand * QgsMapToolCapture::takeRubberBand ( )

Returns the rubberBand currently owned by this map tool and transfers ownership to the caller.

May be nullptr.

Since
QGIS 3.8

Definition at line 389 of file qgsmaptoolcapture.cpp.

◆ undo()

void QgsMapToolCapture::undo ( bool  isAutoRepeat = false)
protected

Removes the last vertex from mRubberBand and mCaptureList.

Since QGIS 3.20, if isAutoRepeat is set to true then the undo operation will be treated as a auto repeated undo as if the user has held down the undo key for an extended period of time.

Definition at line 860 of file qgsmaptoolcapture.cpp.

Friends And Related Function Documentation

◆ TestQgsMapToolCapture

friend class TestQgsMapToolCapture
friend

Definition at line 445 of file qgsmaptoolcapture.h.


The documentation for this class was generated from the following files: