![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
Dry-weather-flow authoring rows stored in aligned columns. More...
#include <InflowData.hpp>
Public Member Functions | |
| int | count () const |
| Count rows in the primary ordered column. | |
| void | add (int ni, const std::string &cons, double avg, const std::string &p1, const std::string &p2, const std::string &p3, const std::string &p4, 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 > | constituent |
| "FLOW" or pollutant name | |
| std::vector< double > | avg_value |
| Average value. | |
| std::vector< std::string > | pat1 |
| Monthly pattern name. | |
| std::vector< std::string > | pat2 |
| Daily pattern name. | |
| std::vector< std::string > | pat3 |
| Hourly pattern name. | |
| std::vector< std::string > | pat4 |
| Weekend pattern name. | |
Dry-weather-flow 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.
|
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.
| [in] | ni | Resolved node index stored verbatim. |
| [in] | cons | Copied FLOW or constituent token. |
| [in] | avg | Average value in constituent input units (project flow units for FLOW). |
| [in] | p1 | Copied monthly pattern name; empty means none. |
| [in] | p2 | Copied daily pattern name; empty means none. |
| [in] | p3 | Copied hourly pattern name; empty means none. |
| [in] | p4 | Copied weekend pattern name; empty means none. |
| [in] | name | Optional copied raw node name for post-parse resolution. |
|
inline |
Count rows in the primary ordered column.
|
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.
| [in] | idx | Zero-based row index; invalid indices are a no-op. |
| std::vector<double> openswmm::DwfData::avg_value |
Average value.
| std::vector<std::string> openswmm::DwfData::constituent |
"FLOW" or pollutant name
| std::vector<int> openswmm::DwfData::node_idx |
Target node.
| std::vector<std::string> openswmm::DwfData::node_name |
Raw node name from input (for post-parse re-resolution)
| std::vector<std::string> openswmm::DwfData::pat1 |
Monthly pattern name.
| std::vector<std::string> openswmm::DwfData::pat2 |
Daily pattern name.
| std::vector<std::string> openswmm::DwfData::pat3 |
Hourly pattern name.
| std::vector<std::string> openswmm::DwfData::pat4 |
Weekend pattern name.