1Graph::Easy::Layout::ReUpsaeirr(C3o)ntributed Perl DocumGernatpaht:i:oEnasy::Layout::Repair(3)
2
3
4
6 Graph::Easy::Layout::Repair - Repair spliced layout with group cells
7
9 use Graph::Easy;
10
11 my $graph = Graph::Easy->new();
12
13 my $bonn = Graph::Easy::Node->new(
14 name => 'Bonn',
15 );
16 my $berlin = Graph::Easy::Node->new(
17 name => 'Berlin',
18 );
19
20 $graph->add_edge ($bonn, $berlin);
21
22 $graph->layout();
23
24 print $graph->as_ascii( );
25
26 # prints:
27
28 # +------+ +--------+
29 # | Bonn | --> | Berlin |
30 # +------+ +--------+
31
33 "Graph::Easy::Layout::Repair" contains code that can splice in group
34 cells into a layout, as well as repair the layout after that step.
35
36 It is part of Graph::Easy and used automatically.
37
39 "Graph::Easy::Layout" injects the following methods into the
40 "Graph::Easy" namespace:
41
42 _edges_into_groups()
43 Put the edges into the appropriate group and class.
44
45 _assign_ranks()
46 $graph->_assign_ranks();
47
48 _repair_nodes()
49 Splicing the rows/columns to add filler cells will have torn holes into
50 multi-edges nodes, so we insert additional filler cells to repair this.
51
52 _splice_edges()
53 Splicing the rows/columns to add filler cells might have torn holes
54 into multi-celled edges, so we splice these together again.
55
56 _repair_edges()
57 Splicing the rows/columns to add filler cells might have put "holes"
58 between an edge start/end and the node cell it points to. This routine
59 fixes this problem by extending the edge by one cell if necessary.
60
61 _fill_group_cells()
62 After doing a "layout()", we need to add the group to each cell based
63 on what group the nearest node is in.
64
65 This routine will also find the label cell for each group, and repair
66 edge/node damage done by the splicing.
67
69 Exports nothing.
70
72 Graph::Easy.
73
75 Copyright (C) 2004 - 2007 by Tels <http://bloodgate.com>
76
77 See the LICENSE file for information.
78
79
80
81perl v5.32.1 2021-01-27 Graph::Easy::Layout::Repair(3)