/// <summary> /// Custom implementation of <see cref="graphNodeCustom"/> to DGML converter /// </summary> /// <seealso cref="imbSCI.Graph.Converters.graphToDirectedGraphConverterBase{imbSCI.Data.collection.graph.IGraphNode}" /> public class pipelineSubjectGraphConverter : graphToDirectedGraphConverterBase<pipelineTaskSubjectContentToken> { public pipelineSubjectGraphConverter() : base() { setup = new GraphStylerSettings(); setup.GraphDirection = imbSCI.Graph.DGML.enums.GraphDirectionEnum.LeftToRight; setup.GraphLayout = imbSCI.Graph.DGML.enums.GraphLayoutEnum.DependencyMatrix; setup.alphaMin = 0.7; setup.NodeGradient = new ColorGradient("#FF195ac5", "#FF195ac5", ColorGradientFunction.AtoB | ColorGradientFunction.Hue | ColorGradientFunction.CircleCCW); setup.LinkGradient = new ColorGradient("#FF6c6c6c", "#FF6c6c6c", ColorGradientFunction.AllAToB); Deploy(setup); } public override string GetCategoryID(pipelineTaskSubjectContentToken nodeOrLink) { if (nodeOrLink == null) return "null"; return nodeOrLink.GetType().Name; } public override int GetTypeID(pipelineTaskSubjectContentToken nodeOrLink) { if (nodeOrLink == null) return 0; return nodeOrLink.GetType().GetHashCode(); } public override double GetNodeWeight(pipelineTaskSubjectContentToken node) { if (node == null) return 0; return 1; } public override double GetLinkWeight(pipelineTaskSubjectContentToken nodeA, pipelineTaskSubjectContentToken nodeB) { if (nodeA == null) return 0; if (nodeB == null) return 0; return 1; } }