00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _PACK_H
00020 #define _PACK_H 1
00021
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif
00025
00026 #include "types.h"
00027 #include "graph.h"
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 typedef enum { l_undef, l_clust, l_node, l_graph } pack_mode;
00040
00041 typedef struct {
00042 #ifdef UNIMPLEMENTED
00043 float aspect;
00044 #endif
00045 unsigned int margin;
00046 int doSplines;
00047 pack_mode mode;
00048 boolean *fixed;
00049 } pack_info;
00050
00051 extern point *putGraphs(int, Agraph_t **, Agraph_t *, pack_info *);
00052 extern int packGraphs(int, Agraph_t **, Agraph_t *, pack_info *);
00053 extern int packSubgraphs(int, Agraph_t **, Agraph_t *, pack_info *);
00054 extern int pack_graph(int, Agraph_t **, Agraph_t *, boolean*);
00055 extern pack_mode getPackMode(Agraph_t * g, pack_mode dflt);
00056 extern int getPack(Agraph_t *, int not_def, int dflt);
00057
00058 extern int isConnected(Agraph_t *);
00059 extern Agraph_t **ccomps(Agraph_t *, int *, char *);
00060 extern Agraph_t **pccomps(Agraph_t *, int *, char *, boolean *);
00061 extern int nodeInduce(Agraph_t *);
00062
00063 #ifdef __cplusplus
00064 }
00065 #endif
00066 #endif