Graphviz 13.0.0~dev.20241220.2304
|
biconnected components filter for graphs More...
#include "config.h"
#include <stdbool.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <getopt.h>
#include <stdlib.h>
#include <cgraph/cgraph.h>
#include <cgraph/ingraphs.h>
#include <cgraph/list.h>
#include <util/agxbuf.h>
#include <util/alloc.h>
#include <util/exit.h>
#include <util/gv_math.h>
#include <util/unreachable.h>
Go to the source code of this file.
Data Structures | |
struct | Agraphinfo_t |
struct | Agedgeinfo_t |
struct | Agnodeinfo_t |
struct | bcstate |
Macros | |
#define | Low(n) (((Agnodeinfo_t*)(n->base.data))->low) |
#define | Cut(n) (((Agnodeinfo_t*)(n->base.data))->isCut) |
#define | N(n) (((Agnodeinfo_t*)(n->base.data))->val) |
#define | NEXTBLK(g) (((Agraphinfo_t*)(g->base.data))->next) |
Functions | |
static char * | blockName (agxbuf *xb, char *gname, int d) |
static char * | getName (int ng, int nb) |
static void | gwrite (Agraph_t *g, int ng, int nb) |
static Agraph_t * | mkBlock (Agraph_t *g, bcstate *stp) |
static void | dfs (Agraph_t *g, Agnode_t *u, bcstate *stp, Agnode_t *parent) |
static void | addCutPts (Agraph_t *tree, Agraph_t *blk) |
static int | process (Agraph_t *g, int gcnt) |
static void | usage (int v) |
static void | split (char *name) |
static void | init (int argc, char *argv[]) |
int | main (int argc, char *argv[]) |
Variables | |
char ** | Files |
int | verbose |
int | silent |
char * | outfile = 0 |
char * | path = 0 |
char * | suffix = 0 |
int | external |
int | doTree |
static char * | useString |
#define Cut | ( | n | ) | (((Agnodeinfo_t*)(n->base.data))->isCut) |
#define Low | ( | n | ) | (((Agnodeinfo_t*)(n->base.data))->low) |
#define N | ( | n | ) | (((Agnodeinfo_t*)(n->base.data))->val) |
#define NEXTBLK | ( | g | ) | (((Agraphinfo_t*)(g->base.data))->next) |
Definition at line 190 of file bcomps.c.
References agedge(), agfstnode(), agnameof(), agnode(), agnxtnode(), Cut, and tree.
Referenced by process().
|
static |
Definition at line 155 of file bcomps.c.
References agfstedge(), aghead, agnxtedge(), agsubnode(), agtail, bcstate::count, Cut, dfs(), imin(), Low, mkBlock(), N, parent, and bcstate::stk.
Referenced by dfs(), and process().
|
static |
Definition at line 93 of file bcomps.c.
References agxbdisown(), agxbprint(), agxbput(), outfile, and suffix.
|
static |
|
static |
int main | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 338 of file bcomps.c.
References agclose(), Files, graphviz_exit(), init(), newIngraph(), nextGraph(), and process().
Definition at line 140 of file bcomps.c.
References agbindrec(), agnameof(), agsubg(), agxbfree(), bcstate::blks, blockName(), bcstate::nComp, and NEXTBLK.
Referenced by createOneBlock(), dfs(), and makeBlock().
|
static |
Definition at line 205 of file bcomps.c.
References addCutPts(), agclose(), AGEDGE, agfstnode(), aginit(), agnameof(), AGNODE, agnxtnode(), agopen(), AGRAPH, Agstrictundirected, bcstate::blks, bcstate::count, Cut, dfs(), doTree, external, graphviz_node_induce(), gwrite(), N, bcstate::nComp, NEXTBLK, bcstate::stk, tree, and verbose.
Referenced by main().
|
static |
Definition at line 277 of file bcomps.c.
References gv_strndup(), and suffix.
|
static |
Definition at line 271 of file bcomps.c.
References graphviz_exit(), and useString.
char* outfile = 0 |
char* suffix = 0 |
Definition at line 66 of file bcomps.c.
Referenced by getName(), gvplugin_library_load(), smyrnaPath(), and split().
|
static |
Definition at line 261 of file bcomps.c.
Referenced by usage().
int verbose |
Definition at line 62 of file bcomps.c.
Referenced by init(), process(), resolve(), SWIG_Ruby_GetModule(), and SWIG_RubyInitializeTrackings().