OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
openswmm_edit.h
Go to the documentation of this file.
1
32#ifndef OPENSWMM_EDIT_H
33#define OPENSWMM_EDIT_H
34
35#include "openswmm_engine.h"
36
37#ifdef __cplusplus
38extern "C" {
39#endif
40
41/* =========================================================================
42 * Impact report — returned by analyze_impact and delete functions
43 * ========================================================================= */
44
57
65typedef struct SWMM_ImpactEntry {
67 int obj_idx;
68 const char* field;
71
82
90
91/* =========================================================================
92 * Impact analysis — read-only, works in any state where data exists
93 * ========================================================================= */
94
104 SWMM_Engine engine, int idx, SWMM_ImpactReport* report_out);
105
108 SWMM_Engine engine, int idx, SWMM_ImpactReport* report_out);
109
112 SWMM_Engine engine, int idx, SWMM_ImpactReport* report_out);
113
116 SWMM_Engine engine, int idx, SWMM_ImpactReport* report_out);
117
120 SWMM_Engine engine, int idx, SWMM_ImpactReport* report_out);
121
124 SWMM_Engine engine, int idx, SWMM_ImpactReport* report_out);
125
126/* =========================================================================
127 * Deletion — BUILDING or OPENED state only
128 * ========================================================================= */
129
147 SWMM_Engine engine, int idx, SWMM_ImpactReport* cascade_out);
148
157 SWMM_Engine engine, int idx, SWMM_ImpactReport* cascade_out);
158
167 SWMM_Engine engine, int idx, SWMM_ImpactReport* cascade_out);
168
173 SWMM_Engine engine, int idx, SWMM_ImpactReport* cascade_out);
174
183 SWMM_Engine engine, int idx, SWMM_ImpactReport* cascade_out);
184
192 SWMM_Engine engine, int idx, SWMM_ImpactReport* cascade_out);
193
194/* =========================================================================
195 * Type conversion result — returned by convert functions
196 * ========================================================================= */
197
212
220
221/* =========================================================================
222 * Type conversion — BUILDING or OPENED state only
223 * ========================================================================= */
224
244 SWMM_Engine engine, int idx, int new_type,
245 SWMM_ConversionResult* result_out);
246
262 SWMM_Engine engine, int idx, int new_type,
263 SWMM_ConversionResult* result_out);
264
265#ifdef __cplusplus
266} /* extern "C" */
267#endif
268
269#endif /* OPENSWMM_EDIT_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_link_analyze_impact(SWMM_Engine engine, int idx, SWMM_ImpactReport *report_out)
Analyse which objects reference a given node, without deleting it.
Definition openswmm_edit_impl.cpp:114
SWMM_ENGINE_API int swmm_gage_analyze_impact(SWMM_Engine engine, int idx, SWMM_ImpactReport *report_out)
Analyse which objects reference a given node, without deleting it.
Definition openswmm_edit_impl.cpp:140
SWMM_ENGINE_API int swmm_link_delete(SWMM_Engine engine, int idx, SWMM_ImpactReport *cascade_out)
Delete a link and cascade-delete or nullify all referencing objects.
Definition openswmm_edit_impl.cpp:194
SWMM_ENGINE_API void swmm_impact_report_free(SWMM_ImpactReport *report)
Release heap memory owned by an impact report.
Definition openswmm_edit_impl.cpp:75
SWMM_ENGINE_API int swmm_table_analyze_impact(SWMM_Engine engine, int idx, SWMM_ImpactReport *report_out)
Analyse which objects reference a given node, without deleting it.
Definition openswmm_edit_impl.cpp:153
SWMM_ENGINE_API int swmm_table_delete(SWMM_Engine engine, int idx, SWMM_ImpactReport *cascade_out)
Delete a time series or curve and nullify all referencing objects.
Definition openswmm_edit_impl.cpp:227
SWMM_ENGINE_API int swmm_node_convert(SWMM_Engine engine, int idx, int new_type, SWMM_ConversionResult *result_out)
Convert a node to a different type in-place.
Definition openswmm_edit_impl.cpp:253
SWMM_ENGINE_API int swmm_subcatch_delete(SWMM_Engine engine, int idx, SWMM_ImpactReport *cascade_out)
Delete a subcatchment and nullify all referencing objects.
Definition openswmm_edit_impl.cpp:205
SWMM_ENGINE_API void swmm_conversion_result_free(SWMM_ConversionResult *result)
Release heap memory owned by a conversion result.
Definition openswmm_edit_impl.cpp:82
SWMM_ENGINE_API int swmm_transect_analyze_impact(SWMM_Engine engine, int idx, SWMM_ImpactReport *report_out)
Analyse which objects reference a given node, without deleting it.
Definition openswmm_edit_impl.cpp:166
SWMM_ENGINE_API int swmm_gage_delete(SWMM_Engine engine, int idx, SWMM_ImpactReport *cascade_out)
Delete a rain gage and nullify subcatchment gage references.
Definition openswmm_edit_impl.cpp:216
SWMM_ENGINE_API int swmm_node_delete(SWMM_Engine engine, int idx, SWMM_ImpactReport *cascade_out)
Delete a node and cascade-delete or nullify all referencing objects.
Definition openswmm_edit_impl.cpp:183
SWMM_ENGINE_API int swmm_link_convert(SWMM_Engine engine, int idx, int new_type, SWMM_ConversionResult *result_out)
Convert a link to a different type in-place.
Definition openswmm_edit_impl.cpp:273
SWMM_ENGINE_API int swmm_node_analyze_impact(SWMM_Engine engine, int idx, SWMM_ImpactReport *report_out)
Analyse which objects reference a given node, without deleting it.
Definition openswmm_edit_impl.cpp:101
SWMM_ENGINE_API int swmm_subcatch_analyze_impact(SWMM_Engine engine, int idx, SWMM_ImpactReport *report_out)
Analyse which objects reference a given node, without deleting it.
Definition openswmm_edit_impl.cpp:127
SWMM_ENGINE_API int swmm_transect_delete(SWMM_Engine engine, int idx, SWMM_ImpactReport *cascade_out)
Delete a transect and nullify link xsect_curve references.
Definition openswmm_edit_impl.cpp:238
SWMM_RefType
Category of an object that holds a cross-reference to a deleted object.
Definition openswmm_edit.h:48
@ SWMM_REF_TABLE
Definition openswmm_edit.h:53
@ SWMM_REF_NODE
Definition openswmm_edit.h:49
@ SWMM_REF_GAGE
Definition openswmm_edit.h:52
@ SWMM_REF_TRANSECT
Definition openswmm_edit.h:54
@ SWMM_REF_INLET_USAGE
Definition openswmm_edit.h:55
@ SWMM_REF_SUBCATCH
Definition openswmm_edit.h:51
@ SWMM_REF_LINK
Definition openswmm_edit.h:50
OpenSWMM Engine — primary transparent C API (master header).
Result of a node or link type conversion.
Definition openswmm_edit.h:205
int new_type
Definition openswmm_edit.h:206
int n_warnings
Definition openswmm_edit.h:210
int n_cleared
Definition openswmm_edit.h:208
const char ** cleared_fields
Definition openswmm_edit.h:207
const char ** warnings
Definition openswmm_edit.h:209
One object that references the deletion target.
Definition openswmm_edit.h:65
int cascaded
Definition openswmm_edit.h:69
const char * field
Definition openswmm_edit.h:68
int obj_type
Definition openswmm_edit.h:66
int obj_idx
Definition openswmm_edit.h:67
Aggregate impact report for a deletion operation.
Definition openswmm_edit.h:78
SWMM_ImpactEntry * entries
Definition openswmm_edit.h:79
int n_entries
Definition openswmm_edit.h:80