1#ifndef HYDROBRICKS_SETTING_BASIN_H
2#define HYDROBRICKS_SETTING_BASIN_H
37 vector<LandCoverSettings> landCovers;
38 vector<SurfaceComponentSettings> surfaceComponents;
39 vector<HydroUnitPropertyDouble> propertiesDouble;
40 vector<HydroUnitPropertyString> propertiesString;
46 int receiverHydroUnitId;
58 vector<HydroUnitPropertyDouble> propertiesDouble;
59 vector<HydroUnitPropertyString> propertiesString;
76 void AddHydroUnit(
int id,
double area,
double elevation = -9999,
int subbasinId = 1);
85 void AddSubbasin(
int id,
int downstreamId = 0,
const string& name =
"");
127 void AddLandCover(
const string& name,
const string& type =
"",
double fraction = 1.0);
155 void AddLateralConnection(
int giverHydroUnitId,
int receiverHydroUnitId,
double fraction,
const string& type =
"");
175 bool Parse(
const string& path);
184 assert(_hydroUnits.size() > index);
185 return _hydroUnits[index];
195 assert(_subbasins.size() > index);
196 return _subbasins[index];
214 return static_cast<int>(_subbasins.size());
224 assert(_selectedHydroUnit);
225 assert(_selectedHydroUnit->landCovers.size() > index);
226 return _selectedHydroUnit->landCovers[index];
236 assert(_selectedHydroUnit);
237 assert(_selectedHydroUnit->surfaceComponents.size() > index);
238 return _selectedHydroUnit->surfaceComponents[index];
247 return _lateralConnections;
256 return static_cast<int>(_hydroUnits.size());
265 assert(_selectedHydroUnit);
266 return static_cast<int>(_selectedHydroUnit->landCovers.size());
275 assert(_selectedHydroUnit);
276 return static_cast<int>(_selectedHydroUnit->surfaceComponents.size());
285 return static_cast<int>(_lateralConnections.size());
303 vector<HydroUnitSettings> _hydroUnits;
304 vector<LateralConnectionSettings> _lateralConnections;
305 vector<SubbasinSettings> _subbasins;
Definition FileNetcdf.h:8
Definition SettingsBasin.h:62
const SubbasinSettings & GetSubbasinSettings(int index) const
Definition SettingsBasin.h:194
void AddHydroUnitPropertyString(const string &name, const string &value)
Definition SettingsBasin.cpp:150
void SelectUnit(int index)
Definition SettingsBasin.cpp:177
SurfaceComponentSettings GetSurfaceComponentSettings(int index) const
Definition SettingsBasin.h:235
void Clear()
Definition SettingsBasin.cpp:170
ModelResult ValidateNetwork() const
Definition SettingsBasin.cpp:56
void AddSubbasin(int id, int downstreamId=0, const string &name="")
Definition SettingsBasin.cpp:23
LandCoverSettings GetLandCoverSettings(int index) const
Definition SettingsBasin.h:223
void AddLateralConnection(int giverHydroUnitId, int receiverHydroUnitId, double fraction, const string &type="")
Definition SettingsBasin.cpp:159
double GetTotalArea() const
Definition SettingsBasin.cpp:321
int GetSurfaceComponentCount() const
Definition SettingsBasin.h:274
const vector< SubbasinSettings > & GetSubbasins() const
Definition SettingsBasin.h:204
void AddHydroUnitPropertyDouble(const string &name, double value, const string &unit="")
Definition SettingsBasin.cpp:140
void AddHydroUnit(int id, double area, double elevation=-9999, int subbasinId=1)
Definition SettingsBasin.cpp:13
void AddLandCover(const string &name, const string &type="", double fraction=1.0)
Definition SettingsBasin.cpp:130
void SelectSubbasin(int index)
Definition SettingsBasin.cpp:51
HydroUnitSettings GetHydroUnitSettings(int index) const
Definition SettingsBasin.h:183
int GetLateralConnectionCount() const
Definition SettingsBasin.h:284
void AddSubbasinPropertyString(const string &name, const string &value)
Definition SettingsBasin.cpp:42
int GetHydroUnitCount() const
Definition SettingsBasin.h:255
void AddSubbasinPropertyDouble(const string &name, double value, const string &unit="")
Definition SettingsBasin.cpp:32
vector< LateralConnectionSettings > GetLateralConnections() const
Definition SettingsBasin.h:246
int GetSubbasinCount() const
Definition SettingsBasin.h:213
int GetLandCoverCount() const
Definition SettingsBasin.h:264
bool Parse(const string &path)
Definition SettingsBasin.cpp:182
Definition SettingsBasin.h:21
Definition SettingsBasin.h:27
Definition SettingsBasin.h:32
Definition SettingsBasin.h:9
Definition SettingsBasin.h:43
Definition SettingsBasin.h:54
Definition SettingsBasin.h:15