34#ifndef OPENSWMM_ENGINE_TYPE_HELPERS_HPP
35#define OPENSWMM_ENGINE_TYPE_HELPERS_HPP
Structure-of-Arrays (SoA) storage for all link types.
Structure-of-Arrays (SoA) storage for all node types.
Definition ExchangeLaw.hpp:60
int internal_to_c_link_type(LinkType type) noexcept
Translate an internal link type into its public C enum.
Definition TypeHelpers.hpp:140
LinkType
Link type codes.
Definition LinkData.hpp:58
@ CONDUIT
Definition LinkData.hpp:58
@ PUMP
Definition LinkData.hpp:58
@ WEIR
Definition LinkData.hpp:58
@ ORIFICE
Definition LinkData.hpp:58
@ OUTLET
Definition LinkData.hpp:58
NodeType
Node type codes.
Definition NodeData.hpp:65
@ JUNCTION
Definition NodeData.hpp:65
@ DIVIDER
Definition NodeData.hpp:65
@ STORAGE
Definition NodeData.hpp:65
@ OUTFALL
Definition NodeData.hpp:65
bool c_to_internal_node_type(int c_type, NodeType &out_type) noexcept
Translate a public C node type into its internal enum.
Definition TypeHelpers.hpp:58
int internal_to_c_node_type(NodeType type) noexcept
Translate an internal node type into its public C enum.
Definition TypeHelpers.hpp:83
bool c_to_internal_link_type(int c_type, LinkType &out_type) noexcept
Translate a public C link type into its internal enum.
Definition TypeHelpers.hpp:112
OpenSWMM Engine — Link (conduit/pump/orifice/weir/outlet) C API.
@ SWMM_LINK_PUMP
Definition openswmm_links.h:50
@ SWMM_LINK_ORIFICE
Definition openswmm_links.h:51
@ SWMM_LINK_CONDUIT
Definition openswmm_links.h:49
@ SWMM_LINK_OUTLET
Definition openswmm_links.h:53
@ SWMM_LINK_WEIR
Definition openswmm_links.h:52
OpenSWMM Engine — Node C API.
@ SWMM_NODE_JUNCTION
Definition openswmm_nodes.h:49
@ SWMM_NODE_OUTFALL
Definition openswmm_nodes.h:50
@ SWMM_NODE_DIVIDER
Definition openswmm_nodes.h:52
@ SWMM_NODE_STORAGE
Definition openswmm_nodes.h:51