]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Model/include/plantitem.h
Se agrega drenaje copado
[z.facultad/75.42/plaqui.git] / Model / include / plantitem.h
index 29fd05416447681537c28a191f41c1526c524292..ff357270ee7a4a7c9cf74b64584c2705b756d2ef 100644 (file)
@@ -8,6 +8,8 @@
 #include "rgb.h"
 #include <sstream>
 
 #include "rgb.h"
 #include <sstream>
 
+#define INFINITO 99999999
+
 namespace PlaQui {
 
 namespace Model {
 namespace PlaQui {
 
 namespace Model {
@@ -24,7 +26,6 @@ public:
         *  \param _name Nombre único que identifica el objeto
         */
        PlantItem(const std::string &_name);
         *  \param _name Nombre único que identifica el objeto
         */
        PlantItem(const std::string &_name);
-       /// FIXME : agregar el nombre!
        PlantItem(unsigned ins, unsigned outs);
        /// Destructor
        virtual ~PlantItem();
        PlantItem(unsigned ins, unsigned outs);
        /// Destructor
        virtual ~PlantItem();
@@ -35,6 +36,10 @@ public:
         *  sí para determinar cual es el flujo que manejan en una iteración.
         */
        virtual void update(int dir=OUT) = 0;
         *  sí para determinar cual es el flujo que manejan en una iteración.
         */
        virtual void update(int dir=OUT) = 0;
+       
+       /** Actualiza el color de fluido */
+       virtual void update_color();
+       
        /** Hace la simulación de esta iteración
         *
         *  Por simulacion se entiende que el modelo debe avisar a las vistas
        /** Hace la simulación de esta iteración
         *
         *  Por simulacion se entiende que el modelo debe avisar a las vistas
@@ -58,6 +63,8 @@ public:
                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_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_QUERY_COLOR, ///< Consulta por el color del elemento adyacente
+               MSG_RESPONSE_COLOR, ///< Recibe una respuesta sobre color
                MSG_LAST
        };
 
                MSG_LAST
        };
 
@@ -77,7 +84,7 @@ protected:
        RGB fluid_color;
        // es de solo lectura
        std::string name;
        RGB fluid_color;
        // es de solo lectura
        std::string name;
-       bool updated;
+       bool updated, color_updated;
        float actual_flow;
 private:
        // Hago que no se puedan copiar objetos ElementosPlanta
        float actual_flow;
 private:
        // Hago que no se puedan copiar objetos ElementosPlanta