virtual void simulate();
/// Retorna el flujo que entrega actualmente
- float get_actual_flow() { return actual_flow; }
- /// Retorna el flujo máximo capaz de entregar
float get_capacity() { return capacity; }
/// Asigna el flojo máximo capaz de entregar
virtual void set_capacity(float _f) { capacity = _f; }
protected:
float capacity;
- float actual_flow;
private:
Drain(const Drain &):Control("null") {}
Drain &operator = (const Drain &) { return *this; }
/// 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; }
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) {}
virtual bool get_output();
virtual void simulate();
- /// Retorna el flujo que entrega actualmente
- float get_actual_flow() { return actual_flow; }
/// Retorna el flujo máximo capaz de entregar
float get_max_flow() { return max_flow; }
/// Asigna el flojo máximo capaz de entregar
void set_max_flow(float _f) { max_flow = _f; }
protected:
float max_flow;
- float actual_flow;
private:
Source(const Source &):Control("null") {}
Source &operator = (const Source &) { return *this; }
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();
protected:
float litros; ///< cantidad de líquido actual
/// Destructor
virtual ~Transport();
- /// Retorna el flujo actual que maneja el objeto.
- float get_actual_flow() { return actual_flow; }
/// Retorna el flujo máximo soportado por el objeto
float get_max_flow() { return max_flow; }
/// Asigna el flujo máximo a manejar
void set_max_flow(float _f) { max_flow = _f; }
protected:
- // Es de solo lectura, no hay set
- float actual_flow;
float max_flow;
private:
Transport():PlantItem("null") {}
void Simulador::add_tank(const std::string &name)
{
- //Tank *p = new Tank(name);
- // FIXME no va!!
- //tank_lst.push_back(p);
- //items.push_back(p);
+ Tank *p = new Tank(name);
+ tank_lst.push_back(p);
+ items.push_back(p);
}
void Simulador::add_drainage(const std::string &name)
return litros > 0;
}
-void Tank::update()
+void Tank::update(int dir)
{
updated = true;
}