Provided by: libgraph-easy-perl_0.76-1_all
NAME
Graph::Easy::Layout::Path - Path management for Manhattan-style grids
SYNOPSIS
use Graph::Easy; my $graph = Graph::Easy->new(); my $bonn = Graph::Easy::Node->new( name => 'Bonn', ); my $berlin = Graph::Easy::Node->new( name => 'Berlin', ); $graph->add_edge ($bonn, $berlin); $graph->layout(); print $graph->as_ascii( ); # prints: # +------+ +--------+ # | Bonn | --> | Berlin | # +------+ +--------+
DESCRIPTION
"Graph::Easy::Layout::Scout" contains just the actual path-managing code for Graph::Easy, e.g. to create/destroy/maintain paths, node placement etc.
EXPORT
Exports nothing.
SEE ALSO
Graph::Easy.
METHODS into Graph::Easy
This module injects the following methods into "Graph::Easy": _path_is_clear() $graph->_path_is_clear($path); For all points (x,y pairs) in the path, check that the cell is still free. $path points to a list x,y,type pairs as in "[ [x,y,type], [x,y,type], ...]". _create_cell() my $cell = $graph->($edge,$x,$y,$type); Create a cell at "$x,$y" coordinates with type $type for the specified edge. _path_is_clear() $graph->_path_is_clear(); For all points (x,y pairs) in the path, check that the cell is still free. $path points to a list of "[ x,y,type, x,y,type, ...]". Returns true when the path is clear, false otherwise. _trace_path() my $path = my $graph->_trace_path($src,$dst,$edge); Find a free way from source node/group to destination node/group for the specified edge. Both source and destination need to be placed beforehand.
METHODS in Graph::Easy::Node
This module injects the following methods into "Graph::Easy::Node": _near_places() my $node->_near_places(); Take a node and return a list of possible placements around it and prune out already occupied cells. $d is the distance from the node border and defaults to two (for placements). Set it to one for adjacent cells. _shuffle_dir() my $dirs = $node->_shuffle_dir( [ 0,1,2,3 ], $dir); Take a ref to an array with four entries and shuffle them around according to $dir. _shift() my $dir = $node->_shift($degrees); Return a the "flow()" direction shifted by X degrees to $dir.
AUTHOR
Copyright (C) 2004 - 2007 by Tels <http://bloodgate.com>. See the LICENSE file for information.