22 HydroUnit(
double area = UNDEFINED, Types type = Undefined);
28 void SaveAsInitialState();
34 double GetPropertyDouble(
const string& name,
const string& unit =
"");
36 string GetPropertyString(
const string& name);
38 void AddBrick(
Brick* brick);
40 void AddSplitter(
Splitter* splitter);
42 bool HasForcing(VariableType type);
44 void AddForcing(
Forcing* forcing);
46 Forcing* GetForcing(VariableType type);
50 int GetSplittersCount();
52 Brick* GetBrick(
int index);
54 bool HasBrick(
const string& name);
56 Brick* GetBrick(
const string& name);
58 LandCover* GetLandCover(
const string& name);
62 bool HasSplitter(
const string& name);
64 Splitter* GetSplitter(
const string& name);
68 bool ChangeLandCoverAreaFraction(
const string& name,
double fraction);
70 bool FixLandCoverFractionsTotal();
80 double GetArea()
const {
92 vector<HydroUnitProperty*> m_properties;
93 vector<Brick*> m_bricks;
94 vector<LandCover*> m_landCoverBricks;
95 vector<Splitter*> m_splitters;
96 vector<Forcing*> m_forcing;