public static IEnumerable <INodeModel> GetConnectedNodes(this INodeModel nodeModel) { foreach (IPortModel portModel in nodeModel.GetPortModels()) { foreach (IPortModel connectionPortModel in portModel.ConnectionPortModels) { yield return(connectionPortModel.NodeModel); } } }
public static IEnumerable <IEdgeModel> GetConnectedEdges(this INodeModel nodeModel) { var graphModel = nodeModel.GraphModel; return(nodeModel.GetPortModels().SelectMany(p => graphModel.GetEdgesConnections(p))); }