|
QGIS API Documentation
3.6.0-Noosa (5873452)
|
#include <qgsmaptoolcapture.h>

Public Types | |
| 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 } |
| Enumeration of flags that adjust the way the map tool operates. 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... | |
| const QgsCompoundCurve * | captureCurve () const |
| Gets the capture curve. More... | |
| void | clean () override |
| convenient method to clean members More... | |
| void | clearCurve () |
| Clear capture curve. 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... | |
| CaptureMode | mode () const |
| The capture mode. More... | |
| QList< QgsPointLocator::Match > | snappingMatches () const |
| Returns a list of matches for each point on the captureCurve. More... | |
Public Member Functions inherited from QgsMapToolAdvancedDigitizing | |
| QgsMapToolAdvancedDigitizing (QgsMapCanvas *canvas, QgsAdvancedDigitizingDockWidget *cadDockWidget) | |
| Creates an advanced digitizing maptool. 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... | |
| QgsAdvancedDigitizingDockWidget * | cadDockWidget () 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... | |
| 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... | |
| 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) | |
| double | defaultZValue () const |
| Returns default Z value Use for set Z coordinate to new vertex for 2.5d geometries. 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 NULL if no action is associated. More... | |
| QAbstractButton * | button () |
| Returns associated button with map tool or NULL if no button is associated. More... | |
| QgsMapCanvas * | canvas () |
| 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 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 | keyReleaseEvent (QKeyEvent *e) |
| Key event for overriding. Default implementation does nothing. 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... | |
| 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 &point) |
| Adds a point to the rubber band (in map coordinates) and to the capture list (in layer coordinates) More... | |
| int | addVertex (const QgsPointXY &mapPoint, const QgsPointLocator::Match &match) |
| Variant to supply more information in the case of snapping. 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... | |
| 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... | |
| 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... | |
| QVector< QgsPointXY > | points () const |
| List of digitized points. More... | |
| 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 () |
| 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 | |
| int | addTopologicalPoints (const QVector< QgsPointXY > &geom) |
| Adds vertices to other features to keep topology up to date, e.g. More... | |
| QgsGeometryRubberBand * | createGeometryRubberBand (QgsWkbTypes::GeometryType geometryType=QgsWkbTypes::LineGeometry, bool alternativeBand=false) const |
| QgsRubberBand * | createRubberBand (QgsWkbTypes::GeometryType geometryType=QgsWkbTypes::LineGeometry, bool alternativeBand=false) |
| Creates a rubber band with the color/line width from the QGIS settings. More... | |
| QgsVectorLayer * | currentVectorLayer () |
| 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 map canvas as a parameter More... | |
| QPoint | toCanvasCoordinates (const QgsPointXY &point) |
| transformation from map coordinates to screen coordinates More... | |
| QgsPointXY | toLayerCoordinates (const QgsMapLayer *layer, QPoint point) |
| transformation from screen coordinates to layer's coordinates More... | |
| QgsPointXY | toLayerCoordinates (const QgsMapLayer *layer, const QgsPointXY &point) |
| transformation from map coordinates to layer's coordinates More... | |
| QgsRectangle | toLayerCoordinates (const QgsMapLayer *layer, const QgsRectangle &rect) |
| trnasformation of the rect from map coordinates to layer's coordinates More... | |
| QgsPointXY | toMapCoordinates (QPoint point) |
| transformation from screen coordinates to map coordinates More... | |
| QgsPointXY | toMapCoordinates (const QgsMapLayer *layer, const QgsPointXY &point) |
| transformation from layer's coordinates to map coordinates (which is different in case reprojection is used) More... | |
| QgsPoint | toMapCoordinates (const QgsMapLayer *layer, const QgsPoint &point) |
| transformation from layer's coordinates to map coordinates (which is different in case reprojection is used) More... | |
Friends | |
| class | TestQgsMapToolReshape |
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::Info) |
| emit a message 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... | |
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 QgsMapTool | |
| QAction * | mAction = nullptr |
| optionally map tool can have pointer to action which will be used to set that action as active More... | |
| QAbstractButton * | mButton = nullptr |
| optionally map tool can have pointer to a button which will be used to set that action as active More... | |
| QgsMapCanvas * | mCanvas = nullptr |
| pointer to map canvas More... | |
| QCursor | mCursor |
| cursor used in map tool More... | |
| QString | mToolName |
| translated name of the map tool More... | |
Definition at line 39 of file qgsmaptoolcapture.h.
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 46 of file qgsmaptoolcapture.h.
| QgsMapToolCapture::QgsMapToolCapture | ( | QgsMapCanvas * | canvas, |
| QgsAdvancedDigitizingDockWidget * | cadDockWidget, | ||
| CaptureMode | mode | ||
| ) |
constructor
Definition at line 41 of file qgsmaptoolcapture.cpp.
|
override |
Definition at line 56 of file qgsmaptoolcapture.cpp.
|
overridevirtual |
Registers this maptool with the cad dock widget.
Reimplemented from QgsMapToolAdvancedDigitizing.
Definition at line 67 of file qgsmaptoolcapture.cpp.
| 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 493 of file qgsmaptoolcapture.cpp.
|
protected |
Adds a point to the rubber band (in map coordinates) and to the capture list (in layer coordinates)
Definition at line 419 of file qgsmaptoolcapture.cpp.
|
protected |
Variant to supply more information in the case of snapping.
| mapPoint | The vertex to add in map coordinates |
| match | Data about the snapping match. Can be an invalid match, if point not snapped. |
Definition at line 424 of file qgsmaptoolcapture.cpp.
|
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.
| e | Mouse events prepared by the cad system |
Reimplemented from QgsMapToolAdvancedDigitizing.
Definition at line 295 of file qgsmaptoolcapture.cpp.
|
inline |
|
overridevirtual |
convenient method to clean members
Reimplemented from QgsMapTool.
Definition at line 659 of file qgsmaptoolcapture.cpp.
| void QgsMapToolCapture::clearCurve | ( | ) |
|
protected |
Close an open polygon.
Definition at line 665 of file qgsmaptoolcapture.cpp.
|
overridevirtual |
Unregisters this maptool from the cad dock widget.
Reimplemented from QgsMapToolAdvancedDigitizing.
Definition at line 75 of file qgsmaptoolcapture.cpp.
| void QgsMapToolCapture::deleteTempRubberBand | ( | ) |
Clean a temporary rubberband.
Definition at line 650 of file qgsmaptoolcapture.cpp.
|
protected |
Fetches the original point from the source layer if it has the same CRS as the current layer.
Definition at line 376 of file qgsmaptoolcapture.cpp.
|
protected |
Are we currently capturing?
Definition at line 615 of file qgsmaptoolcapture.cpp.
|
overridevirtual |
Intercept key events like Esc or Del to delete the last point.
| e | key event |
Reimplemented from QgsMapTool.
Definition at line 592 of file qgsmaptoolcapture.cpp.
|
protected |
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 took from the snapped point.
| e | A mouse event |
Definition at line 802 of file qgsmaptoolcapture.cpp.
|
protected |
Creates a QgsPoint with ZM support if necessary (according to the WkbType of the current layer).
| point | A point in 2D |
Definition at line 767 of file qgsmaptoolcapture.cpp.
|
inline |
Converts a map point to layer coordinates.
| mapPoint | the point in map coordinates | |
| [in,out] | layerPoint | the point in layer coordinates |
Definition at line 343 of file qgsmaptoolcapture.cpp.
Converts a point to map coordinates and layer coordinates.
| p | the input point | |
| [in,out] | layerPoint | the point in layer coordinates |
| [in,out] | mapPoint | the point in map coordinates |
Definition at line 370 of file qgsmaptoolcapture.cpp.
|
protected |
List of digitized points.
Definition at line 748 of file qgsmaptoolcapture.cpp.
|
protected |
Set the points on which to work.
| pointList | A list of points |
Definition at line 757 of file qgsmaptoolcapture.cpp.
|
protected |
Number of points digitized.
Definition at line 743 of file qgsmaptoolcapture.cpp.
| QList< QgsPointLocator::Match > QgsMapToolCapture::snappingMatches | ( | ) | const |
Returns a list of matches for each point on the captureCurve.
Definition at line 545 of file qgsmaptoolcapture.cpp.
|
protected |
Start capturing.
Definition at line 610 of file qgsmaptoolcapture.cpp.
|
protectedslot |
Stop capturing.
Definition at line 620 of file qgsmaptoolcapture.cpp.
|
protected |
Removes the last vertex from mRubberBand and mCaptureList.
Definition at line 551 of file qgsmaptoolcapture.cpp.
|
friend |
Definition at line 285 of file qgsmaptoolcapture.h.
1.8.13