public CycleSelectionViewModel(NamedGraph graph, List <int[]> cycles) { this.graph = graph; if (cycles != null) { Cycles = cycles .GroupBy(cycle => cycle.Length) .OrderBy(g => g.Key) .ToDictionary(g => g.Key, g => g.ToList()); } }
public VerticeInformationViewModel(int selectedIndex, NamedGraph graph, IEnumerable <int[]> cycles) { Index = selectedIndex; VerticeName = graph[Index]; ClusteringCoefficient = graph.ClusteringCoefficientFor(Index); VerticePerstige = graph.GetPrestigeFor(Index); VerticeInfluence = graph.GetInfluenceFor(Index); if (cycles != null) { IncludedInCyclesCount = cycles.Count(c => c.Any(v => v.Equals(selectedIndex))); } }
public IEnumerable <NamedGraph>?GetEndpointGraphs(string endpointName) { if (_endpoints.TryGetValue(endpointName, out var endpoint)) { string?defaultGraph = endpoint?.DefaultGraph; List <NamedGraph>?graphsList = endpoint?.NamedGraphs; NamedGraph namedGraph = new NamedGraph() { GraphName = "default", Uri = defaultGraph }; graphsList?.Insert(0, namedGraph); return(graphsList); } return(null); }
protected virtual LevelDescriptionGrid2D <int> GetLevelDescription(NamedGraph <int> namedGraph, List <int> corridorOffsets) { var withCorridors = corridorOffsets[0] != 0; var corridorRoomDescription = withCorridors ? GetCorridorRoomDescription(corridorOffsets, roomTemplatesSet == RoomTemplatesSet.Original ? 1 : 2) : null; var levelDescription = new LevelDescriptionGrid2D <int>(); levelDescription.MinimumRoomDistance = 0; var graph = namedGraph.Graph; foreach (var room in graph.Vertices) { var basicRoomDescription = GetBasicRoomDescription(graph, room); levelDescription.AddRoom(room, basicRoomDescription); } var counter = graph.VerticesCount; foreach (var connection in graph.Edges) { if (withCorridors) { levelDescription.AddRoom(counter, corridorRoomDescription); levelDescription.AddConnection(connection.From, counter); levelDescription.AddConnection(connection.To, counter); counter++; } else { levelDescription.AddConnection(connection.From, connection.To); } } // var name = MapDescriptionUtils.GetInputName(namedGraph.Name, scale, withCorridors, corridorOffsets, canTouch); levelDescription.Name = namedGraph.Name; return(levelDescription); }
public PathSelectionViewModel(NamedGraph graph) : this() { VerticeNames = Enumerable.Range(0, graph.VerticesCount) .Select(v => graph[v]) .ToList(); }
public TextAsset GetTemplate(string name) { NamedGraph template = Beats.FirstOrDefault(x => x.Name == name); return(template == null ? null : template.Graph); }