23#ifndef OPENSWMM_MODEL_H
24#define OPENSWMM_MODEL_H
136 const char* new_path,
137 const char* output_plugin_id);
202 const char* path_or_id,
340 int original_buflen);
358 const char* new_path);
652 const char* description
676 const char* obj_type,
677 const char* obj_name,
678 const char* flag_name,
699 const char* obj_type,
700 const char* obj_name,
701 const char* flag_name,
716 const char* obj_type,
717 const char* obj_name,
718 const char* flag_name
#define SWMM_ENGINE_API
Definition openswmm_2d.h:37
void * SWMM_Engine
Opaque handle to an OpenSWMM Engine instance.
Definition openswmm_callbacks.h:35
OpenSWMM Engine — primary transparent C API (master header).
SWMM_ENGINE_API int swmm_model_write(SWMM_Engine engine, const char *new_inp_path)
Write the current model state to a SWMM input (.inp) file.
Definition openswmm_model_impl.cpp:183
SWMM_ENGINE_API int swmm_userflag_value_set(SWMM_Engine engine, const char *obj_type, const char *obj_name, const char *flag_name, const char *value)
Assign a flag value to a specific object from a string.
Definition openswmm_model_impl.cpp:1464
SWMM_ENGINE_API int swmm_options_set_start_date(SWMM_Engine engine, double value)
Set the simulation start date/time from an OADate.
Definition openswmm_model_impl.cpp:1260
SWMM_ENGINE_API int swmm_options_set_end_date(SWMM_Engine engine, double value)
Set the simulation end date/time from an OADate.
Definition openswmm_model_impl.cpp:1275
SWMM_ENGINE_API int swmm_userflag_def_count(SWMM_Engine engine, int *count)
Number of user-flag schema definitions.
Definition openswmm_model_impl.cpp:1386
SWMM_ENGINE_API int swmm_userflag_get_bool(SWMM_Engine engine, const char *name, int *value)
Get the value of a BOOLEAN user flag (schema-level).
Definition openswmm_model_impl.cpp:1300
SWMM_ENGINE_API int swmm_title_set(SWMM_Engine engine, const char *text)
Replace all title/note lines with a single block of text.
Definition openswmm_model_impl.cpp:607
SWMM_ENGINE_API SWMM_Engine swmm_engine_new(void)
Create an empty engine in BUILDING state (no .inp file required).
Definition openswmm_model_impl.cpp:103
SWMM_ENGINE_API int swmm_finalize_model(SWMM_Engine engine)
Finalise a programmatically-built model.
Definition openswmm_model_impl.cpp:147
SWMM_ENGINE_API int swmm_options_set_report_start(SWMM_Engine engine, double value)
Set the report start date/time from an OADate.
Definition openswmm_model_impl.cpp:1290
SWMM_ENGINE_API int swmm_plugins_count(SWMM_Engine engine, int *count)
Number of [PLUGINS] entries currently registered on the engine.
Definition openswmm_model_impl.cpp:231
SWMM_ENGINE_API int swmm_plugin_set(SWMM_Engine engine, const char *path_or_id, const char *args)
Add or replace a [PLUGINS] row keyed by path_or_id.
Definition openswmm_model_impl.cpp:254
SWMM_ENGINE_API int swmm_options_set_ext(SWMM_Engine engine, const char *key, const char *value)
Set (or create) an extension OPTIONS value.
Definition openswmm_model_impl.cpp:1194
SWMM_ENGINE_API int swmm_options_get_ext(SWMM_Engine engine, const char *key, char *buf, int buflen)
Retrieve an extension OPTIONS value (keys unknown to standard SWMM).
Definition openswmm_model_impl.cpp:1157
SWMM_ENGINE_API int swmm_title_clear(SWMM_Engine engine)
Remove all lines from the [TITLE] section.
Definition openswmm_model_impl.cpp:626
SWMM_ENGINE_API int swmm_userflag_set_int(SWMM_Engine engine, const char *name, int value)
Set an INTEGER user flag at runtime.
Definition openswmm_model_impl.cpp:1358
SWMM_ENGINE_API int swmm_userflag_get_int(SWMM_Engine engine, const char *name, int *value)
Get the value of an INTEGER user flag.
Definition openswmm_model_impl.cpp:1315
SWMM_ENGINE_API int swmm_userflag_set_real(SWMM_Engine engine, const char *name, double value)
Set a REAL user flag at runtime.
Definition openswmm_model_impl.cpp:1369
SWMM_ENGINE_API int swmm_userflag_value_clear(SWMM_Engine engine, const char *obj_type, const char *obj_name, const char *flag_name)
Remove the flag value assigned to a specific object (mark unset).
Definition openswmm_model_impl.cpp:1509
SWMM_ENGINE_API int swmm_userflag_undefine(SWMM_Engine engine, const char *name)
Remove a user-flag definition and all per-object values assigned to it.
Definition openswmm_model_impl.cpp:1421
SWMM_ENGINE_API int swmm_options_set(SWMM_Engine engine, const char *key, const char *value)
Set a standard OPTIONS value.
Definition openswmm_model_impl.cpp:872
SWMM_ENGINE_API int swmm_get_crs(SWMM_Engine engine, char *buf, int buflen)
Retrieve the CRS string (e.g., "EPSG:4326" or PROJ string).
Definition openswmm_model_impl.cpp:1239
SWMM_ENGINE_API int swmm_title_add_line(SWMM_Engine engine, const char *line)
Add a new line to the end of the [TITLE] section.
Definition openswmm_model_impl.cpp:600
SWMM_ENGINE_API int swmm_options_get_report_start(SWMM_Engine engine, double *value)
Retrieve the report start date/time as an OADate.
Definition openswmm_model_impl.cpp:1283
SWMM_ENGINE_API int swmm_file_path_get(SWMM_Engine engine, SWMM_FilePathRole role, const char *owner, char *absolute_buf, int absolute_buflen, char *original_buf, int original_buflen)
Read both strings from an external-file slot.
Definition openswmm_model_impl.cpp:446
SWMM_ENGINE_API int swmm_files_get(SWMM_Engine engine, const char *key, char *buf, int buflen)
Read one [FILES] field by key.
Definition openswmm_model_impl.cpp:294
SWMM_ENGINE_API int swmm_files_set(SWMM_Engine engine, const char *key, const char *value)
Write one [FILES] field by key.
Definition openswmm_model_impl.cpp:330
SWMM_ENGINE_API int swmm_options_get_end_date(SWMM_Engine engine, double *value)
Retrieve the simulation end date/time as an OADate.
Definition openswmm_model_impl.cpp:1268
SWMM_ENGINE_API int swmm_plugin_get(SWMM_Engine engine, int idx, char *path_buf, int path_buf_sz, char *args_buf, int args_buf_sz)
Read one [PLUGINS] row by index.
Definition openswmm_model_impl.cpp:238
SWMM_ENGINE_API int swmm_validate_model(SWMM_Engine engine)
Validate model topology without changing state.
Definition openswmm_model_impl.cpp:113
SWMM_ENGINE_API int swmm_options_get_start_date(SWMM_Engine engine, double *value)
Retrieve the simulation start date/time as an OADate.
Definition openswmm_model_impl.cpp:1253
SWMM_ENGINE_API int swmm_userflag_def_get(SWMM_Engine engine, int index, char *name_buf, int name_buflen, int *type, char *desc_buf, int desc_buflen)
Retrieve a user-flag schema definition by index (insertion order).
Definition openswmm_model_impl.cpp:1394
SWMM_ENGINE_API int swmm_userflag_get_real(SWMM_Engine engine, const char *name, double *value)
Get the value of a REAL user flag.
Definition openswmm_model_impl.cpp:1330
SWMM_ENGINE_API int swmm_model_write_with_plugin(SWMM_Engine engine, const char *new_path, const char *output_plugin_id)
Write the current model state via a named writer plugin.
Definition openswmm_model_impl.cpp:189
SWMM_ENGINE_API int swmm_userflag_define(SWMM_Engine engine, const char *name, int type, const char *description)
Define (or redefine) a user flag.
Definition openswmm_model_impl.cpp:1409
SWMM_ENGINE_API int swmm_plugin_remove(SWMM_Engine engine, const char *path_or_id)
Remove the [PLUGINS] row matching path_or_id.
Definition openswmm_model_impl.cpp:278
SWMM_ENGINE_API int swmm_title_get_line(SWMM_Engine engine, int index, char *buf, int buflen)
Get a specific title/note line by index.
Definition openswmm_model_impl.cpp:587
SWMM_ENGINE_API int swmm_title_get_count(SWMM_Engine engine, int *count)
Get the number of title/note lines in the [TITLE] section.
Definition openswmm_model_impl.cpp:580
SWMM_ENGINE_API int swmm_userflag_set_bool(SWMM_Engine engine, const char *name, int value)
Set a BOOLEAN user flag at runtime.
Definition openswmm_model_impl.cpp:1345
SWMM_FilePathRole
Identifies a single external-file slot on the model.
Definition openswmm_model.h:297
@ SWMM_FILE_RAINGAGE_DATA
Definition openswmm_model.h:310
@ SWMM_FILE_INFLOWS
Definition openswmm_model.h:302
@ SWMM_FILE_HOTSTART_USE
Definition openswmm_model.h:304
@ SWMM_FILE_TIMESERIES_DATA
Definition openswmm_model.h:312
@ SWMM_FILE_RAINFALL
Definition openswmm_model.h:299
@ SWMM_FILE_OUTFLOWS
Definition openswmm_model.h:303
@ SWMM_FILE_RDII
Definition openswmm_model.h:301
@ SWMM_FILE_RUNOFF
Definition openswmm_model.h:300
@ SWMM_FILE_CLIMATE_TEMP
Definition openswmm_model.h:305
@ SWMM_FILE_HOTSTART_SAVE
Definition openswmm_model.h:308
SWMM_ENGINE_API int swmm_userflag_value_get(SWMM_Engine engine, const char *obj_type, const char *obj_name, const char *flag_name, char *buf, int buflen, int *found)
Read the flag value assigned to a specific object, as a string.
Definition openswmm_model_impl.cpp:1428
SWMM_ENGINE_API int swmm_file_path_set(SWMM_Engine engine, SWMM_FilePathRole role, const char *owner, const char *new_path)
Set the original token for an external-file slot; clears the cached absolute resolution.
Definition openswmm_model_impl.cpp:466
SWMM_ENGINE_API int swmm_options_get(SWMM_Engine engine, const char *key, char *buf, int buflen)
Retrieve a standard OPTIONS value as a string.
Definition openswmm_model_impl.cpp:636