Ton Hospel

NAME

Graph::Layout::Aesthetic::Force::MinLevelVariance - Try to put nodes at the same level equally far from the left

SYNOPSIS

  use Graph::Layout::Aesthetic;
  $aglo = Graph::Layout::Aesthetic->new($topology);
  $aglo->add_force("MinLevelVariance", 1);

DESCRIPTION

This module provides an aesthetic force for use by the Graph::Layout::Aesthetic package. It's normally implicitly loaded by using add_force.

The aesthetic force is that it tries to place nodes on the same level on the same distance from the left (same x-coordinate). The level of a node is roughly its distance from a leaf. For each level it then calculates the average x-coordinate, and for each node it then tries to move it along the x-axis with a force that grows as the third power of its distance from its level average.

The old aglo documentation describes the force of this aesthetic as being quadratic in the distance, but that's actually not what the code does.

METHODS

This class inherits from Graph::Layout::Aesthetic::Force and adds no methods of its own.

EXPORT

None.

SEE ALSO

Graph::Layout::Aesthetic, Graph::Layout::Aesthetic::Force

AUTHOR

Ton Hospel, <Graph-Layout-Aesthetic@ton.iguana.be>

COPYRIGHT AND LICENSE

Copyright (C) 2004 by Ton Hospel

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.6.1 or, at your option, any later version of Perl 5 you may have available.

Much of the underlying XS code is derived from C code copyrighted by D. Stott Parker, who released it under the GNU GENERAL PUBLIC LICENSE (version 1).