Graphviz 12.0.1~dev.20240716.0800
Loading...
Searching...
No Matches
clusteredges.c File Reference
#include "config.h"
#include <assert.h>
#include <cgraph/alloc.h>
#include <cgraph/list.h>
#include <fdpgen/clusteredges.h>
#include <fdpgen/fdp.h>
#include <limits.h>
#include <neatogen/neatoprocs.h>
#include <pathplan/vispath.h>
#include <pack/pack.h>
#include <stdbool.h>
Include dependency graph for clusteredges.c:

Go to the source code of this file.

Macros

#define FDP_PRIVATE   1
 

Functions

static Ppoly_tmakeClustObs (graph_t *g, expand_t *pm)
 
static void addGraphObjs (objlist_t *l, graph_t *g, void *tex, void *hex, expand_t *pm)
 
static void raiseLevel (objlist_t *l, int maxlvl, void *ex, int minlvl, graph_t **gp, expand_t *pm)
 
static objlist_t objectList (edge_t *ep, expand_t *pm)
 
int compoundEdges (graph_t *g, expand_t *pm, int edgetype)
 

Macro Definition Documentation

◆ FDP_PRIVATE

#define FDP_PRIVATE   1

Definition at line 19 of file clusteredges.c.

Function Documentation

◆ addGraphObjs()

static void addGraphObjs ( objlist_t *  l,
graph_t g,
void *  tex,
void *  hex,
expand_t pm 
)
static

Definition at line 105 of file clusteredges.c.

References agfstnode(), agnxtnode(), GD_clust, GD_n_cluster, IS_CLUST_NODE, makeClustObs(), makeObstacle(), and PARENT.

Referenced by objectList(), and raiseLevel().

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

◆ compoundEdges()

int compoundEdges ( graph_t g,
expand_t pm,
int  edgetype 
)

Definition at line 207 of file clusteredges.c.

References agerr(), agfstnode(), agfstout(), aghead, agnxtnode(), agnxtout(), AGPREV, agwarningf(), CL_OFFSET, ED_count, ED_path, ED_to_virt, GD_nodesep, getPack(), getPath(), head, makeSelfArcs(), makeSpline(), NULL, objectList(), Plegal_arrangement(), Pobsclose(), Pobsopen(), sepFactor(), expand_t::x, and expand_t::y.

Referenced by fdpSplines().

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

◆ makeClustObs()

static Ppoly_t * makeClustObs ( graph_t g,
expand_t pm 
)
static

Definition at line 56 of file clusteredges.c.

References deltax, deltay, expand_t::doAdd, GD_bb, gv_alloc(), gv_calloc(), boxf::LL, Ppoly_t::pn, Ppoly_t::ps, boxf::UR, pointf_s::x, expand_t::x, Pxy_t::x, pointf_s::y, expand_t::y, and Pxy_t::y.

Referenced by addGraphObjs().

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

◆ objectList()

static objlist_t objectList ( edge_t ep,
expand_t pm 
)
static

Definition at line 151 of file clusteredges.c.

References addGraphObjs(), aghead, agtail, IS_CLUST_NODE, NULL, PARENT, and raiseLevel().

Referenced by compoundEdges().

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

◆ raiseLevel()

static void raiseLevel ( objlist_t *  l,
int  maxlvl,
void *  ex,
int  minlvl,
graph_t **  gp,
expand_t pm 
)
static

Definition at line 130 of file clusteredges.c.

References addGraphObjs(), and NULL.

Referenced by objectList().

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