Graphviz 13.0.0~dev.20241220.2304
Loading...
Searching...
No Matches

uncoupled application specific functions More...

Collaboration diagram for app:

Files

file  acyclic.c
 make directed graph acyclic, implements graphviz_acyclic, used in cmd/tools/acyclic.c
 
file  ingraphs.c
 supports user-supplied data
 
file  ingraphs.h
 supports user-supplied data
 
file  node_induce.c
 
file  tred.c
 transitive reduction filter for directed graphs, API: cgraph.h, implements graphviz_tred, used in cmd/tools/tred.c
 
file  unflatten.c
 adjusts directed graphs to improve layout aspect ratio, API: cgraph.h, implements graphviz_unflatten, used in cmd/tools/unflatten.c
 

Data Structures

struct  graphviz_acyclic_options_t
 options for passing to graphviz_acyclic More...
 
struct  graphviz_tred_options_t
 options for passing to graphviz_tred More...
 
struct  graphviz_unflatten_options_t
 options for passing to graphviz_unflatten More...
 

Functions

bool graphviz_acyclic (Agraph_t *g, const graphviz_acyclic_options_t *opts, size_t *num_rev)
 
void graphviz_tred (Agraph_t *g, const graphviz_tred_options_t *opts)
 programmatic access to tred - transitive reduction
 
void graphviz_unflatten (Agraph_t *g, const graphviz_unflatten_options_t *opts)
 
size_t graphviz_node_induce (Agraph_t *g, Agraph_t *edgeset)
 

Detailed Description

Function Documentation

◆ graphviz_acyclic()

bool graphviz_acyclic ( Agraph_t g,
const graphviz_acyclic_options_t opts,
size_t *  num_rev 
)

programmatic access to acyclic

See man acyclic for an explanation of the acyclic tool.

Parameters
gGraph to operate on
optsOptions to control acyclic algorithm
num_rev[inout] Running total of reversed edges
Returns
True if a cycle was found, indicating failure

Definition at line 86 of file acyclic.c.

References agfstnode(), aginit(), AGNODE, agnxtnode(), agwrite(), dfs(), ND_mark, and opts.

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ graphviz_node_induce()

size_t graphviz_node_induce ( Agraph_t g,
Agraph_t edgeset 
)

add to a graph any edges with both endpoints within that graph

If edgeset is given as NULL, edges from the root graph of g will be considered. In this case if g itself is the root graph, this call is a no-op.

If g is a connected component, the edges added will be all edges attached to any node in g.

Parameters
gGraph to add edges to
edgesetGraph whose edges to consider
Returns
Number of edges added

Definition at line 9 of file node_induce.c.

References agfstnode(), agfstout(), aghead, agnxtnode(), agnxtout(), agroot(), agsubedge(), agsubnode(), and NULL.

Referenced by cccomps(), findCComp(), getval(), main(), neato_layout(), process(), process(), processClusters(), projectG(), sfdp_layout(), and twopi_layout().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ graphviz_tred()

void graphviz_tred ( Agraph_t g,
const graphviz_tred_options_t opts 
)

See man tred for an explanation of the tred tool.

Parameters
gGraph to operate on
optsOptions to control tred algorithm

Definition at line 183 of file tred.c.

References agfstnode(), agnameof(), agnnodes(), agnxtnode(), agwrite(), cnt(), dfs(), free(), gv_alloc(), NULL, opts, and opts_t::Verbose.

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ graphviz_unflatten()

void graphviz_unflatten ( Agraph_t g,
const graphviz_unflatten_options_t opts 
)

programmatic access to unflatten

See man unflatten for an explanation of the unflatten tool.

Parameters
gGraph to operate on
optsOptions to control unflattening

Definition at line 56 of file unflatten.c.

References adjustlen(), agedge(), agfstin(), agfstnode(), agfstout(), agnxtin(), agnxtnode(), agnxtout(), agtail, agxget(), agxset(), bindedgeattr(), cnt(), ischainnode(), isleaf(), myindegree(), myoutdegree(), Agedge_s::node, NULL, opts, and str.

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function: