public void AddIp(Node ip,customControl referencingGateOrLED)
 {
     InputNodesList.Add(ip);
     {
         ip.AddToGatesOrLEDsList(referencingGateOrLED);
     }
 }
 public override void calculate()
 {
     Node tempOut = new Node();
        OR or = new OR(InputNodesList[0], InputNodesList[1], tempOut);
        or.validate();
        NOT not = new NOT(tempOut, Output);
        not.validate();
 }
 public override void calculate()
 {
     Node tempOut = new Node();
      AND and = new AND(InputNodesList[0], InputNodesList[1], tempOut);
      and.validate();
      NOT not = new NOT(tempOut, Output);
      not.validate();
 }
 //public OR(short? Input1, short? Input2, short? Out)
 //{
 //    InputNodesList[0].SetValue(Input1);
 //    InputNodesList[1].SetValue(Input2);
 //    if (this.checkThatAllInputsAreSet())
 //    {
 //        Out = this.calculateMinInputs(Input1, Input2);
 //        Output.SetValue(Out);
 //    }
 //}
 public OR(Node Input1, Node Input2, Node Out)
 {
     InputNodesList[0] = Input1;
     InputNodesList[1] = Input2;
     Output = Out;
 }
 public NOT(Node Input1, Node Out)
 {
     InputNodesList[0] = Input1;
     Output = Out;
 }
 private void SetOp(Node Out)
 {
     Output = Out;
 }
 public void AddIp(Node ip)
 {
     InputNodesList.Add(ip);
     ip.AddToGatesList(this);
 }