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

#include <LinkSubtypes.hpp>

Collaboration diagram for openswmm::OutletData:

Public Member Functions

int count () const noexcept
 Count OutletData rows from the base-object join-key column.
 
void clear () noexcept
 Erase all OutletData rows while retaining vector capacities.
 
void reserve (int n)
 Request capacity for each OutletData column without changing row count.
 
int add_default (int i)
 Insert a default OutletData row at the sorted base-object key position.
 
void erase_at (int r)
 Erase dense OutletData row data and shift later dense rows down.
 

Public Attributes

std::vector< int > link_idx
 
std::vector< double > outlet_type
 Rating type (legacy param1)
 
std::vector< double > crest_height
 Offset/crest.
 
std::vector< double > coeff
 Functional C1 (legacy cd)
 
std::vector< double > expon
 Functional C2 exponent (legacy param2)
 
std::vector< int > curve
 TABULAR rating-curve index (legacy pump_curve reuse; -1 = functional)
 

Member Function Documentation

◆ add_default()

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

Insert a default OutletData row at the sorted base-object key position.

Assumes ascending link_idx and aligned columns. Seeds functional/head type, curve=-1 and zero crest/coefficient/exponent. 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]iNonnegative 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::OutletData::clear ( )
inlinenoexcept

Erase all OutletData 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::OutletData::count ( ) const
inlinenoexcept

Count OutletData rows from the base-object join-key column.

Returns
link_idx.size() converted to int; other column lengths are not checked.

◆ erase_at()

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

Erase dense OutletData 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]rExisting dense subtype-row index, NOT the base-object index; caller validates bounds/alignment.

◆ reserve()

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

Request capacity for each OutletData column without changing row count.

May invalidate column references/iterators. Allocation failure can leave different reserved capacities, while existing row values remain.

Parameters
[in]nNonnegative anticipated row count; caller validates before conversion to size_t.

Member Data Documentation

◆ coeff

std::vector<double> openswmm::OutletData::coeff

Functional C1 (legacy cd)

◆ crest_height

std::vector<double> openswmm::OutletData::crest_height

Offset/crest.

◆ curve

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

TABULAR rating-curve index (legacy pump_curve reuse; -1 = functional)

◆ expon

std::vector<double> openswmm::OutletData::expon

Functional C2 exponent (legacy param2)

◆ link_idx

std::vector<int> openswmm::OutletData::link_idx

◆ outlet_type

std::vector<double> openswmm::OutletData::outlet_type

Rating type (legacy param1)


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