/misc/src/release/graphviz-2.18-1/src/graphviz-2.18/lib/neatogen/neatoprocs.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int allow_edits (int)
void avoid_cycling (graph_t *, Agnode_t *, double *)
int checkStart (graph_t *G, int nG, int)
Agnode_tchoose_node (graph_t *, int)
int circuit_model (graph_t *, int)
void D2E (Agraph_t *, int, int, double *)
void diffeq_model (graph_t *, int)
double distvec (double *, double *, double *)
void do_graph_label (Agraph_t *)
void final_energy (graph_t *, int)
double doubleattr (void *, int, double)
double fpow32 (double)
Ppolyline_t getPath (edge_t *, vconfig_t *, int, Ppoly_t **, int)
void heapdown (Agnode_t *)
void heapup (Agnode_t *)
void initial_positions (graph_t *, int)
int init_port (Agnode_t *, Agedge_t *, char *, boolean)
void jitter3d (Agnode_t *, int)
void jitter_d (Agnode_t *, int, int)
Ppoly_tmakeObstacle (node_t *n, double SEP)
void makeSelfArcs (path *P, edge_t *e, int stepx)
void makeSpline (edge_t *, Ppoly_t **, int, boolean)
void make_spring (graph_t *, Agnode_t *, Agnode_t *, double)
void move_node (graph_t *, int, Agnode_t *)
int init_nop (graph_t *g, int)
void neato_nodesize (node_t *n, boolean flip)
void neato_cleanup (graph_t *g)
void neato_cleanup_edge (edge_t *e)
void neato_cleanup_graph (graph_t *g)
void neato_cleanup_node (node_t *n)
node_tneato_dequeue (void)
void neato_enqueue (node_t *)
void neato_free_splines (edge_t *e)
void neato_init_node_edge (Agraph_t *)
void neato_init_edge (Agedge_t *)
void neato_init_node (Agnode_t *)
void neato_layout (Agraph_t *g)
void neatoLayout (Agraph_t *mg, Agraph_t *g, int layoutMode, int layoutModel)
void neato_init_graph (graph_t *g)
void neato_init_graphn (graph_t *g, int)
int Plegal_arrangement (Ppoly_t **polys, int n_polys)
void randompos (Agnode_t *, int)
void s1 (graph_t *, node_t *)
int scan_graph (graph_t *)
int scan_graph_mode (graph_t *G, int mode)
void free_scan_graph (graph_t *)
int setSeed (graph_t *, int dflt, long *seedp)
void shortest_path (graph_t *, int)
void solve (double *, double *, double *, int)
void solve_model (graph_t *, int)
int solveCircuit (int nG, double **Gm, double **Gm_inv)
void spline_edges (Agraph_t *)
void spline_edges0 (Agraph_t *)
int spline_edges1 (graph_t *g, int)
int splineEdges (graph_t *, int(*edgefn)(graph_t *, double, int), int)
void neato_set_aspect (graph_t *g)
void toggle (int)
int user_pos (Agsym_t *, Agsym_t *, Agnode_t *, int)
double ** new_array (int i, int j, double val)
void free_array (double **rv)
int matinv (double **A, double **Ainv, int n)


Function Documentation

int allow_edits ( int   ) 

Definition at line 727 of file stuff.c.

References agerr(), AGERR, diffeq_model(), FALSE, NULL, and TRUE.

void avoid_cycling ( graph_t ,
Agnode_t ,
double *   
)

int checkStart ( graph_t G,
int  nG,
int   
)

Definition at line 1083 of file neatoinit.c.

References agerr(), AGWARN, INIT_RANDOM, INIT_REGULAR, setSeed(), and srand48.

Referenced by initial_positions().

Agnode_t* choose_node ( graph_t ,
int   
)

Definition at line 511 of file stuff.c.

References GD_move, GD_neato_nlist, GD_sum_t, max, MAXDOUBLE, MaxIter, ND_pinned, NULL, P_SET, and Verbose.

Referenced by solve_model().

