]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Model/include/simulator.h
El modelo ya carga el XML completo, completo (todos los items y sos
[z.facultad/75.42/plaqui.git] / Model / include / simulator.h
index 8fe8dabc246d29a73fb673298460ad1507051457..cd68c051ae4caf51dfc65a48147ed79de81edc4e 100644 (file)
@@ -5,6 +5,7 @@
 
 #include <list>
 #include <string>
+#include <sstream>
 #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;
 };
 
 }