00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef DOTPROCS_H
00018 #define DOTPROCS_H
00019
00020 #ifdef _BEGIN_EXTERNS_
00021 _BEGIN_EXTERNS_
00022 #endif
00023
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027
00028 extern void acyclic(Agraph_t *);
00029 extern void allocate_ranks(Agraph_t *);
00030 extern void build_ranks(Agraph_t *, int);
00031 extern void build_skeleton(Agraph_t *, Agraph_t *);
00032 extern void class1(Agraph_t *);
00033 extern void class2(Agraph_t *);
00034 extern void decompose(Agraph_t *, int);
00035 extern void delete_fast_edge(Agedge_t *);
00036 extern void delete_fast_node(Agraph_t *, Agnode_t *);
00037 extern void delete_flat_edge(Agedge_t *);
00038 extern void dot_cleanup(graph_t * g);
00039 extern void dot_layout(Agraph_t * g);
00040 extern void dot_init_node_edge(graph_t * g);
00041 extern void dot_scan_ranks(graph_t * g);
00042 extern void expand_cluster(Agraph_t *);
00043 extern Agedge_t *fast_edge(Agedge_t *);
00044 extern void fast_node(Agraph_t *, Agnode_t *);
00045 extern void fast_nodeapp(Agnode_t *, Agnode_t *);
00046 extern Agedge_t *find_fast_edge(Agnode_t *, Agnode_t *);
00047 extern Agedge_t *find_flat_edge(Agnode_t *, Agnode_t *);
00048 extern void flat_edge(Agraph_t *, Agedge_t *);
00049 extern int flat_edges(Agraph_t *);
00050 extern void install_cluster(Agraph_t *, Agnode_t *, int, nodequeue *);
00051 extern void install_in_rank(Agraph_t *, Agnode_t *);
00052 extern int is_cluster(Agraph_t *);
00053 extern void dot_compoundEdges(Agraph_t *);
00054 extern Agedge_t *make_aux_edge(Agnode_t *, Agnode_t *, int, int);
00055 extern void mark_clusters(Agraph_t *);
00056 extern void mark_lowclusters(Agraph_t *);
00057 extern int mergeable(edge_t * e, edge_t * f);
00058 extern void merge_chain(Agraph_t *, Agedge_t *, Agedge_t *, int);
00059 extern void merge_oneway(Agedge_t *, Agedge_t *);
00060 extern int ncross(Agraph_t *);
00061 extern Agedge_t *new_virtual_edge(Agnode_t *, Agnode_t *, Agedge_t *);
00062 extern int nonconstraint_edge(Agedge_t *);
00063 extern void other_edge(Agedge_t *);
00064 extern int portcmp(port p0, port p1);
00065 extern int ports_eq(edge_t *, edge_t *);
00066 extern void rec_reset_vlists(Agraph_t *);
00067 extern void rec_save_vlists(Agraph_t *);
00068 extern void reverse_edge(Agedge_t *);
00069 extern void safe_other_edge(Agedge_t *);
00070 extern void save_vlist(Agraph_t *);
00071 extern void unmerge_oneway(Agedge_t *);
00072 extern Agedge_t *virtual_edge(Agnode_t *, Agnode_t *, Agedge_t *);
00073 extern Agnode_t *virtual_node(Agraph_t *);
00074 extern void virtual_weight(Agedge_t *);
00075 extern void zapinlist(elist *, Agedge_t *);
00076
00077 #if defined(_BLD_dot) && defined(_DLL)
00078 # define extern __EXPORT__
00079 #endif
00080 extern void dot_nodesize(Agnode_t *, boolean);
00081 extern void dot_concentrate(Agraph_t *);
00082 extern void dot_mincross(Agraph_t *);
00083 extern void dot_position(Agraph_t *);
00084 extern void dot_rank(Agraph_t *);
00085 extern void dot_sameports(Agraph_t *);
00086 extern void dot_splines(Agraph_t *);
00087 #undef extern
00088
00089 #ifdef _END_EXTERNS_
00090 _END_EXTERNS_
00091 #endif
00092 #ifdef __cplusplus
00093 }
00094 #endif
00095 #endif