Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

visualization/SDAGLayouter.h

Go to the documentation of this file.
00001 /* #start# ***********************************************************
00002 
00003                              Scheduling Simulator
00004                     Lehrstuhl f"ur Effiziente Algorithmen
00005                        Technische Universit"at M"unchen
00006 
00007  File    : $Id: SDAGLayouter.h,v 1.4 2003/01/08 18:57:14 meierb Exp $
00008 
00009  Purpose : An interface to the different layout algorithms
00010 
00011  RCS-Log:
00012  $Log: SDAGLayouter.h,v $
00013  Revision 1.4  2003/01/08 18:57:14  meierb
00014  added randomized release times
00015 
00016  Revision 1.1.1.1  2002/12/02 22:26:19  meierb
00017  my_schedule
00018 
00019  Revision 1.2  2002/11/13 19:50:55  taeubig
00020  Adaptation of (leda_)list_item for old LEDA releases
00021 
00022  Revision 1.1  2002/08/29 12:59:59  taeubig
00023  Added the sources
00024 
00025  Revision 1.8  2000/08/25 09:54:16  schickin
00026  added LCD Frame and new Layout-algorithm
00027 
00028  Revision 1.7  2000/08/22 17:04:32  hall
00029  changed painting (mesh + gantt) ... nicer :-)
00030 
00031  Revision 1.6  2000/05/24 13:02:40  taeubig
00032  New compiler (gcc-2.95) and new Qt (2.1)
00033  Replaced "list" by "leda_list" etc.
00034 
00035  Revision 1.5  2000/05/04 16:08:40  schickin
00036  added layout for trees
00037 
00038  Revision 1.4  2000/01/18 08:44:28  kern
00039  moved visLayout from SDAGLayouter to load routine in SDAGViewEl
00040 
00041  Revision 1.3  2000/01/16 18:43:26  kern
00042  added DAG layouter
00043 
00044  Revision 1.2  2000/01/14  10:00:47  hall
00045  added a parameter for the window-size
00046  
00047  Revision 1.1  2000/01/13 17:56:19  hall
00048  new DAG-layouting class + Superclass for Container-Views added
00049 
00050 
00051  * #end# ************************************************************* */
00052 
00053 #ifndef SDAGLAYOUTER_H
00054 #define SDAGLAYOUTER_H 
00055 
00056 // system header files
00057 #include <LEDA/graph.h>
00058 #include <LEDA/node_array.h>
00059 #include <LEDA/edge_array.h>
00060 #include <LEDA/list.h>
00061 #include <LEDA/string.h>
00062 #include <LEDA/point.h>
00063 
00064 #ifndef leda_list_item
00065 #define leda_list_item list_item
00066 #endif
00067 
00068 // project header files
00071 class SDAGLayouter {
00072 public:
00073   SDAGLayouter();
00074 
00076   const leda_list<leda_string> &getLayoutAlgs() { return _layoutAlgs; };
00077 
00092   bool layout(const leda_string &alg, const leda_graph &g, 
00093         const leda_node_array<leda_point> &sizes,
00094         leda_point windowSize,
00095         leda_node_array<leda_point> &posArray,
00096         leda_edge_array< leda_list<leda_point> > &bends );
00097         
00098 private:
00103   bool bfsLayout(const leda_graph &g, 
00104      const leda_node_array<leda_point> &sizes,
00105      leda_point windowSize,
00106      leda_node_array<leda_point> &posArray,
00107      leda_edge_array< leda_list<leda_point> > &bends);
00108   bool gridLayout(const leda_graph &g,
00109       const leda_node_array<leda_point> &sizes,
00110       leda_point windowSize,
00111       leda_node_array<leda_point> &posArray,
00112       leda_edge_array< leda_list<leda_point> > &bends);
00116   bool recTreeLayout(const leda_graph &g, 
00117          const leda_node_array<leda_point> &sizes,
00118          leda_point windowSize,
00119          leda_node_array<leda_point> &posArray,
00120          leda_edge_array< leda_list<leda_point> > &bends);
00123   bool sugiyamaLayout(const leda_graph &g, 
00124           const leda_node_array<leda_point> &sizes,
00125           leda_point windowSize,
00126           leda_node_array<leda_point> &posArray,
00127           leda_edge_array< leda_list<leda_point> > &bends);
00128 
00129   leda_list <leda_string> _layoutAlgs;
00130 };
00131 
00132 
00133 #endif

Generated on Thu May 22 16:48:09 2003 for Sketch-it! by doxygen1.2.18