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

Node-to-hydrograph authoring assignments stored in aligned columns. More...

#include <InflowData.hpp>

Collaboration diagram for openswmm::RDIIAssignData:

Public Member Functions

int count () const
 Count rows in the primary ordered column.
 
void add (int ni, const std::string &uh, double area, const std::string &name={})
 Append a copied authoring row.
 
void erase (int idx)
 Erase an aligned row and shift all later row indices down.
 

Public Attributes

std::vector< int > node_idx
 Target node.
 
std::vector< std::string > node_name
 Raw node name from input (for post-parse re-resolution)
 
std::vector< std::string > uh_name
 Unit hydrograph name.
 
std::vector< double > sewer_area
 Tributary sewer area.
 

Detailed Description

Node-to-hydrograph authoring assignments stored in aligned columns.

Owns its strings and vectors; references/iterators into columns may be invalidated by append/erase. Mutating this container does not synchronize engine solver state.

Member Function Documentation

◆ add()

void openswmm::RDIIAssignData::add ( int ni,
const std::string & uh,
double area,
const std::string & name = {} )
inline

Append a copied authoring row.

Low-level authoring storage only: no lifecycle, name/reference, numeric or duplicate validation and no solver-cache rebuild. Caller keeps parallel columns aligned, serializes access and keeps row count representable as int. Allocation exceptions can leave a partially appended row; there is no rollback.

Parameters
[in]niResolved node index stored verbatim.
[in]uhCopied unit-hydrograph group name.
[in]areaTributary area in project watershed area units, acres/hectares.
[in]nameOptional copied raw node name for later resolution.
Here is the caller graph for this function:

◆ count()

int openswmm::RDIIAssignData::count ( ) const
inline

Count rows in the primary ordered column.

Returns
Primary row count converted to int; no alignment verification of the other columns.
Here is the caller graph for this function:

◆ erase()

void openswmm::RDIIAssignData::erase ( int idx)
inline

Erase an aligned row and shift all later row indices down.

Erases each parallel column in order. Caller guarantees columns have at least count() rows and re-resolves cached row indices after success. Does not repair model-object references or runtime caches.

Parameters
[in]idxZero-based row index; invalid indices are a no-op.
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ node_idx

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

Target node.

◆ node_name

std::vector<std::string> openswmm::RDIIAssignData::node_name

Raw node name from input (for post-parse re-resolution)

◆ sewer_area

std::vector<double> openswmm::RDIIAssignData::sewer_area

Tributary sewer area.

◆ uh_name

std::vector<std::string> openswmm::RDIIAssignData::uh_name

Unit hydrograph name.


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