48#ifndef OPENSWMM_RDII_INTERFACE_HPP
49#define OPENSWMM_RDII_INTERFACE_HPP
61static const char RDII_FILE_STAMP[] =
"SWMM5-RDII";
85 const std::vector<int>& node_idx);
98 void saveFlows(
double current_date,
const std::vector<double>& node_flows);
102 bool isOpen()
const {
return fp_ !=
nullptr; }
104 int step()
const {
return rdii_step_; }
107 std::FILE* fp_ =
nullptr;
108 bool writing_ =
false;
113 std::vector<int> node_idx_;
114 std::vector<float> flows_;
115 double start_date_ = 0.0;
116 double end_date_ = 0.0;
117 bool have_record_ =
false;
121 bool readNextRecord();
RDII interface file manager (USE = read/override, SAVE = export).
Definition RdiiInterface.hpp:66
bool isWriting() const
Definition RdiiInterface.hpp:103
int openForRead(SimulationContext &ctx, const std::string &path)
Open an existing RDII file for reading (USE mode).
Definition RdiiInterface.cpp:52
bool isOpen() const
Definition RdiiInterface.hpp:102
~RdiiInterfaceFile()
Definition RdiiInterface.hpp:68
void applyFlows(SimulationContext &ctx, double current_date)
USE mode: add the file's RDII flows for current_date to ctx.nodes.rdii_inflow (step-aligned,...
Definition RdiiInterface.cpp:216
int openForWrite(const std::string &path, int rdii_step, const std::vector< int > &node_idx)
Open an RDII file for writing (SAVE mode, binary format).
Definition RdiiInterface.cpp:240
int step() const
Definition RdiiInterface.hpp:104
void close()
Definition RdiiInterface.cpp:286
void saveFlows(double current_date, const std::vector< double > &node_flows)
SAVE mode: write one record (date + per-node flows in cfs).
Definition RdiiInterface.cpp:269
Definition RdiiInterface.cpp:41
Definition NodeCoupling.cpp:16
Central, reentrant simulation context.
Definition SimulationContext.hpp:353