25#ifndef PROFILE_NETWORK_ADAPTER_H
26#define PROFILE_NETWORK_ADAPTER_H
119 const QVector<LinkInfo> &links,
120 double nonConduitWeight = 1.0);
137 const QVector<NodeInfo> &
nodes,
138 const QVector<PathLinkInfo> &links);
168[[nodiscard]]
double renderRimDepth(
bool isVirtual,
double maxDepth,
181 double nonConduitWeight = 1.0);
Renders the SWMM network elements (nodes, links, subcatchments, rain gages) for one OpenSWMMEngine mo...
Definition swmmmodellayer.h:133
NodeKind
Topology category for the manhole-glyph picker in ProfilePlotWidget. Maps 1:1 to the relevant SWMMMod...
Definition profilebuilder.h:52
LinkKind
Connector category for the conduit-vs-glyph render branch in ProfilePlotWidget.
Definition profilebuilder.h:70
Definition profilenetworkadapter.h:38
ProfileBuilder::NodeKind toNodeKind(int swmmNodeType, bool isVirtual)
Maps an engine node type code (0=junction, 1=outfall, 2=storage, 3=divider) plus the virtual-junction...
Definition profilenetworkadapter.cpp:53
void swapForReversed(PathLinkInfo &link)
Swaps the offset1 / offset2 fields of link in-place when the path traverses the underlying model link...
Definition profilenetworkadapter.cpp:47
double renderRimDepth(bool isVirtual, double maxDepth, double rimDepth)
Picks the depth the profile should draw a node's ground/rim line at, given its hydraulic max depth an...
Definition profilenetworkadapter.cpp:66
double bearingFromPoints(const QPointF &at, const QPointF &away)
Map bearing of the direction at -> away, as the profile's plan rose measures it: 0 = +y (north),...
Definition profilenetworkadapter.cpp:112
int findNodeIndex(SWMMModelLayer *model, const QString &name)
Resolves an engine node index by name; returns -1 if not found. Wrapper around swmm_node_index for th...
Definition profilenetworkadapter_model.cpp:303
ProfileBuilder::PathStatic buildPathStatic(const ProfileRouter::Path &routerPath, const QVector< NodeInfo > &nodes, const QVector< PathLinkInfo > &links)
Materializes a ProfileBuilder::PathStatic from a router-emitted path plus pre-resolved per-node / per...
Definition profilenetworkadapter.cpp:71
void collectNodeBranches(SWMMModelLayer *model, const ProfileRouter::Path &routerPath, ProfileBuilder::PathStatic &path)
Fills PathStatic::nodes[i].branches with every link incident to each path node, path links included (...
Definition profilenetworkadapter_model.cpp:124
int findLinkIndex(SWMMModelLayer *model, const QString &name)
Resolves an engine link index by name; returns -1 if not found.
Definition profilenetworkadapter_model.cpp:312
ProfileRouter::Graph buildGraphFromModel(SWMMModelLayer *model, double nonConduitWeight=1.0)
Convenience overload — pulls links from a live SWMMModelLayer and forwards to buildGraph().
Definition profilenetworkadapter_model.cpp:64
ProfileRouter::Graph buildGraph(int nodeCount, const QVector< LinkInfo > &links, double nonConduitWeight=1.0)
Builds a directed routing graph from the given link list. Conduits receive weight = max(length,...
Definition profilenetworkadapter.cpp:25
ProfileBuilder::PathStatic buildPathStaticFromModel(SWMMModelLayer *model, const ProfileRouter::Path &routerPath)
Convenience overload — materializes a PathStatic by querying the engine for each node's invert/maxDep...
Definition profilenetworkadapter_model.cpp:195
Pure-logic data assembly for Slice BC's longitudinal profile plot: chainage, HGL/EGL time-series,...
QVector< int > nodes
Definition profilerouter.cpp:36
Path-routing primitives over an abstract weighted graph, used by Slice BC's profile-path picker.
int path
Definition pslgminsize.cpp:234
QString name
Definition sectionmodelbuilders.cpp:474
A fully-resolved profile path: ordered nodes, joining links, and cumulative chainage from nodes[0] to...
Definition profilebuilder.h:242
Just enough about each link to weight it in the routing graph. engineLinkIdx is round-tripped through...
Definition profilenetworkadapter.h:51
int fromNode
Definition profilenetworkadapter.h:53
ProfileBuilder::LinkKind kind
Definition profilenetworkadapter.h:56
int toNode
Definition profilenetworkadapter.h:54
double length
Definition profilenetworkadapter.h:55
int engineLinkIdx
Definition profilenetworkadapter.h:52
Per-node static data needed to materialize a PathStatic.
Definition profilenetworkadapter.h:64
ProfileBuilder::NodeKind kind
Definition profilenetworkadapter.h:70
QString name
Definition profilenetworkadapter.h:66
double surchargeDepth
Definition profilenetworkadapter.h:69
int engineNodeIdx
Definition profilenetworkadapter.h:65
double invertElev
Definition profilenetworkadapter.h:67
bool isInlet
Definition profilenetworkadapter.h:72
double maxDepth
Definition profilenetworkadapter.h:68
Per-link static data needed to materialize a PathStatic. maxDepth is the conduit cross-section primar...
Definition profilenetworkadapter.h:83
double length
Definition profilenetworkadapter.h:86
double offset2
Definition profilenetworkadapter.h:88
double offset1
Definition profilenetworkadapter.h:87
QString name
Definition profilenetworkadapter.h:85
double maxDepth
Definition profilenetworkadapter.h:89
double crestHeight
Definition profilenetworkadapter.h:90
ProfileBuilder::LinkKind kind
Definition profilenetworkadapter.h:96
int engineLinkIdx
Definition profilenetworkadapter.h:84
bool openTop
Definition profilenetworkadapter.h:94
bool isStreet
Definition profilenetworkadapter.h:95
bool reversed
Definition profilenetworkadapter.h:97
The input to ProfileRouter — nodes are 0..nodeCount-1, edges are directed by default and reinterprete...
Definition profilerouter.h:59
A single candidate path: ordered node sequence (length N+1) of engine node indices,...
Definition profilerouter.h:80