46#ifndef OPENSWMM_FORCING_H
47#define OPENSWMM_FORCING_H
51#ifdef OPENSWMM_ENGINE_STATIC
52# define SWMM_ENGINE_API
55# ifdef openswmm_engine_EXPORTS
56# define SWMM_ENGINE_API __declspec(dllexport)
58# define SWMM_ENGINE_API __declspec(dllimport)
61# define SWMM_ENGINE_API __attribute__((visibility("default")))
114 SWMM_Engine engine,
int idx,
double value,
int mode,
int persist);
128 SWMM_Engine engine,
int idx,
double value,
int mode,
int persist);
143 SWMM_Engine engine,
int node_idx,
int pollutant_idx,
144 double mass_rate,
int mode,
int persist);
162 SWMM_Engine engine,
int idx,
double value,
int mode,
int persist);
176 SWMM_Engine engine,
int idx,
double value,
int mode,
int persist);
194 SWMM_Engine engine,
int idx,
double value,
int mode,
int persist);
208 SWMM_Engine engine,
int idx,
double value,
int mode,
int persist);
226 SWMM_Engine engine,
int idx,
double value,
int mode,
int persist);
SWMM_ENGINE_API int swmm_forcing_node_head_boundary(SWMM_Engine engine, int idx, double value, int mode, int persist)
Force a head boundary at an outfall node.
Definition openswmm_forcing_impl.cpp:51
SWMM_ENGINE_API int swmm_forcing_gage_rainfall(SWMM_Engine engine, int idx, double value, int mode, int persist)
Force rainfall on a rain gage (affects all linked subcatchments).
Definition openswmm_forcing_impl.cpp:167
SWMM_ENGINE_API int swmm_forcing_clear(SWMM_Engine engine, int type, int idx)
Clear forcing on a specific element and channel.
Definition openswmm_forcing_impl.cpp:187
SWMM_ENGINE_API int swmm_forcing_link_setting(SWMM_Engine engine, int idx, double value, int mode, int persist)
Force a control setting on a link (pump, orifice, weir, outlet).
Definition openswmm_forcing_impl.cpp:111
SWMM_ENGINE_API int swmm_forcing_node_lat_inflow(SWMM_Engine engine, int idx, double value, int mode, int persist)
Force a lateral inflow at a node.
Definition openswmm_forcing_impl.cpp:35
SWMM_ENGINE_API int swmm_forcing_subcatch_rainfall(SWMM_Engine engine, int idx, double value, int mode, int persist)
Force rainfall on a subcatchment (bypasses gage lookup).
Definition openswmm_forcing_impl.cpp:131
SWMM_ENGINE_API int swmm_forcing_node_quality(SWMM_Engine engine, int node_idx, int pollutant_idx, double mass_rate, int mode, int persist)
Force a quality mass flux at a node.
Definition openswmm_forcing_impl.cpp:71
SWMM_ENGINE_API int swmm_forcing_clear_all(SWMM_Engine engine)
Clear ALL forcings on ALL elements.
Definition openswmm_forcing_impl.cpp:237
SWMM_ENGINE_API int swmm_forcing_link_flow(SWMM_Engine engine, int idx, double value, int mode, int persist)
Force a flow in a link.
Definition openswmm_forcing_impl.cpp:95
SWMM_ENGINE_API int swmm_forcing_subcatch_evap(SWMM_Engine engine, int idx, double value, int mode, int persist)
Force an evaporation rate on a subcatchment.
Definition openswmm_forcing_impl.cpp:147
Callback function typedefs for the OpenSWMM Engine C API.
void * SWMM_Engine
Opaque handle to an OpenSWMM Engine instance.
Definition openswmm_callbacks.h:35
SWMM_ForcingMode
How the forcing value is applied relative to the computed value.
Definition openswmm_forcing.h:74
@ SWMM_FORCING_OVERRIDE
Definition openswmm_forcing.h:76
@ SWMM_FORCING_NONE
Definition openswmm_forcing.h:75
@ SWMM_FORCING_ADD
Definition openswmm_forcing.h:77
#define SWMM_ENGINE_API
Definition openswmm_forcing.h:61
SWMM_ForcingPersist
Whether the forcing persists across timesteps.
Definition openswmm_forcing.h:81
@ SWMM_FORCING_PERSIST
Definition openswmm_forcing.h:83
@ SWMM_FORCING_RESET
Definition openswmm_forcing.h:82
SWMM_ForcingType
Forcing channel identifier (for targeted clear).
Definition openswmm_forcing.h:87
@ SWMM_FORCE_NODE_HEAD_BOUNDARY
Definition openswmm_forcing.h:89
@ SWMM_FORCE_NODE_QUALITY
Definition openswmm_forcing.h:90
@ SWMM_FORCE_LINK_SETTING
Definition openswmm_forcing.h:92
@ SWMM_FORCE_SUBCATCH_EVAP
Definition openswmm_forcing.h:94
@ SWMM_FORCE_LINK_FLOW
Definition openswmm_forcing.h:91
@ SWMM_FORCE_GAGE_RAINFALL
Definition openswmm_forcing.h:95
@ SWMM_FORCE_SUBCATCH_RAINFALL
Definition openswmm_forcing.h:93
@ SWMM_FORCE_NODE_LAT_INFLOW
Definition openswmm_forcing.h:88