...
This page will over time be filled with documentation written by the project team. But first, here's some general information to get you started:
Project Team |
|
Project Goals | The following are our main goals for this project:
|
Plug-in Name | de.cau.cs.kieler.klay.tree |
Repository | KIELER Pragmatics |
Branches |
|
...
MrTGraph Data Structure
Info | ||
---|---|---|
| ||
Since you won't want to directly work on the input
All of these structures have in common that they don't necessarily model every property that might conceivably be used in the algorithm. Instead, graph structure members are property holders, which makes it easy to set an arbitrary amount of properties on them. To understand why this might make sense, look at KIML's The basic data structure constis of the three classes TNode, TGraph and TEdge, which contain all the necessary properties to model a tree data structure. Therefore a TGraph consits of sets of TEdges and TNodes. The TNodes are objects of the type TShape. That means that a nodes' size and position is defined by the attributes defined in the class TShape. The class TShape is an abstract superclass for the class TGraphElement. So the class TGrahpElement provides the utilites to declare any generic graph element of which a TGraph consits of. Since an input KGraph is transformed into a TGraph, so that our algorithms can work on that TGraph, we do want to have the opportunity to set specific properties on graph elements. That is what the class TGraphElement is for. This specific way of implementation allows us not to model every property itself, but to model a class which can set an abritrary amount of properties on the graphs' elements. This data structure provides all the needs to perform a transformation from a KGraph to a TGraph that is as easy and therefore as evident as possible. |
Features
Info | ||
---|---|---|
| ||
The bottom line is to develop an algorithm that lays out a graph in a tree layout. Here a some first ideas for further features you might look into.
Feel free to think about further ways to enhance the algorithm. Make sure to set priorities and to properly divide responsibilities among the team members. |
...