13 /** Tanque de Agua/Líquido
15 * Se modela un tanque con una entrada y una salida. La cantidad máxima
16 * de flujo entrante estará dada por la diferencia entre la capacidad
17 * y la cantidad actual de líquido en el tanque.
18 * La cantidad máxima de flujo que puede ofrecer a la salida está dada
19 * por la cantidad de líquido en el tanque.
21 class Tank:public Source, public Drain {
24 Tank(const std::string &_name);
28 virtual bool get_output();
30 virtual void recieve_msg(int msg, IConector *who, void *data);
31 virtual void update(int dir=OUT);
32 virtual void simulate();
34 void set_litros(float l) { litros = l; }
35 float get_litros() { return litros; }
36 void get_state_as_xml(std::stringstream &out);
38 float litros; ///< cantidad de líquido actual
39 float actual_in_flow; ///< flujo máximo a la entrada
40 float actual_out_flow; ///< flujo máximo de la salida
42 Tank():Control("null"),Source("null"),Drain("null") {}
43 Tank &operator = (const Tank &) { return *this; }