int circuit_model ( graph_t ,
int   
)

Definition at line 44 of file circuit.c.

References agfstedge(), agfstnode(), agnxtedge(), agnxtnode(), ED_dist, free_array(), GD_dist, Agedge_t::head, ND_id, new_array(), solveCircuit(), and Agedge_t::tail.

void D2E ( Agraph_t ,
int  ,
int  ,
double *   
)

Definition at line 471 of file stuff.c.

References fpow32(), GD_dist, GD_neato_nlist, GD_spring, MAXDIM, Msub, and ND_pos.

Referenced by move_node().

void diffeq_model ( graph_t ,
int   
)

Definition at line 346 of file stuff.c.

References agfindedge(), dist(), distvec(), ED_factor, elapsed_sec(), GD_dist, GD_neato_nlist, GD_spring, GD_sum_t, GD_t, MAXDIM, ND_pos, Ndim, Spring_coeff, start_timer(), and Verbose.

Referenced by allow_edits().

double distvec ( double *  ,
double *  ,
double *   
)

Definition at line 46 of file stuff.c.

References dist(), and Ndim.

Referenced by diffeq_model(), and update_arrays().

void do_graph_label ( Agraph_t  ) 

Definition at line 753 of file input.c.

References agerr(), agfindattr(), agget(), aghtmlstr(), AGPREV, BOTTOM_IX, DEFAULT_COLOR, DEFAULT_FONTNAME, DEFAULT_FONTSIZE, GD_border, GD_flip, GD_has_labels, GD_label, GD_label_pos, GRAPH_LABEL, LABEL_AT_BOTTOM, LABEL_AT_LEFT, LABEL_AT_RIGHT, LABEL_AT_TOP, late_double(), late_nnstring(), LEFT_IX, LT_HTML, LT_NONE, make_html_label(), make_label(), MIN_FONTSIZE, PAD, PF2P, RIGHT_IX, Agraph_t::root, strdup_and_subst_obj(), TOP_IX, point::x, and point::y.

Referenced by graph_init().

double doubleattr ( void *  ,
int  ,
double   
)

Definition at line 118 of file stuff.c.

References agxget().

void final_energy ( graph_t ,
int   
)

Definition at line 505 of file stuff.c.

References GD_move.

double fpow32 ( double   ) 

Definition at line 40 of file stuff.c.

Referenced by D2E().

void free_array ( double **  rv  ) 

Definition at line 76 of file stuff.c.

References free().

Referenced by circuit_model(), circuitModel(), free_scan_graph(), and lu_decompose().

void free_scan_graph ( graph_t  ) 

Definition at line 288 of file stuff.c.

References free(), free_array(), GD_dist, GD_neato_nlist, GD_spring, GD_sum_t, GD_t, Nop, and NULL.

Referenced by neato_cleanup_graph(), and neato_layout().

Ppolyline_t getPath ( edge_t ,
vconfig_t ,
int  ,
Ppoly_t **  ,
int   
)

Definition at line 559 of file neatosplines.c.

References add_points(), ED_head_port, ED_tail_port, Agedge_t::head, ND_coord_i, ND_lim, P2PF, Pobspath(), POLYID_NONE, and Agedge_t::tail.

Referenced by compoundEdges().

void heapdown ( Agnode_t  ) 

Definition at line 613 of file stuff.c.

References Agnodeinfo_t::dist, left, ND_dist, ND_heapindex, right, and Agnode_t::u.

Referenced by neato_dequeue().

void heapup ( Agnode_t  ) 

Definition at line 596 of file stuff.c.

References ND_dist, and ND_heapindex.

Referenced by neato_enqueue(), and s1().

int init_nop ( graph_t g,
int   
)

Definition at line 626 of file neatoinit.c.

References adjustNodes(), AGERR, agerr(), agfindattr(), agfstnode(), agnxtnode(), agraphattr(), AllEdges, compute_bb(), GD_bb, GD_neato_nlist, GVSPLINES, hasPos, Agraph_t::name, Agnode_t::name, ND_coord_i, ND_pos, neato_set_aspect(), Nop, scan_graph(), spline_edges0(), and State.

