Graph::Easy::Edge - An edge (a path from one node to another)
use Graph::Easy; my $ssl = Graph::Easy::Edge->new( label => 'encrypted connection', style => 'solid', ); $ssl->set_attribute('color', 'red'); my $src = Graph::Easy::Node->new('source'); my $dst = Graph::Easy::Node->new('destination'); $graph = Graph::Easy->new(); $graph->add_edge($src, $dst, $ssl); print $graph->as_ascii();
A Graph::Easy::Edge represents an edge between two (or more) nodes in a simple graph.
Graph::Easy::Edge
Each edge has a direction (from source to destination, or back and forth), plus a style (line width and style), colors etc. It can also have a label, e.g. a text associated with it.
Each edge also contains a list of path-elements (also called cells), which make up the path from source to destination.
$last_error = $edge->error(); $cvt->error($error); # set new messags $cvt->error(''); # clear error
Returns the last error message, or '' for no error.
my $ascii = $edge->as_ascii();
Returns the edge as a little ascii representation.
my $txt = $edge->as_txt();
Returns the edge as a little Graph::Easy textual representation.
my $label = $edge->label();
Returns the label (also known as 'name') of the edge.
my $style = $edge->style();
Returns the style of the edge, like 'solid', 'dotted', 'double', etc.
my @nodes = $edge->to_nodes();
Return the nodes this edge connects to, as objects.
my @nodes = $edge->from_nodes();
Return the nodes (that connections come from) as objects.
my @nodes = $edge->nodes();
Return all the nodes connected (in either direction) by this edge as objects.
$edge->add_cell( $cell );
Add a new cell to the edge. $cell should be an Graph::Easy::Path object.
$cell
$edge->clear_cells();
Removes all belonging cells.
my $cells = $edge->cells();
Returns a hash containing all the cells this edge currently occupies. Keys on the hash are of the form of $x,$y e.g. 5,3 denoting cell at X = 5 and Y = 3. The values of the hash are the cell objects.
$x,$y
5,3
$edge->bidirectional(1); if ($edge->bidirectional()) { }
Returns true if the edge is bidirectional, aka has arrow heads on both ends. An optional parameter will set the bidirectional status of the edge.
$edge->undirected(1); if ($edge->undirected()) { }
Returns true if the edge is undirected, aka has now arrow at all. An optional parameter will set the undirected status of the edge.
my $from = $edge->from();
Returns the node that this edge starts at. See also to().
to()
my $to = $edge->to();
Returns the node that this edge leads to. See also from().
from()
None by default.
Edges that join another edge.
Graph::Easy.
Copyright (C) 2004 - 2005 by Tels http://bloodgate.com.
See the LICENSE file for more details.
To install Graph::Easy, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Graph::Easy
CPAN shell
perl -MCPAN -e shell install Graph::Easy
For more information on module installation, please visit the detailed CPAN module installation guide.