QGIS API Documentation  3.27.0-Master (11ef3e5184)
Public Slots | Signals | Public Member Functions | List of all members
QgsElevationProfileCanvas Class Reference

A canvas for elevation profiles. More...

#include <qgselevationprofilecanvas.h>

Inheritance diagram for QgsElevationProfileCanvas:
Inheritance graph
[legend]

Public Slots

void clear ()
 Clears the current profile. More...
 
void setSnappingEnabled (bool enabled)
 Sets whether snapping of cursor points is enabled. More...
 
void zoomFull ()
 Zooms to the full extent of the profile. More...
 
- Public Slots inherited from QgsPlotCanvas

Signals

void activeJobCountChanged (int count)
 Emitted when the number of active background jobs changes. More...
 
void canvasPointHovered (const QgsPointXY &point, const QgsProfilePoint &profilePoint)
 Emitted when the mouse hovers over the specified point (in canvas coordinates). More...
 
- Signals inherited from QgsPlotCanvas
void contextMenuAboutToShow (QMenu *menu, QgsPlotMouseEvent *event)
 Emitted before the canvas context menu will be shown. More...
 
void plotAreaChanged ()
 Emitted whenever the visible area of the plot is changed. More...
 
void toolChanged (QgsPlotTool *newTool)
 Emitted when the plot tool is changed. More...
 
void willBeDeleted ()
 Emitted in the destructor when the canvas is about to be deleted, but is still in a perfectly valid state. More...
 

Public Member Functions

 QgsElevationProfileCanvas (QWidget *parent=nullptr)
 Constructor for QgsElevationProfileCanvas, with the specified parent widget. More...
 
 ~QgsElevationProfileCanvas () override
 
void cancelJobs () override
 Cancel any rendering job, in a blocking way. More...
 
QgsProfilePoint canvasPointToPlotPoint (QPointF point) const
 Converts a canvas point to the equivalent plot point. More...
 
void centerPlotOn (double x, double y) override
 Centers the plot on the plot point corresponding to x, y in canvas units. More...
 
QgsCoordinateReferenceSystem crs () const override
 Returns the coordinate reference system (CRS) for map coordinates used by the canvas. More...
 
QVector< QgsProfileIdentifyResultsidentify (const QRectF &rect)
 Identify results visible within the specified plot rect. More...
 
QVector< QgsProfileIdentifyResultsidentify (QPointF point)
 Identify results visible at the specified plot point. More...
 
void invalidateCurrentPlotExtent ()
 Invalidates the current plot extent, which means that the visible plot area will be recalculated and "zoom full" operation occur when the next profile generation completes. More...
 
QList< QgsMapLayer * > layers () const
 Returns the list of layers included in the profile. More...
 
void mouseMoveEvent (QMouseEvent *e) override
 
void paintEvent (QPaintEvent *event) override
 
void panContentsBy (double dx, double dy) override
 Pans the plot contents by dx, dy in canvas units. More...
 
const Qgs2DPlotplot () const
 Returns a reference to the 2D plot used by the widget. More...
 
QRectF plotArea () const
 Returns the interior rectangle representing the surface of the plot, in canvas coordinates. More...
 
QgsPointXY plotPointToCanvasPoint (const QgsProfilePoint &point) const
 Converts a plot point to the equivalent canvas point. More...
 
QgsCurveprofileCurve () const
 Returns the profile curve. More...
 
void refresh () override
 Triggers a complete regeneration of the profile, causing the profile extraction to perform in the background. More...
 
void render (QgsRenderContext &context, double width, double height, const Qgs2DPlot &plotSettings)
 Renders a portion of the profile using the specified render context. More...
 
void resizeEvent (QResizeEvent *event) override
 
void scalePlot (double factor) override
 Scales the plot by a specified scale factor. More...
 
void scalePlot (double xFactor, double yFactor)
 Scales the plot axis by the given factors. More...
 
void setCrs (const QgsCoordinateReferenceSystem &crs)
 Sets the crs associated with the canvas' map coordinates. More...
 
void setLayers (const QList< QgsMapLayer * > &layers)
 Sets the list of layers to include in the profile. More...
 
void setProfileCurve (QgsCurve *curve)
 Sets the profile curve. More...
 
void setProject (QgsProject *project)
 Sets the project associated with the profile. More...
 
void setTolerance (double tolerance)
 Sets the profile tolerance (in crs() units). More...
 
void setVisiblePlotRange (double minimumDistance, double maximumDistance, double minimumElevation, double maximumElevation)
 Sets the visible area of the plot. More...
 
QgsPointXY snapToPlot (QPoint point) override
 Snap a canvas point to the plot. More...
 
