public WorkflowRenderResult(FormulaRenderArguments formulaRenderArguments, FormulaRenderResult formulaRenderResult, FormulaBitmap bitmap, TimeSpan elapsedTime) { FormulaRenderArguments = formulaRenderArguments; FormulaRenderResult = formulaRenderResult; Bitmap = bitmap; ElapsedTime = elapsedTime; }
public bool IsRenderedImageNotEmpty(FormulaRenderArguments formulaRenderArguments) { FormulaRender.Render(formulaRenderArguments.FormulaTree, formulaRenderArguments.Ranges, _formulaRenderResult.Size, formulaRenderArguments.ColorTransformation, true, 1, _formulaRenderResult); return _formulaRenderResult.BlueChannel.Any(b => b != _formulaRenderResult.BlueChannel[0]) && _formulaRenderResult.RedChannel.Any(b => b != _formulaRenderResult.RedChannel[0]) && _formulaRenderResult.GreenChannel.Any(b => b != _formulaRenderResult.GreenChannel[0]); }
public bool IsVariablesCountOk(FormulaRenderArguments formulaRenderArguments) { return formulaRenderArguments.FormulaTree.Variables.Length >= MinVariablesCount; }
public virtual bool Analyze(FormulaRenderArguments formulaRenderArguments) { return IsVariablesCountOk(formulaRenderArguments) && IsRenderedImageNotEmpty(formulaRenderArguments); }
private FormulaRenderArguments TransformRanges(FormulaRenderArguments args) { Range[] ranges = CreateRandomRanges(args.FormulaTree.Variables.Length); return new FormulaRenderArguments( args.FormulaTree, ranges, args.ColorTransformation); }
private FormulaRenderArguments ChangeColors(FormulaRenderArguments args) { ColorTransformation colorTransformation = CreateRandomColorTransformation(); return new FormulaRenderArguments(args.FormulaTree, args.Ranges, colorTransformation); }
public FormulaRenderArguments GenerateFormulaRenderArguments() { FormulaRenderArguments args = GenerationParams.PredefinedFormulaRenderingArgumentsEnabled ? GetPredefinedFormulaRenderArguments() : null; if (args == null) { const int attemptCount = 10; using (ProgressReporter.CreateScope(attemptCount)) { args = FuncUtilities.Repeat(() => { FormulaTree f = CreateRandomFormulaTree(); Range[] ranges = CreateRandomRanges(f.Variables.Length); ColorTransformation colorTransformation = CreateRandomColorTransformation(); args = new FormulaRenderArguments(f, ranges, colorTransformation); return args; }, f => { bool res = _formulaRenderArgumentsGoodnessAnalyzer.Analyze(args); ProgressReporter.Increase(); return res; }, attemptCount); } } _generatedFormulasCount++; return FormulaRenderArguments = args; }
public FormulaRenderArguments ChangeColors() { return _formulaRenderArguments = ChangeColors(FormulaRenderArguments); }