X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/70d2e24643727ab1ea48e1793d609d27b7d21fed..6f70c17ffefd6150b68ac0f64a8116e730437408:/Model/src/main.cpp?ds=inline diff --git a/Model/src/main.cpp b/Model/src/main.cpp index 3fa359e..e6e52b5 100644 --- a/Model/src/main.cpp +++ b/Model/src/main.cpp @@ -6,77 +6,27 @@ #include "union.h" #include "splitter.h" #include "drainage.h" +#include "exclusa.h" #include +#include +#include "simulator.h" using namespace std; using namespace PlaQui::Model; int main(int argc, char *argv[]) { - Pump *bomba1; - Conduct *salida1; - Conduct *salida2; - Conduct *entrada; - Splitter *split; - Drainage *dren1, *dren2; - + Simulator *sim = new Simulator(argv[1]); - bomba1 = new Pump("bomba"); - bomba1->set_max_flow(30); - salida1 = new Conduct("salida_1"); - salida1->set_max_flow(2); - salida2 = new Conduct("salida_2"); - salida2->set_max_flow(5); + int i=0; + while (i<2) { + sim->simulate(); - split = new Splitter("splitter"); - split->set_max_flow(8); - entrada = new Conduct("entrada"); - entrada->set_max_flow(10); - - dren1 = new Drainage("drenaje1"); - dren2 = new Drainage("drenaje2"); - - bomba1->connect(entrada, IConector::OUT); - entrada->connect(bomba1, IConector::IN); - entrada->connect(split, IConector::OUT); - split->connect(entrada, IConector::IN); - split->connect(salida1, IConector::OUT); - split->connect(salida2, IConector::OUT); - salida1->connect(split, IConector::IN); - salida2->connect(split, IConector::IN); - salida1->connect(dren1, IConector::OUT); - salida2->connect(dren2, IConector::OUT); - - int i = 0; - while (i<10) { - bomba1->update(); - salida1->update(); - salida2->update(); - entrada->update(); - split->update(); - dren1->update(); - dren2->update(); - - bomba1->simulate(); - salida1->simulate(); - salida2->simulate(); - entrada->simulate(); - split->simulate(); - dren1->simulate(); - dren2->simulate(); - - sleep(1); - if (i == 5) { - bomba1->deactivate(); - } + std::cout << sim->get_state_as_xml() << std::endl << std::endl; i++; } - delete bomba1; - delete salida1; - delete salida2; - delete entrada; - delete split; + delete sim; return 1; }