/// <inheritdoc/> protected override void ProcessEntry(FreeBaseNode source, FreeBaseEdge edge, FreeBaseNode target) { if (_nodesToSelect.Contains(source) && _nodesToSelect.Contains(target)) { //add new edge between the nodes selectTriplet(source, edge, target); return; } if (_nodesToSelect.Contains(source) && _edgesToSelect.Contains(edge)) { //new node is connected with known edge selectTriplet(source, edge, target); _nodesToSelect.Add(target); return; } if (_edgesToSelect.Contains(edge) && _nodesToSelect.Contains(target)) { //connection from new node with known edge selectTriplet(source, edge, target); _nodesToSelect.Add(source); return; } //triplet is not selected }
private void selectTriplet(FreeBaseNode source, FreeBaseEdge edge, FreeBaseNode target) { var triplet = new FreeBaseTriplet(source, edge, target); _selectedTriplets.Add(triplet); }