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

Dense SoA for flow-divider properties (one row per DIVIDER node). More...

#include <NodeSubtypes.hpp>

Collaboration diagram for openswmm::DividerData:

Public Member Functions

int count () const noexcept
 Number of divider 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 divider row for base node i, keeping node_idx ascending; returns the inserted row index. Defaults match NodeData::resize.
 
void erase_at (int r)
 Erase divider row r from every column.
 

Public Attributes

std::vector< int > node_idx
 Base NodeData index this row belongs to (the join key).
 
std::vector< DividerTypemethod
 Diversion method (CUTOFF/OVERFLOW/TABULAR/WEIR).
 
std::vector< double > cutoff
 Cutoff flow for CUTOFF dividers.
 
std::vector< double > cd
 Weir discharge coefficient for WEIR dividers.
 
std::vector< double > max_depth
 Weir max depth for WEIR dividers.
 
std::vector< int > curve
 Diversion curve index for TABULAR dividers (-1 = none).
 
std::vector< int > link
 Diversion link index (-1 = not set).
 
std::vector< std::string > link_name
 Diversion link name (deferred resolution).
 
std::vector< std::string > curve_name
 Diversion curve name (deferred resolution, TABULAR only).
 

Detailed Description

Dense SoA for flow-divider properties (one row per DIVIDER node).

Mirrors the divider_* fields of NodeData.

Member Function Documentation

◆ add_default()

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

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

◆ clear()

void openswmm::DividerData::clear ( )
inlinenoexcept

Drop all rows (capacity retained).

◆ count()

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

Number of divider rows.

Here is the caller graph for this function:

◆ erase_at()

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

Erase divider row r from every column.

◆ reserve()

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

Reserve capacity for n rows.

Member Data Documentation

◆ cd

std::vector<double> openswmm::DividerData::cd

Weir discharge coefficient for WEIR dividers.

◆ curve

std::vector<int> openswmm::DividerData::curve

Diversion curve index for TABULAR dividers (-1 = none).

◆ curve_name

std::vector<std::string> openswmm::DividerData::curve_name

Diversion curve name (deferred resolution, TABULAR only).

◆ cutoff

std::vector<double> openswmm::DividerData::cutoff

Cutoff flow for CUTOFF dividers.

◆ link

std::vector<int> openswmm::DividerData::link

Diversion link index (-1 = not set).

◆ link_name

std::vector<std::string> openswmm::DividerData::link_name

Diversion link name (deferred resolution).

◆ max_depth

std::vector<double> openswmm::DividerData::max_depth

Weir max depth for WEIR dividers.

◆ method

std::vector<DividerType> openswmm::DividerData::method

Diversion method (CUTOFF/OVERFLOW/TABULAR/WEIR).

◆ node_idx

std::vector<int> openswmm::DividerData::node_idx

Base NodeData index this row belongs to (the join key).


The documentation for this struct was generated from the following file: