1 | /* $Id$ $Revision$ */ |
2 | /* vim:set shiftwidth=4 ts=8: */ |
3 | |
4 | /************************************************************************* |
5 | * Copyright (c) 2011 AT&T Intellectual Property |
6 | * All rights reserved. This program and the accompanying materials |
7 | * are made available under the terms of the Eclipse Public License v1.0 |
8 | * which accompanies this distribution, and is available at |
9 | * http://www.eclipse.org/legal/epl-v10.html |
10 | * |
11 | * Contributors: See CVS logs. Details at http://www.graphviz.org/ |
12 | *************************************************************************/ |
13 | |
14 | #ifndef NEATOPROCS_H |
15 | #define NEATOPROCS_H |
16 | |
17 | #ifdef __cplusplus |
18 | extern "C" { |
19 | #endif |
20 | #include "adjust.h" |
21 | |
22 | extern void avoid_cycling(graph_t *, Agnode_t *, double *); |
23 | extern int checkStart(graph_t * G, int nG, int); |
24 | extern Agnode_t *choose_node(graph_t *, int); |
25 | extern int circuit_model(graph_t *, int); |
26 | extern void D2E(Agraph_t *, int, int, double *); |
27 | extern void diffeq_model(graph_t *, int); |
28 | extern double distvec(double *, double *, double *); |
29 | extern void final_energy(graph_t *, int); |
30 | extern double fpow32(double); |
31 | extern Ppolyline_t getPath(edge_t *, vconfig_t *, int, Ppoly_t **, |
32 | int); |
33 | extern void heapdown(Agnode_t *); |
34 | extern void heapup(Agnode_t *); |
35 | extern void initial_positions(graph_t *, int); |
36 | extern int init_port(Agnode_t *, Agedge_t *, char *, boolean); |
37 | extern void jitter3d(Agnode_t *, int); |
38 | extern void jitter_d(Agnode_t *, int, int); |
39 | extern Ppoly_t *makeObstacle(node_t * n, expand_t*, boolean ); |
40 | extern void makeSelfArcs(path * P, edge_t * e, int stepx); |
41 | extern void makeSpline(graph_t*, edge_t *, Ppoly_t **, int, boolean); |
42 | extern void make_spring(graph_t *, Agnode_t *, Agnode_t *, double); |
43 | extern void move_node(graph_t *, int, Agnode_t *); |
44 | extern int init_nop(graph_t * g, int); |
45 | extern void neato_cleanup(graph_t * g); |
46 | extern node_t *neato_dequeue(void); |
47 | extern void neato_enqueue(node_t *); |
48 | extern void neato_init_node(node_t * n); |
49 | extern void neato_layout(Agraph_t * g); |
50 | extern int Plegal_arrangement(Ppoly_t ** polys, int n_polys); |
51 | extern void randompos(Agnode_t *, int); |
52 | extern void s1(graph_t *, node_t *); |
53 | extern int scan_graph(graph_t *); |
54 | extern int scan_graph_mode(graph_t * G, int mode); |
55 | extern void free_scan_graph(graph_t *); |
56 | extern int setSeed (graph_t*, int dflt, long* seedp); |
57 | extern void shortest_path(graph_t *, int); |
58 | extern void solve(double *, double *, double *, int); |
59 | extern void solve_model(graph_t *, int); |
60 | extern int solveCircuit(int nG, double **Gm, double **Gm_inv); |
61 | extern void spline_edges(Agraph_t *); |
62 | extern void spline_edges0(Agraph_t *, boolean); |
63 | extern int spline_edges1(graph_t * g, int); |
64 | extern int splineEdges(graph_t *, |
65 | int (*edgefn) (graph_t *, expand_t*, int), int); |
66 | extern void neato_translate(Agraph_t * g); |
67 | extern boolean neato_set_aspect(graph_t * g); |
68 | extern void toggle(int); |
69 | extern int user_pos(Agsym_t *, Agsym_t *, Agnode_t *, int); |
70 | extern double **new_array(int i, int j, double val); |
71 | extern void free_array(double **rv); |
72 | extern int matinv(double **A, double **Ainv, int n); |
73 | |
74 | #undef extern |
75 | #ifdef __cplusplus |
76 | } |
77 | #endif |
78 | #endif |
79 | |