Dense SoA for flow-divider properties (one row per DIVIDER node).
More...
#include <NodeSubtypes.hpp>
|
| std::vector< int > | node_idx |
| | Base NodeData index this row belongs to (the join key).
|
| |
| std::vector< DividerType > | method |
| | 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).
|
| |
Dense SoA for flow-divider properties (one row per DIVIDER node).
Mirrors the divider_* fields of NodeData.
◆ add_default()
| int openswmm::DividerData::add_default |
( |
int | i | ) |
|
|
inline |
Insert a default DividerData row at the sorted base-object key position.
Assumes ascending node_idx and aligned columns. Seeds CUTOFF method, unset curve/link references and zero parameters. 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] | i | Nonnegative 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::DividerData::clear |
( |
| ) |
|
|
inlinenoexcept |
Erase all DividerData 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::DividerData::count |
( |
| ) |
const |
|
inlinenoexcept |
Count DividerData rows from the base-object join-key column.
- Returns
- node_idx.size() converted to int; other column lengths are not checked.
◆ erase_at()
| void openswmm::DividerData::erase_at |
( |
int | r | ) |
|
|
inline |
Erase dense DividerData 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] | r | Existing dense subtype-row index, NOT the base-object index; caller validates bounds/alignment. |
◆ reserve()
| void openswmm::DividerData::reserve |
( |
int | n | ) |
|
|
inline |
Request capacity for each DividerData column without changing row count.
May invalidate column references/iterators. Allocation failure can leave different reserved capacities, while existing row values remain.
- Parameters
-
| [in] | n | Nonnegative anticipated row count; caller validates before conversion to size_t. |
◆ 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
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:
- /home/runner/work/openswmm.engine/openswmm.engine/src/engine/data/NodeSubtypes.hpp