Graphviz 12.0.1~dev.20240716.0800
Loading...
Searching...
No Matches
class2.c File Reference
#include <cgraph/alloc.h>
#include <dotgen/dot.h>
#include <stdbool.h>
#include <stdlib.h>
Include dependency graph for class2.c:

Go to the source code of this file.

Functions

static node_tlabel_vnode (graph_t *g, edge_t *orig)
 
static void incr_width (graph_t *g, node_t *v)
 
static node_tplain_vnode (graph_t *g)
 
static node_tleader_of (node_t *v)
 
static void make_chain (graph_t *g, node_t *from, node_t *to, edge_t *orig)
 
static void interclrep (graph_t *g, edge_t *e)
 
static bool is_cluster_edge (edge_t *e)
 
void merge_chain (graph_t *g, edge_t *e, edge_t *f, bool update_count)
 
bool mergeable (edge_t *e, edge_t *f)
 
void class2 (graph_t *g)
 

Function Documentation

◆ class2()

void class2 ( graph_t g)

Definition at line 160 of file class2.c.

References agfstnode(), agfstout(), aghead, agnxtnode(), agnxtout(), agtail, build_skeleton(), Concentrate, dot_root(), ED_conc_opp_flag, ED_edge_type, ED_label, ED_to_virt, fast_node(), flat_edge(), free(), GD_clust, GD_comp, GD_n_cluster, GD_nlist, gv_alloc(), IGNORED, interclrep(), is_cluster_edge(), make_chain(), mark_clusters(), merge_chain(), merge_oneway(), mergeable(), ND_clust, ND_rank, ND_weight_class, NULL, other_edge(), ports_eq(), prev, and UF_find().

Referenced by expand_cluster(), and init_mincross().

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

◆ incr_width()

static void incr_width ( graph_t g,
node_t v 
)
static

Definition at line 42 of file class2.c.

References GD_nodesep, ND_lw, and ND_rw.

Referenced by merge_chain(), and plain_vnode().

Here is the caller graph for this function:

◆ interclrep()

static void interclrep ( graph_t g,
edge_t e 
)
static

Definition at line 102 of file class2.c.

References aghead, agtail, CLUSTER_EDGE, ED_edge_type, ED_to_virt, find_fast_edge(), leader_of(), make_chain(), merge_chain(), ND_clust, ND_out, and ND_rank.

Referenced by class2().

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

◆ is_cluster_edge()

static bool is_cluster_edge ( edge_t e)
static

Definition at line 131 of file class2.c.

References aghead, agtail, CLUSTER, and ND_ranktype.

Referenced by class2().

Here is the caller graph for this function:

◆ label_vnode()

static node_t * label_vnode ( graph_t g,
edge_t orig 
)
static

Definition at line 20 of file class2.c.

References agroot(), ED_label, ED_label_ontop, GD_flip, GD_nodesep, ND_ht, ND_label, ND_lw, ND_rw, virtual_node(), pointf_s::x, and pointf_s::y.

Referenced by make_chain().

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

◆ leader_of()

static node_t * leader_of ( node_t v)
static

Definition at line 56 of file class2.c.

References CLUSTER, GD_rankleader, ND_clust, ND_rank, ND_ranktype, and UF_find().

Referenced by interclrep().

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

◆ make_chain()

static void make_chain ( graph_t g,
node_t from,
node_t to,
edge_t orig 
)
static

Definition at line 73 of file class2.c.

References ED_label, ED_to_virt, label_vnode(), ND_rank, NULL, plain_vnode(), virtual_edge(), and virtual_weight().

Referenced by class2(), and interclrep().

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

◆ merge_chain()

void merge_chain ( graph_t g,
edge_t e,
edge_t f,
bool  update_count 
)

Definition at line 135 of file class2.c.

References aghead, agtail, ED_count, ED_to_virt, ED_weight, ED_xpenalty, incr_width(), MAX, ND_out, ND_rank, and NULL.

Referenced by class2(), interclexp(), and interclrep().

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

◆ mergeable()

bool mergeable ( edge_t e,
edge_t f 
)

Definition at line 155 of file class2.c.

References aghead, agtail, ED_label, and ports_eq().

Referenced by class2(), and interclexp().

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

◆ plain_vnode()

static node_t * plain_vnode ( graph_t g)
static

Definition at line 49 of file class2.c.

References incr_width(), and virtual_node().

Referenced by make_chain().

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