]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blob - Model/src/main.cpp
- Se cambia bomb por Pump, que es mas representativo en ingles a igual
[z.facultad/75.42/plaqui.git] / Model / src / main.cpp
1
2 /* Test pedorro a ver que pasa con lo que esta programado!! */
3 /* Compilar : g++ -Wall -o test -I../include *.cpp */
4 #include "pump.h"
5 #include "conduct.h"
6 #include "union.h"
7 #include "splitter.h"
8 #include "drainage.h"
9 #include <unistd.h>
10
11 using namespace std;
12 using namespace PlaQui::Model;
13
14 int main(int argc, char *argv[])
15 {
16         Pump *bomba1;
17         Conduct *salida1;
18         Conduct *salida2;
19         Conduct *entrada;
20         Splitter *split;
21         Drainage *dren1, *dren2;
22         
23
24         bomba1 = new Pump("bomba");
25         bomba1->set_max_flow(30);
26         salida1 = new Conduct("salida_1");
27         salida1->set_max_flow(2);
28         salida2 = new Conduct("salida_2");
29         salida2->set_max_flow(5);
30
31         split = new Splitter("splitter");
32         split->set_max_flow(8);
33         entrada = new Conduct("entrada");
34         entrada->set_max_flow(10);
35
36         dren1 = new Drainage("drenaje1");
37         dren2 = new Drainage("drenaje2");
38
39         bomba1->connect(entrada, IConector::OUT);
40         entrada->connect(bomba1, IConector::IN);
41         entrada->connect(split, IConector::OUT);
42         split->connect(entrada, IConector::IN);
43         split->connect(salida1, IConector::OUT);
44         split->connect(salida2, IConector::OUT);
45         salida1->connect(split, IConector::IN);
46         salida2->connect(split, IConector::IN);
47         salida1->connect(dren1, IConector::OUT);
48         salida2->connect(dren2, IConector::OUT);
49
50         int i = 0;
51         while (i<10) {
52                 bomba1->update();
53                 salida1->update();
54                 salida2->update();
55                 entrada->update();
56                 split->update();
57                 dren1->update();
58                 dren2->update();
59
60                 bomba1->simulate();
61                 salida1->simulate();
62                 salida2->simulate();
63                 entrada->simulate();
64                 split->simulate();
65                 dren1->simulate();
66                 dren2->simulate();
67                                         
68                 sleep(1);
69                 if (i == 5) {
70                         bomba1->deactivate();
71                 }
72                 i++;
73         }
74
75         delete bomba1;
76         delete salida1;
77         delete salida2;
78         delete entrada;
79         delete split;
80         return 1;
81 }
82
83