13 * La bomba es un elemento que toma líquido de alguna fuente
14 * misteriosa y lo envía por su salida. La cantidad de fluido que
15 * envía va a depender exclusivamente del sistema al cual está conectado.
16 * La bomba es "inteligente", y es capaz de reducir el flujo que envía
17 * dependiendo de las condiciones que le ponga el sistema, reduciendo
18 * así el flujo de manera automática para evitar sobrecargas.
20 * La bomba tiene 2 interruptores, uno manual y otro automático.
21 * Si el manual está apagado, la bomba se considera apagada e ignora
22 * todo mensage del interruptor automático. En esta condición envía
23 * 0 cuando se le consulta por su flojo máximo.
26 class Pump:public Source {
29 Pump(const std::string &_name);
33 virtual void update(int dir=OUT);
34 virtual void simulate();
36 virtual bool get_output();
38 virtual void recieve_msg(int msg, IConector *who, void *data);
41 void activate() { active = true; }
42 /// Desactiva la bomba
43 void deactivate() { active = false; }
45 /** Define si la bomba esta abierta o no. Esto lo maneja la logica de
49 /** Define si la bomba esta activa, es decir, si el control manual esta en
54 Pump(const Pump &):Source("null") {}
55 Pump &operator = (const Pump &) { return *this; }