QGIS API Documentation 3.39.0-Master (47f7b3a4989)
Loading...
Searching...
No Matches
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.
 
void setSnappingEnabled (bool enabled)
 Sets whether snapping of cursor points is enabled.
 
void zoomFull ()
 Zooms to the full extent of the profile.
 
- Public Slots inherited from QgsPlotCanvas

Signals

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

Public Member Functions

 QgsElevationProfileCanvas (QWidget *parent=nullptr)
 Constructor for QgsElevationProfileCanvas, with the specified parent widget.
 
 ~QgsElevationProfileCanvas () override
 
void cancelJobs () override
 Cancel any rendering job, in a blocking way.
 
QgsProfilePoint canvasPointToPlotPoint (QPointF point) const
 Converts a canvas point to the equivalent plot point.
 
void centerPlotOn (double x, double y) override
 Centers the plot on the plot point corresponding to x, y in canvas units.
 
QgsCoordinateReferenceSystem crs () const override
 Returns the coordinate reference system (CRS) for map coordinates used by the canvas.
 
Qgis::DistanceUnit distanceUnit () const
 Returns the distance unit used by the canvas.
 
QVector< QgsProfileIdentifyResultsidentify (const QRectF &rect)
 Identify results visible within the specified plot rect.
 
QVector< QgsProfileIdentifyResultsidentify (QPointF point)
 Identify results visible at the specified plot point.
 
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.
 
QList< QgsMapLayer * > layers () const
 Returns the list of layers included in the profile.
 
bool lockAxisScales () const
 Returns true if the distance and elevation scales are locked to each other.
 
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.
 
const Qgs2DPlotplot () const
 Returns a reference to the 2D plot used by the widget.
 
QRectF plotArea () const
 Returns the interior rectangle representing the surface of the plot, in canvas coordinates.
 
QgsPointXY plotPointToCanvasPoint (const QgsProfilePoint &point) const
 Converts a plot point to the equivalent canvas point.
 
QgsCurveprofileCurve () const
 Returns the profile curve.
 
void refresh () override
 Triggers a complete regeneration of the profile, causing the profile extraction to perform in the background.
 
void render (QgsRenderContext &context, double width, double height, const Qgs2DPlot &plotSettings)
 Renders a portion of the profile using the specified render context.
 
void resizeEvent (QResizeEvent *event) override
 
void scalePlot (double factor) override
 Scales the plot by a specified scale factor.
 
void scalePlot (double xFactor, double yFactor)
 Scales the plot axis by the given factors.
 
void setBackgroundColor (const QColor &color)
 Sets the background color to use for the profile canvas.
 
void setCrs (const QgsCoordinateReferenceSystem &crs)
 Sets the crs associated with the canvas' map coordinates.
 
void setDistanceUnit (Qgis::DistanceUnit unit)
 Sets the distance unit used by the canvas.
 
void setLayers (const QList< QgsMapLayer * > &layers)
 Sets the list of layers to include in the profile.
 
void setLockAxisScales (bool lock)
 Sets whether the distance and elevation scales are locked to each other.
 
void setProfileCurve (QgsCurve *curve)
 Sets the profile curve.
 
void setProject (QgsProject *project)
 Sets the project associated with the profile.
 
void setTolerance (double tolerance)
 Sets the profile tolerance (in crs() units).
 
void setVisiblePlotRange (double minimumDistance, double maximumDistance, double minimumElevation, double maximumElevation)
 Sets the visible area of the plot.
 
QgsPointXY snapToPlot (QPoint point) override
 Snap a canvas point to the plot.
 
QgsPointXY toCanvasCoordinates (const QgsPoint &point) const override
 Converts a point in map coordinates to the associated canvas point.
 
double tolerance () const
 Returns the tolerance of the profile (in crs() units).
 
QgsPoint toMapCoordinates (const QgsPointXY &point) const override
 Converts a point on the canvas to the associated map coordinate.
 
QgsDoubleRange visibleDistanceRange () const
 Returns the distance range currently visible in the plot.
 
QgsDoubleRange visibleElevationRange () const
 Returns the elevation range currently visible in the plot.
 
