Man Linux: Main Page and Category List


       GEMLayout -

       An implementation of a spring-embedder layout.


       #include <GEMLayout.h>

       struct GEMparticule

   Public Member Functions
       GEMLayout (const tlp::PropertyContext &)
       ~GEMLayout ()
       bool run ()

Detailed 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,


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

       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.

           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).

           David Duke, University of Bath, UK: Email:

           David Auber,University of Bordeaux, FR: Email:
           Version 0.1: 23 July 2001. Version 0.2: September 2006

Constructor & Destructor Documentation

   GEMLayout::GEMLayout (const tlp::PropertyContext &)
   GEMLayout::~GEMLayout ()

Member Function Documentation

   bool GEMLayout::run ()


       Generated automatically by Doxygen for Tulip Plugins Library from the
       source code.