![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
#include <InfraData.hpp>
Public Member Functions | |
| int | count () const |
| Count stored rows from the design_index column. | |
| int | add_row (int link_idx, int node_host_idx, int design_idx, int capture_node_idx) |
| Append an unresolved/default inlet usage with explicit host references. | |
| void | erase_row (int idx) |
| Erase a usage row from each column that contains it. | |
| int | find_by_link (int link_idx) const |
| Find the first usage with a matching conduit-host key. | |
| int | find_by_node_host (int node_idx) const |
| Find the first usage with a matching inlet-junction host key. | |
| void | resize_stats (int n) |
| Replace inlet usage statistics with zeroed columns. | |
Public Attributes | |
| std::vector< int > | link_index |
| Host conduit link index (-1 for an inlet junction) | |
| std::vector< int > | node_host |
| Host inlet-junction node index (-1 for a conduit usage) | |
| std::vector< int > | design_index |
| Index into InletStore. | |
| std::vector< int > | node_index |
| Capture (receiving / underdrain) node index. | |
| std::vector< int > | num_inlets |
| Number of inlets per side. | |
| std::vector< int > | placement |
| 0=auto, 1=on_grade, 2=on_sag | |
| std::vector< double > | clog_factor |
| 1.0 - pctClogged/100 | |
| std::vector< double > | flow_limit |
| Max capture flow per inlet (user flow units), 0=unlimited. | |
| std::vector< double > | local_depress |
| Local gutter depression (user length units) | |
| std::vector< double > | local_width |
| Local depression width (user length units) | |
| std::vector< int > | street_index |
| std::vector< std::string > | pending_design_name |
| std::vector< std::string > | pending_capture_name |
| std::vector< double > | stat_capture_vol |
| Total captured volume (ft³) | |
| std::vector< double > | stat_bypass_vol |
| Total bypassed volume (ft³) | |
| std::vector< double > | stat_backflow_vol |
| Total backflow volume (ft³) | |
| std::vector< double > | stat_peak_flow |
| Peak captured flow (cfs) | |
One row per inlet placement. Two host kinds share the store:
|
inline |
Append an unresolved/default inlet usage with explicit host references.
Defaults one inlet, AUTO placement, unclogged, zero limits/depression and street=-1; pending names empty. Does not grow statistic vectors, resolve a street, or enforce exactly one host. Allocation can leave partial appends.
| [in] | link_idx | Host conduit index, or -1 for node hosting; copied without validation. |
| [in] | node_host_idx | Host inlet-junction index, or -1 for conduit hosting. |
| [in] | design_idx | InletStore design index; caller validates or resolves later. |
| [in] | capture_node_idx | Receiving node index; copied without topology validation. |
|
inline |
Count stored rows from the design_index column.
|
inline |
Erase a usage row from each column that contains it.
Also visits optional statistic vectors. Does not guarantee alignment if columns were already inconsistent, or renumber model references stored within surviving rows.
| [in] | idx | Row index; negative or out-of-range values skip each column independently. |
|
inline |
Find the first usage with a matching conduit-host key.
Linear scan using design_index count; link_index must contain at least that many entries.
| [in] | link_idx | Stored host key; no link bounds/type validation, and -1 may match a node-hosted row. |
|
inline |
Find the first usage with a matching inlet-junction host key.
Linear scan using design_index count; node_host must contain at least that many entries.
| [in] | node_idx | Stored host key; no node bounds/type validation, and -1 may match a conduit-hosted row. |
|
inline |
Replace inlet usage statistics with zeroed columns.
Volumes use ft3 and peak flow cfs. Preserves definitions; independent assignments can fail partway on allocation.
| [in] | n | Nonnegative row count, normally count(); no negative-value check. |
| std::vector<double> openswmm::InletUsageStore::clog_factor |
1.0 - pctClogged/100
| std::vector<int> openswmm::InletUsageStore::design_index |
Index into InletStore.
| std::vector<double> openswmm::InletUsageStore::flow_limit |
Max capture flow per inlet (user flow units), 0=unlimited.
| std::vector<int> openswmm::InletUsageStore::link_index |
Host conduit link index (-1 for an inlet junction)
| std::vector<double> openswmm::InletUsageStore::local_depress |
Local gutter depression (user length units)
| std::vector<double> openswmm::InletUsageStore::local_width |
Local depression width (user length units)
| std::vector<int> openswmm::InletUsageStore::node_host |
Host inlet-junction node index (-1 for a conduit usage)
| std::vector<int> openswmm::InletUsageStore::node_index |
Capture (receiving / underdrain) node index.
| std::vector<int> openswmm::InletUsageStore::num_inlets |
Number of inlets per side.
| std::vector<std::string> openswmm::InletUsageStore::pending_capture_name |
| std::vector<std::string> openswmm::InletUsageStore::pending_design_name |
Design / capture-node names of an [INLET_JUNCTIONS] row, kept until PostParseResolver turns them into design_index / node_index. Empty on a row whose references were already resolved at parse time.
| std::vector<int> openswmm::InletUsageStore::placement |
0=auto, 1=on_grade, 2=on_sag
| std::vector<double> openswmm::InletUsageStore::stat_backflow_vol |
Total backflow volume (ft³)
| std::vector<double> openswmm::InletUsageStore::stat_bypass_vol |
Total bypassed volume (ft³)
| std::vector<double> openswmm::InletUsageStore::stat_capture_vol |
Total captured volume (ft³)
| std::vector<double> openswmm::InletUsageStore::stat_peak_flow |
Peak captured flow (cfs)
| std::vector<int> openswmm::InletUsageStore::street_index |
Index into StreetStore, resolved by PostParseResolver (-1 if host xsect is not STREET)