void wheelZoom (QWheelEvent *event) override
 Zoom plot from a mouse wheel event.
 
void zoomToRect (const QRectF &rect) override
 Zooms the plot to the specified rect in canvas units.
 
- Public Member Functions inherited from QgsPlotCanvas
 QgsPlotCanvas (QWidget *parent=nullptr)
 Constructor for QgsPlotCanvas, with the specified parent widget.
 
 ~QgsPlotCanvas () override
 
void setTool (QgsPlotTool *tool)
 Sets the interactive tool currently being used on the canvas.
 
QgsPlotTooltool ()
 Returns the currently active tool.
 
void unsetTool (QgsPlotTool *tool)
 Unset the current tool.
 

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 379 of file qgselevationprofilecanvas.cpp.

◆ ~QgsElevationProfileCanvas()

QgsElevationProfileCanvas::~QgsElevationProfileCanvas ( )
override

Definition at line 406 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 416 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 1070 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 449 of file qgselevationprofilecanvas.cpp.

◆ clear

void QgsElevationProfileCanvas::clear ( )
slot

Clears the current profile.

Definition at line 1395 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 1109 of file qgselevationprofilecanvas.cpp.

◆ distanceUnit()

Qgis::DistanceUnit QgsElevationProfileCanvas::distanceUnit ( ) const

Returns the distance unit used by the canvas.

See also
setDistanceUnit()
Since
QGIS 3.32

Definition at line 583 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 1374 of file qgselevationprofilecanvas.cpp.

◆ identify() [2/2]

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

Identify results visible at the specified plot point.

Definition at line 1364 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 873 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 1136 of file qgselevationprofilecanvas.cpp.

◆ lockAxisScales()

bool QgsElevationProfileCanvas::lockAxisScales ( ) const

Returns true if the distance and elevation scales are locked to each other.

See also
setLockAxisScales()
Since
QGIS 3.32

Definition at line 636 of file qgselevationprofilecanvas.cpp.

◆ mouseMoveEvent()

void QgsElevationProfileCanvas::mouseMoveEvent ( QMouseEvent *  e)
override

Definition at line 789 of file qgselevationprofilecanvas.cpp.

◆ paintEvent()

void QgsElevationProfileCanvas::paintEvent ( QPaintEvent *  event)
override

Definition at line 1162 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 428 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 1306 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 818 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 1078 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 1099 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 823 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 1339 of file qgselevationprofilecanvas.cpp.

◆ resizeEvent()

void QgsElevationProfileCanvas::resizeEvent ( QResizeEvent *  event)
override

Definition at line 1141 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 472 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 676 of file qgselevationprofilecanvas.cpp.

◆ setBackgroundColor()

void QgsElevationProfileCanvas::setBackgroundColor ( const QColor &  color)

Sets the background color to use for the profile canvas.

The chart text, border and axis color will be automatically updated to ensure readability with the new background color.

Since
QGIS 3.34

Definition at line 600 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 1089 of file qgselevationprofilecanvas.cpp.

◆ setDistanceUnit()

void QgsElevationProfileCanvas::setDistanceUnit ( Qgis::DistanceUnit  unit)

Sets the distance unit used by the canvas.

See also
distanceUnit()
Since
QGIS 3.32

Definition at line 588 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 1114 of file qgselevationprofilecanvas.cpp.

◆ setLockAxisScales()

void QgsElevationProfileCanvas::setLockAxisScales ( bool  lock)

Sets whether the distance and elevation scales are locked to each other.

See also
lockAxisScales()
Since
QGIS 3.32

Definition at line 641 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 1094 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 1083 of file qgselevationprofilecanvas.cpp.

◆ setSnappingEnabled

void QgsElevationProfileCanvas::setSnappingEnabled ( bool  enabled)
slot

Sets whether snapping of cursor points is enabled.

Definition at line 1402 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 1104 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 1280 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 662 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 1197 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 1175 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 1296 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 1301 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 733 of file qgselevationprofilecanvas.cpp.

◆ zoomFull

void QgsElevationProfileCanvas::zoomFull ( )
slot

Zooms to the full extent of the profile.

Definition at line 1230 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 709 of file qgselevationprofilecanvas.cpp.


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