1#ifndef HYDROBRICKS_HYDRO_UNIT_H
2#define HYDROBRICKS_HYDRO_UNIT_H
6#include "HydroUnitLateralConnection.h"
7#include "HydroUnitProperty.h"
23 HydroUnit(
double area = UNDEFINED, Types type = Undefined);
159 vector<Brick*> snowBricks;
160 for (
auto& brick : _bricks) {
162 snowBricks.push_back(brick);
265 return _lateralConnections;
272 vector<HydroUnitProperty*> _properties;
273 vector<HydroUnitLateralConnection*> _lateralConnections;
274 vector<Brick*> _bricks;
275 vector<LandCover*> _landCoverBricks;
276 vector<Splitter*> _splitters;
277 vector<Forcing*> _forcing;
virtual bool IsSnowpack()
Definition Brick.h:106
Definition HydroUnitProperty.h:6
Definition HydroUnit.h:14
void AddProperty(HydroUnitProperty *property)
Definition HydroUnit.cpp:43
void AddSplitter(Splitter *splitter)
Definition HydroUnit.cpp:80
void SetId(int id)
Definition HydroUnit.h:237
bool HasBrick(const string &name)
Definition HydroUnit.cpp:134
bool IsOk()
Definition HydroUnit.cpp:189
int GetSplittersCount()
Definition HydroUnit.cpp:123
Splitter * GetSplitter(int index)
Definition HydroUnit.cpp:163
vector< Brick * > GetSnowpacks() const
Definition HydroUnit.h:158
void SetProperties(HydroUnitSettings &unitSettings)
Definition HydroUnit.cpp:31
void SaveAsInitialState()
Definition HydroUnit.cpp:25
bool HasSplitter(const string &name)
Definition HydroUnit.cpp:170
int GetBricksCount()
Definition HydroUnit.cpp:119
bool ChangeLandCoverAreaFraction(const string &name, double fraction)
Definition HydroUnit.cpp:216
vector< HydroUnitLateralConnection * > GetLateralConnections() const
Definition HydroUnit.h:264
void AddForcing(Forcing *forcing)
Definition HydroUnit.cpp:95
double GetArea() const
Definition HydroUnit.h:246
double GetPropertyDouble(const string &name, const string &unit="")
Definition HydroUnit.cpp:48
LandCover * GetLandCover(const string &name)
Definition HydroUnit.cpp:153
Forcing * GetForcing(VariableType type)
Definition HydroUnit.cpp:100
bool FixLandCoverFractionsTotal()
Definition HydroUnit.cpp:231
void AddBrick(Brick *brick)
Definition HydroUnit.cpp:68
Brick * GetBrick(int index)
Definition HydroUnit.cpp:127
string GetPropertyString(const string &name)
Definition HydroUnit.cpp:58
void AddLateralConnection(HydroUnit *receiver, double fraction, const string &type="")
Definition HydroUnit.cpp:110
int GetId() const
Definition HydroUnit.h:255
void Reset()
Definition HydroUnit.cpp:19
Types GetType()
Definition HydroUnit.h:228
bool HasForcing(VariableType type)
Definition HydroUnit.cpp:85
Definition LandCover.h:10
Definition SettingsBasin.h:30