ruby-graphviz 1.0.7 → 1.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +4 -0
- data/bin/dot2ruby +5 -5
- data/bin/gem2gv +18 -18
- data/bin/git2gv +20 -20
- data/bin/ruby2gv +26 -26
- data/bin/xml2gv +5 -5
- data/examples/sample06.rb +5 -5
- data/examples/sample12.rb +3 -3
- data/examples/sample13.rb +8 -8
- data/examples/sample14.rb +8 -8
- data/examples/sample15.rb +1 -1
- data/examples/sample17.rb +7 -7
- data/examples/sample19.rb +10 -10
- data/examples/sample20.rb +2 -2
- data/examples/sample21.rb +1 -1
- data/examples/sample28.rb +1 -1
- data/examples/sample31.rb +1 -1
- data/examples/sample33.rb +10 -10
- data/examples/sample34.rb +1 -1
- data/examples/sample35.rb +7 -7
- data/examples/sample36.rb +2 -2
- data/examples/sample40.rb +4 -4
- data/examples/sample44.rb +72 -72
- data/examples/sample45.rb +4 -4
- data/examples/sample48.rb +7 -7
- data/examples/sample50.rb +1 -1
- data/examples/sample52.rb +2 -2
- data/examples/sample53.rb +2 -2
- data/examples/sample54.rb +3 -3
- data/examples/sample60.rb +2 -2
- data/examples/sample61.rb +2 -2
- data/examples/sample62.rb +2 -2
- data/examples/sample99.rb +15 -15
- data/examples/theory/pert.rb +2 -2
- data/examples/theory/tests.rb +2 -2
- data/lib/graphviz.rb +140 -140
- data/lib/graphviz/attrs.rb +6 -11
- data/lib/graphviz/constants.rb +35 -35
- data/lib/graphviz/core_ext.rb +1 -1
- data/lib/graphviz/dot2ruby.rb +7 -7
- data/lib/graphviz/dsl.rb +5 -5
- data/lib/graphviz/edge.rb +13 -13
- data/lib/graphviz/elements.rb +5 -5
- data/lib/graphviz/ext.rb +1 -1
- data/lib/graphviz/family_tree.rb +15 -15
- data/lib/graphviz/family_tree/couple.rb +11 -11
- data/lib/graphviz/family_tree/generation.rb +6 -6
- data/lib/graphviz/family_tree/person.rb +13 -13
- data/lib/graphviz/graphml.rb +39 -39
- data/lib/graphviz/math/matrix.rb +23 -23
- data/lib/graphviz/node.rb +8 -8
- data/lib/graphviz/nothugly.rb +3 -3
- data/lib/graphviz/theory.rb +8 -8
- data/lib/graphviz/types.rb +3 -3
- data/lib/graphviz/types/arrow_type.rb +3 -3
- data/lib/graphviz/types/color.rb +2 -2
- data/lib/graphviz/types/color_list.rb +2 -2
- data/lib/graphviz/types/esc_string.rb +2 -2
- data/lib/graphviz/types/gv_bool.rb +3 -3
- data/lib/graphviz/types/gv_double.rb +3 -3
- data/lib/graphviz/types/html_string.rb +2 -2
- data/lib/graphviz/types/lbl_string.rb +2 -2
- data/lib/graphviz/types/rect.rb +2 -2
- data/lib/graphviz/types/spline_type.rb +9 -9
- data/lib/graphviz/utils.rb +13 -13
- data/lib/graphviz/utils/colors.rb +35 -35
- data/lib/graphviz/xml.rb +24 -24
- data/setup.rb +4 -4
- data/test/test_graph.rb +9 -9
- data/test/test_subgraph.rb +1 -1
- data/test/test_theory.rb +4 -4
- data/test/test_utils_colors.rb +4 -4
- metadata +2 -2
data/examples/sample06.rb
CHANGED
@@ -4,7 +4,7 @@ require "graphviz"
|
|
4
4
|
GraphViz::new( "G", :rankdir => "LR", :type => "graph" ) { |graph|
|
5
5
|
graph.cluster0 { |cluster|
|
6
6
|
cluster[:label] = "Back Office"
|
7
|
-
|
7
|
+
|
8
8
|
cluster.fatman.set { |n|
|
9
9
|
n.label = "FatMan"
|
10
10
|
n.shape = "rect"
|
@@ -14,10 +14,10 @@ GraphViz::new( "G", :rankdir => "LR", :type => "graph" ) { |graph|
|
|
14
14
|
n.shape = "rect"
|
15
15
|
}
|
16
16
|
}
|
17
|
-
|
17
|
+
|
18
18
|
graph.cluster1 { |cluster|
|
19
19
|
cluster[:label] = "DMZ"
|
20
|
-
|
20
|
+
|
21
21
|
cluster.dupont.set { |n|
|
22
22
|
n.label = "Dupont"
|
23
23
|
n.shape = "rect"
|
@@ -30,13 +30,13 @@ GraphViz::new( "G", :rankdir => "LR", :type => "graph" ) { |graph|
|
|
30
30
|
|
31
31
|
graph.cluster2() { |cluster|
|
32
32
|
cluster[:label] = "Front Office"
|
33
|
-
|
33
|
+
|
34
34
|
cluster.door.set { |n|
|
35
35
|
n.label = "Door"
|
36
36
|
n.shape = "rect"
|
37
37
|
}
|
38
38
|
}
|
39
|
-
|
39
|
+
|
40
40
|
graph.cluster0.fatman << graph.cluster1.dupont
|
41
41
|
graph.cluster0.fatman << graph.cluster1.dupond
|
42
42
|
graph.cluster0.grobil << graph.cluster1.dupont
|
data/examples/sample12.rb
CHANGED
@@ -19,12 +19,12 @@ g.cluster0( ) do |cluster|
|
|
19
19
|
cluster[:label] = "process #1"
|
20
20
|
cluster[:style] = "filled"
|
21
21
|
cluster[:color] = "lightgrey"
|
22
|
-
|
22
|
+
|
23
23
|
cluster.a0 :style => "filled", :color => "white"
|
24
24
|
cluster.a1 :style => "filled", :color => "white"
|
25
25
|
cluster.a2 :style => "filled", :color => "white"
|
26
26
|
cluster.a3 :style => "filled", :color => "white"
|
27
|
-
|
27
|
+
|
28
28
|
cluster.a0 << cluster.a1
|
29
29
|
cluster.a1 << cluster.a2
|
30
30
|
cluster.a2 << cluster.a3
|
@@ -35,7 +35,7 @@ g.cluster1( :label => "process #2" ) do |cluster|
|
|
35
35
|
cluster.b1 :style => "filled", :color => "blue"
|
36
36
|
cluster.b2 :style => "filled", :color => "blue"
|
37
37
|
cluster.b3 :style => "filled", :color => "blue"
|
38
|
-
|
38
|
+
|
39
39
|
cluster.b0 << cluster.b1
|
40
40
|
cluster.b1 << cluster.b2
|
41
41
|
cluster.b2 << cluster.b3
|
data/examples/sample13.rb
CHANGED
@@ -6,38 +6,38 @@ require "graphviz"
|
|
6
6
|
GraphViz::new( "G" ) { |graph|
|
7
7
|
graph.node[:shape] = "ellipse"
|
8
8
|
graph.node[:color] = "black"
|
9
|
-
|
9
|
+
|
10
10
|
graph[:color] = "black"
|
11
|
-
|
11
|
+
|
12
12
|
graph.cluster0( ) do |cluster|
|
13
13
|
cluster[:label] = "process #1"
|
14
14
|
cluster[:style] = "filled"
|
15
15
|
cluster[:color] = "lightgrey"
|
16
|
-
|
16
|
+
|
17
17
|
cluster.a0 :style => "filled", :color => "white"
|
18
18
|
cluster.a1 :style => "filled", :color => "white"
|
19
19
|
cluster.a2 :style => "filled", :color => "white"
|
20
20
|
cluster.a3 :style => "filled", :color => "white"
|
21
|
-
|
21
|
+
|
22
22
|
cluster.a0 << cluster.a1
|
23
23
|
cluster.a1 << cluster.a2
|
24
24
|
cluster.a2 << cluster.a3
|
25
25
|
end
|
26
|
-
|
26
|
+
|
27
27
|
graph.cluster1( :label => "process #2" ) do |cluster|
|
28
28
|
cluster.b0 :style => "filled", :color => "blue"
|
29
29
|
cluster.b1 :style => "filled", :color => "blue"
|
30
30
|
cluster.b2 :style => "filled", :color => "blue"
|
31
31
|
cluster.b3 :style => "filled", :color => "blue"
|
32
|
-
|
32
|
+
|
33
33
|
cluster.b0 << cluster.b1
|
34
34
|
cluster.b1 << cluster.b2
|
35
35
|
cluster.b2 << cluster.b3
|
36
36
|
end
|
37
|
-
|
37
|
+
|
38
38
|
graph.start :shape => "Mdiamond"
|
39
39
|
graph.endn :shape => "Msquare", :label => "end"
|
40
|
-
|
40
|
+
|
41
41
|
graph.start << graph.cluster0.a0
|
42
42
|
graph.start << graph.cluster1.b0
|
43
43
|
graph.cluster0.a1 << graph.cluster1.b3
|
data/examples/sample14.rb
CHANGED
@@ -6,34 +6,34 @@ require "graphviz"
|
|
6
6
|
GraphViz::new( "G" ) { |graph|
|
7
7
|
graph.node[:shape] = "ellipse"
|
8
8
|
graph.node[:color] = "black"
|
9
|
-
|
9
|
+
|
10
10
|
graph[:color] = "black"
|
11
|
-
|
11
|
+
|
12
12
|
graph.cluster0( ) do |cluster|
|
13
13
|
cluster[:label] = "process #1"
|
14
14
|
cluster[:style] = "filled"
|
15
15
|
cluster[:color] = "lightgrey"
|
16
|
-
|
16
|
+
|
17
17
|
cluster.node[:style] = "filled"
|
18
18
|
cluster.node[:color] = "white"
|
19
|
-
|
19
|
+
|
20
20
|
cluster.a0 << cluster.a1
|
21
21
|
cluster.a1 << cluster.a2
|
22
22
|
cluster.a2 << cluster.a3
|
23
23
|
end
|
24
|
-
|
24
|
+
|
25
25
|
graph.cluster1( :label => "process #2", :color => "blue" ) do |cluster|
|
26
26
|
cluster.node[:style] = "filled"
|
27
27
|
cluster.node[:color] = "lightgrey"
|
28
|
-
|
28
|
+
|
29
29
|
cluster.b0 << cluster.b1
|
30
30
|
cluster.b1 << cluster.b2
|
31
31
|
cluster.b2 << cluster.b3
|
32
32
|
end
|
33
|
-
|
33
|
+
|
34
34
|
graph.start :shape => "Mdiamond"
|
35
35
|
graph.endn :shape => "Msquare", :label => "end"
|
36
|
-
|
36
|
+
|
37
37
|
graph.start << graph.cluster0.a0
|
38
38
|
graph.start << graph.cluster1.b0
|
39
39
|
graph.cluster0.a1 << graph.cluster1.b3
|
data/examples/sample15.rb
CHANGED
data/examples/sample17.rb
CHANGED
@@ -5,20 +5,20 @@ require "graphviz"
|
|
5
5
|
|
6
6
|
GraphViz::new( "G", :type => "graph", :rankdir => "LR", :bgcolor => "#808080" ) { |graph|
|
7
7
|
graph.edge[:dir] = "none"
|
8
|
-
|
8
|
+
|
9
9
|
graph.node[:width] = "0.3"
|
10
|
-
graph.node[:height] = "0.3"
|
10
|
+
graph.node[:height] = "0.3"
|
11
11
|
graph.node[:label] = ""
|
12
|
-
|
12
|
+
|
13
13
|
_ = {}
|
14
|
-
|
14
|
+
|
15
15
|
("1".."8").each do |v|
|
16
16
|
_[v] = graph.add_nodes( v, :shape => "circle", :style => "invis")
|
17
17
|
end
|
18
18
|
["10","20","30","40","50","60","70","80"].each do |v|
|
19
19
|
_[v] = graph.add_nodes( v, :shape => "circle", :style => "invis")
|
20
20
|
end
|
21
|
-
|
21
|
+
|
22
22
|
("a".."x").each do |v|
|
23
23
|
_[v] = graph.add_nodes( v, :shape => "circle")
|
24
24
|
end
|
@@ -26,7 +26,7 @@ GraphViz::new( "G", :type => "graph", :rankdir => "LR", :bgcolor => "#808080" )
|
|
26
26
|
("A".."X").each do |v|
|
27
27
|
_[v] = graph.add_nodes( v, :shape => "diamond")
|
28
28
|
end
|
29
|
-
|
29
|
+
|
30
30
|
(_["1"] << _["a"])[:color]="#0000ff"
|
31
31
|
(_["a"] << _["A"])[:color]="#0000ff"
|
32
32
|
(_["a"] << _["B"])[:color]="#0000ff"
|
@@ -51,7 +51,7 @@ GraphViz::new( "G", :type => "graph", :rankdir => "LR", :bgcolor => "#808080" )
|
|
51
51
|
(_["8"] << _["h"])[:color]="#ff00ff"
|
52
52
|
(_["h"] << _["H"])[:color]="#ff00ff"
|
53
53
|
(_["h"] << _["G"])[:color]="#ff00ff"
|
54
|
-
|
54
|
+
|
55
55
|
graph.edge[:color]="#ff0000:#0000ff"
|
56
56
|
_["A"] << _["i"]; _["i"] << [_["I"], _["K"]]
|
57
57
|
_["B"] << _["j"]; _["j"] << [_["J"], _["L"]]
|
data/examples/sample19.rb
CHANGED
@@ -6,13 +6,13 @@ require "graphviz"
|
|
6
6
|
GraphViz::new( "ER", :type => "graph", :use => "neato" ) { |graph|
|
7
7
|
graph.node[:shape] = "box"
|
8
8
|
graph.course; graph.institute; graph.student
|
9
|
-
|
9
|
+
|
10
10
|
graph.node[:shape] = "ellipse"
|
11
11
|
graph.name0(:label => "name")
|
12
12
|
graph.name1(:label => "name")
|
13
13
|
graph.name2(:label => "name")
|
14
14
|
graph.code; graph.grade; graph.number
|
15
|
-
|
15
|
+
|
16
16
|
graph.node[:shape] = "diamond"
|
17
17
|
graph.node[:style] = "filled"
|
18
18
|
graph.node[:color] = "lightgrey"
|
@@ -22,34 +22,34 @@ GraphViz::new( "ER", :type => "graph", :use => "neato" ) { |graph|
|
|
22
22
|
|
23
23
|
graph.name0 << graph.course;
|
24
24
|
graph.code << graph.course;
|
25
|
-
|
25
|
+
|
26
26
|
(graph.course << graph.ci).set { |e|
|
27
27
|
e.label = "n"
|
28
28
|
e.len = "1.00"
|
29
29
|
}
|
30
|
-
|
30
|
+
|
31
31
|
e = (graph.ci << graph.institute)
|
32
32
|
e.label = "1"
|
33
33
|
e[:len] = "1.00"
|
34
|
-
|
34
|
+
|
35
35
|
graph.institute << graph.name1;
|
36
|
-
|
36
|
+
|
37
37
|
e = (graph.institute << graph.si)
|
38
38
|
e[:label] = "1"
|
39
39
|
e[:len] = "1.00"
|
40
|
-
|
40
|
+
|
41
41
|
e = (graph.si << graph.student)
|
42
42
|
e[:label] = "n"
|
43
43
|
e[:len] = "1.00"
|
44
|
-
|
44
|
+
|
45
45
|
graph.student << graph.grade
|
46
46
|
graph.student << graph.name2
|
47
47
|
graph.student << graph.number
|
48
|
-
|
48
|
+
|
49
49
|
e = (graph.student << graph.sc)
|
50
50
|
e[:label] = "m"
|
51
51
|
e[:len] = "1.00"
|
52
|
-
|
52
|
+
|
53
53
|
e = (graph.sc << graph.course)
|
54
54
|
e[:label] = "n"
|
55
55
|
e[:len] = "1.00"
|
data/examples/sample20.rb
CHANGED
@@ -12,7 +12,7 @@ end
|
|
12
12
|
GraphViz::new( "g", :rankdir => "LR", :type => "digraph" ) { |g|
|
13
13
|
g.node[:fontsize] = "16"
|
14
14
|
g.node[:shape] = "record"
|
15
|
-
|
15
|
+
|
16
16
|
g.node0( :label => "<f0> 0x10ba8| <f1>" )
|
17
17
|
g.node1( :label => "<f0> 0xf7fc4380| <f1> | <f2> |-1" )
|
18
18
|
g.node2( :label => "<f0> 0xf7fc44b8| | |2" )
|
@@ -26,7 +26,7 @@ GraphViz::new( "g", :rankdir => "LR", :type => "digraph" ) { |g|
|
|
26
26
|
g.node10( :label => "<f0> (nil)| <f1> | <f2> |-1" )
|
27
27
|
g.node11( :label => "<f0> (nil)| <f1> | <f2> |-1" )
|
28
28
|
g.node12( :label => "<f0> 0xf7fc43e0| | |1" )
|
29
|
-
|
29
|
+
|
30
30
|
g.add_edges( g.node0(:f0), g.node1(:f0) )
|
31
31
|
g.add_edges( g.node0(:f1), g.node2(:f0) )
|
32
32
|
g.add_edges( g.node1(:f0), g.node3(:f0) )
|
data/examples/sample21.rb
CHANGED
data/examples/sample28.rb
CHANGED
@@ -5,7 +5,7 @@ require "graphviz"
|
|
5
5
|
|
6
6
|
GraphViz.new(:G){ |g|
|
7
7
|
g[:ratio => "auto", :label => "I love the world!"]
|
8
|
-
|
8
|
+
|
9
9
|
g.hello( :label => "Hello", :color => "blue" ) # You can do this
|
10
10
|
g.none[ :label => "World", :color => "green" ] # or that
|
11
11
|
(g.hello - g.none)[:style => :bold, :label => " I say"]
|
data/examples/sample31.rb
CHANGED
data/examples/sample33.rb
CHANGED
@@ -5,38 +5,38 @@ tree = GraphViz::FamilyTree.new do
|
|
5
5
|
generation do
|
6
6
|
abraham.is_a_man( "Abraham" )
|
7
7
|
mona.is_a_woman( "Mona" )
|
8
|
-
|
8
|
+
|
9
9
|
abraham.is_maried_with mona
|
10
|
-
|
10
|
+
|
11
11
|
clancy.is_a_man( "Clancy" )
|
12
12
|
jackeline.is_a_woman( "Jackeline" )
|
13
|
-
|
13
|
+
|
14
14
|
clancy.is_maried_with jackeline
|
15
15
|
end
|
16
|
-
|
16
|
+
|
17
17
|
generation do
|
18
18
|
herb.is_a_man( "Herb" )
|
19
19
|
homer.is_a_man( "Homer" )
|
20
|
-
|
20
|
+
|
21
21
|
marge.is_a_woman( "Marge" )
|
22
22
|
patty.is_a_woman( "Patty" )
|
23
|
-
selma.is_a_woman( "Selma" )
|
23
|
+
selma.is_a_woman( "Selma" )
|
24
24
|
|
25
25
|
homer.is_maried_with marge
|
26
26
|
end
|
27
|
-
|
27
|
+
|
28
28
|
couple( abraham, mona ).kids( herb, homer )
|
29
29
|
couple( clancy, jackeline ).kids( marge, patty, selma )
|
30
|
-
|
30
|
+
|
31
31
|
generation do
|
32
32
|
bart.is_a_boy( "Bart" )
|
33
33
|
lisa.is_a_girl( "Lisa" )
|
34
34
|
maggie.is_a_girl( "Maggie" )
|
35
35
|
ling.is_a_boy( "Ling" )
|
36
36
|
end
|
37
|
-
|
37
|
+
|
38
38
|
couple( homer, marge ).kids( bart, lisa, maggie )
|
39
|
-
|
39
|
+
|
40
40
|
ling.kids( selma )
|
41
41
|
end
|
42
42
|
|
data/examples/sample34.rb
CHANGED
data/examples/sample35.rb
CHANGED
@@ -6,24 +6,24 @@ require "graphviz"
|
|
6
6
|
GraphViz.digraph( :G ) { |g|
|
7
7
|
g[:truecolor => true, :bgcolor => "transparent", :rankdir => "LR"]
|
8
8
|
g.node[:label => "\N"]
|
9
|
-
|
9
|
+
|
10
10
|
c1 = g.subgraph { |c|
|
11
11
|
c[:rank => "same"]
|
12
12
|
c.mygraph[
|
13
|
-
:label => '# mygraph.dot\ldigraph G {\l Hello -> World\l}\l',
|
14
|
-
:shape => "note",
|
15
|
-
:fontname => "Courier",
|
13
|
+
:label => '# mygraph.dot\ldigraph G {\l Hello -> World\l}\l',
|
14
|
+
:shape => "note",
|
15
|
+
:fontname => "Courier",
|
16
16
|
:fontsize => 10
|
17
17
|
]
|
18
18
|
c.image[ :label => "", :shape => "note", :image => "./hello.png"]
|
19
19
|
}
|
20
|
-
|
20
|
+
|
21
21
|
c2 = g.subgraph { |c|
|
22
22
|
c[:rank => "same"]
|
23
23
|
c.mysite[:label => "\nexample.com\n ", :shape => "component", :fontname => "Arial"]
|
24
24
|
c.dotgraph[:label => "\ndotgraph.net\n ", :shape => "component", :fontname => "Arial"]
|
25
25
|
}
|
26
|
-
|
26
|
+
|
27
27
|
g.cluster_0 { |c|
|
28
28
|
c[
|
29
29
|
:label => "my_page.html",
|
@@ -33,7 +33,7 @@ GraphViz.digraph( :G ) { |g|
|
|
33
33
|
]
|
34
34
|
c.zeimage[:label => "", :shape => "note", :image => "./hello.png"]
|
35
35
|
}
|
36
|
-
|
36
|
+
|
37
37
|
(c1.mygraph << c2.mysite)[:color => "blue"]
|
38
38
|
(c2.dotgraph << c1.image)[:color => "red"]
|
39
39
|
(c2.dotgraph << c2.mysite)[:color => "red"]
|
data/examples/sample36.rb
CHANGED
@@ -6,12 +6,12 @@ require "graphviz"
|
|
6
6
|
GraphViz.graph( :G ) { |g|
|
7
7
|
last_line = []
|
8
8
|
node_number = 0
|
9
|
-
|
9
|
+
|
10
10
|
100.times do |j|
|
11
11
|
# New_Line
|
12
12
|
new_line = []
|
13
13
|
c = g.subgraph( :rank => "same" )
|
14
|
-
|
14
|
+
|
15
15
|
100.times do |i|
|
16
16
|
current_node = c.add_nodes( "N#{node_number}", :shape => "point", :label => "" )
|
17
17
|
last_node = new_line[-1]
|
data/examples/sample40.rb
CHANGED
@@ -3,12 +3,12 @@ require "graphviz"
|
|
3
3
|
|
4
4
|
graph = GraphViz.new( :G, :type => :digraph )
|
5
5
|
|
6
|
-
node1 = graph.add_nodes("hello:world",
|
7
|
-
"shape" => "record",
|
6
|
+
node1 = graph.add_nodes("hello:world",
|
7
|
+
"shape" => "record",
|
8
8
|
"label" => "<left>|<f1> 1|<right>" )
|
9
9
|
|
10
|
-
node2 = graph.add_nodes("2",
|
11
|
-
"shape" => "record",
|
10
|
+
node2 = graph.add_nodes("2",
|
11
|
+
"shape" => "record",
|
12
12
|
"label" => "<left>|<f1> 2|<right>" )
|
13
13
|
|
14
14
|
graph.add_edges( {node1 => :left}, node2 )
|
data/examples/sample44.rb
CHANGED
@@ -15,78 +15,78 @@ g.node["shape"] = "ellipse"
|
|
15
15
|
g.edge["arrowhead"] = "normal"
|
16
16
|
|
17
17
|
[
|
18
|
-
"box",
|
19
|
-
"boxbox",
|
20
|
-
"lbox",
|
21
|
-
"lboxlbox",
|
22
|
-
"rbox",
|
23
|
-
"rboxrbox",
|
24
|
-
"olbox",
|
25
|
-
"olboxolbox",
|
26
|
-
"orbox",
|
27
|
-
"orboxorbox",
|
28
|
-
"obox",
|
29
|
-
"oboxobox",
|
30
|
-
"crow",
|
31
|
-
"crowcrow",
|
32
|
-
"lcrow",
|
33
|
-
"lcrowlcrow",
|
34
|
-
"rcrow",
|
35
|
-
"rcrowrcrow",
|
36
|
-
"diamond",
|
37
|
-
"diamonddiamond",
|
38
|
-
"ldiamond",
|
39
|
-
"ldiamondldiamond",
|
40
|
-
"rdiamond",
|
41
|
-
"rdiamondrdiamond",
|
42
|
-
"oldiamond",
|
43
|
-
"oldiamondoldiamond",
|
44
|
-
"ordiamond",
|
45
|
-
"ordiamondordiamond",
|
46
|
-
"odiamond",
|
47
|
-
"odiamondodiamond",
|
48
|
-
"dot",
|
49
|
-
"dotdot",
|
50
|
-
"odot",
|
51
|
-
"odotodot",
|
52
|
-
"inv",
|
53
|
-
"invinv",
|
54
|
-
"linv",
|
55
|
-
"linvlinv",
|
56
|
-
"rinv",
|
57
|
-
"rinvrinv",
|
58
|
-
"olinv",
|
59
|
-
"olinvolinv",
|
60
|
-
"orinv",
|
61
|
-
"orinvorinv",
|
62
|
-
"oinv",
|
63
|
-
"oinvoinv",
|
64
|
-
"none",
|
65
|
-
"nonenone",
|
66
|
-
"normal",
|
67
|
-
"normalnormal",
|
68
|
-
"lnormal",
|
69
|
-
"lnormallnormal",
|
70
|
-
"rnormal",
|
71
|
-
"rnormalrnormal",
|
72
|
-
"olnormal",
|
73
|
-
"olnormalolnormal",
|
74
|
-
"ornormal",
|
75
|
-
"ornormalornormal",
|
76
|
-
"onormal",
|
77
|
-
"onormalonormal",
|
78
|
-
"tee",
|
79
|
-
"teetee",
|
80
|
-
"ltee",
|
81
|
-
"lteeltee",
|
82
|
-
"rtee",
|
83
|
-
"rteertee",
|
84
|
-
"vee",
|
85
|
-
"veevee",
|
86
|
-
"lvee",
|
87
|
-
"lveelvee",
|
88
|
-
"rvee",
|
89
|
-
"rveervee"
|
18
|
+
"box",
|
19
|
+
"boxbox",
|
20
|
+
"lbox",
|
21
|
+
"lboxlbox",
|
22
|
+
"rbox",
|
23
|
+
"rboxrbox",
|
24
|
+
"olbox",
|
25
|
+
"olboxolbox",
|
26
|
+
"orbox",
|
27
|
+
"orboxorbox",
|
28
|
+
"obox",
|
29
|
+
"oboxobox",
|
30
|
+
"crow",
|
31
|
+
"crowcrow",
|
32
|
+
"lcrow",
|
33
|
+
"lcrowlcrow",
|
34
|
+
"rcrow",
|
35
|
+
"rcrowrcrow",
|
36
|
+
"diamond",
|
37
|
+
"diamonddiamond",
|
38
|
+
"ldiamond",
|
39
|
+
"ldiamondldiamond",
|
40
|
+
"rdiamond",
|
41
|
+
"rdiamondrdiamond",
|
42
|
+
"oldiamond",
|
43
|
+
"oldiamondoldiamond",
|
44
|
+
"ordiamond",
|
45
|
+
"ordiamondordiamond",
|
46
|
+
"odiamond",
|
47
|
+
"odiamondodiamond",
|
48
|
+
"dot",
|
49
|
+
"dotdot",
|
50
|
+
"odot",
|
51
|
+
"odotodot",
|
52
|
+
"inv",
|
53
|
+
"invinv",
|
54
|
+
"linv",
|
55
|
+
"linvlinv",
|
56
|
+
"rinv",
|
57
|
+
"rinvrinv",
|
58
|
+
"olinv",
|
59
|
+
"olinvolinv",
|
60
|
+
"orinv",
|
61
|
+
"orinvorinv",
|
62
|
+
"oinv",
|
63
|
+
"oinvoinv",
|
64
|
+
"none",
|
65
|
+
"nonenone",
|
66
|
+
"normal",
|
67
|
+
"normalnormal",
|
68
|
+
"lnormal",
|
69
|
+
"lnormallnormal",
|
70
|
+
"rnormal",
|
71
|
+
"rnormalrnormal",
|
72
|
+
"olnormal",
|
73
|
+
"olnormalolnormal",
|
74
|
+
"ornormal",
|
75
|
+
"ornormalornormal",
|
76
|
+
"onormal",
|
77
|
+
"onormalonormal",
|
78
|
+
"tee",
|
79
|
+
"teetee",
|
80
|
+
"ltee",
|
81
|
+
"lteeltee",
|
82
|
+
"rtee",
|
83
|
+
"rteertee",
|
84
|
+
"vee",
|
85
|
+
"veevee",
|
86
|
+
"lvee",
|
87
|
+
"lveelvee",
|
88
|
+
"rvee",
|
89
|
+
"rveervee"
|
90
90
|
].each { |s|
|
91
91
|
p = "p_" << s
|
92
92
|
g.add_nodes( p, "shape" => "point" )
|