public SectionEdge(string routePath, RouteSection section, EventNode entry, EventNode exit)
        {
            RoutePath    = routePath;
            Entry        = entry;
            Exit         = exit;
            RouteSection = section;

            Entry.AttachEdge(this, EventNode.EdgeType.Output);
            Exit.AttachEdge(this, EventNode.EdgeType.Input);
        }
Exemple #2
0
        private (string entryId, string exitId) CreateEntryExitNodes(RouteSection section, string pathId, int ind)
        {
            var entryId = section.AlternativeMarkerAtEntry ?? $"{pathId}{ind-1}";

            if (!_nodes.ContainsKey(entryId))
            {
                _nodes.Add(entryId, new EventNode(entryId));
            }


            var exitId = section.AlternativeMarkerAtExit ?? $"{pathId}{ind}";

            if (!_nodes.ContainsKey(exitId))
            {
                _nodes.Add(exitId, new EventNode(exitId));
            }

            return(entryId, exitId);
        }