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); }
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); }