SWMMVis  6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
MeshProfilePlotWidget Class Reference

#include <meshprofileplotwidget.h>

Inheritance diagram for MeshProfilePlotWidget:
Collaboration diagram for MeshProfilePlotWidget:

Public Types

enum class  Mode {
  Identify = 0 ,
  Pan ,
  ZoomIn ,
  ZoomOut
}
 
enum class  AxisEdge {
  None = 0 ,
  XMinimum ,
  XMaximum ,
  YMinimum ,
  YMaximum
}
 

Signals

void cursorChainageChanged (double chainage)
 Emitted while the user drags the position cursor on the chart. chainage is the scene-unit distance along the path. The dialog maps it to a scene point and moves the map arrow.
 

Public Member Functions

 MeshProfilePlotWidget (QWidget *parent=nullptr)
 
void setProfile (const MeshProfileSampler::MeshProfile &profile)
 Sets the full cross-section (recomputes bounds + repaints).
 
void setCurrentDepths (const QVector< double > &depthNow, const QVector< bool > &cellHasSurface={})
 Cheap per-frame update of the animated depth column. Size must match the current sample count; mismatched sizes are ignored. cellHasSurface (optional, same size) refreshes the frame-dependent Sample::cellHasSurface flag that gates dry-gap bridging.
 
void setOptions (MeshProfilePlotOptions *options)
 Binds the styling object (connects changed() → repaint).
 
MeshProfilePlotOptionsoptions () const
 
void setCurrentDateTime (const QDateTime &dt)
 Wall-clock time shown by the timestamp overlay.
 
void setAxisLabels (const QString &xLabel, const QString &yLabel)
 
void setCursorChainage (double chainage)
 Show/move the vertical position cursor at chainage (scene units along the path). Clamped to the path extent. Display-only — does NOT emit cursorChainageChanged, so the map can drive it without an echo loop. Pass a negative value to hide the cursor.
 
bool hasCursor () const
 
double cursorChainage () const
 
void setMode (Mode m)
 
Mode mode () const
 
AxisEdge axisEdgeAt (const QPoint &widgetPos) const
 
bool setAxisEdgeValue (AxisEdge edge, double value)
 
QRectF visibleDataRange () const
 
void zoomBy (double factor)
 
void fitToExtent ()
 

Protected Member Functions

void paintEvent (QPaintEvent *event) override
 
void resizeEvent (QResizeEvent *event) override
 
void mousePressEvent (QMouseEvent *event) override
 
void mouseMoveEvent (QMouseEvent *event) override
 
void mouseReleaseEvent (QMouseEvent *event) override
 
void wheelEvent (QWheelEvent *event) override
 

Member Enumeration Documentation

◆ AxisEdge

Enumerator
None 
XMinimum 
XMaximum 
YMinimum 
YMaximum 

◆ Mode

enum class MeshProfilePlotWidget::Mode
strong
Enumerator
Identify 
Pan 
ZoomIn 
ZoomOut 

Constructor & Destructor Documentation

◆ MeshProfilePlotWidget()

MeshProfilePlotWidget::MeshProfilePlotWidget ( QWidget *  parent = nullptr)
explicit
Here is the call graph for this function:

Member Function Documentation

◆ axisEdgeAt()

MeshProfilePlotWidget::AxisEdge MeshProfilePlotWidget::axisEdgeAt ( const QPoint &  widgetPos) const
Here is the caller graph for this function:

◆ cursorChainage()

double MeshProfilePlotWidget::cursorChainage ( ) const
inline

◆ cursorChainageChanged

void MeshProfilePlotWidget::cursorChainageChanged ( double  chainage)
signal

Emitted while the user drags the position cursor on the chart. chainage is the scene-unit distance along the path. The dialog maps it to a scene point and moves the map arrow.

Here is the caller graph for this function:

◆ fitToExtent()

void MeshProfilePlotWidget::fitToExtent ( )

◆ hasCursor()

bool MeshProfilePlotWidget::hasCursor ( ) const
inline

◆ mode()

Mode MeshProfilePlotWidget::mode ( ) const
inline

◆ mouseMoveEvent()

void MeshProfilePlotWidget::mouseMoveEvent ( QMouseEvent *  event)
overrideprotected
Here is the call graph for this function:

◆ mousePressEvent()

void MeshProfilePlotWidget::mousePressEvent ( QMouseEvent *  event)
overrideprotected
Here is the call graph for this function:

◆ mouseReleaseEvent()

void MeshProfilePlotWidget::mouseReleaseEvent ( QMouseEvent *  event)
overrideprotected
Here is the call graph for this function:

◆ options()

MeshProfilePlotOptions * MeshProfilePlotWidget::options ( ) const
inline
Here is the caller graph for this function:

◆ paintEvent()

void MeshProfilePlotWidget::paintEvent ( QPaintEvent *  event)
overrideprotected

◆ resizeEvent()

void MeshProfilePlotWidget::resizeEvent ( QResizeEvent *  event)
overrideprotected

◆ setAxisEdgeValue()

bool MeshProfilePlotWidget::setAxisEdgeValue ( AxisEdge  edge,
double  value 
)

◆ setAxisLabels()

void MeshProfilePlotWidget::setAxisLabels ( const QString &  xLabel,
const QString &  yLabel 
)

◆ setCurrentDateTime()

void MeshProfilePlotWidget::setCurrentDateTime ( const QDateTime &  dt)

Wall-clock time shown by the timestamp overlay.

Here is the caller graph for this function:

◆ setCurrentDepths()

void MeshProfilePlotWidget::setCurrentDepths ( const QVector< double > &  depthNow,
const QVector< bool > &  cellHasSurface = {} 
)

Cheap per-frame update of the animated depth column. Size must match the current sample count; mismatched sizes are ignored. cellHasSurface (optional, same size) refreshes the frame-dependent Sample::cellHasSurface flag that gates dry-gap bridging.

◆ setCursorChainage()

void MeshProfilePlotWidget::setCursorChainage ( double  chainage)

Show/move the vertical position cursor at chainage (scene units along the path). Clamped to the path extent. Display-only — does NOT emit cursorChainageChanged, so the map can drive it without an echo loop. Pass a negative value to hide the cursor.

◆ setMode()

void MeshProfilePlotWidget::setMode ( Mode  m)

◆ setOptions()

void MeshProfilePlotWidget::setOptions ( MeshProfilePlotOptions options)

Binds the styling object (connects changed() → repaint).

Here is the call graph for this function:

◆ setProfile()

void MeshProfilePlotWidget::setProfile ( const MeshProfileSampler::MeshProfile profile)

Sets the full cross-section (recomputes bounds + repaints).

◆ visibleDataRange()

QRectF MeshProfilePlotWidget::visibleDataRange ( ) const

◆ wheelEvent()

void MeshProfilePlotWidget::wheelEvent ( QWheelEvent *  event)
overrideprotected

◆ zoomBy()

void MeshProfilePlotWidget::zoomBy ( double  factor)

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