48#ifndef OPENSWMM_EDIT_H
49#define OPENSWMM_EDIT_H
896 const char* new_node_name,
const char* new_link_name,
897 int make_virtual,
int* new_node_idx,
int* new_link_idx);
922 int* surviving_link_idx);
949 const char* new_node_name,
const char* new_link_name,
950 const char* inlet_id,
const char* capture_node,
951 int* new_node_idx,
int* new_link_idx);
968 int* surviving_link_idx);
#define SWMM_ENGINE_API
Definition openswmm_2d.h:62
void * SWMM_Engine
Opaque handle to an OpenSWMM Engine instance.
Definition openswmm_callbacks.h:55
SWMM_ENGINE_API int swmm_link_analyze_impact(SWMM_Engine engine, int idx, SWMM_ImpactReport *report_out)
Inspect incoming references to a link without changing model data.
Definition openswmm_edit_impl.cpp:160
SWMM_ENGINE_API int swmm_gage_analyze_impact(SWMM_Engine engine, int idx, SWMM_ImpactReport *report_out)
Inspect incoming references to a rain gage without changing model data.
Definition openswmm_edit_impl.cpp:186
SWMM_ENGINE_API int swmm_snowpack_analyze_impact(SWMM_Engine engine, int idx, SWMM_ImpactReport *report_out)
Inspect incoming references to a snowpack without changing model data.
Definition openswmm_edit_impl.cpp:283
SWMM_ENGINE_API int swmm_street_analyze_impact(SWMM_Engine engine, int idx, SWMM_ImpactReport *report_out)
Inspect incoming references to a street without changing model data.
Definition openswmm_edit_impl.cpp:305
SWMM_ENGINE_API int swmm_pollutant_delete(SWMM_Engine engine, int idx, SWMM_ImpactReport *cascade_out)
Delete a pollutant and re-pack every per-pollutant matrix.
Definition openswmm_edit_impl.cpp:462
SWMM_ENGINE_API int swmm_aquifer_analyze_impact(SWMM_Engine engine, int idx, SWMM_ImpactReport *report_out)
Inspect incoming references to an aquifer without changing model data.
Definition openswmm_edit_impl.cpp:272
SWMM_ENGINE_API int swmm_inlet_junction_fuse(SWMM_Engine engine, int node_idx, int *surviving_link_idx)
Remove an inlet junction usage and fuse its through-conduit pair.
Definition openswmm_edit_impl.cpp:676
SWMM_ENGINE_API int swmm_hydrograph_analyze_impact(SWMM_Engine engine, const char *uh_name, SWMM_ImpactReport *report_out)
Inspect references to an existing hydrograph group by exact-case name.
Definition openswmm_edit_impl.cpp:338
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:366
SWMM_ENGINE_API int swmm_pattern_analyze_impact(SWMM_Engine engine, int idx, SWMM_ImpactReport *report_out)
Inspect incoming references to a time pattern without changing model data.
Definition openswmm_edit_impl.cpp:261
SWMM_ENGINE_API void swmm_impact_report_free(SWMM_ImpactReport *report)
Release report entries and reset their pointer/count.
Definition openswmm_edit_impl.cpp:119
SWMM_ENGINE_API int swmm_conduit_split_inlet(SWMM_Engine engine, int link_idx, double t, const char *new_node_name, const char *new_link_name, const char *inlet_id, const char *capture_node, int *new_node_idx, int *new_link_idx)
Split an eligible conduit and create a configured inlet junction.
Definition openswmm_edit_impl.cpp:642
SWMM_ENGINE_API int swmm_pollutant_analyze_impact(SWMM_Engine engine, int idx, SWMM_ImpactReport *report_out)
Inspect incoming references to a pollutant without changing model data.
Definition openswmm_edit_impl.cpp:250
SWMM_ENGINE_API int swmm_table_analyze_impact(SWMM_Engine engine, int idx, SWMM_ImpactReport *report_out)
Inspect incoming references to a time-series/curve table without changing model data.
Definition openswmm_edit_impl.cpp:199
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:441
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:555
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:376
SWMM_ENGINE_API int swmm_lid_analyze_impact(SWMM_Engine engine, int idx, SWMM_ImpactReport *report_out)
Inspect incoming references to a LID control without changing model data.
Definition openswmm_edit_impl.cpp:294
SWMM_ENGINE_API int swmm_gage_delete_many(SWMM_Engine engine, const int *indices, int n, SWMM_ImpactReport *cascade_out)
Delete a batch of rain gage rows using pre-batch indices.
Definition openswmm_edit_impl.cpp:434
SWMM_ENGINE_API void swmm_conversion_result_free(SWMM_ConversionResult *result)
Release all allocated conversion field/warning strings and arrays.
Definition openswmm_edit_impl.cpp:127
SWMM_ENGINE_API int swmm_inlet_analyze_impact(SWMM_Engine engine, int idx, SWMM_ImpactReport *report_out)
Inspect incoming references to an inlet design without changing model data.
Definition openswmm_edit_impl.cpp:316
SWMM_ENGINE_API int swmm_aquifer_delete(SWMM_Engine engine, int idx, SWMM_ImpactReport *cascade_out)
Delete an aquifer; referencing subcatchments lose their groundwater (gw_aquifer set to -1) and surviv...
Definition openswmm_edit_impl.cpp:482
SWMM_ENGINE_API int swmm_node_delete_many(SWMM_Engine engine, const int *indices, int n, SWMM_ImpactReport *cascade_out)
Delete a batch of node rows using pre-batch indices.
Definition openswmm_edit_impl.cpp:419
SWMM_ENGINE_API int swmm_transect_analyze_impact(SWMM_Engine engine, int idx, SWMM_ImpactReport *report_out)
Inspect incoming references to a transect without changing model data.
Definition openswmm_edit_impl.cpp:212
SWMM_ENGINE_API int swmm_street_delete(SWMM_Engine engine, int idx, SWMM_ImpactReport *cascade_out)
Delete a street; inlet-usage rows referencing it are cascade-deleted (consistent with link deletion) ...
Definition openswmm_edit_impl.cpp:511
SWMM_ENGINE_API int swmm_landuse_delete(SWMM_Engine engine, int idx, SWMM_ImpactReport *cascade_out)
Delete a land use; buildup/washoff rows and subcatchment coverage columns for it are re-packed.
Definition openswmm_edit_impl.cpp:530
SWMM_ENGINE_API int swmm_subcatch_delete_many(SWMM_Engine engine, const int *indices, int n, SWMM_ImpactReport *cascade_out)
Delete a batch of subcatchment rows using pre-batch indices.
Definition openswmm_edit_impl.cpp:429
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:387
SWMM_ENGINE_API int swmm_pattern_delete(SWMM_Engine engine, int idx, SWMM_ImpactReport *cascade_out)
Delete a time pattern and clear all name-based references.
Definition openswmm_edit_impl.cpp:472
SWMM_ENGINE_API int swmm_virtual_junction_fuse(SWMM_Engine engine, int node_idx, int *surviving_link_idx)
Re-fuse the two conduits of a virtual junction into one, deleting the node (inverse of a virtual spli...
Definition openswmm_edit_impl.cpp:624
SWMM_ENGINE_API int swmm_snowpack_delete(SWMM_Engine engine, int idx, SWMM_ImpactReport *cascade_out)
Delete a snowpack; referencing subcatchments' snowpack index and raw-name mirror are cleared,...
Definition openswmm_edit_impl.cpp:492
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:354
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:577
SWMM_ENGINE_API int swmm_inlet_delete(SWMM_Engine engine, int idx, SWMM_ImpactReport *cascade_out)
Delete an inlet design; inlet-usage rows referencing it are cascade-deleted and design_index values r...
Definition openswmm_edit_impl.cpp:521
SWMM_ENGINE_API int swmm_link_delete_many(SWMM_Engine engine, const int *indices, int n, SWMM_ImpactReport *cascade_out)
Delete a batch of link rows using pre-batch indices.
Definition openswmm_edit_impl.cpp:424
SWMM_ENGINE_API int swmm_lid_delete(SWMM_Engine engine, int idx, SWMM_ImpactReport *cascade_out)
Delete a LID control; LID-usage rows referencing it are cascade-deleted and surviving lid_index value...
Definition openswmm_edit_impl.cpp:502
SWMM_ENGINE_API int swmm_node_analyze_impact(SWMM_Engine engine, int idx, SWMM_ImpactReport *report_out)
Inspect incoming references to a node without changing model data.
Definition openswmm_edit_impl.cpp:147
SWMM_ENGINE_API int swmm_conduit_split(SWMM_Engine engine, int link_idx, double t, const char *new_node_name, const char *new_link_name, int make_virtual, int *new_node_idx, int *new_link_idx)
Split a conduit at normalized position t, inserting a new node.
Definition openswmm_edit_impl.cpp:601
SWMM_ENGINE_API int swmm_subcatch_analyze_impact(SWMM_Engine engine, int idx, SWMM_ImpactReport *report_out)
Inspect incoming references to a subcatchment without changing model data.
Definition openswmm_edit_impl.cpp:173
SWMM_ENGINE_API int swmm_landuse_analyze_impact(SWMM_Engine engine, int idx, SWMM_ImpactReport *report_out)
Inspect incoming references to a land use without changing model data.
Definition openswmm_edit_impl.cpp:327
SWMM_ENGINE_API int swmm_hydrograph_delete(SWMM_Engine engine, const char *uh_name, SWMM_ImpactReport *cascade_out)
Delete an existing hydrograph group by exact-case name.
Definition openswmm_edit_impl.cpp:540
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:451
SWMM_RefType
Category of an object that holds a cross-reference to a deleted object.
Definition openswmm_edit.h:64
@ SWMM_REF_TABLE
Definition openswmm_edit.h:69
@ SWMM_REF_NODE
Definition openswmm_edit.h:65
@ SWMM_REF_GAGE
Definition openswmm_edit.h:68
@ SWMM_REF_LANDUSE
Definition openswmm_edit.h:85
@ SWMM_REF_AQUIFER
Definition openswmm_edit.h:81
@ SWMM_REF_TRANSECT
Definition openswmm_edit.h:70
@ SWMM_REF_PATTERN
Definition openswmm_edit.h:80
@ SWMM_REF_INLET_DESIGN
Definition openswmm_edit.h:84
@ SWMM_REF_EXT_INFLOW
Definition openswmm_edit.h:72
@ SWMM_REF_LID_USAGE
Definition openswmm_edit.h:76
@ SWMM_REF_LID_CONTROL
Definition openswmm_edit.h:82
@ SWMM_REF_TREATMENT
Definition openswmm_edit.h:75
@ SWMM_REF_RDII_ASSIGN
Definition openswmm_edit.h:74
@ SWMM_REF_INLET_USAGE
Definition openswmm_edit.h:71
@ SWMM_REF_SUBCATCH
Definition openswmm_edit.h:67
@ SWMM_REF_DWF_INFLOW
Definition openswmm_edit.h:73
@ SWMM_REF_STREET
Definition openswmm_edit.h:83
@ SWMM_REF_HYDROGRAPH
Definition openswmm_edit.h:78
@ SWMM_REF_LINK
Definition openswmm_edit.h:66
@ SWMM_REF_POLLUTANT
Definition openswmm_edit.h:79
@ SWMM_REF_SNOWPACK
Definition openswmm_edit.h:77
@ SWMM_REF_CONTROL_RULE
Definition openswmm_edit.h:86
OpenSWMM Engine — primary transparent C API (master header).
Result of a node or link type conversion.
Definition openswmm_edit.h:787
int new_type
Definition openswmm_edit.h:788
int n_warnings
Definition openswmm_edit.h:793
int n_cleared
Definition openswmm_edit.h:791
const char ** cleared_fields
Definition openswmm_edit.h:790
const char ** warnings
Definition openswmm_edit.h:792
One object that references the deletion target.
Definition openswmm_edit.h:96
int cascaded
Definition openswmm_edit.h:100
const char * field
Definition openswmm_edit.h:99
int obj_type
Definition openswmm_edit.h:97
int obj_idx
Definition openswmm_edit.h:98
Aggregate impact report for a deletion operation.
Definition openswmm_edit.h:109
SWMM_ImpactEntry * entries
Definition openswmm_edit.h:110
int n_entries
Definition openswmm_edit.h:111