Mercurial > hg > camir-ismir2012
comparison toolboxes/graph_visualisation/include/graphviz/pack.h @ 0:cc4b1211e677 tip
initial commit to HG from
Changeset:
646 (e263d8a21543) added further path and more save "camirversion.m"
| author | Daniel Wolff |
|---|---|
| date | Fri, 19 Aug 2016 13:07:06 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:cc4b1211e677 |
|---|---|
| 1 /* $Id: pack.h,v 1.17 2009/08/11 21:23:23 erg Exp $ $Revision: 1.17 $ */ | |
| 2 /* vim:set shiftwidth=4 ts=8: */ | |
| 3 | |
| 4 /********************************************************** | |
| 5 * This software is part of the graphviz package * | |
| 6 * http://www.graphviz.org/ * | |
| 7 * * | |
| 8 * Copyright (c) 1994-2004 AT&T Corp. * | |
| 9 * and is licensed under the * | |
| 10 * Common Public License, Version 1.0 * | |
| 11 * by AT&T Corp. * | |
| 12 * * | |
| 13 * Information and Software Systems Research * | |
| 14 * AT&T Research, Florham Park NJ * | |
| 15 **********************************************************/ | |
| 16 | |
| 17 | |
| 18 | |
| 19 #ifndef _PACK_H | |
| 20 #define _PACK_H 1 | |
| 21 | |
| 22 #ifdef __cplusplus | |
| 23 extern "C" { | |
| 24 #endif | |
| 25 | |
| 26 #include "types.h" | |
| 27 | |
| 28 /* Type indicating granularity and method | |
| 29 * l_undef - unspecified | |
| 30 * l_node - polyomino using nodes and edges | |
| 31 * l_clust - polyomino using nodes and edges and top-level clusters | |
| 32 * (assumes ND_clust(n) unused by application) | |
| 33 * l_graph - polyomino using computer graph bounding box | |
| 34 * l_array - array based on graph bounding boxes | |
| 35 * l_aspect - tiling based on graph bounding boxes preserving aspect ratio | |
| 36 * l_hull - polyomino using convex hull (unimplemented) | |
| 37 * l_tile - tiling using graph bounding box (unimplemented) | |
| 38 * l_bisect - alternate bisection using graph bounding box (unimplemented) | |
| 39 */ | |
| 40 typedef enum { l_undef, l_clust, l_node, l_graph, l_array, l_aspect } pack_mode; | |
| 41 | |
| 42 #define PK_COL_MAJOR 1 | |
| 43 #define PK_USER_VALS 2 | |
| 44 | |
| 45 typedef unsigned char packval_t; | |
| 46 | |
| 47 typedef struct { | |
| 48 float aspect; /* desired aspect ratio */ | |
| 49 int sz; /* row/column size size */ | |
| 50 unsigned int margin; /* margin left around objects, in points */ | |
| 51 int doSplines; /* use splines in constructing graph shape */ | |
| 52 pack_mode mode; /* granularity and method */ | |
| 53 boolean *fixed; /* fixed[i] == true implies g[i] should not be moved */ | |
| 54 packval_t* vals; /* for arrays, sort numbers */ | |
| 55 int flags; | |
| 56 } pack_info; | |
| 57 #ifdef GVDLL | |
| 58 #define extern __declspec(dllexport) | |
| 59 #else | |
| 60 #define extern | |
| 61 #endif | |
| 62 | |
| 63 /*visual studio*/ | |
| 64 #ifdef WIN32_DLL | |
| 65 #ifndef GVC_EXPORTS | |
| 66 #define extern __declspec(dllimport) | |
| 67 #endif | |
| 68 #endif | |
| 69 /*end visual studio*/ | |
| 70 | |
| 71 extern point *putRects(int ng, boxf* bbs, pack_info* pinfo); | |
| 72 extern int packRects(int ng, boxf* bbs, pack_info* pinfo); | |
| 73 | |
| 74 extern point *putGraphs(int, Agraph_t **, Agraph_t *, pack_info *); | |
| 75 extern int packGraphs(int, Agraph_t **, Agraph_t *, pack_info *); | |
| 76 extern int packSubgraphs(int, Agraph_t **, Agraph_t *, pack_info *); | |
| 77 extern int pack_graph(int ng, Agraph_t** gs, Agraph_t* root, boolean* fixed); | |
| 78 | |
| 79 extern int shiftGraphs(int, Agraph_t**, point*, Agraph_t*, int); | |
| 80 | |
| 81 extern pack_mode getPackMode(Agraph_t * g, pack_mode dflt); | |
| 82 extern int getPack(Agraph_t *, int not_def, int dflt); | |
| 83 extern pack_mode getPackInfo(Agraph_t * g, pack_mode dflt, int dfltMargin, pack_info*); | |
| 84 extern pack_mode getPackModeInfo(Agraph_t * g, pack_mode dflt, pack_info*); | |
| 85 extern pack_mode parsePackModeInfo(char* p, pack_mode dflt, pack_info* pinfo); | |
| 86 | |
| 87 extern int isConnected(Agraph_t *); | |
| 88 extern Agraph_t **ccomps(Agraph_t *, int *, char *); | |
| 89 extern Agraph_t **pccomps(Agraph_t *, int *, char *, boolean *); | |
| 90 extern int nodeInduce(Agraph_t *); | |
| 91 #undef extern | |
| 92 #ifdef __cplusplus | |
| 93 } | |
| 94 #endif | |
| 95 #endif |
