private static void ProcessChildRanking(IGraphNode node, IGraphNode listener, NodeMetadata metadata, StringBuilder result) { if (listener.GetType().GetGenericTypeDefinition() == typeof(CollectorPipe <>)) { var listenerUniqueName = metadata.GetQuotedUniqueName(listener); result.AppendLine($@"{{ rank=same; {metadata.GetQuotedUniqueName(node)}, {listenerUniqueName}}}"); } }
private static void AppendFunctionPipeFormatting(IGraphNode node, NodeMetadata metadata, StringBuilder result) { var output = ((IFunctionPipe)node).Output; var label = metadata.GetCount(output) == 0 ? "" : $"label={metadata.GetQuotedDisplayName(output)}, "; var outputUniqueName = metadata.GetQuotedUniqueName(output); AppendFormat(outputUniqueName, $@"{label}color=""#9fbff4""", result); var functionLabel = metadata.GetCount(node) == 0 ? "" : $"label={metadata.GetQuotedDisplayName(node)}, "; var functionUniqueName = metadata.GetQuotedUniqueName(node); AppendFormat(functionUniqueName, $@"{functionLabel}shape=invhouse", result); }
private static void AppendCollectorPipeFormatting(IGraphNode node, NodeMetadata metadata, StringBuilder result) { var label = metadata.GetCount(node) == 0 ? "" : "label=Collector, "; var uniqueName = metadata.GetQuotedUniqueName(node); AppendFormat(uniqueName, $@"{label}color = ""#c361f4""", result); }
private static void AppendFunctionPipe(IFunctionPipe functionPipe, NodeMetadata metadata, StringBuilder result) { var predecessorFunctionPipe = functionPipe.Predecessor as IFunctionPipe; var input = metadata.GetQuotedUniqueName(predecessorFunctionPipe?.Output ?? functionPipe.Predecessor); var function = metadata.GetQuotedUniqueName(functionPipe); var output = metadata.GetQuotedUniqueName(functionPipe.Output); var collectorNode = functionPipe.Collector; if (collectorNode != null) { var collectorUniqueName = metadata.GetQuotedUniqueName(collectorNode); output = $"{{{output}, {collectorUniqueName}}}"; } result.AppendLine($"{input} -> {function} -> {output}"); }
private static void AppendJoinedPipe(IJoinedPipes joinedPipes, NodeMetadata metadata, StringBuilder result) { var predecessors = joinedPipes.Predecessors; var input1 = metadata.GetQuotedUniqueName(predecessors.Item1.Output); var input2 = metadata.GetQuotedUniqueName(predecessors.Item2.Output); var function = metadata.GetQuotedUniqueName(joinedPipes); var output = metadata.GetQuotedUniqueName(joinedPipes.Output); var collectorNode = joinedPipes.Collector; if (collectorNode != null) { var collectorUniqueName = metadata.GetQuotedUniqueName(collectorNode); output = $"{{{output}, {collectorUniqueName}}}"; } result.AppendLine($"{{{input1}, {input2}}} -> {function} -> {output}"); }
private static void AppendInputPipeFormatting(IGraphNode node, NodeMetadata metadata, StringBuilder result) { var uniqueName = metadata.GetQuotedUniqueName(node); AppendFormat(uniqueName, @"color=green", result); }