X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/667418327423ba116d24751926a95a2f1235849c..8991f15558a6b0fbcfd588abe073f6f0537a7f8d:/Constructor/include/cistern.h diff --git a/Constructor/include/cistern.h b/Constructor/include/cistern.h index 84ddc20..3dc8d8c 100644 --- a/Constructor/include/cistern.h +++ b/Constructor/include/cistern.h @@ -10,7 +10,7 @@ class Cistern : public CItem { public: /**Constructor */ - Cistern(); + Cistern(int orientacion=0); /**Destructor */ virtual ~Cistern(); @@ -25,8 +25,12 @@ class Cistern : public CItem { void set_capacidad(double _cap); void set_contenido_inicial(double _ini); void set_liquid_color(Gdk::Color _color); + void set_flotante_sup (double _s); + void set_flotante_inf(double _i); double get_contenido_inicial(); double get_capacidad(); + double get_flotante_sup(); + double get_flotante_inf(); Gdk::Color get_liquid_color(); /**El item se guarda en formato xml en el archivo pasado por parametro */ @@ -40,10 +44,29 @@ class Cistern : public CItem { /**Devuelve el tipo de conector que posee en las coordenadas (_a, _b) segun su orientacion */ virtual ConnectorType get_connector_type(int _a, int _b); + + /**Setea las coordenadas _a, _b en la posicion donde se deben conectar los cables logicos a la entrada. + */ + virtual void get_in_logic_connect_position(int& _a, int& _b); + + /**Setea las coordenadas _a, _b en la posicion donde se deben conectar los cables logicos a la salida. + */ + virtual void get_out_logic_connect_position(int& _a, int& _b); + + /**Actualiza la posicion de los conectores logicos ante un movimiento. + */ + virtual void update_logic_position(); + + /**Detecta si el click fue en el area de entrada o salida logica, devuelve UNDEF si no fue ninguna de las dos + */ + ConnectorType detect_click_position(int _a, int _b); + /**Dibuja los conectores logicos, que seran ambos azules pues son salidas. + */ + virtual void draw_connectors(); protected: /**Atributos que definen su comportamiento */ - double capacidad, contenido_inicial; + double capacidad, contenido_inicial, flotante_sup, flotante_inf; /**Color del liquido almacenado */ Gdk::Color liquid_color;