00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef NEATOPROCS_H
00018 #define NEATOPROCS_H
00019
00020 #ifdef __cplusplus
00021 extern "C" {
00022 #endif
00023
00024 extern int allow_edits(int);
00025 extern void avoid_cycling(graph_t *, Agnode_t *, double *);
00026 extern int checkStart(graph_t * G, int nG, int);
00027 extern Agnode_t *choose_node(graph_t *, int);
00028 extern int circuit_model(graph_t *, int);
00029 extern void D2E(Agraph_t *, int, int, double *);
00030 extern void diffeq_model(graph_t *, int);
00031 extern double distvec(double *, double *, double *);
00032 extern void do_graph_label(Agraph_t *);
00033 extern void final_energy(graph_t *, int);
00034 extern double doubleattr(void *, int, double);
00035 extern double fpow32(double);
00036 extern Ppolyline_t getPath(edge_t *, vconfig_t *, int, Ppoly_t **,
00037 int);
00038 extern void heapdown(Agnode_t *);
00039 extern void heapup(Agnode_t *);
00040 extern void initial_positions(graph_t *, int);
00041 extern int init_port(Agnode_t *, Agedge_t *, char *, boolean);
00042 extern void jitter3d(Agnode_t *, int);
00043 extern void jitter_d(Agnode_t *, int, int);
00044 extern Ppoly_t *makeObstacle(node_t * n, double SEP);
00045 extern void makeSelfArcs(path * P, edge_t * e, int stepx);
00046 extern void makeSpline(edge_t *, Ppoly_t **, int, boolean);
00047 extern void make_spring(graph_t *, Agnode_t *, Agnode_t *, double);
00048 extern void move_node(graph_t *, int, Agnode_t *);
00049 extern int init_nop(graph_t * g, int);
00050 extern void neato_nodesize(node_t * n, boolean flip);
00051 extern void neato_cleanup(graph_t * g);
00052 extern void neato_cleanup_edge(edge_t * e);
00053 extern void neato_cleanup_graph(graph_t * g);
00054 extern void neato_cleanup_node(node_t * n);
00055 extern node_t *neato_dequeue(void);
00056 extern void neato_enqueue(node_t *);
00057 extern void neato_free_splines(edge_t * e);
00058 extern void neato_init_node_edge(Agraph_t *);
00059 extern void neato_init_edge(Agedge_t *);
00060 extern void neato_init_node(Agnode_t *);
00061 extern void neato_layout(Agraph_t * g);
00062 extern void neatoLayout(Agraph_t *mg, Agraph_t * g, int layoutMode, int layoutModel);
00063 extern void neato_init_graph(graph_t * g);
00064 extern void neato_init_graphn(graph_t * g, int);
00065 extern int Plegal_arrangement(Ppoly_t ** polys, int n_polys);
00066 extern void randompos(Agnode_t *, int);
00067 extern void s1(graph_t *, node_t *);
00068 extern int scan_graph(graph_t *);
00069 extern int scan_graph_mode(graph_t * G, int mode);
00070 extern void free_scan_graph(graph_t *);
00071 extern int setSeed (graph_t*, int dflt, long* seedp);
00072 extern void shortest_path(graph_t *, int);
00073 extern void solve(double *, double *, double *, int);
00074 extern void solve_model(graph_t *, int);
00075 extern int solveCircuit(int nG, double **Gm, double **Gm_inv);
00076 extern void spline_edges(Agraph_t *);
00077 extern void spline_edges0(Agraph_t *);
00078 extern int spline_edges1(graph_t * g, int);
00079 extern int splineEdges(graph_t *,
00080 int (*edgefn) (graph_t *, double, int), int);
00081 extern void neato_set_aspect(graph_t * g);
00082 extern void toggle(int);
00083 extern int user_pos(Agsym_t *, Agsym_t *, Agnode_t *, int);
00084 extern double **new_array(int i, int j, double val);
00085 extern void free_array(double **rv);
00086 extern int matinv(double **A, double **Ainv, int n);
00087
00088 #ifdef __cplusplus
00089 }
00090 #endif
00091 #endif