24 void SaveAsInitialState();
28 void AddBrick(
Brick* brick);
30 void AddSplitter(
Splitter* splitter);
34 int GetHydroUnitsNb();
40 vecInt GetHydroUnitIds();
42 vecDouble GetHydroUnitAreas();
46 int GetSplittersCount();
48 Brick* GetBrick(
int index);
50 bool HasBrick(
const string& name);
52 Brick* GetBrick(
const string& name);
56 bool HasSplitter(
const string& name);
58 Splitter* GetSplitter(
const string& name);
60 bool HasIncomingFlow();
62 void AddInputConnector(
Connector* connector);
64 void AddOutputConnector(
Connector* connector);
66 void AttachOutletFlux(
Flux* pFlux);
68 double* GetValuePointer(
const string& name);
70 bool ComputeOutletDischarge();
80 vector<Brick*> m_bricks;
81 vector<Splitter*> m_splitters;
82 vector<HydroUnit*> m_hydroUnits;
83 vector<Connector*> m_inConnectors;
84 vector<Connector*> m_outConnectors;
85 vector<Flux*> m_outletFluxes;