### Clustering

- HierarchicalClustering

  Description

- QuotientClustering

  Description

- StrengthClustering

  Description

### Export

- GMLExport

  Description

  Export plugin for GML format.

  This plugin records a Tulip graph structure using the GML File format. This format is the file format used by Graphlet. See www.infosun.fmi.uni-passau.de/Graphlet/GML/ for details.

### Glyph

- Billboard

  Description

  A 2D glyph.

  This glyph draws a textured square using the "viewTexture" node property value. If this property has no value, the square is then colored using the "viewColor" node property value. It is unsensitive to any axis rotation and so always remains displayed in the same position.

- ChristmasTree

  Description

  A 3D glyph.

  This glyph draws a christmas tree special for christmas release of 2008

- Circle

  Description

  A 2D glyph.

  This glyph draws a textured disc using the "viewTexture" node property value. If this property has no value, the disc is then colored using the "viewColor" node property value.

- Cone

  Description

  A 3D glyph.

  This glyph draws a textured cone using the "viewTexture" node property value. If this property has no value, the cone is then colored using the "viewColor" node property value.

- Cube

  Description

  A 3D glyph.

  This glyph draws a textured cube using the "viewTexture" node property value. If this property has no value, the cube is then colored using the "viewColor" node property value.

- CubeOutLinedTransparent

  Description

  A 3D glyph.

  This glyph draws a transparent cube using the "viewBorderColor" node property value to draw its edges.

- HalfCylinder

  Description

  A 3D glyph.

  This glyph draws an textured a half cylinder - a cylinder whose height is half the one draws by the Cylinder glyph - using the "viewTexture" node property value. If this property has no value, the half cylinder is then colored using the "viewColor" node property value.

- Hexagone

  Description

  A 2D glyph.

  This glyph draws a textured hexagone using the "viewTexture" node property value. If this property has no value, the hexagone is then colored using the "viewColor" node property value.

- Pentagone

  Description

  A 2D glyph.

  This glyph draws a textured pentagone using the "viewTexture" node property value. If this property has no value, the pentagone is then colored using the "viewColor" node property value.

- Ring

  Description

  A 2D glyph.

  This glyph draws a textured disc with a circular hole using the "viewTexture" node property value. If this property has no value, the ring is then colored using the "viewColor" node property value.

- Sphere

  Description

  A 3D glyph.

  This glyph draws a textured sphere using the "viewTexture" node property value. If this property has no value, the sphere is then colored using the "viewColor" node property value.

- Square

  Description

  A 2D glyph.

  This glyph draws a textured square using the "viewTexture" node property value. If this property has no value, the square is then colored using the "viewColor" node property value.

- SquareBorder

  Description

  - An implementation of square with variable border glyph.

  This glyph is an implementation of a square with a variable border. The size of the border depend on the depth of the node, decreasing from the root.

  AUTHOR:

  Julien Testut, Antony Durand, Pascal Ollier, Yashvin Nababsing, Sebastien Leclerc, Ruchon Thibault, Eric Dauchier, University Bordeaux I France

- SquareBorderTextured

  Description

  - An implementation of square with variable border glyph.

  This glyph is an implementation of a square with a variable border. The size of the border depend on the depth of the node, decreasing from the root.

  AUTHOR:

  Julien Testut, Antony Durand, Pascal Ollier, Yashvin Nababsing, Sebastien Leclerc, Ruchon Thibault, Eric Dauchier, University Bordeaux I France

### Import

