/// <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;
}
}