X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/667418327423ba116d24751926a95a2f1235849c..49850f467dae860e12c7851a2f8a79132f87721e:/Constructor/include/cistern.h diff --git a/Constructor/include/cistern.h b/Constructor/include/cistern.h index 84ddc20..793f2ba 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(); @@ -40,7 +40,26 @@ 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); protected: + /**Coordenadas de las entrada y salida logica. + */ + int in_x, in_y, out_x, out_y; /**Atributos que definen su comportamiento */ double capacidad, contenido_inicial;