]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Model/include/plantitem.h
El modelo ya carga el XML completo, completo (todos los items y sos
[z.facultad/75.42/plaqui.git] / Model / include / plantitem.h
index b07816f9f827a4cf40f1a56416e737270ee4fecb..5c3e76272a391dada76347618e06d3d546287ea4 100644 (file)
@@ -38,7 +38,7 @@ public:
         *  Durante la fase de actualización los objetos se comunican entre
         *  sí para determinar cual es el flujo que manejan en una iteración.
         */
-       virtual void update() = 0;
+       virtual void update(int dir=OUT) = 0;
        /** Hace la simulación de esta iteración
         *
         *  Por simulacion se entiende que el modelo debe avisar a las vistas
@@ -47,9 +47,9 @@ public:
        virtual void simulate() = 0;
 
        /// Setea el nuevo color del fluido
-       void setColor(const RGB &c) { fluid_color = c; }
+       void set_color(const RGB &c) { fluid_color = c; }
        /// Retorna el actual color del fluido
-       const RGB &getColor() { return fluid_color; }
+       const RGB &get_color() { return fluid_color; }
 
        /** Recive un mensage y lo procesa
         *  
@@ -59,18 +59,24 @@ public:
 
        /// Mensages manejados por los elementos de la planta
        enum {
-               MSG_QUERY_MAX_FLOW = IConector::MSG_LAST, ///< preguntar por el máximo flujo
+               MSG_QUERY_MAX_FLOW_OUT = IConector::MSG_LAST, ///< flujo maximo a la salida
+               MSG_QUERY_MAX_FLOW_IN, ///< flujo maximo a la entrada
                MSG_RESPONSE_MAX_FLOW, ///< responde al mensage QUERY_MAX_FLOW. data == float
                MSG_LAST
        };
 
        /// Devuelve el nombre de la instancia
        std::string get_name() const { return name; }
+       
+       /// Retorna el flujo actual que maneja el objeto.
+       float get_actual_flow() { return actual_flow; }
+       virtual void get_state_as_xml(std::stringstream &out) { } 
 protected:
        RGB fluid_color;
        // es de solo lectura
        std::string name;
        bool updated;
+       float actual_flow;
 private:
        // Hago que no se puedan copiar objetos ElementosPlanta
        PlantItem(const PlantItem &):IConector(0,0) {}