]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Model/include/tank.h
Se agrega al EXAMPLE_PATH Constructor/doc para los ejemplos de XML.
[z.facultad/75.42/plaqui.git] / Model / include / tank.h
index d4173af74cbc10aa5ed8b8ea9b5a0e1123618c18..9220241e17ac7aadcdb4578465a7bcedd60f6e98 100644 (file)
@@ -9,23 +9,37 @@
 namespace PlaQui {
        
 namespace Model {
-                               
+
+/** Tanque de Agua/Líquido
+ *
+ *  Se modela un tanque con una entrada y una salida. La cantidad máxima
+ *  de flujo entrante estará dada por la diferencia entre la capacidad
+ *  y la cantidad actual de líquido en el tanque.
+ *  La cantidad máxima de flujo que puede ofrecer a la salida está dada
+ *  por la cantidad de líquido en el tanque.
+ */ 
 class Tank:public Source, public Drain {
 public:
+       /// Constructor
        Tank(const std::string &_name);
+       /// Destructor
        virtual ~Tank();
 
        virtual bool get_output();
 
        virtual void recieve_msg(int msg, IConector *who, void *data);
-       virtual void update();
+       virtual void update(int dir=OUT);
        virtual void simulate();
+
+       void set_litros(float l) { litros = l; }
+       float get_litros() { return litros; }
+       void get_state_as_xml(std::stringstream &out);
 protected:
-       float litros;   
-       float actual_in_flow;
-       float actual_out_flow;
+       float litros;   ///< cantidad de líquido actual
+       float actual_in_flow; ///< flujo máximo a la entrada
+       float actual_out_flow; ///< flujo máximo de la salida
 private:
-       Tank():Drain("null"),Source("null"),Control("null") {}
+       Tank():Control("null"),Source("null"),Drain("null") {}
        Tank &operator = (const Tank &) { return *this; } 
 };
 
@@ -33,3 +47,4 @@ private:
 }
 
 #endif // _TANK_H_
+