OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
ObjectDeleter.hpp File Reference

Internal C++ API for object deletion and cascade analysis. More...

#include "../core/SimulationContext.hpp"
#include <string>
#include <vector>
Include dependency graph for ObjectDeleter.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openswmm::edit::CascadeEntry
 Describes one object that was impacted (deleted or nullified) during a cascade deletion. More...
 
struct  openswmm::edit::CascadeResult
 Aggregate cascade result for one deletion operation. More...
 

Namespaces

namespace  openswmm
 
namespace  openswmm::edit
 

Functions

CascadeResult openswmm::edit::analyze_node_impact (const SimulationContext &ctx, int node_idx)
 
CascadeResult openswmm::edit::analyze_link_impact (const SimulationContext &ctx, int link_idx)
 
CascadeResult openswmm::edit::analyze_subcatch_impact (const SimulationContext &ctx, int sc_idx)
 
CascadeResult openswmm::edit::analyze_gage_impact (const SimulationContext &ctx, int gage_idx)
 
CascadeResult openswmm::edit::analyze_table_impact (const SimulationContext &ctx, int table_idx)
 
CascadeResult openswmm::edit::analyze_transect_impact (const SimulationContext &ctx, int transect_idx)
 
CascadeResult openswmm::edit::analyze_pollutant_impact (const SimulationContext &ctx, int pollut_idx)
 
CascadeResult openswmm::edit::analyze_pattern_impact (const SimulationContext &ctx, int pattern_idx)
 
CascadeResult openswmm::edit::analyze_aquifer_impact (const SimulationContext &ctx, int aquifer_idx)
 
CascadeResult openswmm::edit::analyze_snowpack_impact (const SimulationContext &ctx, int snowpack_idx)
 
CascadeResult openswmm::edit::analyze_lid_impact (const SimulationContext &ctx, int lid_idx)
 
CascadeResult openswmm::edit::analyze_street_impact (const SimulationContext &ctx, int street_idx)
 
CascadeResult openswmm::edit::analyze_inlet_impact (const SimulationContext &ctx, int inlet_idx)
 
CascadeResult openswmm::edit::analyze_landuse_impact (const SimulationContext &ctx, int landuse_idx)
 
CascadeResult openswmm::edit::analyze_hydrograph_impact (const SimulationContext &ctx, const std::string &uh_name)
 Unit-hydrograph groups are keyed by name (no stable index exists).
 
std::vector< int > openswmm::edit::find_control_rule_refs (const SimulationContext &ctx, const std::string &object_name)
 Find control rules whose text references an object by name.
 
CascadeResult openswmm::edit::delete_node (SimulationContext &ctx, int node_idx)
 
CascadeResult openswmm::edit::delete_link (SimulationContext &ctx, int link_idx)
 
CascadeResult openswmm::edit::delete_subcatch (SimulationContext &ctx, int sc_idx)
 
CascadeResult openswmm::edit::delete_gage (SimulationContext &ctx, int gage_idx)
 
CascadeResult openswmm::edit::delete_nodes_many (SimulationContext &ctx, std::vector< int > indices)
 Batch deletion — equivalent to sequential per-object deletes in DESCENDING index order, with ONE name-index rebuild per batch.
 
CascadeResult openswmm::edit::delete_links_many (SimulationContext &ctx, std::vector< int > indices)
 Batch deletion — equivalent to sequential per-object deletes in DESCENDING index order, with ONE name-index rebuild per batch.
 
CascadeResult openswmm::edit::delete_subcatches_many (SimulationContext &ctx, std::vector< int > indices)
 Batch deletion — equivalent to sequential per-object deletes in DESCENDING index order, with ONE name-index rebuild per batch.
 
CascadeResult openswmm::edit::delete_gages_many (SimulationContext &ctx, std::vector< int > indices)
 Batch deletion — equivalent to sequential per-object deletes in DESCENDING index order, with ONE name-index rebuild per batch.
 
CascadeResult openswmm::edit::delete_table (SimulationContext &ctx, int table_idx)
 
CascadeResult openswmm::edit::delete_transect (SimulationContext &ctx, int transect_idx)
 
CascadeResult openswmm::edit::delete_pollutant (SimulationContext &ctx, int pollut_idx)
 
CascadeResult openswmm::edit::delete_pattern (SimulationContext &ctx, int pattern_idx)
 
CascadeResult openswmm::edit::delete_aquifer (SimulationContext &ctx, int aquifer_idx)
 
CascadeResult openswmm::edit::delete_snowpack (SimulationContext &ctx, int snowpack_idx)
 
CascadeResult openswmm::edit::delete_lid (SimulationContext &ctx, int lid_idx)
 
CascadeResult openswmm::edit::delete_street (SimulationContext &ctx, int street_idx)
 
CascadeResult openswmm::edit::delete_inlet (SimulationContext &ctx, int inlet_idx)
 
CascadeResult openswmm::edit::delete_landuse (SimulationContext &ctx, int landuse_idx)
 
CascadeResult openswmm::edit::delete_hydrograph (SimulationContext &ctx, const std::string &uh_name)
 

Detailed Description

Internal C++ API for object deletion and cascade analysis.

Provides non-destructive impact analysis and destructive deletion for all major object types in a SimulationContext. All mutating functions require the context to be in BUILDING or OPENED state (enforced by the C ABI wrapper in openswmm_edit_impl.cpp, NOT here).

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n Apache-2.0