OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
Core Engine The core engine module, including lifecycle management, simulation options, and shared utilities.

Files

file  charconv_compat.hpp
 Portable from_chars for floating-point types.
 
file  DateTime.hpp
 DateTime utility functions — numerically identical to legacy datetime.c.
 
file  InpWriter.cpp
 Comprehensive .inp serialisation — round-trip identical output.
 
file  InpWriter.hpp
 Write a SimulationContext to a SWMM .inp file.
 
file  InterfaceFile.cpp
 Routing interface file — coupling between separate SWMM simulations.
 
file  InterfaceFile.hpp
 Routing interface file — coupling between separate SWMM simulations.
 
file  SimulationContext.hpp
 The central, reentrant simulation context for the new engine.
 
file  SpatialFrame.hpp
 Spatial frame — CRS specification and coordinate data for nodes/links.
 
file  UnitConversion.cpp
 Global unit conversion — matching legacy SWMM UCF().
 
file  UnitConversion.hpp
 Global unit conversion factors — matching legacy SWMM Ucf[]/Qcf[].
 
file  UserFlags.hpp
 User-defined model flags (InfoWorks ICM-style, two-section design).
 

Classes

struct  openswmm::PluginSpec
 One plugin entry from the [PLUGINS] section. More...
 
struct  openswmm::SimulationContext
 Central, reentrant simulation context. More...
 
struct  openswmm::SimulationOptions
 All SWMM simulation options parsed from [OPTIONS] section. More...
 
class  openswmm::ICouplingPoint
 Abstract coupling point between a 1D SWMM object and a 2D mesh cell. More...
 
struct  openswmm::SpatialFrame
 Spatial frame containing CRS and georeferenced coordinates. More...
 
struct  openswmm::UserFlagDef
 Schema entry for a single user-defined flag. More...
 
struct  openswmm::UserFlagAssignment
 A (object_type, object_name, flag_name) → value assignment. More...
 
class  openswmm::UserFlags
 Stores the full user-flags data: schema definitions + per-object values. More...
 

Typedefs

using openswmm::UserFlagValue = std::variant< bool, int, double, std::string >
 A concrete flag value assigned to a specific object.
 

Enumerations

enum class  openswmm::EngineState : int32_t {
  openswmm::EngineState::CREATED = 0 ,
  openswmm::EngineState::OPENED = 1 ,
  openswmm::EngineState::INITIALIZED = 2 ,
  openswmm::EngineState::RUNNING = 3 ,
  openswmm::EngineState::PAUSED = 4 ,
  openswmm::EngineState::ENDED = 5 ,
  openswmm::EngineState::REPORTED = 6 ,
  openswmm::EngineState::CLOSED = 7 ,
  openswmm::EngineState::ERROR_STATE = 8 ,
  openswmm::EngineState::BUILDING = 9
}
 High-level engine lifecycle state. More...
 
enum class  openswmm::UserFlagType : int {
  openswmm::UserFlagType::BOOLEAN = 0 ,
  openswmm::UserFlagType::INTEGER = 1 ,
  openswmm::UserFlagType::REAL = 2 ,
  openswmm::UserFlagType::STRING = 3
}
 Value type for a user flag. More...
 

Detailed Description

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n MIT License

Typedef Documentation

◆ UserFlagValue

using openswmm::UserFlagValue = typedef std::variant<bool, int, double, std::string>

A concrete flag value assigned to a specific object.

Enumeration Type Documentation

◆ EngineState

enum class openswmm::EngineState : int32_t
strong

High-level engine lifecycle state.

Mirrors SWMM_EngineState in include/openswmm/engine/openswmm_engine.h but lives in the C++ domain (scoped enum).

Enumerator
CREATED 

Context allocated, no input loaded.

OPENED 

Input file parsed, objects allocated.

INITIALIZED 

Initial conditions applied.

RUNNING 

Simulation loop in progress.

PAUSED 

Simulation paused (future hot-swap support)

ENDED 

Simulation loop completed.

REPORTED 

Summary report written.

CLOSED 

Resources released.

ERROR_STATE 

Fatal error; call swmm_engine_last_error()

BUILDING 

Programmatic model construction in progress (no .inp)

◆ UserFlagType

enum class openswmm::UserFlagType : int
strong

Value type for a user flag.

Enumerator
BOOLEAN 

YES/NO/TRUE/FALSE/1/0.

INTEGER 

Signed integer.

REAL 

Double-precision floating-point.

STRING 

Arbitrary string.