Ejemplo n.º 1
0
        public IEnumerable <TVertex> GetAdjacentVertices(
            TVertexId vertexId,
            EdgeDirection direction,
            Predicate <TEdge> edgePredicate = null,
            bool recursive = false)
        {
            if (!_vertices.ContainsKey(vertexId))
            {
                return(Enumerable.Empty <TVertex>());
            }

            var vertexIds = _graph.GetAdjacentVertices(
                vertexId,
                direction,
                edge => edgePredicate?.Invoke(FromEdgeId(edge.Id)) != false,
                recursive);

            return(vertexIds.Select(FromVertexId));
        }