Graphviz 13.0.0~dev.20250121.0651
|
support for connected components More...
Go to the source code of this file.
Data Structures | |
struct | pack_info |
Macros | |
#define | PK_COL_MAJOR (1 << 0) |
#define | PK_USER_VALS (1 << 1) |
#define | PK_LEFT_ALIGN (1 << 2) |
#define | PK_RIGHT_ALIGN (1 << 3) |
#define | PK_TOP_ALIGN (1 << 4) |
#define | PK_BOT_ALIGN (1 << 5) |
#define | PK_INPUT_ORDER (1 << 6) |
Typedefs | |
typedef unsigned int | packval_t |
Enumerations | |
enum | pack_mode { l_undef , l_clust , l_node , l_graph , l_array , l_aspect } |
libpack supports the use of connected components in the context of laying out graphs using other graphviz libraries. One set of functions can be used to take a single graph and break it apart into connected components. A complementary set of functions takes a collection of graphs (not necessarily components of a single graph) which have been laid out separately, and packs them together.
As this library is meant to be used with libcommon
, it relies on the Agraphinfo_t, Agnodeinfo_t and Agedgeinfo_t used in that library.
Definition in file pack.h.
enum pack_mode |
Definition at line 439 of file ccomps.c.
References agbindrec(), agclean(), agclose(), agdelete(), agfstnode(), aginit(), agnameof(), agnedges(), agnnodes(), AGNODE, agnxtnode(), AGRAPH, agsubg(), agxbfree(), agxbprint(), agxbuse(), clMarkFn(), deriveGraph(), dfs(), freeStk(), GD_cc_subg, graphviz_node_induce(), GRECNAME, initStk(), insertFn(), marked(), NRECNAME, NULL, out(), PRISIZE_T, setPrefix(), subGInduce(), unionNodes(), and Verbose.
Referenced by doDot().
Definition at line 187 of file ccomps.c.
References agbindrec(), agfstnode(), agnnodes(), agnxtnode(), agsubg(), agxbfree(), agxbprint(), agxbuse(), dfs(), freeStk(), initStk(), insertFn(), marked(), markFn(), NULL, out(), PRISIZE_T, setPrefix(), and unmark().
Referenced by circomps(), main(), sfdp_layout(), and twopi_layout().
int getPack | ( | Agraph_t * | g, |
int | not_def, | ||
int | dflt | ||
) |
Definition at line 1267 of file pack.c.
References agget().
Referenced by compoundEdges(), doDot(), getPackInfo(), and neato_layout().
Definition at line 1282 of file pack.c.
References pack_info::doSplines, pack_info::fixed, getPack(), getPackModeInfo(), pack_info::margin, pack_info::mode, NULL, and Verbose.
Referenced by circoLayout(), doDot(), init_info(), layout(), pack_graph(), sfdp_layout(), and twopi_layout().
Definition at line 1258 of file pack.c.
References getPackModeInfo().
Definition at line 1254 of file pack.c.
References agget(), and parsePackModeInfo().
Referenced by doDot(), getPackInfo(), getPackMode(), and neato_layout().
int isConnected | ( | Agraph_t * | g | ) |
Definition at line 508 of file ccomps.c.
References agfstnode(), agnnodes(), agnxtnode(), cnt(), dfs(), freeStk(), initStk(), markFn(), NULL, and unmark().
Definition at line 366 of file ccomps.c.
References aggetrec(), orig_t::orig, and ORIG_REC.
Referenced by copyCluster(), and copyClusterInfo().
Definition at line 1128 of file pack.c.
References CL_OFFSET, dotneato_postprocess(), getPackInfo(), l_graph, and packSubgraphs().
Referenced by main().
Definition at line 1090 of file pack.c.
References free(), putGraphs(), and shiftGraphs().
Referenced by main(), neato_layout(), and packSubgraphs().
Definition at line 949 of file pack.c.
References add_pointf(), free(), boxf::LL, putRects(), and boxf::UR.
Definition at line 1105 of file pack.c.
References compute_bb(), EXPANDBB, GD_bb, GD_clust, GD_n_cluster, and packGraphs().
Referenced by circoLayout(), doDot(), pack_graph(), sfdp_layout(), and twopi_layout().
Definition at line 1209 of file pack.c.
References pack_info::aspect, chkFlags(), pack_info::flags, l_array, l_aspect, l_clust, l_graph, l_node, pack_info::mode, mode2Str(), NULL, startswith(), streq(), pack_info::sz, pack_info::vals, and Verbose.
Referenced by getPackModeInfo(), and init().
Definition at line 125 of file ccomps.c.
References agbindrec(), agfstnode(), agnnodes(), agnxtnode(), agsubg(), agxbfree(), agxbprint(), agxbuse(), dfs(), freeStk(), initStk(), insertFn(), isPinned, marked(), markFn(), NULL, out(), PRISIZE_T, setPrefix(), and unmark().
Referenced by neato_layout().
Definition at line 889 of file pack.c.
References agget(), arrayRects(), compute_bb(), pack_info::flags, free(), GD_bb, gv_calloc(), l_array, l_graph, pack_info::mode, NULL, PK_USER_VALS, polyGraphs(), and pack_info::vals.
Referenced by layout(), and packGraphs().
Definition at line 928 of file pack.c.
References arrayRects(), l_array, l_clust, l_graph, l_node, pack_info::mode, NULL, and polyRects().
Referenced by layout(), and packRects().
Definition at line 1038 of file pack.c.
References agfstnode(), agfstout(), agnxtnode(), agnxtout(), dx, dy, MOVEPT, ND_coord, ND_pos, ND_xlabel, PS2INCH, shiftEdge(), shiftGraph(), pointf_s::x, and pointf_s::y.
Referenced by packGraphs().