Graph-Easy
view release on metacpan or search on metacpan
t/in/1_selfloop.txt
t/in/1_selfloop_2.txt
t/in/1_selfloop_label.txt
t/in/1_undirected_loop.txt
t/in/1node.txt
t/in/25_autosplit_empty.txt
t/in/2_autolabel.txt
t/in/2_autosplit_empty.txt
t/in/2_autosplit_escaped.txt
t/in/2_bidi_astar.txt
t/in/2_bidi_endpoint.txt
t/in/2_class.txt
t/in/2_classes.txt
t/in/2_cluster.txt
t/in/2_cluster_2.txt
t/in/2_cluster_3.txt
t/in/2_dot.txt
t/in/2_dot_dot_dash.txt
t/in/2_edges.txt
t/in/2_flow.txt
t/in/2_graph_label.txt
t/out/1_selfloop.txt
t/out/1_selfloop_2.txt
t/out/1_selfloop_label.txt
t/out/1_undirected_loop.txt
t/out/1node.txt
t/out/25_autosplit_empty.txt
t/out/2_autolabel.txt
t/out/2_autosplit_empty.txt
t/out/2_autosplit_escaped.txt
t/out/2_bidi_astar.txt
t/out/2_bidi_endpoint.txt
t/out/2_class.txt
t/out/2_classes.txt
t/out/2_cluster.txt
t/out/2_cluster_2.txt
t/out/2_cluster_3.txt
t/out/2_dot.txt
t/out/2_dot_dot_dash.txt
t/out/2_edges.txt
t/out/2_flow.txt
t/out/2_graph_label.txt
lib/Graph/Easy/Layout/Scout.pm view on Meta::CPAN
my $start_to_end = {
EDGE_START_W() => EDGE_END_W(),
EDGE_START_E() => EDGE_END_E(),
EDGE_START_S() => EDGE_END_S(),
EDGE_START_N() => EDGE_END_N(),
};
sub _end_points
{
# modify last field of path to be the correct endpoint; and the first field
# to be the correct startpoint:
my ($self, $edge, $coords, $dx, $dy) = @_;
return $coords if $edge->undirected();
# there are two cases (for each dx and dy)
my $i = 0; # index 0,1
my $co = 2;
my $case;
lib/Graph/Easy/Layout/Scout.pm view on Meta::CPAN
EDGE_START_S,
];
my $end_flags = [
EDGE_END_W,
EDGE_END_N,
EDGE_END_E,
EDGE_END_S,
];
# if the target/source node is of shape "edge", remove the endpoint
if ( ($edge->{to}->attribute('shape')) eq 'edge')
{
$end_flags = [ 0,0,0,0 ];
}
if ( ($edge->{from}->attribute('shape')) eq 'edge')
{
$start_flags = [ 0,0,0,0 ];
}
my ($s_p,@ss_p) = $edge->port('start');
( run in 1.057 second using v1.01-cache-2.11-cpan-2b1a40005be )