public override void Evaluate(int SpreadMax) { if (FProcessor == null) FProcessor = new ProcessDestination<T>(FPinInInputImage); if (FConfigThreadMode.IsChanged) FProcessor.ThreadMode = FConfigThreadMode[0]; bool countChanged = FProcessor.CheckInputSize(this.OneInstancePerImage() ? FPinInInputImage.SliceCount : SpreadMax); Update(FProcessor.SliceCount, countChanged); }
//called when data for any output pin is requested public void Evaluate(int SpreadMax) { if (FProcessor == null) { FProcessor = new ProcessDestination <AsTextureInstance>(FPinInImage); } bool needsInit = FProcessor.CheckInputSize(); for (int i = 0; i < FProcessor.SliceCount; i++) { needsInit |= FProcessor[i].NeedsTexture; } if (needsInit) { Reinitialize(); } SetSliceCount(FProcessor.SliceCount); Update(); }