public:
/**Constructor
*/
- Cistern();
+ Cistern(int orientacion=0);
/**Destructor
*/
virtual ~Cistern();
/**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;