]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blob - Model/include/union.h
0f494a207d7d776d4966f34e3044bde5edeb4fef
[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 private:
32         Union(const Union &):Transport("null") {}
33         Union &operator = (const Union &) { return *this; }
34 };
35
36 }
37 }
38
39 #endif //_UNION_H_