/// <summary> /// Initializes a new instance of the <see cref="GraphGenerator"/> class. /// </summary> /// <param name="projects">Projects to include in the graph.</param> /// <param name="nodeGenerator">Generator for graph nodes</param> /// <param name="edgeGenerator">Generator for graph edges</param> public GraphGenerator( IEnumerable <NAntProject> projects, NodeGenerator nodeGenerator, EdgeGenerator edgeGenerator) { Require.NotNull("projects", projects); Require.NotNull("nodeGenerator", nodeGenerator); Require.NotNull("edgeGenerator", edgeGenerator); Require.NotEmpty("projects", projects); mProjects = new List <NAntProject>(projects); mNodeGenerator = nodeGenerator; mEdgeGenerator = edgeGenerator; }
/// <summary> /// Render a graph for the passed NAntProjects /// </summary> /// <param name="projects">Sequence of projects to render</param> /// <returns>Generated image</returns> public Image Render(IEnumerable <NAntProject> projects) { var nodeGenerator = new NodeGenerator { IncludeDescriptions = mIncludeDescriptions, LabelFont = mLabelFont, LabelFontSize = mLabelFontSize }; var edgeGenerator = new EdgeGenerator(); var generator = new GraphGenerator(projects, nodeGenerator, edgeGenerator); mImage = generator.GenerateGraphImage(); mDotScript = generator.DotText; return(Image); }
/// <summary> /// Render a graph for the passed NAntProjects /// </summary> /// <param name="projects">Sequence of projects to render</param> /// <returns>Generated image</returns> public Image Render(IEnumerable<NAntProject> projects) { var nodeGenerator = new NodeGenerator { IncludeDescriptions = mIncludeDescriptions, LabelFont = mLabelFont, LabelFontSize = mLabelFontSize }; var edgeGenerator = new EdgeGenerator(); var generator = new GraphGenerator(projects, nodeGenerator, edgeGenerator); mImage = generator.GenerateGraphImage(); mDotScript = generator.DotText; return Image; }