]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Constructor/include/cistern.h
Se agrega al EXAMPLE_PATH Constructor/doc para los ejemplos de XML.
[z.facultad/75.42/plaqui.git] / Constructor / include / cistern.h
index 84ddc20a400031b9f8033871e2df105c0f5facc0..3dc8d8ca42568ac530011b96553484f285c2cecf 100644 (file)
@@ -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;