1#ifndef HYDROBRICKS_BRICK_H
2#define HYDROBRICKS_BRICK_H
7#include "SettingsModel.h"
8#include "WaterContainer.h"
56 void AddProcess(
Process* process) {
58 m_processes.push_back(process);
63 virtual void SaveAsInitialState();
81 virtual bool CanHaveAreaFraction() {
85 virtual bool IsSnowpack() {
89 virtual bool IsGlacier() {
93 virtual bool IsLandCover() {
97 virtual bool IsNull() {
101 virtual void Finalize();
103 virtual void UpdateContentFromInputs();
105 virtual void ApplyConstraints(
double timeStep);
109 Process* GetProcess(
int index);
111 vector<Process*>& GetProcesses() {
119 void SetName(
const string& name) {
130 vecDoublePt GetStateVariableChangesFromProcesses();
132 int GetProcessesConnectionsNb();
134 double* GetBaseValuePointer(
const string& name);
136 virtual double* GetValuePointer(
const string& name);
142 vector<Process*> m_processes;
virtual bool IsOk()
Definition Brick.cpp:52
bool NeedsSolver() const
Definition Brick.h:77
virtual void SetParameters(const BrickSettings &brickSettings)
Definition Brick.cpp:65
static bool HasParameter(const BrickSettings &brickSettings, const string &name)
Definition Brick.cpp:76
virtual void AttachFluxIn(Flux *flux)
Definition Brick.cpp:71
static Brick * Factory(const BrickSettings &brickSettings)
Definition Brick.cpp:21
static float * GetParameterValuePointer(const BrickSettings &brickSettings, const string &name)
Definition Brick.cpp:86
virtual vecDoublePt GetDynamicContentChanges()
Definition Brick.cpp:121
Definition WaterContainer.h:9
Definition SettingsModel.h:45