Graphviz 12.0.1~dev.20240715.2254
|
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 484 of file ccomps.c.
References agbindrec(), agclean(), agclose(), agdelete(), agfstnode(), aginit(), agnameof(), agnedges(), agnnodes(), AGNODE, agnxtnode(), AGRAPH, agsubg(), agxbfree(), agxbprint(), agxbuse(), clMarkFn(), deriveGraph(), dfs(), free(), freeStk(), GD_cc_subg, graphviz_node_induce(), GRECNAME, gv_calloc(), gv_recalloc(), initStk(), insertFn(), marked(), NRECNAME, NULL, out(), PRISIZE_T, setPrefix(), SIZE_MAX, subGInduce(), unionNodes(), and Verbose.
Referenced by doDot().
Definition at line 205 of file ccomps.c.
References agbindrec(), agfstnode(), agnnodes(), agnxtnode(), agsubg(), agxbfree(), agxbprint(), agxbuse(), dfs(), free(), freeStk(), gv_calloc(), gv_recalloc(), initStk(), insertFn(), marked(), markFn(), NULL, out(), PRISIZE_T, setPrefix(), SIZE_MAX, and unmark().
Referenced by circomps(), main(), sfdp_layout(), and twopi_layout().
int getPack | ( | Agraph_t * | g, |
int | not_def, | ||
int | dflt | ||
) |
Definition at line 1236 of file pack.c.
References agget().
Referenced by compoundEdges(), doDot(), getPackInfo(), and neato_layout().
Definition at line 1253 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 1226 of file pack.c.
References getPackModeInfo().
Definition at line 1220 of file pack.c.
References agget(), and parsePackModeInfo().
Referenced by doDot(), getPackInfo(), getPackMode(), and neato_layout().
int isConnected | ( | Agraph_t * | g | ) |
Definition at line 563 of file ccomps.c.
References agfstnode(), agnnodes(), agnxtnode(), cnt(), dfs(), freeStk(), initStk(), markFn(), NULL, SIZE_MAX, and unmark().
Definition at line 403 of file ccomps.c.
References aggetrec(), orig_t::orig, and ORIG_REC.
Referenced by copyCluster(), and copyClusterInfo().
Definition at line 1093 of file pack.c.
References CL_OFFSET, dotneato_postprocess(), getPackInfo(), l_graph, and packSubgraphs().
Referenced by main().
Definition at line 1055 of file pack.c.
References free(), putGraphs(), and shiftGraphs().
Referenced by main(), neato_layout(), and packSubgraphs().
Definition at line 914 of file pack.c.
References add_pointf(), free(), boxf::LL, putRects(), and boxf::UR.
Definition at line 1070 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 1173 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 136 of file ccomps.c.
References agbindrec(), agfstnode(), agnnodes(), agnxtnode(), agsubg(), agxbfree(), agxbprint(), agxbuse(), dfs(), freeStk(), gv_calloc(), gv_recalloc(), initStk(), insertFn(), isPinned, marked(), markFn(), NULL, out(), PRISIZE_T, setPrefix(), and unmark().
Referenced by neato_layout().
Definition at line 856 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 895 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 1003 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().