OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
openswmm::OutfallData Struct Reference

Dense SoA for outfall boundary-condition properties (one row per OUTFALL). More...

#include <NodeSubtypes.hpp>

Collaboration diagram for openswmm::OutfallData:

Public Member Functions

int count () const noexcept
 Number of outfall rows.
 
void clear () noexcept
 Drop all rows (capacity retained).
 
void reserve (int n)
 Reserve capacity for n rows.
 
int add_default (int i)
 Insert a default outfall row for base node i, keeping node_idx ascending; returns the inserted row index. Defaults match NodeData::resize.
 
void erase_at (int r)
 Erase outfall row r from every column.
 

Public Attributes

std::vector< int > node_idx
 Base NodeData index this row belongs to (the join key).
 
std::vector< OutfallTypebc_type
 Boundary condition type (FREE/NORMAL/FIXED/TIDAL/TIMESERIES).
 
std::vector< double > param
 Fixed stage, or tidal/timeseries table index (per bc_type).
 
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.
 

Detailed Description

Dense SoA for outfall boundary-condition properties (one row per OUTFALL).

Mirrors the outfall_* fields of NodeData.

Member Function Documentation

◆ add_default()

int openswmm::OutfallData::add_default ( int i)
inline

Insert a default outfall row for base node i, keeping node_idx ascending; returns the inserted row index. Defaults match NodeData::resize.

◆ clear()

void openswmm::OutfallData::clear ( )
inlinenoexcept

Drop all rows (capacity retained).

◆ count()

int openswmm::OutfallData::count ( ) const
inlinenoexcept

Number of outfall rows.

◆ erase_at()

void openswmm::OutfallData::erase_at ( int r)
inline

Erase outfall row r from every column.

◆ reserve()

void openswmm::OutfallData::reserve ( int n)
inline

Reserve capacity for n rows.

Member Data Documentation

◆ 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

Flap gate present (0/1).

◆ 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).

◆ 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: