]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Model/include/control.h
* Se agrega carga de lineas entre compuertas.
[z.facultad/75.42/plaqui.git] / Model / include / control.h
index 3763da9f38de95061fe41e1035630bef3bc223f5..a9e8bb5cd5983c8c0b84d28890896caac0fd3330 100644 (file)
@@ -9,7 +9,13 @@ namespace PlaQui {
 
 namespace Model {
 
 
 namespace Model {
 
-/** Elementos que pueden ser automatizados */
+/** Elementos que pueden ser automatizados
+ *
+ *  Estos elementos tienen entradas y salidas lógicas para que dan la
+ *  posibilidad de conectar elementos \e Control entre ellos y así
+ *  poder crear circuitos "inteligentes".
+ *  \see LogicControl
+ * */
 class Control:public PlantItem {
 public:
        /// Constructor
 class Control:public PlantItem {
 public:
        /// Constructor
@@ -17,8 +23,16 @@ public:
        /// Destructor
        virtual ~Control();
 
        /// Destructor
        virtual ~Control();
 
-       /// Retorna un estado booleano dependiendo de su estado actual
+       /// Retorna un booleano dependiendo de su estado actual
        virtual bool get_output() = 0;
        virtual bool get_output() = 0;
+
+       /** Conecta una lógica de control a mi entrada */
+       void connect_input_logic(LogicControl *);
+       /** Conecta una lógica de control a mi salida */
+       void connect_output_logic(LogicControl *);
+
+       LogicControl *get_logic_output() { return output; }
+       LogicControl *get_logic_input() { return input; }
 protected:
        LogicControl *input;
        LogicControl *output;
 protected:
        LogicControl *input;
        LogicControl *output;