Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Graph::Easy::Layout::PUser3Contributed Perl DocumeGraph::Easy::Layout::Path(3)

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.

perl v5.32.1			  2016-06-06	  Graph::Easy::Layout::Path(3)

NAME | SYNOPSIS | DESCRIPTION | EXPORT | SEE ALSO | METHODS into Graph::Easy | METHODS in Graph::Easy::Node | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Graph::Easy::Layout::Path&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help