/misc/src/release/graphviz-2.18-1/src/graphviz-2.18/lib/neatogen/digcola.h

Go to the documentation of this file.
00001 /* $Id: digcola.h,v 1.4 2006/04/28 20:33:44 ellson Exp $ $Revision: 1.4 $ */
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 #ifdef __cplusplus
00018 extern "C" {
00019 #endif
00020 
00021 #ifndef DIGCOLA_H
00022 #define DIGCOLA_H
00023 
00024 #include <defs.h>
00025 #ifdef DIGCOLA
00026 extern void compute_y_coords(vtx_data*, int, double*, int);
00027 extern double compute_hierarchy(vtx_data*, int, double, double, 
00028                                 double*, int**, int**, int*); 
00029 extern void IMDS_given_dim(vtx_data*, int, double*, double*, double);
00030 extern int stress_majorization_with_hierarchy(vtx_data*, int, int, double**, 
00031                                               int, int, int, int, double);
00032 #ifdef IPSEPCOLA
00033 typedef struct ipsep_options {
00034     int diredges;       /* 1=generate directed edge constraints */
00035                         /* 2=generate directed hierarchy level constraints (DiG-CoLa) */
00036     double edge_gap;    /* amount to force vertical separation of */
00037                         /* start/end nodes */
00038     int noverlap;       /* 1=generate non-overlap constraints */
00039                         /* 2=remove overlaps after layout */
00040     pointf gap;         /* hor and vert gap to enforce when removing overlap*/
00041     pointf* nsize;      /* node widths and heights */
00042     cluster_data* clusters;
00043                         /* list of node indices for each cluster */
00044 #ifdef MOSEK
00045     int mosek;          /* use Mosek as constraint optimization engine */
00046 #endif /* MOSEK */
00047 } ipsep_options;
00048 
00049  /* stress majorization, for Constraint Layout */
00050 extern int stress_majorization_cola(vtx_data*, int, int, double**, int, int, int, ipsep_options*);
00051 #endif
00052 #endif
00053 #endif
00054 
00055 #ifdef __cplusplus
00056 }
00057 #endif

Generated on Mon Mar 31 19:03:27 2008 for Graphviz by  doxygen 1.5.1