QgsPointXY toCanvasCoordinates (const QgsPoint &point) const override
 Converts a point in map coordinates to the associated canvas point. More...
 
double tolerance () const
 Returns the tolerance of the profile (in crs() units). More...
 
QgsPoint toMapCoordinates (const QgsPointXY &point) const override
 Converts a point on the canvas to the associated map coordinate. More...
 
QgsDoubleRange visibleDistanceRange () const
 Returns the distance range currently visible in the plot. More...
 
QgsDoubleRange visibleElevationRange () const
 Returns the elevation range currently visible in the plot. More...
 
void wheelZoom (QWheelEvent *event) override
 Zoom plot from a mouse wheel event. More...
 
void zoomToRect (const QRectF &rect) override
 Zooms the plot to the specified rect in canvas units. More...
 
- Public Member Functions inherited from QgsPlotCanvas
 QgsPlotCanvas (QWidget *parent=nullptr)
 Constructor for QgsPlotCanvas, with the specified parent widget. More...
 
 ~QgsPlotCanvas () override
 
void setTool (QgsPlotTool *tool)
 Sets the interactive tool currently being used on the canvas. More...
 
QgsPlotTooltool ()
 Returns the currently active tool. More...
 
void unsetTool (QgsPlotTool *tool)
 Unset the current tool. More...
 

Additional Inherited Members

- Protected Member Functions inherited from QgsPlotCanvas
bool event (QEvent *e) override
 
void keyPressEvent (QKeyEvent *e) override
 
void keyReleaseEvent (QKeyEvent *e) override
 
void mouseDoubleClickEvent (QMouseEvent *e) override
 
void mouseMoveEvent (QMouseEvent *e) override
 
void mousePressEvent (QMouseEvent *e) override
 
void mouseReleaseEvent (QMouseEvent *e) override
 
void resizeEvent (QResizeEvent *e) override
 
bool viewportEvent (QEvent *event) override
 
void wheelEvent (QWheelEvent *e) override
 

Detailed Description

A canvas for elevation profiles.

Since
QGIS 3.26

Definition at line 46 of file qgselevationprofilecanvas.h.

Constructor & Destructor Documentation

◆ QgsElevationProfileCanvas()

PRIVATE QgsElevationProfileCanvas::QgsElevationProfileCanvas ( QWidget *  parent = nullptr)

Constructor for QgsElevationProfileCanvas, with the specified parent widget.

Definition at line 323 of file qgselevationprofilecanvas.cpp.

◆ ~QgsElevationProfileCanvas()

QgsElevationProfileCanvas::~QgsElevationProfileCanvas ( )
override

Definition at line 346 of file qgselevationprofilecanvas.cpp.

Member Function Documentation

◆ activeJobCountChanged

void QgsElevationProfileCanvas::activeJobCountChanged ( int  count)
signal

Emitted when the number of active background jobs changes.

◆ cancelJobs()

void QgsElevationProfileCanvas::cancelJobs ( )
overridevirtual

Cancel any rendering job, in a blocking way.

Used for application closing.

Note
not available in Python bindings

Reimplemented from QgsPlotCanvas.

Definition at line 356 of file qgselevationprofilecanvas.cpp.

◆ canvasPointHovered

void QgsElevationProfileCanvas::canvasPointHovered ( const QgsPointXY point,
const QgsProfilePoint profilePoint 
)
signal

Emitted when the mouse hovers over the specified point (in canvas coordinates).

The profilePoint argument gives the hovered profile point, which may be snapped.

◆ canvasPointToPlotPoint()

QgsProfilePoint QgsElevationProfileCanvas::canvasPointToPlotPoint ( QPointF  point) const

Converts a canvas point to the equivalent plot point.

See also
plotPointToCanvasPoint()

Definition at line 846 of file qgselevationprofilecanvas.cpp.

◆ centerPlotOn()

void QgsElevationProfileCanvas::centerPlotOn ( double  x,
double  y 
)
overridevirtual

Centers the plot on the plot point corresponding to x, y in canvas units.

The default implementation does nothing.

Reimplemented from QgsPlotCanvas.

Definition at line 388 of file qgselevationprofilecanvas.cpp.

◆ clear

void QgsElevationProfileCanvas::clear ( )
slot

Clears the current profile.

Definition at line 1133 of file qgselevationprofilecanvas.cpp.

◆ crs()

QgsCoordinateReferenceSystem QgsElevationProfileCanvas::crs ( ) const
overridevirtual

Returns the coordinate reference system (CRS) for map coordinates used by the canvas.

May return an invalid CRS if no CRS is associated with the canvas.

Reimplemented from QgsPlotCanvas.

Definition at line 885 of file qgselevationprofilecanvas.cpp.

◆ identify() [1/2]

