Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

graph::easy::layout::chain(3pm) [debian man page]

Graph::Easy::Layout::Chain(3pm) 			User Contributed Perl Documentation			   Graph::Easy::Layout::Chain(3pm)

NAME
Graph::Easy::Layout::Chain - Chain of nodes for layouter SYNOPSIS
# used internally, do not use directly use Graph::Easy; use Graph::Easy::Layout::Chain; my $graph = Graph::Easy->new( ); my ($node, $node2) = $graph->add_edge( 'A', 'B' ); my $chain = Graph::Easy::Layout::Chain->new( start => $node, graph => $graph, ); $chain->add_node( $node2 ); DESCRIPTION
A "Graph::Easy::Layout::Chain" object represents a chain of nodes for the layouter. METHODS
new() my $chain = Graph::Easy::Layout::Chain->new( start => $node ); Create a new chain and set its starting node to $node. length() my $len = $chain->length(); Return the length of the chain, in nodes. my $len = $chain->length( $node ); Given an optional $node as argument, returns the length from that node onwards. For the chain with the three nodes A, B and C would return 3, 2, and 1 for A, B and C, respectively. Returns 0 if the passed node is not part of this chain. nodes() my @nodes = $chain->nodes(); Return all the node objects in the chain as list, in order. add_node() $chain->add_node( $node ); Add $node to the end of the chain. start() my $node = $chain->start(); Return first node in the chain. end() my $node = $chain->end(); Return last node in the chain. layout() my $todo = $chain->layout(); Return an action stack as array ref, containing the nec. actions to layout the chain (nodes, plus interlinks in the chain). Will recursively traverse all chains linked to this chain. merge() my $chain->merge ( $other_chain ); my $chain->merge ( $other_chain, $where ); Merge the other chain into ourselves, adding its nodes at our end. The other chain is emptied and must be deleted by the caller. If $where is defined and a member of $other_chain, absorb only the nodes from $where onwards, instead of all of them. error() $last_error = $node->error(); $node->error($error); # set new messags $node->error(''); # clear error Returns the last error message, or '' for no error. dump() $chain->dump(); Dump the chain to STDERR, to aid debugging. EXPORT
None by default. SEE ALSO
Graph::Easy, Graph::Easy::Layout. AUTHOR
Copyright (C) 2004 - 2006 by Tels <http://bloodgate.com>. See the LICENSE file for more details. perl v5.14.2 2011-12-23 Graph::Easy::Layout::Chain(3pm)

Check Out this Related Man Page

Graph::Easy::Layout::Path(3pm)				User Contributed Perl Documentation			    Graph::Easy::Layout::Path(3pm)

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.14.2 2011-12-23 Graph::Easy::Layout::Path(3pm)
Man Page