Exemple #1
0
        public void Evaluate(int SpreadMax)
        {
            if (FFirstRun)
            {
                FOutImage[0] = new CVImageLink();
                FFirstRun    = false;
            }

            if (FInDevices[0] != FCamera || FInEnabled.IsChanged)
            {
                try
                {
                    throw (new Exception("Actually, this node doesn't work yet, sorry"));
                    if (FCamera != null)
                    {
                        Disconnect();
                    }
                    if (FInEnabled[0])
                    {
                        FCamera = FInDevices[0];
                        if (FCamera != null)
                        {
                            Connect();
                        }
                    }
                    FOutStatus[0] = "OK";
                }
                catch (Exception e)
                {
                    FOutStatus[0] = e.Message;
                }
            }
        }
 void SetupOutput(int count)
 {
     FOutImage.SliceCount = count;
     for (int i = 0; i < count; i++)
     {
         FOutImage[i] = new CVImageLink();
     }
 }
Exemple #3
0
        public void Evaluate(int SpreadMax)
        {
            if (FFirstRun)
            {
                FPinOutOutput[0] = FScanSet;
                FFirstRun        = false;
            }

            if (FPinInProperties.IsChanged)
            {
                FPayload = FPinInProperties[0];
                FScanSet.Clear();

                if (FPayload != null)
                {
                    FScanSet.Payload = FPayload;
                }
            }

            if (FPinInInput[0] != FInput)
            {
                FInput = FPinInInput[0];
                if (FInput != null)
                {
                    AddListeners();
                    FInput.ImageAttributesUpdate += new EventHandler <ImageAttributesChangedEventArgs>(FInput_ImageAttributesUpdate);
                    FInput.ImageUpdate           += new EventHandler(FInput_ImageUpdate);

                    if (FInput.Allocated)
                    {
                        Allocate();
                    }
                }
            }

            if (FPinInApply[0])
            {
                Apply();
            }

            if (FPinInReset[0])
            {
                FScanSet.Clear();
            }
        }
Exemple #4
0
        public void Evaluate(int SpreadMax)
        {
            if (FFirstRun)
            {
                FPinOutOutput[0] = new CVImageLink();
                FFirstRun        = false;
            }

            if (FPinInInput.IsChanged)
            {
                FScanSet = FPinInInput[0];
                if (FScanSet != null)
                {
                    FScanSet.UpdateAttributes += new EventHandler(FScanSet_UpdateAttributes);
                    FScanSet.UpdateData       += new EventHandler(FScanSet_UpdateData);

                    FAttributesUpdated = FScanSet.Initialised;
                    FDataUpdated       = FScanSet.DataAvailable;
                }
            }

            if (FAttributesUpdated)
            {
                FOutput.Initialise(FScanSet.CameraSize, TColourFormat.L8);
                FDataUpdated = FScanSet.DataAvailable;
                FAllocated   = true;

                FAttributesUpdated = false;
            }

            if (FDataUpdated || FPinInThreshold.IsChanged)
            {
                if (FAllocated)
                {
                    UpdateData();
                    FPinOutOutput[0].Send(FOutput);
                }

                FDataUpdated = false;
            }
        }
		public void Evaluate(int SpreadMax)
		{
			if (FFirstRun)
			{
				FPinOutOutput[0] = new CVImageLink();
				FFirstRun = false;
			}

			if (FPinInInput.IsChanged)
			{
				FScanSet = FPinInInput[0];
				if (FScanSet != null)
				{
					FScanSet.UpdateAttributes += new EventHandler(FScanSet_UpdateAttributes);
					FScanSet.UpdateData += new EventHandler(FScanSet_UpdateData);

					FAttributesUpdated = FScanSet.Initialised;
					FDataUpdated = FScanSet.DataAvailable;
				}
			}

			if (FAttributesUpdated)
			{
				FOutput.Initialise(FScanSet.CameraSize, TColourFormat.L8);
				FDataUpdated = FScanSet.DataAvailable;
				FAllocated = true;

				FAttributesUpdated = false;
			}

			if (FDataUpdated || FPinInThreshold.IsChanged)
			{
				if (FAllocated)
				{
					UpdateData();
					FPinOutOutput[0].Send(FOutput);
				}

				FDataUpdated = false;
			}
		}
Exemple #6
0
        //called when data for any output pin is requested
        public void Evaluate(int SpreadMax)
        {
            if (SpreadMax == 0)
            {
                RemoveListeners();
                return;
            }

            int slice = FPinInSlice[0];

            if (FInput != FPinInInput[slice])
            {
                FInput = FPinInInput[slice];
                AddListeners();
                if (FInput.Allocated)
                {
                    UpdateAttributes(FInput.ImageAttributes);
                    UpdateImage();
                }
            }
        }
		public void Evaluate(int SpreadMax)
		{
			if (FFirstRun)
			{
				FPinOutOutput[0] = FScanSet;
				FFirstRun = false;
			}

			if (FPinInProperties.IsChanged)
			{
				FPayload = FPinInProperties[0];
				FScanSet.Clear();

				if (FPayload != null)
				{
					FScanSet.Payload = FPayload;
				}
			}

			if (FPinInInput[0] != FInput)
			{
				FInput = FPinInInput[0];
				if (FInput != null)
				{
					AddListeners();
					FInput.ImageAttributesUpdate += new EventHandler<ImageAttributesChangedEventArgs>(FInput_ImageAttributesUpdate);
					FInput.ImageUpdate += new EventHandler(FInput_ImageUpdate);

					if (FInput.Allocated)
						Allocate();
				}
			}

			if (FPinInApply[0])
				Apply();

			if (FPinInReset[0])
				FScanSet.Clear();
		}
Exemple #8
0
 public AsImageDX11Instance()
 {
     Output = new CVImageLink();
 }