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
openswmmvis::ui::SectionViewPanel Class Reference

Right-dock vector section / profile view for the selected object. More...

#include <sectionviewpanel.h>

Inheritance diagram for openswmmvis::ui::SectionViewPanel:
Collaboration diagram for openswmmvis::ui::SectionViewPanel:

Public Types

enum class  Mode {
  Section ,
  Profile
}
 

Public Slots

void refresh ()
 
void onObjectEditedExternally (const QString &name)
 

Public Member Functions

 SectionViewPanel (QWidget *parent=nullptr)
 
 ~SectionViewPanel () override
 
void setProject (SWMMModelLayer *layer)
 
void showObject (int objectType, const QString &name)
 
void clearSelection ()
 
Mode mode () const noexcept
 
void setMode (Mode mode)
 
double verticalExaggeration () const noexcept
 
void setVerticalExaggeration (double ve)
 

Detailed Description

Right-dock vector section / profile view for the selected object.

Member Enumeration Documentation

◆ Mode

Which drawing is shown for a link. Nodes always draw a profile.

Enumerator
Section 
Profile 

Constructor & Destructor Documentation

◆ SectionViewPanel()

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

◆ ~SectionViewPanel()

openswmmvis::ui::SectionViewPanel::~SectionViewPanel ( )
overridedefault

Member Function Documentation

◆ clearSelection()

void openswmmvis::ui::SectionViewPanel::clearSelection ( )

Clear to the "nothing selected" state.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mode()

Mode openswmmvis::ui::SectionViewPanel::mode ( ) const
inlinenoexcept
Here is the caller graph for this function:

◆ onObjectEditedExternally

void openswmmvis::ui::SectionViewPanel::onObjectEditedExternally ( const QString &  name)
slot

Refresh only when name is the object on display. Wired to SWMMModelLayer::attributeChanged.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ refresh

void openswmmvis::ui::SectionViewPanel::refresh ( )
slot

Rebuild the current drawing from the engine. Cheap enough to call on every edit: one engine read plus one section sampling.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setMode()

void openswmmvis::ui::SectionViewPanel::setMode ( Mode  mode)
Here is the call graph for this function:

◆ setProject()

void openswmmvis::ui::SectionViewPanel::setProject ( SWMMModelLayer layer)

Bind to the active project's model layer (nullptr to detach). Idempotent; re-wires the attributeChanged connection safely.

Here is the call graph for this function:

◆ setVerticalExaggeration()

void openswmmvis::ui::SectionViewPanel::setVerticalExaggeration ( double  ve)
Here is the call graph for this function:

◆ showObject()

void openswmmvis::ui::SectionViewPanel::showObject ( int  objectType,
const QString &  name 
)

Show the object identified by objectType (a SWMMObjectRef::ObjectType, passed as int to keep the header free of the selection include) and name. Non-drawable kinds clear the view with an explanatory message.

Here is the call graph for this function:

◆ verticalExaggeration()

double openswmmvis::ui::SectionViewPanel::verticalExaggeration ( ) const
inlinenoexcept

Scale (V:H) applied to LINK drawings, for the CURRENT mode: 0 = automatic (fill the pane, ratio stated on the drawing), >0 = an explicit V:H ratio, 1.0 being true shape / true scale. Section and profile keep their own value — a cross-section is only honest at 1:1, while a profile is unreadable there — so switching mode restores that mode's ratio rather than carrying the other one across. Node drawings always fill the pane and ignore this.


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