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

External inflow authoring rows stored in aligned columns. More...

#include <InflowData.hpp>

Collaboration diagram for openswmm::ExtInflowData:

Public Member Functions

int count () const
 Count rows in the primary ordered column.
 
void add (int ni, const std::string &cons, const std::string &ts, const std::string &type, double mf, double sf, double base, const std::string &pat, 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 index.
 
std::vector< std::string > node_name
 Raw node name from input (for post-parse re-resolution)
 
std::vector< std::string > constituent
 "FLOW" or pollutant name
 
std::vector< std::string > ts_name
 Timeseries name ("" if none)
 
std::vector< std::string > inflow_type
 "FLOW","CONCEN","MASS"
 
std::vector< double > m_factor
 Multiplier factor.
 
std::vector< double > s_factor
 Scaling factor.
 
std::vector< double > baseline
 Baseline value.
 
std::vector< std::string > pattern_name
 Baseline pattern name.
 

Detailed Description

External inflow authoring rows 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::ExtInflowData::add ( int ni,
const std::string & cons,
const std::string & ts,
const std::string & type,
double mf,
double sf,
double base,
const std::string & pat,
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 target node index, stored verbatim.
[in]consCopied FLOW/pollutant/reserved constituent token.
[in]tsCopied timeseries name; empty means none.
[in]typeCopied FLOW/CONCEN/MASS token.
[in]mfTimeseries multiplier.
[in]sfInput-unit scaling multiplier.
[in]baseBaseline in the constituent input units.
[in]patCopied baseline pattern name; empty means none.
[in]nameOptional copied raw node name for post-parse resolution; defaults empty.
Here is the caller graph for this function:

◆ count()

int openswmm::ExtInflowData::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::ExtInflowData::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

◆ baseline

std::vector<double> openswmm::ExtInflowData::baseline

Baseline value.

◆ constituent

std::vector<std::string> openswmm::ExtInflowData::constituent

"FLOW" or pollutant name

◆ inflow_type

std::vector<std::string> openswmm::ExtInflowData::inflow_type

"FLOW","CONCEN","MASS"

◆ m_factor

std::vector<double> openswmm::ExtInflowData::m_factor

Multiplier factor.

◆ node_idx

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

Target node index.

◆ node_name

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

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

◆ pattern_name

std::vector<std::string> openswmm::ExtInflowData::pattern_name

Baseline pattern name.

◆ s_factor

std::vector<double> openswmm::ExtInflowData::s_factor

Scaling factor.

◆ ts_name

std::vector<std::string> openswmm::ExtInflowData::ts_name

Timeseries name ("" if none)


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