Graphviz 13.0.0~dev.20241220.2304
Loading...
Searching...
No Matches
osageinit.c File Reference
#include <assert.h>
#include <common/render.h>
#include <common/utils.h>
#include <cgraph/list.h>
#include <limits.h>
#include <osage/osage.h>
#include <neatogen/neatoprocs.h>
#include <pack/pack.h>
#include <stdbool.h>
#include <stddef.h>
#include <util/alloc.h>
#include <util/startswith.h>
Include dependency graph for osageinit.c:

Go to the source code of this file.

Macros

#define DFLT_SZ   18
 
#define PARENT(n)   ((Agraph_t*)ND_alg(n))
 

Functions

static void indent (int i)
 
static void cluster_init_graph (graph_t *g)
 
static void layout (Agraph_t *g, int depth)
 
static void reposition (Agraph_t *g, int depth)
 
static void mkClusters (Agraph_t *g, clist_t *pclist, Agraph_t *parent)
 
void osage_layout (Agraph_t *g)
 
static void cleanup_graphs (Agraph_t *g)
 
void osage_cleanup (Agraph_t *g)
 

Macro Definition Documentation

◆ DFLT_SZ

#define DFLT_SZ   18

Definition at line 30 of file osageinit.c.

◆ PARENT

#define PARENT (   n)    ((Agraph_t*)ND_alg(n))

Definition at line 31 of file osageinit.c.

Function Documentation

◆ cleanup_graphs()

static void cleanup_graphs ( Agraph_t g)
static

Definition at line 357 of file osageinit.c.

References cleanup_graphs(), free(), free_label(), GD_clust, GD_label, and GD_n_cluster.

Referenced by cleanup_graphs(), and osage_cleanup().

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

◆ cluster_init_graph()

static void cluster_init_graph ( graph_t g)
static

Definition at line 42 of file osageinit.c.

References agbindrec(), agfstnode(), agfstout(), agnxtnode(), agnxtout(), common_init_edge(), EDGETYPE_LINE, GD_ndim, Ndim, neato_init_node(), and setEdgeType().

Referenced by osage_layout().

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

◆ indent()

static void indent ( int  i)
static

Definition at line 34 of file osageinit.c.

Referenced by layout(), and reposition().

Here is the caller graph for this function:

◆ layout()

static void layout ( Agraph_t g,
int  depth 
)
static

Definition at line 64 of file osageinit.c.

References agattr(), agfstnode(), agnameof(), agnnodes(), AGNODE, agnxtnode(), AGRAPH, agwarningf(), BOTTOM_IX, DFLT_MARGIN, DFLT_SZ, EXPANDBB, pack_info::flags, free(), GD_bb, GD_border, GD_clust, GD_label, GD_n_cluster, getPackInfo(), gv_calloc(), indent(), l_array, l_graph, late_int(), layout(), boxf::LL, pack_info::margin, mid_pointf(), pack_info::mode, ND_alg, ND_coord, ND_xsize, ND_ysize, NULL, PK_USER_VALS, putRects(), Agraph_s::root, sub_pointf(), TOP_IX, boxf::UR, pack_info::vals, Verbose, pointf_s::x, and pointf_s::y.

Referenced by layout(), and osage_layout().

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

◆ mkClusters()

static void mkClusters ( Agraph_t g,
clist_t *  pclist,
Agraph_t parent 
)
static

Definition at line 298 of file osageinit.c.

References agbindrec(), agfstsubg(), agnxtsubg(), do_graph_label(), GD_clust, GD_n_cluster, is_a_cluster(), mkClusters(), NULL, and parent.

Referenced by mkClusters(), and osage_layout().

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

◆ osage_cleanup()

void osage_cleanup ( Agraph_t g)

Definition at line 370 of file osageinit.c.

References agfstnode(), agfstout(), agnxtnode(), agnxtout(), cleanup_graphs(), gv_cleanup_edge(), and gv_cleanup_node().

Here is the call graph for this function:

◆ osage_layout()

void osage_layout ( Agraph_t g)

Definition at line 335 of file osageinit.c.

References agfstnode(), agnxtnode(), cluster_init_graph(), dotneato_postprocess(), EDGE_TYPE, EDGETYPE_NONE, GD_drawing, layout(), mkClusters(), ND_coord, ND_pos, NULL, PS2INCH, reposition(), spline_edges0(), and spline_edges1().

Here is the call graph for this function:

◆ reposition()

static void reposition ( Agraph_t g,
int  depth 
)
static

Definition at line 251 of file osageinit.c.

References agfstnode(), agnameof(), agnxtnode(), GD_bb, GD_clust, GD_n_cluster, indent(), boxf::LL, ND_coord, PARENT, reposition(), boxf::UR, Verbose, pointf_s::x, and pointf_s::y.

Referenced by osage_layout(), and reposition().

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