]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blob - Model/include/union.h
* Se agrega carga de lineas entre compuertas.
[z.facultad/75.42/plaqui.git] / Model / include / union.h
1
2 #ifndef _UNION_H_
3 #define _UNION_H_
4
5 #include "transport.h"
6
7 namespace PlaQui {
8
9 namespace Model {
10
11 /** Convina 2 flujos entrantes
12  *
13  *  Este objeto tiene 2 entradas y una salida. El flujo entrante por cada salida
14  *  se convina y se manda por la salida, aplicando la correcta suma de los colores.
15  *
16  *  TODO : Hacer que anda bien
17  */
18 class Union:public Transport {
19 public:
20         /// Constructor
21         Union(const std::string &_name);
22         /// Destructor
23         virtual ~Union();
24
25         virtual void recieve_msg(int msg, IConector *who, void *data);
26         virtual void update(int dir=OUT);
27         virtual void simulate();
28 protected:
29         int in_on_zero; 
30         int in_ready;
31         int in_colors;
32         RGB color1, color2;
33         float flow1, flow2;
34         PlantItem *entrada1;
35 private:
36         Union(const Union &):Transport("null") {}
37         Union &operator = (const Union &) { return *this; }
38 };
39
40 }
41 }
42
43 #endif //_UNION_H_