X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/1977f2e514c49ae6bdf411be9b08bc59be554a60..82d74a11bf5ecf23041f8acfa13933f6d9d37bbf:/Model/include/simulator.h diff --git a/Model/include/simulator.h b/Model/include/simulator.h index 8fe8dab..cd68c05 100644 --- a/Model/include/simulator.h +++ b/Model/include/simulator.h @@ -5,6 +5,7 @@ #include #include +#include #include "pump.h" #include "splitter.h" #include "union.h" @@ -23,14 +24,17 @@ public: Simulator(const std::string &filename); ~Simulator(); - void add_pump(const std::string &name); - void add_union(const std::string &name); - void add_splitter(const std::string &name); - void add_conduct(const std::string &name); - void add_exclusa(const std::string &name); - void add_tank(const std::string &name); + void add_pump(const std::string &name, float max_flow, RGB color); + void add_union(const std::string &name, float max_flow); + void add_splitter(const std::string &name, float max_flow); + void add_conduct(const std::string &name, float max_flow); + void add_exclusa(const std::string &name, bool open); + void add_tank(const std::string &name, float capacity, float initial, RGB color); void add_drainage(const std::string &name); + /** Retorna el estado de todos los items como un XML */ + std::string get_state_as_xml(); + /** Conecta 2 elementos * * Esta funcion conecta el elemanto name1 con el elemento name2. @@ -64,13 +68,19 @@ protected: // Utilidades IConector *find(const std::string &name); + // Conecta todos los items desde el XML + void do_connections(xmlNodePtr nodo); + // Carga del XML void loadBomba(xmlNodePtr nodo); - void loadCodo(xmlNodePtr nodo); void loadConduct(xmlNodePtr nodo); void loadExclusa(xmlNodePtr nodo); void loadTank(xmlNodePtr nodo); void loadUnion(xmlNodePtr nodo); + void loadDrain(xmlNodePtr nodo); + + // Frame. Define el orden para los cuadros del XML + unsigned long int frame; }; }