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(); } }
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(); } }
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; } }
//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(); }
public AsImageDX11Instance() { Output = new CVImageLink(); }