QVector< QgsProfileIdentifyResults > QgsElevationProfileCanvas::identify ( const QRectF &  rect)

Identify results visible within the specified plot rect.

Definition at line 1112 of file qgselevationprofilecanvas.cpp.

◆ identify() [2/2]

QVector< QgsProfileIdentifyResults > QgsElevationProfileCanvas::identify ( QPointF  point)

Identify results visible at the specified plot point.

Definition at line 1102 of file qgselevationprofilecanvas.cpp.

◆ invalidateCurrentPlotExtent()

void QgsElevationProfileCanvas::invalidateCurrentPlotExtent ( )

Invalidates the current plot extent, which means that the visible plot area will be recalculated and "zoom full" operation occur when the next profile generation completes.

Definition at line 688 of file qgselevationprofilecanvas.cpp.

◆ layers()

QList< QgsMapLayer * > QgsElevationProfileCanvas::layers ( ) const

Returns the list of layers included in the profile.

See also
setLayers()

Definition at line 912 of file qgselevationprofilecanvas.cpp.

◆ mouseMoveEvent()

void QgsElevationProfileCanvas::mouseMoveEvent ( QMouseEvent *  e)
override

Definition at line 607 of file qgselevationprofilecanvas.cpp.

◆ paintEvent()

void QgsElevationProfileCanvas::paintEvent ( QPaintEvent *  event)
override

Definition at line 924 of file qgselevationprofilecanvas.cpp.

◆ panContentsBy()

void QgsElevationProfileCanvas::panContentsBy ( double  dx,
double  dy 
)
overridevirtual

Pans the plot contents by dx, dy in canvas units.

The default implementation does nothing.

Reimplemented from QgsPlotCanvas.

Definition at line 368 of file qgselevationprofilecanvas.cpp.

◆ plot()

const Qgs2DPlot & QgsElevationProfileCanvas::plot ( ) const

Returns a reference to the 2D plot used by the widget.

Note
Not available in Python bindings

Definition at line 1050 of file qgselevationprofilecanvas.cpp.

◆ plotArea()

QRectF QgsElevationProfileCanvas::plotArea ( ) const

Returns the interior rectangle representing the surface of the plot, in canvas coordinates.

Definition at line 636 of file qgselevationprofilecanvas.cpp.

◆ plotPointToCanvasPoint()

QgsPointXY QgsElevationProfileCanvas::plotPointToCanvasPoint ( const QgsProfilePoint point) const

Converts a plot point to the equivalent canvas point.

See also
canvasPointToPlotPoint()

Definition at line 854 of file qgselevationprofilecanvas.cpp.

◆ profileCurve()

QgsCurve * QgsElevationProfileCanvas::profileCurve ( ) const

Returns the profile curve.

The CRS associated with the curve is retrieved via crs().

See also
setProfileCurve()

Definition at line 875 of file qgselevationprofilecanvas.cpp.

◆ refresh()

void QgsElevationProfileCanvas::refresh ( )
overridevirtual

Triggers a complete regeneration of the profile, causing the profile extraction to perform in the background.

Reimplemented from QgsPlotCanvas.

Definition at line 641 of file qgselevationprofilecanvas.cpp.

◆ render()

PRIVATE void QgsElevationProfileCanvas::render ( QgsRenderContext context,
double  width,
double  height,
const Qgs2DPlot plotSettings 
)

Renders a portion of the profile using the specified render context.

Definition at line 1081 of file qgselevationprofilecanvas.cpp.

◆ resizeEvent()

void QgsElevationProfileCanvas::resizeEvent ( QResizeEvent *  event)
override

Definition at line 917 of file qgselevationprofilecanvas.cpp.

◆ scalePlot() [1/2]

void QgsElevationProfileCanvas::scalePlot ( double  factor)
overridevirtual

Scales the plot by a specified scale factor.

The default implementation does nothing.

Reimplemented from QgsPlotCanvas.

Definition at line 410 of file qgselevationprofilecanvas.cpp.

◆ scalePlot() [2/2]

void QgsElevationProfileCanvas::scalePlot ( double  xFactor,
double  yFactor 
)

Scales the plot axis by the given factors.

Definition at line 513 of file qgselevationprofilecanvas.cpp.

◆ setCrs()

void QgsElevationProfileCanvas::setCrs ( const QgsCoordinateReferenceSystem crs)

Sets the crs associated with the canvas' map coordinates.

See also
crs()

Definition at line 865 of file qgselevationprofilecanvas.cpp.

◆ setLayers()

void QgsElevationProfileCanvas::setLayers ( const QList< QgsMapLayer * > &  layers)

Sets the list of layers to include in the profile.

See also
layers()

Definition at line 890 of file qgselevationprofilecanvas.cpp.

◆ setProfileCurve()

