Graphviz  2.29.20120524.0446
lib/neatogen/neatoprocs.h
Go to the documentation of this file.
00001 /* $Id$ $Revision$ */
00002 /* vim:set shiftwidth=4 ts=8: */
00003 
00004 /*************************************************************************
00005  * Copyright (c) 2011 AT&T Intellectual Property 
00006  * All rights reserved. This program and the accompanying materials
00007  * are made available under the terms of the Eclipse Public License v1.0
00008  * which accompanies this distribution, and is available at
00009  * http://www.eclipse.org/legal/epl-v10.html
00010  *
00011  * Contributors: See CVS logs. Details at http://www.graphviz.org/
00012  *************************************************************************/
00013 
00014 #ifndef NEATOPROCS_H
00015 #define NEATOPROCS_H
00016 
00017 #ifdef __cplusplus
00018 extern "C" {
00019 #endif
00020 #include "adjust.h"
00021 #ifdef GVDLL
00022 #define extern __declspec(dllexport)
00023 #else
00024 #define extern
00025 #endif
00026 
00027     extern int allow_edits(int);
00028     extern void avoid_cycling(graph_t *, Agnode_t *, double *);
00029     extern int checkStart(graph_t * G, int nG, int);
00030     extern Agnode_t *choose_node(graph_t *, int);
00031     extern int circuit_model(graph_t *, int);
00032     extern void D2E(Agraph_t *, int, int, double *);
00033     extern void diffeq_model(graph_t *, int);
00034     extern double distvec(double *, double *, double *);
00035     extern void do_graph_label(Agraph_t *);
00036     extern void final_energy(graph_t *, int);
00037     extern double fpow32(double);
00038     extern Ppolyline_t getPath(edge_t *, vconfig_t *, int, Ppoly_t **,
00039                                int);
00040     extern void heapdown(Agnode_t *);
00041     extern void heapup(Agnode_t *);
00042     extern void initial_positions(graph_t *, int);
00043     extern int init_port(Agnode_t *, Agedge_t *, char *, boolean);
00044     extern void jitter3d(Agnode_t *, int);
00045     extern void jitter_d(Agnode_t *, int, int);
00046     extern Ppoly_t *makeObstacle(node_t * n, expand_t* );
00047     extern void makeStraightEdge(graph_t * g, edge_t * e, int doPolyline);
00048     extern void makeSelfArcs(path * P, edge_t * e, int stepx);
00049     extern void makeSpline(graph_t*, edge_t *, Ppoly_t **, int, boolean);
00050     extern void make_spring(graph_t *, Agnode_t *, Agnode_t *, double);
00051     extern void move_node(graph_t *, int, Agnode_t *);
00052     extern int init_nop(graph_t * g, int);
00053     extern void neato_cleanup(graph_t * g);
00054     extern node_t *neato_dequeue(void);
00055     extern void neato_enqueue(node_t *);
00056     extern void neato_init_node(node_t * n);
00057     extern void neato_layout(Agraph_t * g);
00058     extern int Plegal_arrangement(Ppoly_t ** polys, int n_polys);
00059     extern void randompos(Agnode_t *, int);
00060     extern void s1(graph_t *, node_t *);
00061     extern int scan_graph(graph_t *);
00062     extern int scan_graph_mode(graph_t * G, int mode);
00063     extern void free_scan_graph(graph_t *);
00064     extern int setSeed (graph_t*, int dflt, long* seedp);
00065     extern void shortest_path(graph_t *, int);
00066     extern void solve(double *, double *, double *, int);
00067     extern void solve_model(graph_t *, int);
00068     extern int solveCircuit(int nG, double **Gm, double **Gm_inv);
00069     extern void spline_edges(Agraph_t *);
00070     extern void spline_edges0(Agraph_t *);
00071     extern int spline_edges1(graph_t * g, int);
00072     extern int splineEdges(graph_t *,
00073                            int (*edgefn) (graph_t *, expand_t*, int), int);
00074     extern void neato_set_aspect(graph_t * g);
00075     extern void toggle(int);
00076     extern int user_pos(Agsym_t *, Agsym_t *, Agnode_t *, int);
00077     extern double **new_array(int i, int j, double val);
00078     extern void free_array(double **rv);
00079     extern int matinv(double **A, double **Ainv, int n);
00080 
00081 #undef extern
00082 #ifdef __cplusplus
00083 }
00084 #endif
00085 #endif