;;; ---------------------------------------------------------------------------
-(defgeneric make-filtered-graph (old-graph test-fn &optional graph-completion-method depth)
+(defgeneric make-filtered-graph (old-graph test-fn &key
+ graph-completion-method depth
+ new-graph)
(:documentation "Takes a GRAPH and a TEST-FN (a single argument function
returning NIL or non-NIL), and filters the graph nodes according to
the test-fn (those that return non-NIL are accepted), returning
vertex-key
vertex-labeler
vertex-formatter
- edge-key
edge-labeler
edge-formatter)
(:documentation
;;; ---------------------------------------------------------------------------
(defgeneric source-edges (vertex &optional filter)
- (:documentation "Returns a list of the source edges of `vertex`. [?? Could be a defun]."))
+ (:documentation "Returns a list of the source edges of `vertex`. I.e.,
+the edges that begin at `vertex`."))
;;; ---------------------------------------------------------------------------
(defgeneric target-edges (vertex &optional filter)
- (:documentation "Returns a list of the target edges of `vertex`. [?? Could be a defun]."))
+ (:documentation "Returns a list of the target edges of `vertex`.
+I.e., the edges that end at `vertex`."))
;;; ---------------------------------------------------------------------------
(defgeneric child-vertexes (vertex &optional filter)
- (:documentation "Returns a list of the vertexes to which `vertex` is connected by an edge and for which `vertex` is the source vertex. If the connecting edge is undirected, then the vertex is always counted as a source. [?? Could be a defun]."))
+ (:documentation "Returns a list of the vertexes to which `vertex`
+is connected by an edge and for which `vertex` is the source vertex.
+If the connecting edge is undirected, then the vertex is always
+counted as a source. [?? Could be a defun]."))
;;; ---------------------------------------------------------------------------
(defgeneric complete-links (new-graph old-graph)
(:documentation "Add edges between vertexes in the new-graph for which the matching vertexes in the old-graph have edges. The vertex matching is done using `find-vertex`."))
-(defgeneric subgraph-containing (graph vertex &optional depth)
+(defgeneric subgraph-containing (graph vertex &key)
(:documentation "Returns a new graph that is a subset of `graph` that contains `vertex` and all of the other vertexes that can be reached from vertex by paths of less than or equal of length `depth`. If depth is not specified, then the entire sub-graph reachable from vertex will be returned. [?? Edge weights are always assumed to be one.]"))
;;; ---------------------------------------------------------------------------