Referenced by neato_layout().

int init_port ( Agnode_t ,
Agedge_t ,
char *  ,
boolean   
)

void initial_positions ( graph_t ,
int   
)

Definition at line 322 of file stuff.c.

References agerr(), AGWARN, checkStart(), GD_neato_nlist, hasPos, INIT_RANDOM, INIT_REGULAR, INIT_SELF, randompos(), and Verbose.

void jitter3d ( Agnode_t ,
int   
)

Definition at line 309 of file stuff.c.

References jitter_d().

Referenced by randompos(), and user_pos().

void jitter_d ( Agnode_t ,
int  ,
int   
)

Definition at line 302 of file stuff.c.

References drand48(), ND_pos, and Ndim.

Referenced by jitter3d(), and user_pos().

void make_spring ( graph_t ,
Agnode_t ,
Agnode_t ,
double   
)

Definition at line 718 of file stuff.c.

References GD_dist, and ND_id.

Referenced by s1().

Ppoly_t* makeObstacle ( node_t n,
double  SEP 
)

Definition at line 476 of file neatosplines.c.

References field_t::b, drand48(), box::LL, M_PI, N_NEW, ND_coord_i, ND_ht_i, ND_lw_i, ND_rw_i, ND_shape_info, NEW, NULL, Ppoly_t::pn, Ppoly_t::ps, SH_EPSF, SH_POINT, SH_POLY, SH_RECORD, shapeOf(), polygon_t::sides, box::UR, polygon_t::vertices, pointf_s::x, Pxy_t::x, point::x, pointf_s::y, Pxy_t::y, and point::y.

void makeSelfArcs ( path P,
edge_t e,
int  stepx 
)

Definition at line 367 of file neatosplines.c.

References ED_count, ED_label, ED_to_virt, free(), Agnode_t::graph, makeSelfEdge(), N_GNEW, Agedge_t::tail, and updateBB().

Referenced by compoundEdges().

void makeSpline ( edge_t ,
Ppoly_t **  ,
int  ,
boolean   
)

Definition at line 628 of file neatosplines.c.

References clip_and_install(), ED_path, free(), Agedge_t::head, in_poly(), N_GNEW, Agnode_t::name, PF2P, Ppoly_t::pn, POLYID_NONE, Proutespline(), Ppoly_t::ps, ROUND, Agedge_t::tail, Verbose, Pxy_t::x, Pxy_t::y, and point::y.

Referenced by compoundEdges().

int matinv ( double **  A,
double **  Ainv,
int  n 
)

Definition at line 49 of file matinv.c.

References free(), lu_decompose(), lu_solve(), and N_NEW.

Referenced by solveCircuit().

void move_node ( graph_t ,
int  ,
Agnode_t  
)

Definition at line 565 of file stuff.c.

References ALLOC, D2E(), Damping, drand48(), GD_move, GD_sum_t, MAXDIM, Agnode_t::name, ND_id, ND_pos, solve(), test_toggle(), and update_arrays().

Referenced by solve_model().

void neato_cleanup ( graph_t g  ) 

Definition at line 183 of file neatoinit.c.

void neato_cleanup_edge ( edge_t e  ) 

Definition at line 169 of file neatoinit.c.

References ED_label, free_label(), neato_free_splines(), and Agedge_t::u.

Referenced by neato_cleanup().

void neato_cleanup_graph ( graph_t g  ) 

Definition at line 176 of file neatoinit.c.

References free_scan_graph(), Nop, Agraph_t::root, and Agraph_t::u.

Referenced by neato_cleanup().

void neato_cleanup_node ( node_t n  ) 

Definition at line 147 of file neatoinit.c.

References free(), free_label(), ND_label, ND_pos, ND_shape, and Agnode_t::u.

Referenced by neato_cleanup().

node_t* neato_dequeue ( void   ) 

Definition at line 649 of file stuff.c.

References heapdown(), ND_heapindex, and NULL.

