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
sectionmodelbuilders.h File Reference

Engine state → SectionDiagramModel. More...

#include <QString>
#include <openswmm/engine/openswmm_engine.h>
#include "ui/sectionview/sectiondiagram.h"
Include dependency graph for sectionmodelbuilders.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openswmmvis::sectionview::DiagramUnits
 

Namespaces

namespace  openswmmvis
 
namespace  openswmmvis::sectionview
 

Functions

double openswmmvis::sectionview::profileMaxExaggeration () noexcept
 
SectionDiagramModel openswmmvis::sectionview::buildLinkSection (SWMM_Engine engine, int linkIdx, const DiagramUnits &units)
 True-shape cross-section of a link, with dimensions + elevations.
 
SectionDiagramModel openswmmvis::sectionview::buildLinkProfile (SWMM_Engine engine, int linkIdx, const DiagramUnits &units)
 Longitudinal profile of a conduit between its two nodes.
 
SectionDiagramModel openswmmvis::sectionview::buildNodeProfile (SWMM_Engine engine, int nodeIdx, const DiagramUnits &units, int maxLinks=8)
 Node profile: structure, rim, invert, and every connecting link drawn at its own invert offset, plus a plan-view inset of link headings.
 
SectionDiagramModel openswmmvis::sectionview::buildXsectEditorPreview (int shape, double geom1, double geom2, double geom3, double geom4, const DiagramUnits &units, int highlightOrdinal=0)
 Live preview for the cross-section editor, built from uncommitted dialog values rather than from the engine's stored link.
 
SectionDiagramModel openswmmvis::sectionview::buildSamplerPreview (const XsectSampler &sampler, const QString &title, const QString &subtitle, const DiagramUnits &units)
 Preview for an already-constructed sampler (tabulated shapes).
 

Detailed Description

Engine state → SectionDiagramModel.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
Date
2026
License\n GPL-3.0-or-later

Slices SP.3 / SP.4 / SP.5 (workplans/SECTION_PREVIEW_WORKPLAN.md).

Free functions, not a class: each one reads the engine (and, for the editor preview, uncommitted dialog values) and returns a plain value. No QWidget, no ownership, no caching — which is what makes them testable headlessly and safe to call on every changed() tick.

Length units are whatever the engine reports; callers pass the label (UnitSystem::instance()->lengthLabel()) so the diagrams stay unit-agnostic.