Dense SoA for outfall boundary-condition properties (one row per OUTFALL).
More...
#include <NodeSubtypes.hpp>
|
| std::vector< int > | node_idx |
| | Base NodeData index this row belongs to (the join key).
|
| |
| std::vector< OutfallType > | bc_type |
| | Boundary condition type (FREE/NORMAL/FIXED/TIDAL/TIMESERIES).
|
| |
| std::vector< double > | param |
| | Fixed stage, or tidal/timeseries table index (per bc_type). For TIDAL/TIMESERIES an unresolved reference is -1 (never 0, which is a valid table index).
|
| |
| std::vector< std::string > | param_name |
| | Stage-data table name for TIDAL/TIMESERIES, held for deferred name→index resolution in PostParseResolver (empty otherwise).
|
| |
| std::vector< uint8_t > | has_flap_gate |
| | Flap gate present (0/1).
|
| |
| std::vector< int > | route_to |
| | Subcatchment index to route discharge to (-1 = none).
|
| |
| std::vector< int > | link_idx |
| | Cached connected-conduit index (-1 = none).
|
| |
| std::vector< double > | link_offset |
| | Conduit offset at the outfall end.
|
| |
| std::vector< double > | head_2d |
| | Cached 2D surface head at the coupling point (sentinel -1e30).
|
| |
| std::vector< double > | ramp_2d |
| | Cached wet/dry ramp factor [0,1] for the 2D tailwater override (0 = dry → free discharge, 1 = wet → full tailwater); default 0.
|
| |
Dense SoA for outfall boundary-condition properties (one row per OUTFALL).
Mirrors the outfall_* fields of NodeData.
◆ add_default()
| int openswmm::OutfallData::add_default |
( |
int | i | ) |
|
|
inline |
Insert a default OutfallData row at the sorted base-object key position.
Assumes ascending node_idx and aligned columns. Seeds FREE boundary, no route/link references, no flap gate, head_2d=-1e30 and zero ramp. Does not update the enclosing reverse map, reject duplicate keys, enforce lifecycle or initialize solver caches. Allocation failure can leave partially inserted parallel columns.
- Parameters
-
| [in] | i | Nonnegative base-object index; caller ensures it exists, is of this subtype and is absent from this table. |
- Returns
- Inserted dense row index; later dense rows shift up.
◆ clear()
| void openswmm::OutfallData::clear |
( |
| ) |
|
|
inlinenoexcept |
Erase all OutfallData rows while retaining vector capacities.
Invalidates element references/iterators and removes owned nested state. Does not clear base objects or repair the enclosing reverse map.
◆ count()
| int openswmm::OutfallData::count |
( |
| ) |
const |
|
inlinenoexcept |
Count OutfallData rows from the base-object join-key column.
- Returns
- node_idx.size() converted to int; other column lengths are not checked.
◆ erase_at()
| void openswmm::OutfallData::erase_at |
( |
int | r | ) |
|
|
inline |
Erase dense OutfallData row data and shift later dense rows down.
Erases every defined side-table column. Does not erase a base object, renumber stored base keys or rebuild the reverse map; enclosing maintenance handles those steps.
- Parameters
-
| [in] | r | Existing dense subtype-row index, NOT the base-object index; caller validates bounds/alignment. |
◆ reserve()
| void openswmm::OutfallData::reserve |
( |
int | n | ) |
|
|
inline |
Request capacity for each OutfallData column without changing row count.
May invalidate column references/iterators. Allocation failure can leave different reserved capacities, while existing row values remain.
- Parameters
-
| [in] | n | Nonnegative anticipated row count; caller validates before conversion to size_t. |
◆ bc_type
| std::vector<OutfallType> openswmm::OutfallData::bc_type |
Boundary condition type (FREE/NORMAL/FIXED/TIDAL/TIMESERIES).
◆ has_flap_gate
| std::vector<uint8_t> openswmm::OutfallData::has_flap_gate |
◆ head_2d
| std::vector<double> openswmm::OutfallData::head_2d |
Cached 2D surface head at the coupling point (sentinel -1e30).
◆ link_idx
| std::vector<int> openswmm::OutfallData::link_idx |
Cached connected-conduit index (-1 = none).
◆ link_offset
| std::vector<double> openswmm::OutfallData::link_offset |
Conduit offset at the outfall end.
◆ node_idx
| std::vector<int> openswmm::OutfallData::node_idx |
Base NodeData index this row belongs to (the join key).
◆ param
| std::vector<double> openswmm::OutfallData::param |
Fixed stage, or tidal/timeseries table index (per bc_type). For TIDAL/TIMESERIES an unresolved reference is -1 (never 0, which is a valid table index).
◆ param_name
| std::vector<std::string> openswmm::OutfallData::param_name |
Stage-data table name for TIDAL/TIMESERIES, held for deferred name→index resolution in PostParseResolver (empty otherwise).
◆ ramp_2d
| std::vector<double> openswmm::OutfallData::ramp_2d |
Cached wet/dry ramp factor [0,1] for the 2D tailwater override (0 = dry → free discharge, 1 = wet → full tailwater); default 0.
◆ route_to
| std::vector<int> openswmm::OutfallData::route_to |
Subcatchment index to route discharge to (-1 = none).
The documentation for this struct was generated from the following file:
- /home/runner/work/openswmm.engine/openswmm.engine/src/engine/data/NodeSubtypes.hpp