/// <summary> /// Initializes a new instance of the <see cref="DoubleTreeLayoutAlgorithm{TVertex,TEdge,TGraph}"/> class. /// </summary> /// <param name="visitedGraph">Graph to layout.</param> /// <param name="verticesSizes">Vertices sizes.</param> /// <param name="parameters">Optional algorithm parameters.</param> /// <param name="selectedVertex">Root vertex.</param> public DoubleTreeLayoutAlgorithm( [NotNull] TGraph visitedGraph, [NotNull] IDictionary <TVertex, Size> verticesSizes, [NotNull] TVertex selectedVertex, [CanBeNull] DoubleTreeLayoutParameters parameters = null) : this(visitedGraph, null, verticesSizes, selectedVertex, parameters) { }
/// <summary> /// Initializes a new instance of the <see cref="DoubleTreeLayoutAlgorithm{TVertex,TEdge,TGraph}"/> class. /// </summary> /// <param name="visitedGraph">Graph to layout.</param> /// <param name="verticesPositions">Vertices positions.</param> /// <param name="verticesSizes">Vertices sizes.</param> /// <param name="parameters">Optional algorithm parameters.</param> /// <param name="selectedVertex">Root vertex.</param> public DoubleTreeLayoutAlgorithm( [NotNull] TGraph visitedGraph, [CanBeNull] IDictionary <TVertex, Point> verticesPositions, [NotNull] IDictionary <TVertex, Size> verticesSizes, [NotNull] TVertex selectedVertex, [CanBeNull] DoubleTreeLayoutParameters parameters = null) : base(visitedGraph, verticesPositions, parameters) { _root = selectedVertex ?? throw new ArgumentNullException(nameof(selectedVertex)); if (!visitedGraph.ContainsVertex(selectedVertex)) { throw new ArgumentException("The provided vertex is not part of the graph.", nameof(selectedVertex)); } _verticesSizes = verticesSizes ?? throw new ArgumentNullException(nameof(verticesSizes)); }
public DoubleTreeLayoutAlgorithm(TGraph visitedGraph, IDictionary <TVertex, Point> vertexPositions, IDictionary <TVertex, Size> vertexSizes, DoubleTreeLayoutParameters oldParameters, TVertex selectedVertex) : base(visitedGraph, vertexPositions, oldParameters) { root = selectedVertex; this.vertexSizes = (vertexSizes ?? new Dictionary <TVertex, Size>()); }