Tulip 1.2 User Manual.

1 Loading window

The loading window is displayed at the launching of Tulip. It shows the plug-ins loading progression. The plug-ins are those placed in the $TLPDIR/plugins directories. The kind of plug-in available are : Metric plug-in, Layout plug-in, Selection plug-in, Clustering plug-in, import plug-in, export plug-in, sizes plug-in, colors plug-in and int plug-in. When all the plug-ins are loaded the window is automatically closed.

2 Application window

The application window is dedicated to operations that are not specific to a graph. It is composed of two parts, the first one is a menu bar and the second one is a tool bar.

2.1 Menu bar

The application window menu bar is composed of two sub-menu. The first one enables to load graph in gml format, to create a new graph, to import a graph using an import plug-in, and to quit the application. The second one gives access to the help of Tulip. Six import module are currently available,
  • GML import: this module enables to load graph in GML format.
  • TLP import: this module enables to load graph in TLP format(Tulip native format).
  • Random Genral Graph: It generates random genral graphs. (loops and multiple edges are allowed)
  • Random Simple Graph: It generates random simple graphs.
  • Random general tree: It generates random genral trees.
  • Uniform Random binary tree: It generates random binary tree with a uniform probability.

    2.2 Tools bar

    The tool bar enables to attach opperation to the mouse. The current available operations are :
  • Information: when this operation is selected if you click on an element of a graph(node or edge) Tulip gives you informations about it throw the text console.
  • Add node: When it is selected you can add a node in the graph by a simple click on the 3D graph view window. The Node is placed at the coordinates you clicked.
  • Add edge: When it is selected you can add an edge in the graph by clicking one time on source node and one time on the target node. Infomation about node selection are written on text console.
  • Select element: This mouse mode activate the selection, to select a node or an edge you must click on it directly on the 3D graph view window. To add or remove a node or an edge to the current selection press ctrl at the same time.
  • Delete element: Enable to delete node or edge by a simple click.
  • Selection move: This operation enables to move the current selection in the three dimensional world. The moves are made using the screen coordinates.
  • The others options marked with a red cross are currently in development.


  • 3 SuperGraph window

    The SuperGraph window is dedicated to operations specific to a SuperGraph. A SuperGraph is a hierarchy of graph. This window is splitted in five part : The menu bar, the 3D view sub-window, the Property editor sub-window, the text console sub-window and the cluster tree sub-window.

    3.1 Menus

    3.1.1 Graph Menu

    This menu enbales to access to export plug-in. It exists two export plug-ins, one for Tlp format and one for GML format. to export the graph in encaspuled postscript format and to close the SuperGraph window.

    3.1.2 Edit Menu

    This menu enables to manipulate the current selection. The available operations are : deselect all, reverse selection , build a new view, reverse selected edges direction and delete selection. To build a new view of a graph Tulip use the current selection. The user can access to this view by clicking on the cluster tree.

    3.1.3 Property Menu

    This menu enables to run the computing of a new properties. A property can be a layout, a metric or a selection, .... To compute a new drawing of a graph, the user must run the evaluation of a new layout property. If the computation is not possible on the current graph a dialog box displays the reason of the error else, the computed drawing becomes the drawing used for the visualization. In the case of computation of a metric the result is used to colorize the graph. The key of colors can be shown on screen by activating the key mode in view preferences. In the case of selection property the result becomes the current selection.

    Available plug-ins

    The Tulip software already includes several plug-ins for automatic computation of properties.

    Five selection plug-ins:

  • Multiple edge selection: it selects all the multiple edges in the graph.
  • Reachable SubGraph selection: it selects the maximum sub-graph reachable from the current selection.
  • Spanning forest selection: it selects a spanning forest of the graph.
  • Spanning dag selection: it selects a spanning dag of the graph.
  • Induced SubGraph: it selects the subgraph induced by the current selected nodes.

    layout plug-ins:

  • Circurlar: Simple layout which place all nodes on a circle.
  • GeneralGraph: Draws all kind of graph with a maximum number of bends of 2, it gives an upward drawing of dags.
  • GeneralGraph Boxed: The same of the precedent but the sizes of nodes are those given by the user.
  • GeneralGraph 3D: Draws all kind of graph in 3 dimensions with a maximum number of bends of 2, it gives an upward drawing of dags on the z coordinates.
  • Random: Place all nodes at random place.
  • Spring_Electrical: It is an implemetation of the so called Spring_Electrical algortihm. This algortihm use the current layout for starting, so if the layout is in 2 dimensions the result will be in 2 dimensions else it is in 3 dimensions. This algorithm complexity is in n*n so don't use it on huge graphs.
  • Tree 3D: Draws a tree in 3 dimensions using the balloon algorithm.
  • Tree Leaf: A very simple fast drawing algorithm for trees.
  • Tree Radial: Draws a tree using the so-called tree radial algortihm.
  • Tree Walker: Draws a tree using the tree walker algorithm.
  • Tree Walker Boxed: Draws a tree using the tree walker algorithm modified to manage user defined sizes of nodes.
  • Tutte: Draws three connected planar graphs using the so called Tutte algorithm.
  • GEM: It is an implementation of the so called GEM graph drawing algorithm. (Force directed algortihm)

    Metric plug-ins:

  • Arity: return the maximum arity of each nodes of a sub-tree.
  • Node: return the number of nodes of each subtree.
  • Leaf: return the number of leaves of each subtree.
  • DagLevel: return the maximum level of each nodes in the DAG.
  • Segment: return the maximum segment length of each sub-tree.
  • id: give the internal id of each nodes.
  • Path Length: return the path length of each subtree.
  • StrahlerGeneral: return the value of the so called strahler metric on tree. This version is an extended one which also works on general trees, Dags, and general graphs.
  • Strong Componnent: Assign an equal value to each nodes which are in the same componnent else, if two nodes are not in the same componnent they have a different value.
  • Strong Componnent & Arborescent: As the Strong Componnent, make a strong componnent decomposition. If it exists strong componnent with only one node build the DAG which can grow from it.
  • Fission: A metric based on linear algebra.
  • Barycenter: A metric for cross reduction in some graph drawing algorithm.

    Size plug-ins:

  • AutoSize: This plugin automatically affect size to nodes, the result prevents overlaping of nodes shape.
  • Fit To Label: Assign the size of nodes using the size of nodes label.

    3.1.4 Clustering Menu

    This menu enables to run clustering algorithms, a clustering algorithms automatically build views of a graph and add it into the cluster tree.

    Available plug-ins

  • Arity: This plug-in make a recursive prunning of trees, using the statistical of arity of general trees.
  • Segment: This plug-in make a recursive prunning of trees, using the statistical of segment length of general trees.
  • Arity segment: It use both Arity and Segment length statistical properties.
  • Hierarchical: Splits the set of elements in two parts recursively depending of the order induce by the current metric.
  • Equal Values: Splits the set of nodes in k parts, two elements are in the same parts if they have the same metric. The viewMetric is used. Then build the induced subgraphs.
  • Convolution : Splits the set of nodes, using a triangular convolution. The viewMetric is used for this. Then build the induced subGraphs.

    3.1.5 View Menu

    This menu enables to set up the 3D graph view window. The operations available are : redraw view, recenter view, restore view and view preferences. The preferences enables to modify the default colors of edges and nodes, to display or not the labels of nodes, to change the background color, to enable or not the strahler view mode, to display or not the displaying color's key and to choice beetwen orthogonal projection (Better for 2D graphs) and perspective projection.

    3.1.6 Window Menu

    The window menu enables to go directly on a specific window (View,Cluster,Text,Editor,Preferences) and to replace them automatically.

    3.2 3D graph view sub-winbow

    The 3D graph view sub-window is the window where the graph is displayed. It can display graph in two or three dimensions and enables to apply the mouse operation selected in the tool bar by directly clicking on the drawing of the graph. If the user let the mouse during few seconds on a nodes a pop-up window displays informations about it. When the drawed graph is huge, the displaying is splitted in parts, so Tulip only draw thousand nodes and edges each times. This enables to navigate in real time in the graph even if the graphics hardware is slow. The strahler mode is a special way to select the nodes and edges that will be displayed first.

    3.2.1 Navigation toolBar

    The navigation tool bar is a part of the view window, it enables to rotate, to translate the graph, and to zoom in our to zoom out the graph. To use the this tool bar you must click on the associated button and keep the mouse button press. By moving the mouse you will apply the orpeartion progressively.

    3.3 Property editor sub-window

    This window enables to display properties of nodes and edges as array. It is composed of three part, the first one is a list of all local and inherited properties of a graph. An inherited properties is a property wich belongs to a graph upper in the hierarchy of graph. The second part displays all the values of all nodes in text format using spreed sheets. It is possible to display only the values of selected elements by using the filter option. The user can modify directly a value by clicking on the value in the array. It is possible to set all the nodes or edges value with the setAllNodesValue and SetAllEdgesValue buttons. If the user is in filter mode, this to button will only affect the selected values.

    3.4 Text console sub-window

    The text console displays informations about operations made on the graph in text format it can be useful to keep a trace of operations made on the graph but for the common user it is not very useful.

    3.5 Cluster Tree sub-window

    The cluster tree window displays the hierarchy of graph, the user can change the current view of the graph by clicking directly on the cluster tree. By clicking the right button mouse it is possible to: Remove a cluster, Remove a cluster and all its descendant, Rename a cluster, Move up a cluster in the hierarchy, Clone a cluster, Make a subgraph clone of a cluster.

    3.6 3D view set up window

    The 3D view setup window enables to configure the rendering of the graph. The available option are the following:
  • Arrows: Enables/disable the displaying of arrows on edges.
  • Key map: Enables/disable the displaying of key map(to fix).
  • Strahler Mode: Enables/disable clustering elements with strahler metric before displaying.
  • Orthogonal Projection: Enable/Disable the orthogonal projection, if disable, perpsective projection is used.
  • Autoscale Mode: Enable/Disbale the autoscale mode. The autoscale mode scale the drawing to use the maximum space in the displaying window.
  • Labels: Set the way to display labels.
  • Metric Mapping: Set the way that metric are mapped into color.
  • AutoMapMetric: Enable/Disable the automatic mapping of metrics into color.
  • EdgeColorInterpolation: Enable/Disable the interpolation of nodes color along edges.