Graphviz  2.41.20170921.2350
Data Structures | Macros | Typedefs | Functions
ccomps.c File Reference
#include <ctype.h>
#include <setjmp.h>
#include "render.h"
#include "pack.h"
Include dependency graph for ccomps.c:

Go to the source code of this file.

Data Structures

struct  blk_t
 
struct  stk_t
 
struct  ccgraphinfo_t
 
struct  ccgnodeinfo_t
 
struct  orig_t
 

Macros

#define MARKED(stk, n)   ((stk)->markfn(n,-1))
 
#define MARK(stk, n)   ((stk)->markfn(n,1))
 
#define UNMARK(stk, n)   ((stk)->markfn(n,0))
 
#define INITBUF   1024
 
#define BIGBUF   1000000
 
#define GRECNAME   "ccgraphinfo"
 
#define NRECNAME   "ccgnodeinfo"
 
#define GD_cc_subg(g)   (((ccgraphinfo_t*)aggetrec(g, GRECNAME, FALSE))->cc_subg)
 
#define dnodeOf(v)   (((ccgnodeinfo_t*)aggetrec(v, NRECNAME, FALSE))->ptr.n)
 
#define dnodeSet(v, w)   (((ccgnodeinfo_t*)aggetrec(v, NRECNAME, FALSE))->ptr.n=w)
 
#define ptrOf(np)   (((ccgnodeinfo_t*)((np)->base.data))->ptr.v)
 
#define nodeOf(np)   (((ccgnodeinfo_t*)((np)->base.data))->ptr.n)
 
#define clustOf(np)   (((ccgnodeinfo_t*)((np)->base.data))->ptr.g)
 
#define clMark(n)   (((ccgnodeinfo_t*)(n->base.data))->mark)
 
#define isCluster(g)   (strncmp(agnameof(g), "cluster", 7) == 0)
 
#define ORIG_REC   "orig"
 

Typedefs

typedef struct blk_t blk_t
 

Functions

Agraph_t ** pccomps (Agraph_t *g, int *ncc, char *pfx, boolean *pinned)
 
Agraph_t ** ccomps (Agraph_t *g, int *ncc, char *pfx)
 
int node_induce (Agraph_t *g, Agraph_t *eg)
 
Agraph_tmapClust (Agraph_t *cl)
 
Agraph_t ** cccomps (Agraph_t *g, int *ncc, char *pfx)
 
int isConnected (Agraph_t *g)
 
int nodeInduce (Agraph_t *g)
 

Macro Definition Documentation

#define BIGBUF   1000000

Definition at line 42 of file ccomps.c.

#define clMark (   n)    (((ccgnodeinfo_t*)(n->base.data))->mark)

Definition at line 384 of file ccomps.c.

#define clustOf (   np)    (((ccgnodeinfo_t*)((np)->base.data))->ptr.g)

Definition at line 383 of file ccomps.c.

#define dnodeOf (   v)    (((ccgnodeinfo_t*)aggetrec(v, NRECNAME, FALSE))->ptr.n)

Definition at line 377 of file ccomps.c.

#define dnodeSet (   v,
 
)    (((ccgnodeinfo_t*)aggetrec(v, NRECNAME, FALSE))->ptr.n=w)

Definition at line 378 of file ccomps.c.

#define GD_cc_subg (   g)    (((ccgraphinfo_t*)aggetrec(g, GRECNAME, FALSE))->cc_subg)

Definition at line 360 of file ccomps.c.

Referenced by cccomps().

#define GRECNAME   "ccgraphinfo"

Definition at line 358 of file ccomps.c.

Referenced by cccomps().

#define INITBUF   1024

Definition at line 41 of file ccomps.c.

Referenced by cccomps(), ccomps(), isConnected(), and pccomps().

#define isCluster (   g)    (strncmp(agnameof(g), "cluster", 7) == 0)

Definition at line 389 of file ccomps.c.

#define MARK (   stk,
 
)    ((stk)->markfn(n,1))

Definition at line 23 of file ccomps.c.

#define MARKED (   stk,
 
)    ((stk)->markfn(n,-1))

Definition at line 22 of file ccomps.c.

Referenced by cccomps(), ccomps(), and pccomps().

#define nodeOf (   np)    (((ccgnodeinfo_t*)((np)->base.data))->ptr.n)

Definition at line 382 of file ccomps.c.

#define NRECNAME   "ccgnodeinfo"

Definition at line 359 of file ccomps.c.

Referenced by cccomps().

#define ORIG_REC   "orig"

Definition at line 523 of file ccomps.c.

Referenced by mapClust().

#define ptrOf (   np)    (((ccgnodeinfo_t*)((np)->base.data))->ptr.v)

Definition at line 381 of file ccomps.c.

#define UNMARK (   stk,
 
)    ((stk)->markfn(n,0))

Definition at line 24 of file ccomps.c.

Referenced by ccomps(), isConnected(), and pccomps().

Typedef Documentation

typedef struct blk_t blk_t

Function Documentation

Agraph_t** cccomps ( Agraph_t g,
int ncc,
char *  pfx 
)
Agraph_t** ccomps ( Agraph_t g,
int ncc,
char *  pfx 
)
int isConnected ( Agraph_t g)

Definition at line 682 of file ccomps.c.

References agfstnode(), agnnodes(), agnxtnode(), INITBUF, NULL, and UNMARK.

Referenced by main().

Agraph_t* mapClust ( Agraph_t cl)

Definition at line 526 of file ccomps.c.

References aggetrec(), assert, orig_t::orig, and ORIG_REC.

int node_induce ( Agraph_t g,
Agraph_t eg 
)

Definition at line 500 of file ccomps.c.

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

Referenced by nodeInduce().

int nodeInduce ( Agraph_t g)

Definition at line 718 of file ccomps.c.

References node_induce(), and Agraph_s::root.

Referenced by cccomps(), findCComp(), neato_layout(), sfdp_layout(), and twopi_layout().

Agraph_t** pccomps ( Agraph_t g,
int ncc,
char *  pfx,
boolean pinned 
)