Referenced by s1().

void neato_enqueue ( node_t  ) 

Definition at line 637 of file stuff.c.

References assert, heapup(), and ND_heapindex.

Referenced by s1().

void neato_free_splines ( edge_t e  ) 

Definition at line 157 of file neatoinit.c.

References ED_spl, free(), and NULL.

Referenced by neato_cleanup_edge().

void neato_init_edge ( Agedge_t  ) 

Definition at line 62 of file neatoinit.c.

References common_init_edge(), E_weight, ED_factor, and late_double().

Referenced by neato_init_node_edge().

void neato_init_graph ( graph_t g  ) 

Definition at line 687 of file neatoinit.c.

References neato_init_graphn().

Referenced by neato_layout().

void neato_init_graphn ( graph_t g,
int   
)

Definition at line 679 of file neatoinit.c.

References agfindattr(), ET_LINE, GD_ndim, late_int(), MAXDIM, MIN, Ndim, neato_init_node_edge(), Agraph_t::root, and setEdgeType().

Referenced by neato_init_graph().

void neato_init_node ( Agnode_t  ) 

Definition at line 55 of file neatoinit.c.

References common_init_node(), GD_flip, GD_ndim, Agnode_t::graph, N_NEW, ND_pos, and neato_nodesize().

Referenced by neato_init_node_edge().

void neato_init_node_edge ( Agraph_t  ) 

Definition at line 127 of file neatoinit.c.

References agfindattr(), agfstnode(), agfstout(), agnnodes(), agnxtnode(), agnxtout(), Agproto_t::n, neato_init_edge(), neato_init_node(), Agraph_t::proto, and user_pos().

Referenced by neato_init_graphn().

void neato_layout ( Agraph_t g  ) 

Definition at line 1338 of file neatoinit.c.

void neato_nodesize ( node_t n,
boolean  flip 
)

Definition at line 46 of file neatoinit.c.

References ND_height, ND_ht_i, ND_lw_i, ND_rw_i, ND_width, ND_xsize, and ND_ysize.

Referenced by neato_init_node().

void neato_set_aspect ( graph_t g  ) 

Definition at line 1069 of file neatosplines.c.

References agfstnode(), agnxtnode(), ND_coord_i, and ND_pos.

Referenced by fdp_layout(), init_nop(), and spline_edges0().

void neatoLayout ( Agraph_t mg,
Agraph_t g,
int  layoutMode,
int  layoutModel 
)

Definition at line 1297 of file neatoinit.c.

References agget(), agnnodes(), DFLT_ITERATIONS, MaxIter, MODE_MAJOR, and scan_graph_mode().

Referenced by neato_layout().

double** new_array ( int  i,
int  j,
double  val 
)

Definition at line 59 of file stuff.c.

References N_NEW.

Referenced by circuit_model(), circuitModel(), lu_decompose(), and scan_graph_mode().

int Plegal_arrangement ( Ppoly_t **  polys,
int  n_polys 
)

Definition at line 25 of file legal.c.

References vertex::active, after, EQ_PT, find_ints(), intersection::firstv, free(), MAXINTS, N_GNEW, data::ninters, data::npolygons, data::nvertices, Ppoly_t::pn, vertex::poly, vertex::pos, Ppoly_t::ps, intersection::secondv, Verbose, intersection::x, position::x, Pxy_t::x, Pxy_t::y, and position::y.

Referenced by compoundEdges().

void randompos ( Agnode_t ,
int   
)

Definition at line 314 of file stuff.c.

References drand48(), jitter3d(), ND_pos, and Ndim.

Referenced by initial_positions().

void s1 ( graph_t ,
node_t  
)

Definition at line 684 of file stuff.c.

References agfstedge(), agnxtedge(), ED_dist, GD_neato_nlist, Agedge_t::head, heapup(), Initial_dist, make_spring(), ND_dist, ND_heapindex, ND_hops, neato_dequeue(), neato_enqueue(), node(), and Agedge_t::tail.

