QGIS API Documentation
3.0.2-Girona (307d082)
|
Extension of QgsTracer that provides extra functionality: More...
#include <qgsmapcanvastracer.h>
Public Member Functions | |
QgsMapCanvasTracer (QgsMapCanvas *canvas, QgsMessageBar *messageBar=nullptr) | |
Create tracer associated with a particular map canvas, optionally message bar for reporting. More... | |
~QgsMapCanvasTracer () override | |
QAction * | actionEnableSnapping () const |
Access to action that user may use to toggle snapping on/off. More... | |
QAction * | actionEnableTracing () const |
Access to action that user may use to toggle tracing on/off. May be null if no action was associated. More... | |
void | reportError (PathError err, bool addingVertex) |
Report a path finding error to the user. More... | |
void | setActionEnableSnapping (QAction *action) |
Assign "enable snapping" checkable action to the tracer. More... | |
void | setActionEnableTracing (QAction *action) |
Assign "enable tracing" checkable action to the tracer. More... | |
Public Member Functions inherited from QgsTracer | |
QgsTracer () | |
Constructor for QgsTracer. More... | |
~QgsTracer () override | |
QgsCoordinateReferenceSystem | destinationCrs () const |
Returns the CRS used for tracing. More... | |
QgsRectangle | extent () const |
Get extent to which graph's features will be limited (empty extent means no limit) More... | |
QVector< QgsPointXY > | findShortestPath (const QgsPointXY &p1, const QgsPointXY &p2, PathError *error=nullptr) |
Given two points, find the shortest path and return points on the way. More... | |
bool | hasTopologyProblem () const |
Whether there was an error during graph creation due to noding exception, indicating some input data topology problems. More... | |
bool | init () |
Build the internal data structures. More... | |
bool | isInitialized () const |
Whether the internal data structures have been initialized. More... | |
bool | isPointSnapped (const QgsPointXY &pt) |
Find out whether the point is snapped to a vertex or edge (i.e. it can be used for tracing start/stop) More... | |
QList< QgsVectorLayer * > | layers () const |
Get layers used for tracing. More... | |
int | maxFeatureCount () const |
Get maximum possible number of features in graph. If the number is exceeded, graph is not created. More... | |
double | offset () const |
Get offset in map units that should be applied to the traced paths returned from findShortestPath(). More... | |
void | offsetParameters (int &quadSegments, int &joinStyle, double &miterLimit) |
Get extra parameters for offset curve algorithm (used when offset is non-zero) More... | |
void | setDestinationCrs (const QgsCoordinateReferenceSystem &crs, const QgsCoordinateTransformContext &context) |
Sets the crs and transform context used for tracing. More... | |
void | setExtent (const QgsRectangle &extent) |
Set extent to which graph's features will be limited (empty extent means no limit) More... | |
void | setLayers (const QList< QgsVectorLayer *> &layers) |
Set layers used for tracing. More... | |
void | setMaxFeatureCount (int count) |
Get maximum possible number of features in graph. If the number is exceeded, graph is not created. More... | |
void | setOffset (double offset) |
Set offset in map units that should be applied to the traced paths returned from findShortestPath(). More... | |
void | setOffsetParameters (int quadSegments, int joinStyle, double miterLimit) |
Set extra parameters for offset curve algorithm (used when offset is non-zero) More... | |
Static Public Member Functions | |
static QgsMapCanvasTracer * | tracerForCanvas (QgsMapCanvas *canvas) |
Retrieve instance of this class associated with given canvas (if any). More... | |
Protected Member Functions | |
void | configure () override |
Sets configuration from current snapping settings and canvas settings. More... | |
Additional Inherited Members | |
Public Types inherited from QgsTracer | |
enum | PathError { ErrNone, ErrTooManyFeatures, ErrPoint1, ErrPoint2, ErrNoPath } |
Possible errors that may happen when calling findShortestPath() More... | |
Protected Slots inherited from QgsTracer | |
void | invalidateGraph () |
Destroy the existing graph structure if any (de-initialize) More... | |
Extension of QgsTracer that provides extra functionality:
A simple registry of tracer instances associated to map canvas instances is kept for convenience. (Map tools do not need to create their local tracer instances and map canvas API is not "polluted" by this optional functionality).
Definition at line 40 of file qgsmapcanvastracer.h.
|
explicit |
Create tracer associated with a particular map canvas, optionally message bar for reporting.
Definition at line 33 of file qgsmapcanvastracer.cpp.
|
override |
Definition at line 53 of file qgsmapcanvastracer.cpp.
|
inline |
Access to action that user may use to toggle snapping on/off.
May be null if no action was associated.
Definition at line 62 of file qgsmapcanvastracer.h.
|
inline |
Access to action that user may use to toggle tracing on/off. May be null if no action was associated.
Definition at line 50 of file qgsmapcanvastracer.h.
|
overrideprotectedvirtual |
Sets configuration from current snapping settings and canvas settings.
Reimplemented from QgsTracer.
Definition at line 98 of file qgsmapcanvastracer.cpp.
void QgsMapCanvasTracer::reportError | ( | QgsTracer::PathError | err, |
bool | addingVertex | ||
) |
Report a path finding error to the user.
Definition at line 63 of file qgsmapcanvastracer.cpp.
|
inline |
Assign "enable snapping" checkable action to the tracer.
The action is used to determine whether snapping is currently enabled by the user.
Definition at line 69 of file qgsmapcanvastracer.h.
|
inline |
Assign "enable tracing" checkable action to the tracer.
The action is used to determine whether tracing is currently enabled by the user
Definition at line 56 of file qgsmapcanvastracer.h.
|
static |
Retrieve instance of this class associated with given canvas (if any).
The class keeps a simple registry of tracers associated with map canvas instances for easier access to the common tracer by various map tools
Definition at line 58 of file qgsmapcanvastracer.cpp.