X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/636ae51408b6eaafa0f719c3b26192a69477b256..e2a544ed0d4321fa6847389ea905f70b1655ee78:/Model/include/tank.h diff --git a/Model/include/tank.h b/Model/include/tank.h index d4173af..9220241 100644 --- a/Model/include/tank.h +++ b/Model/include/tank.h @@ -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_ +