|
Graphviz 14.0.3~dev.20251029.0425
|
#include "config.h"#include <math.h>#include <stdbool.h>#include <stdlib.h>#include <sys/types.h>#include <time.h>#include <unistd.h>#include <fdpgen/dbg.h>#include <fdpgen/grid.h>#include <neatogen/neato.h>#include <common/globals.h>#include <fdpgen/tlayout.h>Go to the source code of this file.
Data Structures | |
| struct | parms_t |
Macros | |
| #define | FDP_PRIVATE 1 |
| #define | srand48 srand |
| #define | D_useGrid (fdp_parms->useGrid) |
| #define | D_useNew (fdp_parms->useNew) |
| #define | D_numIters (fdp_parms->numIters) |
| #define | D_unscaled (fdp_parms->unscaled) |
| #define | D_C (fdp_parms->C) |
| #define | D_Tfact (fdp_parms->Tfact) |
| #define | D_K (fdp_parms->K) |
| #define | D_T0 (fdp_parms->T0) |
| #define | T_useGrid (parms.useGrid) |
| #define | T_useNew (parms.useNew) |
| #define | T_seed (parms.seed) |
| #define | T_numIters (parms.numIters) |
| #define | T_maxIters (parms.maxIters) |
| #define | T_unscaled (parms.unscaled) |
| #define | T_C (parms.C) |
| #define | T_Tfact (parms.Tfact) |
| #define | T_K (parms.K) |
| #define | T_T0 (parms.T0) |
| #define | T_smode (parms.smode) |
| #define | T_Cell (parms.Cell) |
| #define | T_Wd (parms.Wd) |
| #define | T_Ht (parms.Ht) |
| #define | T_pass1 (parms.pass1) |
| #define | T_loopcnt (parms.loopcnt) |
| #define | EXPFACTOR 1.2 |
| #define | DFLT_maxIters 600 |
| #define | DFLT_K 0.3 |
| #define | DFLT_Cell 0.0 |
| #define | DFLT_seed 1 |
| #define | DFLT_smode INIT_RANDOM |
| #define | FLOOR(d) ((int)floor(d)) |
Functions | |
| static double | cool (int t) |
| static void | reset_params (void) |
| static bool | init_params (graph_t *g, xparams *xpms) |
| void | fdp_initParams (graph_t *g) |
| initialize parameters based on root graph attributes | |
| static void | doRep (node_t *p, node_t *q, double xdelta, double ydelta, double dist2) |
| static void | applyRep (Agnode_t *p, Agnode_t *q) |
| repulsive force = K × K ÷ d or K × K ÷ d × d | |
| static void | doNeighbor (Grid *grid, int i, int j, node_list *nodes) |
| static int | gridRepulse (cell *cellp, Grid *grid) |
| static void | applyAttr (Agnode_t *p, Agnode_t *q, Agedge_t *e) |
| static void | updatePos (Agraph_t *g, double temp, bport_t *pp) |
| static void | gAdjust (Agraph_t *g, double temp, bport_t *pp, Grid *grid) |
| static void | adjust (Agraph_t *g, double temp, bport_t *pp) |
| static pointf | initPositions (graph_t *g, bport_t *pp) |
| void | fdp_tLayout (graph_t *g, xparams *xpms) |
Variables | |
| static parms_t | parms |
| #define DFLT_smode INIT_RANDOM |
| #define T_seed (parms.seed) |
|
static |
Definition at line 385 of file tlayout.c.
References agfstnode(), agfstout(), aghead, agnxtnode(), agnxtout(), applyAttr(), applyRep(), and updatePos().
|
static |
Definition at line 106 of file tlayout.c.
References T_maxIters, and T_T0.
Definition at line 225 of file tlayout.c.
References dist2(), doRep(), findGrid(), gLength(), grid, ND_pos, _node_list::next, _node_list::node, cell::nodes, T_Cell, and Verbose.
Referenced by gridRepulse().
Definition at line 193 of file tlayout.c.
References dist(), dist2(), T_K, and T_useNew.
Referenced by applyRep(), and doNeighbor().
| void fdp_initParams | ( | graph_t * | g | ) |
Definition at line 156 of file tlayout.c.
References agattr_text(), agnameof(), AGRAPH, agwarningf(), D_C, D_K, D_numIters, D_T0, D_Tfact, D_unscaled, D_useGrid, D_useNew, DFLT_Cell, DFLT_K, DFLT_maxIters, DFLT_seed, DFLT_smode, INIT_SELF, late_double(), late_int(), NULL, setSeed(), T_C, T_Cell, T_K, T_maxIters, T_numIters, T_pass1, T_seed, T_smode, T_T0, T_Tfact, T_unscaled, T_useGrid, T_useNew, and Verbose.
Referenced by fdp_init_graph().
Definition at line 579 of file tlayout.c.
References adjust, adjustGrid(), agfstnode(), agnnodes(), agnxtnode(), cool, delGrid(), gAdjust(), grid, init_params(), initPositions(), mkGrid(), ND_pos, reset(), reset_params(), T_loopcnt, T_useGrid, pointf_s::x, and pointf_s::y.
Referenced by layout().
Definition at line 360 of file tlayout.c.
References addGrid(), agfstnode(), agfstout(), aghead, agnxtnode(), agnxtout(), applyAttr(), clearGrid(), FLOOR, grid, gridRepulse(), ND_pos, T_Cell, updatePos(), and walkGrid().
Referenced by fdp_tLayout().
Definition at line 254 of file tlayout.c.
References applyRep(), doNeighbor(), gLength(), grid, gridpt::i, gridpt::j, _node_list::next, _node_list::node, cell::nodes, cell::p, and Verbose.
Referenced by gAdjust().
Definition at line 118 of file tlayout.c.
References agnameof(), agnnodes(), xparams::C, cool, xparams::K, xparams::loopcnt, xparams::numIters, Agraph_s::root, xparams::T0, T_C, T_K, T_loopcnt, T_maxIters, T_numIters, T_pass1, T_T0, T_Tfact, and Verbose.
Referenced by fdp_tLayout().
Definition at line 415 of file tlayout.c.
References agfstedge(), agfstnode(), aghead, agnnodes(), agnxtedge(), agnxtnode(), agtail, alpha, cnt(), drand48(), EXPFACTOR, hasPos, INIT_RANDOM, boxf::LL, M_PI, MAX, MIN, ND_pinned, ND_pos, NULL, P_SET, srand48, T_Ht, T_K, T_seed, T_smode, T_Wd, boxf::UR, pointf_s::x, and pointf_s::y.
Referenced by fdp_tLayout().
|
static |
Definition at line 108 of file tlayout.c.
References T_T0.
Referenced by fdp_tLayout().
|
static |
|
static |
Definition at line 80 of file tlayout.c.
Referenced by positionAllItems(), and set_active_levels().