Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

dotprocs.h

Go to the documentation of this file.
00001 /* $Id: dotprocs.h,v 1.1 2005/04/09 03:38:19 roxo Exp $ $Revision: 1.1 $ */
00002 /* vim:set shiftwidth=4 ts=8: */
00003 
00004 /**********************************************************
00005 *      This software is part of the graphviz package      *
00006 *                http://www.graphviz.org/                 *
00007 *                                                         *
00008 *            Copyright (c) 1994-2004 AT&T Corp.           *
00009 *                and is licensed under the                *
00010 *            Common Public License, Version 1.0           *
00011 *                      by AT&T Corp.                      *
00012 *                                                         *
00013 *        Information and Software Systems Research        *
00014 *              AT&T Research, Florham Park NJ             *
00015 **********************************************************/
00016 
00017 #ifndef DOTPROCS_H
00018 #define DOTPROCS_H
00019 
00020 #ifdef _BEGIN_EXTERNS_
00021 _BEGIN_EXTERNS_                 /* public data */
00022 #endif
00023 /* tabs at 8, or you're a sorry loser */
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027 
00028     extern void acyclic(Agraph_t *);
00029     extern void add_to_component(Agnode_t *);
00030     extern void allocate_ranks(Agraph_t *);
00031     extern void basic_merge(Agedge_t *, Agedge_t *);
00032     extern void begin_component(void);
00033     extern void build_ranks(Agraph_t *, int);
00034     extern void build_skeleton(Agraph_t *, Agraph_t *);
00035     extern void class1(Agraph_t *);
00036     extern void class2(Agraph_t *);
00037     extern void cleanup1(Agraph_t *);
00038     extern Agnode_t *clone_vn(Agraph_t *, Agnode_t *);
00039     extern void cluster_leader(Agraph_t *);
00040     extern void collapse_cluster(Agraph_t *, Agraph_t *);
00041     extern void collapse_leaves(Agraph_t *);
00042     extern void collapse_rankset(Agraph_t *, Agraph_t *, int);
00043     extern void collapse_sets(Agraph_t *);
00044     extern void decompose(Agraph_t *, int);
00045     extern void delete_fast_edge(Agedge_t *);
00046     extern void delete_fast_node(Agraph_t *, Agnode_t *);
00047     extern void delete_flat_edge(Agedge_t *);
00048     extern void delete_other_edge(Agedge_t *);
00049     extern void dfs(Agnode_t *);
00050     extern void do_ordering(Agraph_t *, int);
00051     extern void dot_cleanup(graph_t * g);
00052     extern void dot_cleanup_edge(edge_t * e);
00053     extern void dot_cleanup_graph(graph_t * g);
00054     extern void dot_cleanup_node(node_t * n);
00055     extern void dot_free_splines(edge_t * e);
00056     extern void dot_init_node_edge(Agraph_t *);
00057     extern void dot_init_edge(Agedge_t *);
00058     extern void dot_init_node(Agnode_t *);
00059     extern void dot_layout(Agraph_t * g);
00060     extern void dot_init_graph(graph_t * g);
00061     extern void edgelabel_ranks(Agraph_t *);
00062     extern void end_component(void);
00063     extern void exchange(Agnode_t *, Agnode_t *);
00064     extern void expand_cluster(Agraph_t *);
00065     extern void expand_ranksets(Agraph_t *);
00066     extern Agedge_t *fast_edge(Agedge_t *);
00067     extern void fast_node(Agraph_t *, Agnode_t *);
00068     extern void fast_nodeapp(Agnode_t *, Agnode_t *);
00069     extern void find_clusters(Agraph_t *);
00070     extern Agedge_t *find_fast_edge(Agnode_t *, Agnode_t *);
00071     extern Agnode_t *find_fast_node(Agraph_t *, Agnode_t *);
00072     extern Agedge_t *find_flat_edge(Agnode_t *, Agnode_t *);
00073     extern void flat_edge(Agraph_t *, Agedge_t *);
00074     extern int flat_edges(Agraph_t *);
00075     extern int flat_mval(Agnode_t *);
00076     extern int in_cross(Agnode_t *, Agnode_t *);
00077     extern void incr_width(Agraph_t *, Agnode_t *);
00078     extern int inside_cluster(Agraph_t *, Agnode_t *);
00079     extern void install_cluster(Agraph_t *, Agnode_t *, int, queue *);
00080     extern void install_in_rank(Agraph_t *, Agnode_t *);
00081     extern void interclexp(Agraph_t *);
00082     extern void interclrep(Agraph_t *, Agedge_t *);
00083     extern void interclust1(Agraph_t *, Agnode_t *, Agnode_t *,
00084                             Agedge_t *);
00085     extern int is_a_normal_node_of(Agraph_t *, Agnode_t *);
00086     extern int is_a_vnode_of_an_edge_of(Agraph_t *, Agnode_t *);
00087     extern int is_cluster(Agraph_t *);
00088     extern int is_cluster_edge(Agedge_t *);
00089     extern int is_fast_node(Agraph_t *, Agnode_t *);
00090     extern Agnode_t *label_vnode(Agraph_t *, Agedge_t *);
00091     extern Agnode_t *leader_of(Agraph_t *, Agnode_t *);
00092     extern int left2right(Agraph_t *, Agnode_t *, Agnode_t *);
00093     extern int local_cross(elist, int);
00094     extern void dot_compoundEdges(Agraph_t *);
00095     extern Agedge_t *make_aux_edge(Agnode_t *, Agnode_t *, int, int);
00096     extern void make_chain(Agraph_t *, Agnode_t *, Agnode_t *, Agedge_t *);
00097     extern void make_interclust_chain(Agraph_t *, Agnode_t *, Agnode_t *,
00098                                       Agedge_t *);
00099     extern int make_new_cluster(Agraph_t *, Agraph_t *);
00100     extern void make_slots(Agraph_t *, int, int, int);
00101     extern Agnode_t *map_interclust_node(Agnode_t *);
00102     extern void map_path(Agnode_t *, Agnode_t *, Agedge_t *, Agedge_t *,
00103                          int);
00104     extern void mark_clusters(Agraph_t *);
00105     extern void mark_lowclusters(Agraph_t *);
00106     extern int mergeable(edge_t * e, edge_t * f);
00107     extern void merge_chain(Agraph_t *, Agedge_t *, Agedge_t *, int);
00108     extern void merge_components(Agraph_t *);
00109     extern Agnode_t *merge_leaves(Agraph_t *, Agnode_t *, Agnode_t *);
00110     extern void merge_oneway(Agedge_t *, Agedge_t *);
00111     extern void merge_ranks(Agraph_t *);
00112     extern void minmax_edges(Agraph_t *);
00113     extern int ncross(Agraph_t *);
00114     extern Agedge_t *new_virtual_edge(Agnode_t *, Agnode_t *, Agedge_t *);
00115     extern void node_induce(Agraph_t *, Agraph_t *);
00116     extern int nonconstraint_edge(Agedge_t *);
00117     extern int ordercmpf(int *, int *);
00118     extern void ordered_edges(Agraph_t *);
00119     extern void other_edge(Agedge_t *);
00120     extern int out_cross(Agnode_t *, Agnode_t *);
00121     extern Agnode_t *plain_vnode(Agraph_t *, Agedge_t *);
00122     extern int portcmp(port p0, port p1);
00123     extern void potential_leaf(Agraph_t *, Agedge_t *, Agnode_t *);
00124     extern int ports_eq(edge_t *, edge_t *);
00125     extern void rank1(Agraph_t *);
00126     extern void rank(Agraph_t *, int, int);
00127     extern int rank_set_class(Agraph_t *);
00128     extern int rcross(Agraph_t *, int);
00129     extern void rec_reset_vlists(Agraph_t *);
00130     extern void rec_save_vlists(Agraph_t *);
00131     extern void remove_rankleaders(Agraph_t *);
00132     extern void renewlist(elist *);
00133     extern void reorder(Agraph_t *, int, int, int);
00134     extern void reverse_edge(Agedge_t *);
00135     extern void safe_delete_fast_edge(Agedge_t *);
00136     extern void safe_list_append(Agedge_t *, elist *);
00137     extern void safe_other_edge(Agedge_t *);
00138     extern void save_vlist(Agraph_t *);
00139     extern void scan_ranks(Agraph_t *);
00140     extern void scan_result(void);
00141     extern void search_component(Agraph_t *, Agnode_t *);
00142     extern void set_minmax(Agraph_t *);
00143     extern void setup_page(Agraph_t *, point);
00144     extern int strccnt(char *, char);
00145     extern void transpose(Agraph_t *, int);
00146     extern int transpose_step(Agraph_t *, int, int);
00147     extern void unmerge_oneway(Agedge_t *);
00148     extern void update(Agedge_t *, Agedge_t *);
00149     extern void update_bb(Agraph_t *, point);
00150     extern Agedge_t *virtual_edge(Agnode_t *, Agnode_t *, Agedge_t *);
00151     extern Agnode_t *virtual_node(Agraph_t *);
00152     extern void virtual_weight(Agedge_t *);
00153     extern void zapinlist(elist *, Agedge_t *);
00154 
00155 #if defined(_BLD_dot) && defined(_DLL)
00156 #   define extern __EXPORT__
00157 #endif
00158     extern void dot_nodesize(Agnode_t *, boolean);
00159     extern void dot_concentrate(Agraph_t *);
00160     extern void dot_mincross(Agraph_t *);
00161     extern void dot_position(Agraph_t *);
00162     extern void dot_rank(Agraph_t *);
00163     extern void dot_sameports(Agraph_t *);
00164     extern void dot_splines(Agraph_t *);
00165 #undef extern
00166 
00167 #ifdef _END_EXTERNS_
00168      _END_EXTERNS_
00169 #endif
00170 #ifdef __cplusplus
00171 }
00172 #endif
00173 #endif
Untitled Document Pesquisa Psi SourceForge.net Logo