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
ProfileAttributeTracksWidget Class Reference

#include <profileattributetrackswidget.h>

Inheritance diagram for ProfileAttributeTracksWidget:
Collaboration diagram for ProfileAttributeTracksWidget:

Classes

struct  SourceProfile
 
struct  Track
 

Public Slots

void setVisibleXRange (double vxMin, double vxMax)
 
void setCurrentPeriod (int period)
 

Signals

void visibleXRangeChanged (double vxMin, double vxMax)
 

Public Member Functions

 ProfileAttributeTracksWidget (QWidget *parent=nullptr)
 
void setVirtualChainage (const QVector< double > &table)
 
void setHorizontalMargins (int leftPx, int rightPx)
 
void setRealChainageMapper (std::function< double(double)> fn)
 
void setTracks (const QVector< Track > &tracks)
 
int trackCount () const
 
void setOptions (ProfileAttributeTrackOptions *options)
 
void setXLabel (const QString &label)
 
double pixelForVirtualX (double vx) const
 
double virtualXForPixel (double px) const
 

Protected Member Functions

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

Constructor & Destructor Documentation

◆ ProfileAttributeTracksWidget()

ProfileAttributeTracksWidget::ProfileAttributeTracksWidget ( QWidget *  parent = nullptr)
explicit

Member Function Documentation

◆ mouseMoveEvent()

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

◆ mousePressEvent()

void ProfileAttributeTracksWidget::mousePressEvent ( QMouseEvent *  event)
overrideprotected

◆ mouseReleaseEvent()

void ProfileAttributeTracksWidget::mouseReleaseEvent ( QMouseEvent *  event)
overrideprotected

◆ paintEvent()

void ProfileAttributeTracksWidget::paintEvent ( QPaintEvent *  event)
overrideprotected

◆ pixelForVirtualX()

double ProfileAttributeTracksWidget::pixelForVirtualX ( double  vx) const

◆ setCurrentPeriod

void ProfileAttributeTracksWidget::setCurrentPeriod ( int  period)
slot

Animation cursor — index into each profile's [period] arrays. -1 hides the current-time curves (envelopes stay).

◆ setHorizontalMargins()

void ProfileAttributeTracksWidget::setHorizontalMargins ( int  leftPx,
int  rightPx 
)

The profile widget's horizontal gutters, so columns align.

◆ setOptions()

void ProfileAttributeTracksWidget::setOptions ( ProfileAttributeTrackOptions options)

Chrome + styling source; the widget connects to changed() and repaints. May be null (defaults used).

Here is the call graph for this function:

◆ setRealChainageMapper()

void ProfileAttributeTracksWidget::setRealChainageMapper ( std::function< double(double)>  fn)

Maps virtual x → real chainage for the shared bottom tick labels. Wrap the profile widget's virtualToRealChainage. Null = label raw.

◆ setTracks()

void ProfileAttributeTracksWidget::setTracks ( const QVector< Track > &  tracks)

Replaces all tracks. Order is the display order (top to bottom).

◆ setVirtualChainage()

void ProfileAttributeTracksWidget::setVirtualChainage ( const QVector< double > &  table)

Per-node virtual chainage — MUST be the profile widget's own table (ProfilePlotWidget::virtualChainageTable()) so both panes agree on where every node sits. Size = node count; links span [i, i+1].

◆ setVisibleXRange

void ProfileAttributeTracksWidget::setVisibleXRange ( double  vxMin,
double  vxMax 
)
slot

Sets the visible x-range in virtual chainage. The profile widget's visibleXRangeChanged connects here (and this widget's own signal connects back to ProfilePlotWidget::setVisibleXRange — the host guards the loop).

◆ setXLabel()

void ProfileAttributeTracksWidget::setXLabel ( const QString &  label)

Shared x-label (e.g. "Distance (ft)") drawn under the last track.

◆ trackCount()

int ProfileAttributeTracksWidget::trackCount ( ) const
inline

◆ virtualXForPixel()

double ProfileAttributeTracksWidget::virtualXForPixel ( double  px) const
Here is the caller graph for this function:

◆ visibleXRangeChanged

void ProfileAttributeTracksWidget::visibleXRangeChanged ( double  vxMin,
double  vxMax 
)
signal

Emitted when THIS pane pans/zooms its x-axis (wheel / drag), so the profile above can follow. Never emitted from setVisibleXRange().

Here is the caller graph for this function:

◆ wheelEvent()

void ProfileAttributeTracksWidget::wheelEvent ( QWheelEvent *  event)
overrideprotected
Here is the call graph for this function:

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