OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
openswmm_controls.h
Go to the documentation of this file.
1
16#ifndef OPENSWMM_CONTROLS_H
17#define OPENSWMM_CONTROLS_H
18
19#include "openswmm_engine.h"
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25/* =========================================================================
26 * Control rules
27 * ========================================================================= */
28
40SWMM_ENGINE_API int swmm_control_add_rule(SWMM_Engine engine, const char* rule_text);
41
48
57SWMM_ENGINE_API int swmm_control_get_rule(SWMM_Engine engine, int idx, char* buf, int buflen);
58
75SWMM_ENGINE_API int swmm_control_get_id(SWMM_Engine engine, int idx, char* buf, int buflen);
76
83
119 const char* rule_text,
120 char* errbuf, int buflen,
121 int* line_out);
122
123/* =========================================================================
124 * Direct control actions (without rules)
125 * ========================================================================= */
126
138SWMM_ENGINE_API int swmm_control_set_link_setting(SWMM_Engine engine, int link_idx, double setting);
139
150SWMM_ENGINE_API int swmm_control_set_link_status(SWMM_Engine engine, int link_idx, int status);
151
152#ifdef __cplusplus
153} /* extern "C" */
154#endif
155
156#endif /* OPENSWMM_CONTROLS_H */
#define SWMM_ENGINE_API
Definition openswmm_2d.h:37
void * SWMM_Engine
Opaque handle to an OpenSWMM Engine instance.
Definition openswmm_callbacks.h:35
SWMM_ENGINE_API int swmm_control_validate_rule(SWMM_Engine engine, const char *rule_text, char *errbuf, int buflen, int *line_out)
Validate a control-rule text block without storing it.
Definition openswmm_controls_impl.cpp:112
SWMM_ENGINE_API int swmm_control_set_link_setting(SWMM_Engine engine, int link_idx, double setting)
Directly set the control setting of a link.
Definition openswmm_controls_impl.cpp:150
SWMM_ENGINE_API int swmm_control_clear_rules(SWMM_Engine engine)
Remove all control rules from the model.
Definition openswmm_controls_impl.cpp:105
SWMM_ENGINE_API int swmm_control_get_rule(SWMM_Engine engine, int idx, char *buf, int buflen)
Get the text of a control rule by index.
Definition openswmm_controls_impl.cpp:75
SWMM_ENGINE_API int swmm_control_add_rule(SWMM_Engine engine, const char *rule_text)
Add a control rule from its text representation.
Definition openswmm_controls_impl.cpp:60
SWMM_ENGINE_API int swmm_control_set_link_status(SWMM_Engine engine, int link_idx, int status)
Directly set the open/close status of a link.
Definition openswmm_controls_impl.cpp:158
SWMM_ENGINE_API int swmm_control_count(SWMM_Engine engine)
Get the total number of control rules defined.
Definition openswmm_controls_impl.cpp:70
SWMM_ENGINE_API int swmm_control_get_id(SWMM_Engine engine, int idx, char *buf, int buflen)
Get the canonical name of a control rule by index.
Definition openswmm_controls_impl.cpp:89
OpenSWMM Engine — primary transparent C API (master header).