void QgsElevationProfileCanvas::setProfileCurve ( QgsCurve curve)

Sets the profile curve.

The CRS associated with curve is set via setCrs().

Ownership is transferred to the plot canvas.

See also
profileCurve()

Definition at line 870 of file qgselevationprofilecanvas.cpp.

◆ setProject()

void QgsElevationProfileCanvas::setProject ( QgsProject project)

Sets the project associated with the profile.

This must be set before any layers which utilize terrain based elevation settings can be included in the canvas.

Definition at line 859 of file qgselevationprofilecanvas.cpp.

◆ setSnappingEnabled

void QgsElevationProfileCanvas::setSnappingEnabled ( bool  enabled)
slot

Sets whether snapping of cursor points is enabled.

Definition at line 1140 of file qgselevationprofilecanvas.cpp.

◆ setTolerance()

void QgsElevationProfileCanvas::setTolerance ( double  tolerance)

Sets the profile tolerance (in crs() units).

This value determines how far from the profileCurve() is appropriate for inclusion of results. For instance, when a profile is generated for a point vector layer this tolerance distance will dictate how far from the actual profile curve a point can reside within to be included in the results.

See also
tolerance()

Definition at line 880 of file qgselevationprofilecanvas.cpp.

◆ setVisiblePlotRange()

void QgsElevationProfileCanvas::setVisiblePlotRange ( double  minimumDistance,
double  maximumDistance,
double  minimumElevation,
double  maximumElevation 
)

Sets the visible area of the plot.

See also
visibleDistanceRange()
visibleElevationRange()

Definition at line 1029 of file qgselevationprofilecanvas.cpp.

◆ snapToPlot()

QgsPointXY QgsElevationProfileCanvas::snapToPlot ( QPoint  point)
overridevirtual

Snap a canvas point to the plot.

Returns an empty point if snapping was not possible.

Parameters
pointpoint in canvas coordinates

Reimplemented from QgsPlotCanvas.

Definition at line 499 of file qgselevationprofilecanvas.cpp.

◆ toCanvasCoordinates()

QgsPointXY QgsElevationProfileCanvas::toCanvasCoordinates ( const QgsPoint point) const
overridevirtual

Converts a point in map coordinates to the associated canvas point.

May return an empty point if the map point cannot be converted to a canvas point.

Reimplemented from QgsPlotCanvas.

Definition at line 959 of file qgselevationprofilecanvas.cpp.

◆ tolerance()

double QgsElevationProfileCanvas::tolerance ( ) const
inline

Returns the tolerance of the profile (in crs() units).

This value determines how far from the profileCurve() is appropriate for inclusion of results. For instance, when a profile is generated for a point vector layer this tolerance distance will dictate how far from the actual profile curve a point can reside within to be included in the results.

See also
setTolerance()

Definition at line 165 of file qgselevationprofilecanvas.h.

◆ toMapCoordinates()

QgsPoint QgsElevationProfileCanvas::toMapCoordinates ( const QgsPointXY point) const
overridevirtual

Converts a point on the canvas to the associated map coordinate.

May return an empty point if the canvas point cannot be converted to a map point.

Reimplemented from QgsPlotCanvas.

Definition at line 937 of file qgselevationprofilecanvas.cpp.

◆ visibleDistanceRange()

QgsDoubleRange QgsElevationProfileCanvas::visibleDistanceRange ( ) const

Returns the distance range currently visible in the plot.

See also
visibleElevationRange()
setVisiblePlotRange()

Definition at line 1040 of file qgselevationprofilecanvas.cpp.

◆ visibleElevationRange()

QgsDoubleRange QgsElevationProfileCanvas::visibleElevationRange ( ) const

Returns the elevation range currently visible in the plot.

See also
visibleDistanceRange()
setVisiblePlotRange()

Definition at line 1045 of file qgselevationprofilecanvas.cpp.

◆ wheelZoom()

void QgsElevationProfileCanvas::wheelZoom ( QWheelEvent *  event)
overridevirtual

Zoom plot from a mouse wheel event.

The default implementation does nothing.

Reimplemented from QgsPlotCanvas.

Definition at line 553 of file qgselevationprofilecanvas.cpp.

◆ zoomFull

void QgsElevationProfileCanvas::zoomFull ( )
slot

Zooms to the full extent of the profile.

Definition at line 992 of file qgselevationprofilecanvas.cpp.

◆ zoomToRect()

void QgsElevationProfileCanvas::zoomToRect ( const QRectF &  rect)
overridevirtual

Zooms the plot to the specified rect in canvas units.

The default implementation does nothing.

Reimplemented from QgsPlotCanvas.

Definition at line 534 of file qgselevationprofilecanvas.cpp.


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