private IEnumerable <IEdge> CreateCircleAround(MarvelCharacterViewModel center, IEnumerable <MarvelCharacterViewModel> avengers) { var ret = new List <IEdge>(); foreach (var avenger in avengers) { if (!Equals(center, avenger)) { ret.Add(Edge.Create(center, avenger)); } } return(ret); }
public NetworkChartsViewModel() { var captainAmerica = new MarvelCharacterViewModel { Name = "Captain America", Portrait = new Uri("pack://application:,,,/Metrolib.Sample;component/Resources/CaptainAmerica.png") }; var ironMan = new MarvelCharacterViewModel { Name = "Iron Man", Portrait = new Uri("pack://application:,,,/Metrolib.Sample;component/Resources/IronMan.png") }; var hulk = new MarvelCharacterViewModel { Name = "Hulk", Portrait = new Uri("pack://application:,,,/Metrolib.Sample;component/Resources/Hulk.png") }; var thor = new MarvelCharacterViewModel { Name = "Thor", Portrait = new Uri("pack://application:,,,/Metrolib.Sample;component/Resources/Thor.png") }; var blackWidow = new MarvelCharacterViewModel { Name = "Black Widow", Portrait = new Uri("pack://application:,,,/Metrolib.Sample;component/Resources/BlackWidow.png") }; var winterSoldier = new MarvelCharacterViewModel { Name = "Winter Soldier", Portrait = new Uri("pack://application:,,,/Metrolib.Sample;component/Resources/WinterSoldier.png") }; var nickFury = new MarvelCharacterViewModel { Name = "Nick Fury", Portrait = new Uri("pack://application:,,,/Metrolib.Sample;component/Resources/NickFury.png") }; var scarletWitch = new MarvelCharacterViewModel { Name = "Scarlet Witch", Portrait = new Uri("pack://application:,,,/Metrolib.Sample;component/Resources/ScarletWitch.png") }; var falcon = new MarvelCharacterViewModel { Name = "Falcon", Portrait = new Uri("pack://application:,,,/Metrolib.Sample;component/Resources/Falcon.png") }; var sharonCarter = new MarvelCharacterViewModel { Name = "Sharon Carter", Portrait = new Uri("pack://application:,,,/Metrolib.Sample;component/Resources/SharonCarter.png") }; var vision = new MarvelCharacterViewModel { Name = "Vision", Portrait = new Uri("pack://application:,,,/Metrolib.Sample;component/Resources/vision.png") }; var mariaHill = new MarvelCharacterViewModel { Name = "Maria Hill", Portrait = new Uri("pack://application:,,,/Metrolib.Sample;component/Resources/MariaHill.png") }; _avengers = new List <MarvelCharacterViewModel> { captainAmerica, ironMan, hulk, thor, blackWidow, winterSoldier, nickFury, scarletWitch, falcon, sharonCarter, vision, mariaHill }; var edges1 = new List <IEdge> { Edge.Create(captainAmerica, ironMan), Edge.Create(ironMan, hulk), Edge.Create(hulk, captainAmerica), Edge.Create(hulk, thor), Edge.Create(hulk, blackWidow), Edge.Create(thor, blackWidow), Edge.Create(blackWidow, ironMan), Edge.Create(captainAmerica, winterSoldier), Edge.Create(captainAmerica, nickFury), Edge.Create(nickFury, blackWidow), Edge.Create(captainAmerica, scarletWitch), Edge.Create(captainAmerica, falcon), Edge.Create(falcon, blackWidow), Edge.Create(sharonCarter, nickFury), Edge.Create(sharonCarter, captainAmerica), Edge.Create(vision, scarletWitch), Edge.Create(vision, captainAmerica), Edge.Create(mariaHill, captainAmerica), }; var edges2 = new List <IEdge> { Edge.Create(captainAmerica, hulk), Edge.Create(hulk, mariaHill), Edge.Create(mariaHill, nickFury), Edge.Create(scarletWitch, blackWidow), Edge.Create(falcon, nickFury), Edge.Create(vision, sharonCarter), Edge.Create(thor, blackWidow), Edge.Create(winterSoldier, captainAmerica), Edge.Create(falcon, thor), Edge.Create(ironMan, winterSoldier), Edge.Create(vision, thor), Edge.Create(sharonCarter, ironMan), Edge.Create(scarletWitch, winterSoldier), }; var edges3 = CreateCircleAround(captainAmerica, _avengers); var edges4 = new List <IEdge> { Edge.Create(captainAmerica, hulk), Edge.Create(hulk, nickFury), Edge.Create(nickFury, scarletWitch), Edge.Create(scarletWitch, captainAmerica), Edge.Create(nickFury, captainAmerica), Edge.Create(hulk, scarletWitch), Edge.Create(hulk, blackWidow), Edge.Create(blackWidow, sharonCarter), Edge.Create(sharonCarter, captainAmerica), Edge.Create(hulk, sharonCarter), Edge.Create(blackWidow, captainAmerica), Edge.Create(blackWidow, vision), Edge.Create(vision, mariaHill), Edge.Create(mariaHill, sharonCarter), Edge.Create(blackWidow, mariaHill), Edge.Create(vision, sharonCarter), Edge.Create(vision, winterSoldier), Edge.Create(winterSoldier, falcon), Edge.Create(falcon, mariaHill), Edge.Create(mariaHill, winterSoldier), Edge.Create(vision, falcon), Edge.Create(winterSoldier, thor), Edge.Create(thor, ironMan), Edge.Create(ironMan, falcon), Edge.Create(winterSoldier, ironMan), Edge.Create(falcon, thor), }; _edgeTypes = new List <EdgeType> { new EdgeType("Variant \"Coordination\" A", edges1), new EdgeType("Variant \"Whatever\" B", edges2), new EdgeType("Variant \"Assemble\" C", edges3), new EdgeType("Variant \"Chain\" D", edges4) }; SelectedEdgeType = _edgeTypes[0]; _resetCommand = new DelegateCommand(Reset); }