/// <summary> /// Initializes a new instance of the <see cref="RandomLayoutAlgorithm{TVertex,TEdge,TGraph}"/> class. /// </summary> /// <param name="visitedGraph">Graph to layout.</param> /// <param name="verticesSizes">Vertices sizes.</param> /// <param name="verticesTypes">Vertices types.</param> /// <param name="parameters">Optional algorithm parameters.</param> public RandomLayoutAlgorithm( [NotNull] TGraph visitedGraph, [NotNull] IDictionary <TVertex, Size> verticesSizes, [CanBeNull] IDictionary <TVertex, RandomVertexType> verticesTypes, [CanBeNull] RandomLayoutParameters parameters = null) : this(visitedGraph, null, verticesSizes, verticesTypes, parameters) { }
/// <summary> /// Initializes a new instance of the <see cref="RandomLayoutAlgorithm{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="verticesTypes">Vertices types.</param> /// <param name="parameters">Optional algorithm parameters.</param> public RandomLayoutAlgorithm( [NotNull] TGraph visitedGraph, [CanBeNull] IDictionary <TVertex, Point> verticesPositions, [NotNull] IDictionary <TVertex, Size> verticesSizes, [CanBeNull] IDictionary <TVertex, RandomVertexType> verticesTypes, [CanBeNull] RandomLayoutParameters parameters = null) : base(visitedGraph, verticesPositions, parameters) { _verticesSizes = new Dictionary <TVertex, Size>(verticesSizes); _verticesTypes = verticesTypes is null ? new Dictionary <TVertex, RandomVertexType>(0) : new Dictionary <TVertex, RandomVertexType>(verticesTypes); }