- AdjacencyMatrixImport

  Description

  AdjacencyMatrixImport.cpp - Import a graph coded with matrix.

  This plugin enables to import a graph coded with a matrix

  File format:

  The input format of this plugin is an ascii file where each line represents a row of the matrix. In each row, cells must be separated by a space.

  Let M(i,j) be a cell of the matrix :

  - if i==j we define the value of a node.

  - if i!=j we define a directed edge between node[i] and node[j]

  If M(i,j) is real value (0, .0, -1, -1.0), it is stored in the viewMetric property of the graph.
  If M(i,j) is a string, it is stored in the viewLabel property of the graph.
  Use & to set the viewMetric and viewLabel properties of a node or edge in the same time. If M(i,j) == @ an edge will be created without value
  If M(i,j) == # no edge will be created between node[i] and node[j]

  EXEMPLE 1 :
  A
  # B
  # # C
  Define a graph with 3 nodes (with labels A B C) and without edge.

  EXEMPLE 2 :
  A
  @ B
  @ @ C
  Define a simple complete graph with 3 nodes (with labels A B C) and no label (or value) on its edges

  EXEMPLE 3 :
  A # E & 5
  @ B
  # @ C
  Define a graph with 3 nodes and 3 edges, the edge between A and C is named E and has the value 5

  HISTORY

  Version 1.0: First version replace old adjacency matrix format included in Tulip (no more supported)

  TODO :

  Add tests in order to prevent bad file format.

  AUTHORS

    David Auber University of Bordeaux I (LaBRI) France
    Email: auber@tulip-software.org

  LICENCE

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- DotImport

  Description

  DotImport.cpp - Import a graph coded in dot format.

  This plugin enables to import a graph coded with in dot format

  File format: [ http://www.research.att.com/sw/tools/graphviz/ ]

  First (quick) support of the AT&T DOT language

  - main graph entities are extracted (node/edges)

  - subgraphs are not already supported

  - several attributes (node & edge) are supported

  - based on a modified grammar file available with the graphviz' softwares

  - this parser can be largely optimized ...

  AUTHORS

    08/02/2004 - Gerald Gainant (aka maGicG)

  LICENCE

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- FileSystem

  Description

  Import a tree representation of a file system directory.

  This plugin enables to capture in a tree the full hierarchy of of a given file system directory

- GMLImport

  Description

  Import plugin for GML format.

  This plugin imports a graph structure recorded using the GML File format. This format is the file format used by Graphlet. See www.infosun.fmi.uni-passau.de/Graphlet/GML/ for details.

### Layout

- BubbleTree

  Description

  This plug-in implement the bubble tree drawing algorithm first published as:

  Bubble Tree Drawing Algorithm :
  D. Auber and S. Grivet and J-P Domenger and Guy Melancon,
  In International Conference on Computer Vision and Graphics, pages 633-641, september 2004.

  HISTORY

  - 07/12/04 Version 0.0.3: Use new Tulip plugin parameter mechanism

  - 16/07/03 Version 0.0.2: Better management of node size

  - 16/05/03 Version 0.0.1: Initial release

  NOTES

    This algorithm only works on trees. Let n be the number of nodes, the algorithm complexity is in O(n) or O(nlog(n)), By default O(nlog(n)) algorithm is used, but one can choose the complexity by using the argument (bool)"complexity" (true means O(nlog(n), false O(n)). The algorithm can manage nodes of different size. The SizeProperty "viewSize" is used by default if no parameters are given to the plug-in. The parameter is (SizeProperty*) "node size".

  AUTHORS

    David Auber, S. Grivet University Bordeaux I France: auber@tulip-software.org , grivet@labri.fr

- Circular

  Description

  This plugin is an implementation of a circular layout that takes node size into account. It manages size of nodes and use a standard dfs for ordering nodes or search the maximum length cycle.

  HISTORY:

  25/11/2004 version 0.0.2: size and order 01/12/1999 Version 0.0.1: Initial release

  NOTES:

  This work on general graphs. Let n be the number of nodes, the algorithm complexity is in O(n). If the search_cycle is enabled, the complexity is exponential (NP-Complete problem !).

  AUTHORS:

  David Auber and Romain Bourqui University Bordeaux I France: Email: auber@tulip-software.org Daniel Archambault The University of British Columbia: Email: archam@cs.ubc.ca

- ConeTreeExtended

  Description

  ConeTreeExtended.h - An implementation of the cone tree layout.

  This plugin is an extension of the Cone tree layout algorithm first published as:

  A. FJ. Carriere and R. Kazman,
  "Interacting with Huge Hierarchies: Beyond Cone Trees",
  In Proceedings of InfoViz'95,
  IEEE Symposium on Information Visualization
  pages 74-78, 1995,

  Information about the extension can be found in :

  D.Auber, PhD Thesis, "Outils de visualisation de larges structures de donnees", University Bordeaux, december 2002.

  HISTORY

  - 01/04/99 Verson 0.0.1: Initial release

  NOTES

    This algorithm only works on trees. Let n be the number of nodes, the algorithm complexity is in O(n).

  AUTHORS

    David Auber University Bordeaux I France: Email: auber@tulip-software.org

- Dendrogram

  Description

  This plugin is an implementation of a dendrogram, an extended implementation of a "Bio representation" which includes variable orientation and variable node sizelayout.

  NOTES

    This works on tree. Let n be the number of nodes, the algorithm complexity is in O(n).

  AUTHORS

    Julien Testut, Antony Durand, Pascal Ollier, Yashvin Nababsing,
    Sebastien Leclerc, Thibault Ruchon, Eric Dauchier
    University Bordeaux I France

- Embedder

  Description

  Embedder.cpp - An implementation of the HDE algorithm.

  This plugin implements HDE: "Graph Drawing by High-Dimensional Embedding" Proceedings of 10th Int. Symp. Graph Drawing (GD'02), Lecture Notes in Computer Science, Vol. 2528, Springer Verlag, pp. 207--219, 2002. Authors: D. Harel and Y. Koren,

  From the sources of Embedder (reference implementation of the mentionned article)

  See http://www.research.att.com/~yehuda/ for both publication and source code

  Integration in Tulip by B.Mathieu

- GEMLayout

  Description

  An implementation of a spring-embedder layout.

  This plugin is an implementation of the GEM-2d layout algorithm first published as:

  A. Frick, A. Ludwig, and H. Mehldau,
  "A fast, adaptive layout algorithm for undirected graphs",
  In R. Tamassia and I. Tollis (Eds),
  Graph Drawing'94,
  Volume 894 of Lecture Notes in Computer Science, Springer Verlag, 1995.

  HISTORY

  The implementation started life as the public-domain code produced by Arne Frick and released at

  www.frick-consulting.de/publications.html

  The core "embedder" part of the algorithm was used in the implementation of a Java plugin for the CWI "Royere" tool, and then this code was ported to C++ to make the implementation given here.

  NOTES

    The embedder algorithm described by Frick involves three phases: insertion, arrangement, and optimization. Only the first two of these phases are included here. Experiments with the Java implementation showed that the optimization phase consumed significantly more time than the first two and produced apparently marginal improvements in the final layout.
    As GEM, like other spring-embedder algorithms, is computationally expensive, I have tried to optimize the loops somewhat by storing all necessary node information into two arrays: "GemProp" carries the (scalar) values associated with each node by the layout algorithm, while "Adjacent" is an array of vectors, one vector per node, giving the index (integer) of each node.

    The new version has been reimplemented to manage edge length it merges the 3D stuff and removes the use of integers (new CPU do not require it anymore).

  AUTHORS

    David Duke, University of Bath, UK: Email: D.Duke@bath.ac.uk

    David Auber,University of Bordeaux, FR: Email: david.auber@labri.fr Version 0.1: 23 July 2001. Version 0.2: September 2006

- HierarchicalGraph

  Description

  Hierarchical.h - An implementation of hierarchical graph drawing algorithm.

  This plugin is an implementation of hierarchical layout algorithm first published as:

  D. Auber,
  "Tulip - A Huge Graph Visualization Framework",
  "Book. Graph Drawing Software. (Ed. Michael Junger & Petra Mutzel",
  "2004",
  pages 105 - 126.

  HISTORY

  - 01/12/1999 Verson 0.0.1: Initial release

  NOTES

    This algorithm implements a O(n+m) space hierarchical layout

  AUTHORS

    David Auber University Bordeaux I France, Email : auber@tulip-software.org

  LICENCE

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- ImprovedWalker

  Description

  This plugin is an implementation of a linear Walker's algorithm:

  Christoph Buchheim and Michael Junger and Sebastian Leipert, Improving Walker's Algorithm to Run in Linear Time citeseer.ist.psu.edu/buchheim02improving.html

  NOTES

    This algorith works on tree. Let n be the number of nodes, the algorithm complexity is in O(n).

  AUTHORS

    Julien Testut, Antony Durand, Pascal Ollier, Yashvin Nababsing,
    Sebastien Leclerc, Thibault Ruchon, Eric Dauchier
    University Bordeaux I France

- MixedModel

  Description

  MixedModel.h - An implementation of a polyline graph drawing.

  This plugin is an implementation of the planar polyline drawing algorithm, the mixed model algorithm, first published as:

  C. Gutwenger and P. Mutzel,
  "Planar Polyline Drawings with Good Angular Resolution",
  "Lecture Notes In Computer Science, Vol. 1547"
  "Proceedings of the 6th International Symposium on Graph Drawing,"
  pages "167--182"
  1998

  HISTORY

  - 19/06/2005 Verson 0.0.1: first version by S. BARDET and A. BURNETT

  - 06/11/2006 Version 0.0.2: new version with improvements

  Let n be the number of nodes, the original algorithm complexity is in O(n).
  But the implementation of the canonical ordering has not been made in O(n).
  This version of the algorithm considers each connected component of the graph, tests if it is planar or not. If not, it computes a planar subgraphs, which is a maximal planar "sub-map". Then an area aware version of Gutwenger and Mutzel 's algorithm is used, and if the connected component was not planar, it adds the "unplanar" edges in 3D. Finally, it uses the Connected Component Packing plugin of Tulip Software to pack the connected components.

  AUTHORS

    S. Bardet, Romain Bourqui LaBRI, University Bordeaux I France, Email : bourqui@labri.fr

  LICENCE

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- SquarifiedTreeMap

  Description

  SquarifiedTreeMap.h - An implementation of a squarified treemap layout.

  This plugin is an implementation of a Squarified treemap layout.

  Squarified Treemaps :
  Bruls, M., Huizing, K., & van Wijk, J. J.
  In Proc. of Joint Eurographics and IEEE TCVG Symp. on Visualization
  (TCVG 2000) IEEE Press, pp. 33-42.

  NOTES

    This algorith only works on tree. Let n be the number of nodes, the algorithm complexity is in O(n).

  AUTHORS

    Julien Testut, Antony Durand, Pascal Ollier, Yashvin Nababsing,
    Sebastien Leclerc, Thibault Ruchon, Eric Dauchier
    University Bordeaux I France

- TreeLeaf

  Description

- TreeMap

  Description

  TreeMap.h - An implementation of the tree map layout.

  This plugin is an implementation of the tree map layout algorithm first published as:

  Shneiderman, B. (March 1991)
  Tree visualization with treemaps: a 2-d space-filling approach
  ACM Transactions on Graphics, vol. 11, 1 (Jan. 1992) 92-99.
  HCIL-91-03, CS-TR-2645, CAR-TR-548

  NOTES

    This algorithm only works on trees. This version use a predefined metric property to determine The size of the elements.
    Let n be the number of nodes, the algorithm complexity is in O(n).

  AUTHORS

    David Auber University Bordeaux I France: Email: auber@tulip-software.org

  LICENCE

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- TreeRadial

  Description

  TreeRadial.cpp - An implementation of a radial drawing of trees.

  This algorithm is inspired from MoireGraphs: Radial Focus+Context Visualization and Interaction for Graphs with Visual Nodes from T. J. Jankun-Kelly, Kwan-Liu Ma published in IEEE Symposium on Information Visualization (2003)

- TreeReingoldAndTilfordExtended

  Description

  TreeReingoldAndTilfordExtended.h - An implementation of a hierarchical tree layout.

  This plugin is an implementation of the hierarchical tree layout algorithm first published as:

  E.M. Reingold and J.S. Tilford,
  "Tidier Drawings of Trees",
  "IEEE Transactions on Software Engineering"
  pages "223--228"
  1981

  HISTORY

  - 21/02/2000 Verson 0.0.1: Initial release

  - 06/11/2002 Verson 0.0.2: Documentation and code clean up

  - 06/01/2005 Verson 0.0.3: Code refactoring, management of : orienetation, parameters

  NOTES

    This algorithm only works on trees.
    Let n be the number of nodes, the algorithm complexity is in O(n).
    It extends the original Reingold and Tilford by providing managment of different node size and different edge length.
    The algorithm use the (Size)"viewSize" property for element size and the (int)"treeEdgeLength" for the edge length.

  AUTHORS

    David Auber LaBRI, University Bordeaux I France, Email : auber@tulip-software.org

  LICENCE

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- Tutte

  Description

  Tutte.h - An implementation of a 3-Connected graph layout.

  This plugin is an implementation of the Tutte layout algorithm first published as:

  W.T. Tutte, "How to Draw a Graph", "Proc. London Math. Soc.", "1963", pages 743-768.

  HISTORY

  - 01/12/1999 Verson 0.0.1: Initial release

  - 06/11/2002 Verson 0.0.2: Documentation and code clean up

  NOTES

    This algorithm only works on 3 connected graphs.

  AUTHORS

    David Auber University Bordeaux I France, Email : auber@tulip-software.org

  LICENCE

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

### Metric

- ArityMetric

  Description

  ArityMetric.h - Compute the degree of each node.

  This plugin compute the degree of each node

  HISTORY

  - 04/10/2001 Verson 0.0.1: Initial release

  NOTES

    This plug-in exists to obtain a uniform interface in the Tulip graph visualization software. To access to the degree of a node it is recommended to use directly the degree function available in each graph.

  AUTHORS

    David Auber University Bordeaux I France, Email : auber@tulip-software.org

  LICENCE:

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- BetweennessCentrality

  Description

  Betweeness centrality - An implementation of the betweeness centrality parameter.

  This plugin is an implementation of betweeness centrality Parameter. algorithm published by:

  U. Brandes,

  HISTORY:

  10/02/2005 Verson 0.0.1: Initial release

  AUTHOR:

  David Auber University Bordeaux I France: Email: auber@tulip-software.org

  LICENCE:

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- BiconnectedComponnent

  Description

  This plugin is an implementation of a biconnected component decompostion algorithm. It assigns to the same value to all the edges in the same component.

  HISTORY

  - 03/01/2005 Verson 0.0.1: Initial release

  NOTES

    This algorithm assigns to each node a value defined as following : If two nodes are in the same connected component they have the same value else they have a different value.

  AUTHORS

    David Auber University Bordeaux I France: Email: auber@tulip-software.org

  LICENCE

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- ClusterMetric

  Description

  This plugin is an implementation of the Algorithm Parameter. algorithm published in :

  Y. Chiricota. F.Jourdan, an G.Melancon
  "Software component capture using graph clustering",
  "IWPC",
  2002.

  Extended to unbounded depth (for the neigbors) :

  HISTORY

  - 01/12/2001 Verson 0.0.1: Initial release

  - 25/02/2003 Verson 0.0.2: Documentation, code clean up and checking

  NOTES

    This algorithm works on general graphs. The algorithm use the parameter depth in order to determine the depth of the neighbors. If no depth is given, the plugins automatically popup a qt windows to ask the user for this parameter.

  AUTHORS

    David Auber University Bordeaux I France, Email : auber@tulip-software.org

  LICENCE

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- ConnectedComponent

  Description

  ConnectedComponent.h - An implementation of the connected component algorithm.

  This plugin is an implementation of the connected componnent decompostion algorithm. each node and edge that belongs to the same component receive the same value.

  HISTORY

  - 01/07/2002 Verson 0.0.1: Initial release

  NOTES

    This algorithm assigns to each node a value defined as following : If two nodes are in the same connected component they have the same value else they have a different value.

  AUTHORS

    David Auber University Bordeaux I France: Email: auber@tulip-software.org

  LICENCE

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- DagLevelMetric

  Description

  DagLevelMeric.h - An implementation of DAG layer decomposition.

  This plugin is an implementation of a DAG layer decomposition

  HISTORY

  - 01/12/1999 Verson 0.0.1: Initial release

  - 06/11/2003 Verson 0.0.2: Documentation and code clean up and optimization

  NOTES

    This algorithm works on general DAG, the complexity is in O(|E|+|V|);

  AUTHORS

    David Auber University Bordeaux I France: Email: auber@tulip-software.com

  LICENCE

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- DepthMetric

  Description

  DepthMetric.h - This plugins compute for each node n, the maximum path-length between n and the other node.

  This plugins compute for each node n, the maximum path-length between n and the other node. The graph must be acyclic.

  HISTORY

  - 26/02/2001 Verson 0.0.1: First implementation.

  NOTES

    This algorithm works on general graphs.

  AUTHORS

    David Auber University Bordeaux I France: Email: auber@tulip-software.org

  LICENCE

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- EccentricityMetric

  Description

  EccentricyMetric.h - Compute the eccentricity of each node.

  This plugin compute the eccentricity of each node,

  Eccentricity is the maximum distance to go from a node to all others. In this version the value is normalized (1 means that a node is in the center of the network, 0 means that a node is the more eccentric in the network).

  More information about the use of eccentricity metric can be found in :

  Visone: Analysis and visualization of social networks.
  "Book. Graph Drawing Software. (Ed. Michael Junger & Petra Mutzel",
  Authors : Ulrik Brandes and Dorothea Wagner.
  "2004",
  pages 321-340.

  HISTORY

  18/06/2004 Verson 0.0.1: Initial release

  NOTES

    The complexity of the algorithm is O(|V| * |E|) time and O(1) space.

  AUTHORS

    David Auber University Bordeaux I France: Email: auber@tulip-software.com Tamara Munzner, University of British Columbia Canada. Email: tmm@cs.ubc.ca

  LICENCE

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- IdMetric

  Description

  IdDoubleMetric.h - This plugins assigns id to nodes and edges.

  This plugins assigns id to nodes and edges. The ids are those used by tulip.

  HISTORY

  - 26/02/2001 Verson 0.0.1: First implementation.

  NOTES

    This algorithm works on general graphs.

  AUTHORS

    David Auber University Bordeaux I France: Email: auber@tulip-software.org

  LICENCE

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- LeafMetric

  Description

  LeafMetric.h - Compute the number of leaves in the subtree induced by each node.

  Computes the number of leaves in the subtree induced by each node.

  HISTORY

  - 20/08/2001 Verson 0.0.1: Initial release

  NOTES

    This algorithm assigns to each node a value defined as following : If two nodes are in the same connected component they have the same value else they have a different value.

  AUTHORS

    David Auber University Bordeaux I France: Email: auber@tulip-software.org

  LICENCE

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- NodeMetric

  Description

  NodeMetric.h - Compute the number of nodes in the subtree induced by each node.

  Computes the number of nodes in the subtree induced by each node.

  HISTORY

  - 20/08/2001 Verson 0.0.1: Initial release

  NOTES

    This algorithm assigns to each node a value defined as following : If two nodes are in the same connected component they have the same value else they have a different value.

  AUTHORS

    David Auber University Bordeaux I France: Email: auber@tulip-software.org

  LICENCE

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- RandomMetric

  Description

  RandomMetric.h - This plugins assigns random values to nodes and edges.

  This plugins assigns random values to nodes and edges. the values are between 0 and 1.

  HISTORY

  - 26/02/2001 Verson 0.0.1: First implementation.

  NOTES

    This algorithm works on general graphs.

  AUTHORS

    David Auber University Bordeaux I France: Email: auber@tulip-software.org

  LICENCE

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- StrahlerMetric

  Description

  StrahlerMetric.h - An implementation of the Strahler parameter.

  This plugin is an implementation of the Strahler Parameter. algorithm first published as:

  A.N. Strahler ,
  "Hypsomic analysis of erosional topography",
  "Bulletin Geological Society of America 63,pages 1117-1142.",
  1952.

  Extended to graphs in :

  D. Auber,
  "Using Strahler numbers for real time visual exploration of huge graphs,
  ICCVG, International Conference on Computer Vision and Graphics,
  pages 56-69,
  2002, September.

  HISTORY

  - 01/12/1999 Verson 0.0.1: Initial release

  - 06/11/2002 Verson 0.0.2: Documentation and code clean up

  NOTES

    This algorithm works on general graphs, if no node is selected, the algorithm automatically choose the nodes with higher outdegree as starting nodes.

  The algorithm use the (bool)"viewSelection" property to determine the starting nodes.

  AUTHORS

    David Auber University Bordeaux I France: Email: auber@tulip-software.com

  LICENCE

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- StrengthMetric

  Description

  This plugin is an implementation of the Strength Parameter. algorithm first published in :

  Y. Chiricota. F.Jourdan, an G.Melancon
  "Software component capture using graph clustering",
  "IWPC",
  2002.

  HISTORY

  - 26/02/2002 Verson 0.0.1: First implementation.

  - 27/09/2005 Version 0.0.2: Fix bar normalisation of the parameter (error in the paper).

  NOTES

    This algorithm works on general graphs.

  AUTHORS

    David Auber University Bordeaux I France: Email: auber@tulip-software.org

  LICENCE

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

### Selection

- InducedSubGraphSelection

  Description

  This selection plugins enables to find a subgraph induced by a set of nodes.

  Let V' a subset of nodes, G' is an induced subgraph of G if all edges (and only these ones) element of G that link two nodes (only one in case of loop) of V' are in G'.

  AUTHORS

    David Auber, LaBRI University Bordeaux I France: auber@tulip-software.org

- Kruskal

  Description

  This selection plugins implements the so called Kruskal algorithm. This algorithm enables to find a minimum spanning tree in a connected graph.

  This selection plugins enables to find all nodes and edges at a fixed distance of a set of nodes.

  This only works on undirected graphs, (ie. the orientation of edges is omitted).

  It takes one parameter :

  - <DoubleProperty> edge weight, this parameter defines the weight of each edge in the graph.

  AUTHORS

    Anthony Don, LaBRI University Bordeaux I France:

- LoopSelection

  Description

  This selection plugins enables to find loops in a graph A loop is an edge that has the same source and target.

  AUTHORS

    David Auber, LaBRI University Bordeaux I France: auber@tulip-software.org

- MultipleEdgeSelection

  Description

  This selection plugins enables to find the multiple-edges and parallel-edges in a graph. Let e1, e2 two edges, e1 and e2 are parallel edges if source(e1)=source(e2) and target(e1) = target(e2). If it exists n edges between two nodes, only n-1 edges will be selected.

  AUTHORS

    David Auber, LaBRI University Bordeaux I France: auber@tulip-software.org

- ReachableSubGraphSelection

  Description

  This selection plugin enables to find all nodes and edges at a fixed distance of a set of nodes. It takes three parameters :

  - <int> distance

  - <int> direction : 0 means directed, 1 reverse directed, 2 undirected

  - <BooleanProperty *> startingnodes : the selected nodes of this BooleanProperty (those whose associated value is true) will be used as starting nodes.

  AUTHORS

    David Auber, LaBRI University Bordeaux I France: auber@tulip-software.org

- SpanningDagSelection

  Description

  This selection plugins enables to find a subgraph of G that is acyclic.

  AUTHORS

    David Auber, LaBRI University Bordeaux I France: auber@tulip-software.org

- SpanningTreeSelection

  Description

  This selection plugins enables to find a subgraph of G that is a forest (a set of trees).

  AUTHORS

    David Auber, LaBRI University Bordeaux I France: auber@tulip-software.org

### Size

- AutoSize

  Description

  AutoSize.cpp - Compute size in order to prevent node-node overlapping.

  This plug-ins compute size of nodes and edges such that, node-node overlapping do not exists (if it is possible). and sizes of edges are proportional to size of nodes.

  AUTHORS

    David Auber University Bordeaux I France: Email: auber@tulip-software.org

- FitToLabel

  Description

  FitToLabel.cpp - Compute size of elements according to the size of the displayed label.

  AUTHORS : Sebastien Carceles, Pascal Niotout, Sophie Bardet, Julien Mercadal, Bertrand Ng Sing Kwong

  AUTHORS

    Maintainer : David Auber University Bordeaux I France: Email: auber@tulip-software.org

- MetricSizeMapping

  Description

  Metric Mapping - Compute size of elements according to a metric.

  This plugin enables to set the size of the graph's elements according to a metric.

  AUTHORS

    David Auber University Bordeaux I France: Email: auber@tulip-software.org