X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/b75b5632c75f245e59a00775ffbe0affdedf8b6c..00022ec489f95c02ad6f4478abaf3d8dd0e9a928:/Model/include/plantitem.h?ds=sidebyside diff --git a/Model/include/plantitem.h b/Model/include/plantitem.h index b07816f..2cfb5b6 100644 --- a/Model/include/plantitem.h +++ b/Model/include/plantitem.h @@ -6,6 +6,7 @@ #include #include "iconector.h" #include "rgb.h" +#include namespace PlaQui { @@ -38,7 +39,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 +48,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 +60,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) {}