]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blob - Model/include/tank.h
- Se agrega el método HTTPRequest::method_str() para obtener el método como un
[z.facultad/75.42/plaqui.git] / Model / include / tank.h
1
2
3 #ifndef _TANK_H_
4 #define _TANK_H_
5
6 #include "source.h"
7 #include "drain.h"
8
9 namespace PlaQui {
10         
11 namespace Model {
12
13 /** Tanque de Agua/Líquido
14  *
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.
20  */ 
21 class Tank:public Source, public Drain {
22 public:
23         /// Constructor
24         Tank(const std::string &_name);
25         /// Destructor
26         virtual ~Tank();
27
28         virtual bool get_output();
29
30         virtual void recieve_msg(int msg, IConector *who, void *data);
31         virtual void update(int dir=OUT);
32         virtual void simulate();
33 protected:
34         float litros;   ///< cantidad de líquido actual
35         float actual_in_flow; ///< flujo máximo a la entrada
36         float actual_out_flow; ///< flujo máximo de la salida
37 private:
38         Tank():Drain("null"),Source("null"),Control("null") {}
39         Tank &operator = (const Tank &) { return *this; } 
40 };
41
42 }
43 }
44
45 #endif // _TANK_H_
46