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

Post-parse cross-reference resolution. More...

#include "PostParseResolver.hpp"
#include "../hydrology/LidNode.hpp"
#include "core/FileIO.hpp"
#include <array>
#include "MultiColumnSeriesFile.hpp"
#include "../core/Constants.hpp"
#include "../core/ErrorCodes.hpp"
#include "../core/PathResolver.hpp"
#include "../core/PerfTimers.hpp"
#include "../core/SimulationContext.hpp"
#include "../core/DateTime.hpp"
#include "../core/UnitConversion.hpp"
#include "../hydraulics/xsect_tables.hpp"
#include "../hydraulics/XSectBatch.hpp"
#include "../hydraulics/Link.hpp"
#include "../hydraulics/Street.hpp"
#include "../hydraulics/ForceMain.hpp"
#include "../edit/VirtualJunctionOps.hpp"
#include "../transport/MsxInitialQuality.hpp"
#include "Tokenizer.hpp"
#include "InputParseUtils.hpp"
#include <fstream>
#include <system_error>
#include <algorithm>
#include <cctype>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <filesystem>
#include <map>
#include <string>
#include <unordered_map>
#include <utility>
Include dependency graph for PostParseResolver.cpp:

Classes

struct  openswmm::input::NwsFileSpec
 

Namespaces

namespace  openswmm
 
namespace  openswmm::input
 

Enumerations

enum class  openswmm::input::NwsFormat {
  openswmm::input::NONE ,
  openswmm::input::TAPE ,
  openswmm::input::SPACE_DELIMITED ,
  openswmm::input::COMMA_DELIMITED ,
  openswmm::input::ONLINE_60 ,
  openswmm::input::ONLINE_15
}
 
enum class  openswmm::input::NwsCondition {
  openswmm::input::NONE ,
  openswmm::input::ACCUMULATED ,
  openswmm::input::DELETED ,
  openswmm::input::MISSING
}
 legacy setCondition (rain.c). More...
 
enum  openswmm::input::WarnCode
 

Functions

void openswmm::input::resolve_external_file_slots (SimulationContext &ctx, const std::string &anchor_dir)
 Slice IO-3: Resolve every external-file slot's .original token against an anchor directory and populate .absolute.
 
void openswmm::input::load_external_rain_files (SimulationContext &ctx)
 Reload all external rain files using a fresh shared parse cache.
 
double openswmm::input::conduit_manning_n (const SimulationContext &ctx, int j)
 Resolve effective conduit Manning roughness for the current routing/section model.
 
double openswmm::input::conduit_true_length (const SimulationContext &ctx, int j)
 Read the physical conduit length with irregular-channel meander correction.
 
void openswmm::input::recompute_conduit_flow_properties (SimulationContext &ctx, int j)
 Recompute a single conduit's derived dynamic-wave flow properties.
 
void openswmm::input::convert_internal_to_display (SimulationContext &ctx)
 Convert the input fields the reader scaled to internal units back to display units (matching ctx.options.flow_units).
 
bool openswmm::input::needs_authored_conversion (const SimulationContext &ctx)
 Detect hydraulic input normalizations requiring inverse serialization conversion.
 
int openswmm::input::restore_authored_orientation (SimulationContext &ctx)
 Undo adverse-slope conduit reversal in a context used for authoring.
 
void openswmm::input::convert_internal_to_authored (SimulationContext &ctx)
 Undo conduit orientation, sediment offsets and elevation-offset normalization.
 
void openswmm::input::resolve_cross_references (SimulationContext &ctx)
 Resolve all cross-references in ctx after all sections are parsed.
 
std::string openswmm::input::format_error (int code, std::string_view name="")
 Format an error message with object name substitution.
 
std::string openswmm::input::format_warning (int code, std::string_view name="")
 Format a warning message with object name substitution.
 

Detailed Description

Post-parse cross-reference resolution.

See also
PostParseResolver.hpp
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License
Apache-2.0