Referenced by bisect(), clip_line(), directVis(), and shortest_path().

int scan_graph ( graph_t  ) 

Definition at line 283 of file stuff.c.

References MODE_KK, and scan_graph_mode().

Referenced by init_nop().

int scan_graph_mode ( graph_t G,
int  mode 
)

Definition at line 216 of file stuff.c.

References agdelete(), agfstnode(), agget(), agindex(), agnedges(), agnnodes(), agnxtnode(), Damping, DFLT_TOLERANCE, Agproto_t::e, Epsilon, GD_dist, GD_neato_nlist, GD_spring, GD_sum_t, GD_t, getdouble(), Initial_dist, MAX, MODE_KK, N_NEW, Agraph_t::name, ND_heapindex, ND_id, Ndim, new_array(), Nop, Agraph_t::proto, Reduce, Agraph_t::root, str, and Verbose.

Referenced by neatoLayout(), and scan_graph().

int setSeed ( graph_t ,
int  dflt,
long *  seedp 
)

Definition at line 1032 of file neatoinit.c.

References agget(), agset(), INIT_RANDOM, INIT_REGULAR, INIT_SELF, NULL, RANDOM, REGULAR, SLEN, and SMART.

Referenced by checkStart(), and fdp_initParams().

void shortest_path ( graph_t ,
int   
)

Definition at line 667 of file stuff.c.

References agfstnode(), agnxtnode(), elapsed_sec(), free(), N_NEW, s1(), start_timer(), and Verbose.

void solve ( double *  ,
double *  ,
double *  ,
int   
)

Definition at line 26 of file solve.c.

References asub, free(), and N_GNEW.

Referenced by move_node().

void solve_model ( graph_t ,
int   
)

Definition at line 423 of file stuff.c.

References agerr(), AGWARN, choose_node(), elapsed_sec(), Epsilon, GD_move, MaxIter, move_node(), Agraph_t::name, and Verbose.

int solveCircuit ( int  nG,
double **  Gm,
double **  Gm_inv 
)

Definition at line 25 of file circuit.c.

References matinv(), and Verbose.

Referenced by circuit_model(), and circuitModel().

void spline_edges ( Agraph_t  ) 

Definition at line 883 of file neatosplines.c.

References agfstnode(), agnxtnode(), compute_bb(), cvt2ptf(), GD_bb, ND_pos, spline_edges0(), pointf_s::x, and pointf_s::y.

Referenced by circo_layout(), neato_layout(), and twopi_layout().

void spline_edges0 ( Agraph_t  ) 

Definition at line 861 of file neatosplines.c.

References agerr(), AGWARN, EDGE_TYPE, ET_NONE, ET_ORTHO, ET_PLINE, GD_flags, neato_set_aspect(), Agraph_t::root, and spline_edges1().

Referenced by init_nop(), and spline_edges().

int spline_edges1 ( graph_t g,
int   
)

Definition at line 842 of file neatosplines.c.

References splineEdges().

Referenced by spline_edges0().

int splineEdges ( graph_t ,
int(*)(graph_t *, double, int)  edgefn,
int   
)

Definition at line 797 of file neatosplines.c.

References agfstnode(), agfstout(), agget(), agnxtnode(), agnxtout(), dtclose(), dtopen(), Dtoset, ED_count, ED_to_virt, edgeItemDisc, expFactor(), GVSPLINES, SEPFACT, and State.

Referenced by spline_edges1().

void toggle ( int   ) 

int user_pos ( Agsym_t ,
Agsym_t ,
Agnode_t ,
int   
)

Definition at line 69 of file neatoinit.c.

References AGERR, agerr(), agxget(), FALSE, Agsym_t::index, jitter3d(), jitter_d(), mapbool(), N_z, Agnode_t::name, ND_pinned, ND_pos, Ndim, NULL, P_PIN, P_SET, PSinputscale, and TRUE.

Referenced by neato_init_node_edge().


Generated on Mon Mar 31 19:07:16 2008 for Graphviz by  doxygen 1.5.1