48#ifndef OPENSWMM_EDIT_H
49#define OPENSWMM_EDIT_H
503 const char* new_node_name,
const char* new_link_name,
504 int make_virtual,
int* new_node_idx,
int* new_link_idx);
526 SWMM_Engine engine,
int node_idx,
int* surviving_link_idx);
546 const char* new_node_name,
const char* new_link_name,
547 const char* inlet_id,
const char* capture_node,
548 int* new_node_idx,
int* new_link_idx);
556 SWMM_Engine engine,
int node_idx,
int* surviving_link_idx);
#define SWMM_ENGINE_API
Definition openswmm_2d.h:53
void * SWMM_Engine
Opaque handle to an OpenSWMM Engine instance.
Definition openswmm_callbacks.h:51
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:132
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:158
SWMM_ENGINE_API int swmm_snowpack_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:243
SWMM_ENGINE_API int swmm_street_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:265
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:428
SWMM_ENGINE_API int swmm_aquifer_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:232
SWMM_ENGINE_API int swmm_inlet_junction_fuse(SWMM_Engine engine, int node_idx, int *surviving_link_idx)
Inverse of swmm_conduit_split_inlet: removes the inlet junction's usage row, then re-fuses the condui...
Definition openswmm_edit_impl.cpp:639
SWMM_ENGINE_API int swmm_hydrograph_analyze_impact(SWMM_Engine engine, const char *uh_name, SWMM_ImpactReport *report_out)
Analyse which objects reference a unit-hydrograph group, without deleting it.
Definition openswmm_edit_impl.cpp:298
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:327
SWMM_ENGINE_API int swmm_pattern_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:221
SWMM_ENGINE_API void swmm_impact_report_free(SWMM_ImpactReport *report)
Release heap memory owned by an impact report.
Definition openswmm_edit_impl.cpp:93
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 a STREET conduit at t and make the inserted node an inlet junction with the given design and ca...
Definition openswmm_edit_impl.cpp:605
SWMM_ENGINE_API int swmm_pollutant_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:210
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:171
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:406
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:522
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:338
SWMM_ENGINE_API int swmm_lid_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:254
SWMM_ENGINE_API int swmm_gage_delete_many(SWMM_Engine engine, const int *indices, int n, SWMM_ImpactReport *cascade_out)
Delete many nodes in one call — equivalent to sequential swmm_node_delete calls in DESCENDING index o...
Definition openswmm_edit_impl.cpp:398
SWMM_ENGINE_API void swmm_conversion_result_free(SWMM_ConversionResult *result)
Release heap memory owned by a conversion result.
Definition openswmm_edit_impl.cpp:100
SWMM_ENGINE_API int swmm_inlet_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:276
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:448
SWMM_ENGINE_API int swmm_node_delete_many(SWMM_Engine engine, const int *indices, int n, SWMM_ImpactReport *cascade_out)
Delete many nodes in one call — equivalent to sequential swmm_node_delete calls in DESCENDING index o...
Definition openswmm_edit_impl.cpp:380
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:184
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:478
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:498
SWMM_ENGINE_API int swmm_subcatch_delete_many(SWMM_Engine engine, const int *indices, int n, SWMM_ImpactReport *cascade_out)
Delete many nodes in one call — equivalent to sequential swmm_node_delete calls in DESCENDING index o...
Definition openswmm_edit_impl.cpp:392
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:349
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:438
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:590
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:458
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:314
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:544
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:488
SWMM_ENGINE_API int swmm_link_delete_many(SWMM_Engine engine, const int *indices, int n, SWMM_ImpactReport *cascade_out)
Delete many nodes in one call — equivalent to sequential swmm_node_delete calls in DESCENDING index o...
Definition openswmm_edit_impl.cpp:386
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:468
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:119
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:568
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:145
SWMM_ENGINE_API int swmm_landuse_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:287
SWMM_ENGINE_API int swmm_hydrograph_delete(SWMM_Engine engine, const char *uh_name, SWMM_ImpactReport *cascade_out)
Delete a unit-hydrograph group by name.
Definition openswmm_edit_impl.cpp:508
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:417
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:409
int new_type
Definition openswmm_edit.h:410
int n_warnings
Definition openswmm_edit.h:414
int n_cleared
Definition openswmm_edit.h:412
const char ** cleared_fields
Definition openswmm_edit.h:411
const char ** warnings
Definition openswmm_edit.h:413
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