コード例 #1
0
 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());
     }
 }
コード例 #2
0
 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)));
     }
 }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
 public PathSelectionViewModel(NamedGraph graph) : this()
 {
     VerticeNames = Enumerable.Range(0, graph.VerticesCount)
                    .Select(v => graph[v])
                    .ToList();
 }
コード例 #6
0
ファイル: BeatTemplates.cs プロジェクト: Yann4/Thesis
        public TextAsset GetTemplate(string name)
        {
            NamedGraph template = Beats.FirstOrDefault(x => x.Name == name);

            return(template == null ? null : template.Graph);
        }