ruby-graphviz 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +3 -0
- data/AUTHORS.rdoc +3 -0
- data/CHANGELOG.rdoc +10 -0
- data/Rakefile +1 -10
- data/examples/graphml/failed_graph.graphml +461 -0
- data/examples/rgv/rgv.ps +125 -0
- data/examples/rgv/test_rgv.rb +12 -0
- data/examples/sample43.rb +1 -1
- data/lib/ext/gvpr/dot2ruby.g +26 -24
- data/lib/graphviz/constants.rb +1 -1
- data/lib/graphviz/graphml.rb +83 -42
- data/lib/graphviz/nothugly.rb +28 -7
- data/lib/graphviz/utils/colors.rb +3 -3
- data/lib/graphviz.rb +2 -2
- data/lib/ruby-graphviz.rb +1 -0
- metadata +78 -86
data/.gitignore
CHANGED
data/AUTHORS.rdoc
CHANGED
@@ -16,6 +16,9 @@
|
|
16
16
|
* Ronen Barzel <https://github.com/ronen>
|
17
17
|
* Jamison Dance <https://github.com/jergason>
|
18
18
|
* hirochachacha <https://github.com/hirochachacha>
|
19
|
+
* coding64 (https://github.com/coding46)
|
20
|
+
* Neven Has (https://github.com/nevenh)
|
21
|
+
* Postmodern (https://github.com/postmodern)
|
19
22
|
|
20
23
|
Thanks to :
|
21
24
|
|
data/CHANGELOG.rdoc
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
= CHANGELOG
|
2
2
|
|
3
|
+
== 1.0.6 :
|
4
|
+
* Issue #46 : Some tests fail because it cannot find 'dot'
|
5
|
+
* Issue #45 : Fix for copy/paste error (by coding46)
|
6
|
+
* Issue #44 : characters escaping (by Neven Has)
|
7
|
+
* Issue #43 : Added lib/ruby-graphviz to match the gem name (by Postmodern)
|
8
|
+
* Issue #42 : "escaped dot in label" aka "GVPR error in Dot2Ruby"
|
9
|
+
* Issue #40 : GraphML importation doesn't work...
|
10
|
+
* Bug correction (with Ruby 1.8)
|
11
|
+
* Add (experimental) support of LibXML/LibXSLT
|
12
|
+
|
3
13
|
== 1.0.5 :
|
4
14
|
* Change deprecated methods in gem2gv, git2gv and ruby2gv
|
5
15
|
* Issue #38
|
data/Rakefile
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
$:.unshift( "lib" )
|
2
2
|
require "graphviz/constants"
|
3
3
|
|
4
|
+
require 'rubygems'
|
4
5
|
require 'rake/clean'
|
5
6
|
require 'bundler'
|
6
7
|
require 'rubygems/package_task'
|
@@ -53,13 +54,3 @@ end
|
|
53
54
|
|
54
55
|
Bundler::GemHelper.install_tasks
|
55
56
|
|
56
|
-
namespace :gemcutter do
|
57
|
-
desc "check gemcutter status"
|
58
|
-
task :status do
|
59
|
-
if Rubygems.status
|
60
|
-
puts "This gem already existe in version #{PKG_VERS}!"
|
61
|
-
else
|
62
|
-
puts "This gem (#{Constants::RGV_VERSION}) has not been published! Last version at gemcutter is #{Rubygems.version}"
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
@@ -0,0 +1,461 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
|
3
|
+
<!--Created by yFiles for Java 2.9-->
|
4
|
+
<key for="graphml" id="d0" yfiles.type="resources"/>
|
5
|
+
<key for="port" id="d1" yfiles.type="portgraphics"/>
|
6
|
+
<key for="port" id="d2" yfiles.type="portgeometry"/>
|
7
|
+
<key for="port" id="d3" yfiles.type="portuserdata"/>
|
8
|
+
<key attr.name="url" attr.type="string" for="node" id="d4"/>
|
9
|
+
<key attr.name="description" attr.type="string" for="node" id="d5"/>
|
10
|
+
<key for="node" id="d6" yfiles.type="nodegraphics"/>
|
11
|
+
<key attr.name="Description" attr.type="string" for="graph" id="d7"/>
|
12
|
+
<key attr.name="url" attr.type="string" for="edge" id="d8"/>
|
13
|
+
<key attr.name="description" attr.type="string" for="edge" id="d9"/>
|
14
|
+
<key for="edge" id="d10" yfiles.type="edgegraphics"/>
|
15
|
+
<graph edgedefault="directed" id="G">
|
16
|
+
<data key="d7"/>
|
17
|
+
<node id="n0">
|
18
|
+
<data key="d6">
|
19
|
+
<y:ShapeNode>
|
20
|
+
<y:Geometry height="30.0" width="30.0" x="243.0212626845818" y="60.0"/>
|
21
|
+
<y:Fill color="#FFCC00" transparent="false"/>
|
22
|
+
<y:BorderStyle color="#000000" type="line" width="1.0"/>
|
23
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="11.869140625" x="9.0654296875" y="6.015625">K<y:LabelModel>
|
24
|
+
<y:SmartNodeLabelModel distance="4.0"/>
|
25
|
+
</y:LabelModel>
|
26
|
+
<y:ModelParameter>
|
27
|
+
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
|
28
|
+
</y:ModelParameter>
|
29
|
+
</y:NodeLabel>
|
30
|
+
<y:Shape type="rectangle"/>
|
31
|
+
</y:ShapeNode>
|
32
|
+
</data>
|
33
|
+
</node>
|
34
|
+
<node id="n1">
|
35
|
+
<data key="d4"><![CDATA[vdddd]]></data>
|
36
|
+
<data key="d5"><![CDATA[fddf]]></data>
|
37
|
+
<data key="d6">
|
38
|
+
<y:ShapeNode>
|
39
|
+
<y:Geometry height="30.0" width="30.0" x="243.0212626845818" y="0.0"/>
|
40
|
+
<y:Fill color="#FFCC00" transparent="false"/>
|
41
|
+
<y:BorderStyle color="#000000" type="line" width="1.0"/>
|
42
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="10.685546875" x="9.6572265625" y="6.015625">L<y:LabelModel>
|
43
|
+
<y:SmartNodeLabelModel distance="4.0"/>
|
44
|
+
</y:LabelModel>
|
45
|
+
<y:ModelParameter>
|
46
|
+
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
|
47
|
+
</y:ModelParameter>
|
48
|
+
</y:NodeLabel>
|
49
|
+
<y:Shape type="rectangle"/>
|
50
|
+
</y:ShapeNode>
|
51
|
+
</data>
|
52
|
+
</node>
|
53
|
+
<node id="n2">
|
54
|
+
<data key="d6">
|
55
|
+
<y:ShapeNode>
|
56
|
+
<y:Geometry height="30.0" width="30.0" x="168.0212626845818" y="245.2812002579896"/>
|
57
|
+
<y:Fill color="#FFCC00" transparent="false"/>
|
58
|
+
<y:BorderStyle color="#000000" type="line" width="1.0"/>
|
59
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="7.5390625" x="11.23046875" y="6.015625">J<y:LabelModel>
|
60
|
+
<y:SmartNodeLabelModel distance="4.0"/>
|
61
|
+
</y:LabelModel>
|
62
|
+
<y:ModelParameter>
|
63
|
+
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
|
64
|
+
</y:ModelParameter>
|
65
|
+
</y:NodeLabel>
|
66
|
+
<y:Shape type="rectangle"/>
|
67
|
+
</y:ShapeNode>
|
68
|
+
</data>
|
69
|
+
</node>
|
70
|
+
<node id="n3">
|
71
|
+
<data key="d6">
|
72
|
+
<y:ShapeNode>
|
73
|
+
<y:Geometry height="30.0" width="30.0" x="117.83028446031335" y="231.83256817546885"/>
|
74
|
+
<y:Fill color="#FFCC00" transparent="false"/>
|
75
|
+
<y:BorderStyle color="#000000" type="line" width="1.0"/>
|
76
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="11.58203125" x="9.208984375" y="6.015625">E<y:LabelModel>
|
77
|
+
<y:SmartNodeLabelModel distance="4.0"/>
|
78
|
+
</y:LabelModel>
|
79
|
+
<y:ModelParameter>
|
80
|
+
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
|
81
|
+
</y:ModelParameter>
|
82
|
+
</y:NodeLabel>
|
83
|
+
<y:Shape type="rectangle"/>
|
84
|
+
</y:ShapeNode>
|
85
|
+
</data>
|
86
|
+
</node>
|
87
|
+
<node id="n4">
|
88
|
+
<data key="d6">
|
89
|
+
<y:ShapeNode>
|
90
|
+
<y:Geometry height="30.0" width="30.0" x="131.27891654283417" y="282.0235463997373"/>
|
91
|
+
<y:Fill color="#FFCC00" transparent="false"/>
|
92
|
+
<y:BorderStyle color="#000000" type="line" width="1.0"/>
|
93
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="7.5390625" x="11.23046875" y="6.015625">I<y:LabelModel>
|
94
|
+
<y:SmartNodeLabelModel distance="4.0"/>
|
95
|
+
</y:LabelModel>
|
96
|
+
<y:ModelParameter>
|
97
|
+
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
|
98
|
+
</y:ModelParameter>
|
99
|
+
</y:NodeLabel>
|
100
|
+
<y:Shape type="rectangle"/>
|
101
|
+
</y:ShapeNode>
|
102
|
+
</data>
|
103
|
+
</node>
|
104
|
+
<node id="n5">
|
105
|
+
<data key="d6">
|
106
|
+
<y:ShapeNode>
|
107
|
+
<y:Geometry height="30.0" width="30.0" x="168.0212626845818" y="36.74234614174766"/>
|
108
|
+
<y:Fill color="#FFCC00" transparent="false"/>
|
109
|
+
<y:BorderStyle color="#000000" type="line" width="1.0"/>
|
110
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="13.0234375" x="8.48828125" y="6.015625">H<y:LabelModel>
|
111
|
+
<y:SmartNodeLabelModel distance="4.0"/>
|
112
|
+
</y:LabelModel>
|
113
|
+
<y:ModelParameter>
|
114
|
+
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
|
115
|
+
</y:ModelParameter>
|
116
|
+
</y:NodeLabel>
|
117
|
+
<y:Shape type="rectangle"/>
|
118
|
+
</y:ShapeNode>
|
119
|
+
</data>
|
120
|
+
</node>
|
121
|
+
<node id="n6">
|
122
|
+
<data key="d6">
|
123
|
+
<y:ShapeNode>
|
124
|
+
<y:Geometry height="30.0" width="30.0" x="131.2789165428341" y="0.0"/>
|
125
|
+
<y:Fill color="#FFCC00" transparent="false"/>
|
126
|
+
<y:BorderStyle color="#000000" type="line" width="1.0"/>
|
127
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="13.298828125" x="8.3505859375" y="6.015625">G<y:LabelModel>
|
128
|
+
<y:SmartNodeLabelModel distance="4.0"/>
|
129
|
+
</y:LabelModel>
|
130
|
+
<y:ModelParameter>
|
131
|
+
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
|
132
|
+
</y:ModelParameter>
|
133
|
+
</y:NodeLabel>
|
134
|
+
<y:Shape type="rectangle"/>
|
135
|
+
</y:ShapeNode>
|
136
|
+
</data>
|
137
|
+
</node>
|
138
|
+
<node id="n7">
|
139
|
+
<data key="d6">
|
140
|
+
<y:ShapeNode>
|
141
|
+
<y:Geometry height="30.0" width="30.0" x="117.83028446031332" y="50.19097822426849"/>
|
142
|
+
<y:Fill color="#FFCC00" transparent="false"/>
|
143
|
+
<y:BorderStyle color="#000000" type="line" width="1.0"/>
|
144
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="13.240234375" x="8.3798828125" y="6.015625">D<y:LabelModel>
|
145
|
+
<y:SmartNodeLabelModel distance="4.0"/>
|
146
|
+
</y:LabelModel>
|
147
|
+
<y:ModelParameter>
|
148
|
+
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
|
149
|
+
</y:ModelParameter>
|
150
|
+
</y:NodeLabel>
|
151
|
+
<y:Shape type="rectangle"/>
|
152
|
+
</y:ShapeNode>
|
153
|
+
</data>
|
154
|
+
</node>
|
155
|
+
<node id="n8">
|
156
|
+
<data key="d6">
|
157
|
+
<y:ShapeNode>
|
158
|
+
<y:Geometry height="30.0" width="30.0" x="1.4210854715202004E-14" y="168.02126268458187"/>
|
159
|
+
<y:Fill color="#FFCC00" transparent="false"/>
|
160
|
+
<y:BorderStyle color="#000000" type="line" width="1.0"/>
|
161
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="10.90234375" x="9.548828125" y="6.015625">F<y:LabelModel>
|
162
|
+
<y:SmartNodeLabelModel distance="4.0"/>
|
163
|
+
</y:LabelModel>
|
164
|
+
<y:ModelParameter>
|
165
|
+
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
|
166
|
+
</y:ModelParameter>
|
167
|
+
</y:NodeLabel>
|
168
|
+
<y:Shape type="rectangle"/>
|
169
|
+
</y:ShapeNode>
|
170
|
+
</data>
|
171
|
+
</node>
|
172
|
+
<node id="n9">
|
173
|
+
<data key="d6">
|
174
|
+
<y:ShapeNode>
|
175
|
+
<y:Geometry height="30.0" width="30.0" x="54.018978969426385" y="168.02126268458187"/>
|
176
|
+
<y:Fill color="#FFCC00" transparent="false"/>
|
177
|
+
<y:BorderStyle color="#000000" type="line" width="1.0"/>
|
178
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="12.232421875" x="8.8837890625" y="6.015625">B<y:LabelModel>
|
179
|
+
<y:SmartNodeLabelModel distance="4.0"/>
|
180
|
+
</y:LabelModel>
|
181
|
+
<y:ModelParameter>
|
182
|
+
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
|
183
|
+
</y:ModelParameter>
|
184
|
+
</y:NodeLabel>
|
185
|
+
<y:Shape type="rectangle"/>
|
186
|
+
</y:ShapeNode>
|
187
|
+
</data>
|
188
|
+
</node>
|
189
|
+
<node id="n10">
|
190
|
+
<data key="d6">
|
191
|
+
<y:ShapeNode>
|
192
|
+
<y:Geometry height="30.0" width="30.0" x="0.0" y="114.0022837151555"/>
|
193
|
+
<y:Fill color="#FFCC00" transparent="false"/>
|
194
|
+
<y:BorderStyle color="#000000" type="line" width="1.0"/>
|
195
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="12.37890625" x="8.810546875" y="6.015625">C<y:LabelModel>
|
196
|
+
<y:SmartNodeLabelModel distance="4.0"/>
|
197
|
+
</y:LabelModel>
|
198
|
+
<y:ModelParameter>
|
199
|
+
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
|
200
|
+
</y:ModelParameter>
|
201
|
+
</y:NodeLabel>
|
202
|
+
<y:Shape type="rectangle"/>
|
203
|
+
</y:ShapeNode>
|
204
|
+
</data>
|
205
|
+
</node>
|
206
|
+
<node id="n11">
|
207
|
+
<data key="d6">
|
208
|
+
<y:ShapeNode>
|
209
|
+
<y:Geometry height="30.0" width="30.0" x="54.01897896942637" y="114.0022837151555"/>
|
210
|
+
<y:Fill color="#FFCC00" transparent="false"/>
|
211
|
+
<y:BorderStyle color="#000000" type="line" width="1.0"/>
|
212
|
+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="12.208984375" x="8.8955078125" y="6.015625">A<y:LabelModel>
|
213
|
+
<y:SmartNodeLabelModel distance="4.0"/>
|
214
|
+
</y:LabelModel>
|
215
|
+
<y:ModelParameter>
|
216
|
+
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
|
217
|
+
</y:ModelParameter>
|
218
|
+
</y:NodeLabel>
|
219
|
+
<y:Shape type="rectangle"/>
|
220
|
+
</y:ShapeNode>
|
221
|
+
</data>
|
222
|
+
</node>
|
223
|
+
<edge id="e0" source="n0" target="n1">
|
224
|
+
<data key="d10">
|
225
|
+
<y:PolyLineEdge>
|
226
|
+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
|
227
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
228
|
+
<y:Arrows source="none" target="standard"/>
|
229
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="27.99999193262869" y="-17.0">
|
230
|
+
<y:LabelModel>
|
231
|
+
<y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/>
|
232
|
+
</y:LabelModel>
|
233
|
+
<y:ModelParameter>
|
234
|
+
<y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="right" ratio="0.5" segment="0"/>
|
235
|
+
</y:ModelParameter>
|
236
|
+
</y:EdgeLabel>
|
237
|
+
<y:BendStyle smoothed="false"/>
|
238
|
+
</y:PolyLineEdge>
|
239
|
+
</data>
|
240
|
+
</edge>
|
241
|
+
<edge id="e1" source="n11" target="n7">
|
242
|
+
<data key="d10">
|
243
|
+
<y:PolyLineEdge>
|
244
|
+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
|
245
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
246
|
+
<y:Arrows source="none" target="standard"/>
|
247
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="36.11885321687254" y="2.307553216343578">
|
248
|
+
<y:LabelModel>
|
249
|
+
<y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/>
|
250
|
+
</y:LabelModel>
|
251
|
+
<y:ModelParameter>
|
252
|
+
<y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="right" ratio="0.5" segment="0"/>
|
253
|
+
</y:ModelParameter>
|
254
|
+
</y:EdgeLabel>
|
255
|
+
<y:BendStyle smoothed="false"/>
|
256
|
+
</y:PolyLineEdge>
|
257
|
+
</data>
|
258
|
+
</edge>
|
259
|
+
<edge id="e2" source="n10" target="n11">
|
260
|
+
<data key="d10">
|
261
|
+
<y:PolyLineEdge>
|
262
|
+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
|
263
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
264
|
+
<y:Arrows source="none" target="standard"/>
|
265
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="10.009489484713185" y="27.999994896796125">
|
266
|
+
<y:LabelModel>
|
267
|
+
<y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/>
|
268
|
+
</y:LabelModel>
|
269
|
+
<y:ModelParameter>
|
270
|
+
<y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="right" ratio="0.5" segment="0"/>
|
271
|
+
</y:ModelParameter>
|
272
|
+
</y:EdgeLabel>
|
273
|
+
<y:BendStyle smoothed="false"/>
|
274
|
+
</y:PolyLineEdge>
|
275
|
+
</data>
|
276
|
+
</edge>
|
277
|
+
<edge id="e3" source="n9" target="n11">
|
278
|
+
<data key="d10">
|
279
|
+
<y:PolyLineEdge>
|
280
|
+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
|
281
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
282
|
+
<y:Arrows source="none" target="standard"/>
|
283
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="27.99999703583262" y="-14.009482293295406">
|
284
|
+
<y:LabelModel>
|
285
|
+
<y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/>
|
286
|
+
</y:LabelModel>
|
287
|
+
<y:ModelParameter>
|
288
|
+
<y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="right" ratio="0.5" segment="0"/>
|
289
|
+
</y:ModelParameter>
|
290
|
+
</y:EdgeLabel>
|
291
|
+
<y:BendStyle smoothed="false"/>
|
292
|
+
</y:PolyLineEdge>
|
293
|
+
</data>
|
294
|
+
</edge>
|
295
|
+
<edge id="e4" source="n8" target="n10">
|
296
|
+
<data key="d10">
|
297
|
+
<y:PolyLineEdge>
|
298
|
+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
|
299
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
300
|
+
<y:Arrows source="none" target="standard"/>
|
301
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="28.000000000000014" y="-14.009482293295378">
|
302
|
+
<y:LabelModel>
|
303
|
+
<y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/>
|
304
|
+
</y:LabelModel>
|
305
|
+
<y:ModelParameter>
|
306
|
+
<y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="right" ratio="0.5" segment="0"/>
|
307
|
+
</y:ModelParameter>
|
308
|
+
</y:EdgeLabel>
|
309
|
+
<y:BendStyle smoothed="false"/>
|
310
|
+
</y:PolyLineEdge>
|
311
|
+
</data>
|
312
|
+
</edge>
|
313
|
+
<edge id="e5" source="n8" target="n9">
|
314
|
+
<data key="d10">
|
315
|
+
<y:PolyLineEdge>
|
316
|
+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
|
317
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
318
|
+
<y:Arrows source="none" target="standard"/>
|
319
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="10.0094894847132" y="28.000007191417808">
|
320
|
+
<y:LabelModel>
|
321
|
+
<y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/>
|
322
|
+
</y:LabelModel>
|
323
|
+
<y:ModelParameter>
|
324
|
+
<y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="right" ratio="0.5" segment="0"/>
|
325
|
+
</y:ModelParameter>
|
326
|
+
</y:EdgeLabel>
|
327
|
+
<y:BendStyle smoothed="false"/>
|
328
|
+
</y:PolyLineEdge>
|
329
|
+
</data>
|
330
|
+
</edge>
|
331
|
+
<edge id="e6" source="n7" target="n5">
|
332
|
+
<data key="d10">
|
333
|
+
<y:PolyLineEdge>
|
334
|
+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
|
335
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
336
|
+
<y:Arrows source="none" target="standard"/>
|
337
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="15.860053177476345" y="24.272695486084416">
|
338
|
+
<y:LabelModel>
|
339
|
+
<y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/>
|
340
|
+
</y:LabelModel>
|
341
|
+
<y:ModelParameter>
|
342
|
+
<y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="right" ratio="0.5" segment="0"/>
|
343
|
+
</y:ModelParameter>
|
344
|
+
</y:EdgeLabel>
|
345
|
+
<y:BendStyle smoothed="false"/>
|
346
|
+
</y:PolyLineEdge>
|
347
|
+
</data>
|
348
|
+
</edge>
|
349
|
+
<edge id="e7" source="n7" target="n6">
|
350
|
+
<data key="d10">
|
351
|
+
<y:PolyLineEdge>
|
352
|
+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
|
353
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
354
|
+
<y:Arrows source="none" target="standard"/>
|
355
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="29.68285746798017" y="-4.330918538696409">
|
356
|
+
<y:LabelModel>
|
357
|
+
<y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/>
|
358
|
+
</y:LabelModel>
|
359
|
+
<y:ModelParameter>
|
360
|
+
<y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="right" ratio="0.5" segment="0"/>
|
361
|
+
</y:ModelParameter>
|
362
|
+
</y:EdgeLabel>
|
363
|
+
<y:BendStyle smoothed="false"/>
|
364
|
+
</y:PolyLineEdge>
|
365
|
+
</data>
|
366
|
+
</edge>
|
367
|
+
<edge id="e8" source="n5" target="n6">
|
368
|
+
<data key="d10">
|
369
|
+
<y:PolyLineEdge>
|
370
|
+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
|
371
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
372
|
+
<y:Arrows source="none" target="standard"/>
|
373
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="15.842037556140326" y="-26.584378082007763">
|
374
|
+
<y:LabelModel>
|
375
|
+
<y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/>
|
376
|
+
</y:LabelModel>
|
377
|
+
<y:ModelParameter>
|
378
|
+
<y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="right" ratio="0.5" segment="0"/>
|
379
|
+
</y:ModelParameter>
|
380
|
+
</y:EdgeLabel>
|
381
|
+
<y:BendStyle smoothed="false"/>
|
382
|
+
</y:PolyLineEdge>
|
383
|
+
</data>
|
384
|
+
</edge>
|
385
|
+
<edge id="e9" source="n4" target="n3">
|
386
|
+
<data key="d10">
|
387
|
+
<y:PolyLineEdge>
|
388
|
+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
|
389
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
390
|
+
<y:Arrows source="none" target="standard"/>
|
391
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="24.27270121798017" y="-19.860073635785056">
|
392
|
+
<y:LabelModel>
|
393
|
+
<y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/>
|
394
|
+
</y:LabelModel>
|
395
|
+
<y:ModelParameter>
|
396
|
+
<y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="right" ratio="0.5" segment="0"/>
|
397
|
+
</y:ModelParameter>
|
398
|
+
</y:EdgeLabel>
|
399
|
+
<y:BendStyle smoothed="false"/>
|
400
|
+
</y:PolyLineEdge>
|
401
|
+
</data>
|
402
|
+
</edge>
|
403
|
+
<edge id="e10" source="n4" target="n2">
|
404
|
+
<data key="d10">
|
405
|
+
<y:PolyLineEdge>
|
406
|
+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
|
407
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
408
|
+
<y:Arrows source="none" target="standard"/>
|
409
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="22.584377644031065" y="15.842017194147331">
|
410
|
+
<y:LabelModel>
|
411
|
+
<y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/>
|
412
|
+
</y:LabelModel>
|
413
|
+
<y:ModelParameter>
|
414
|
+
<y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="right" ratio="0.5" segment="0"/>
|
415
|
+
</y:ModelParameter>
|
416
|
+
</y:EdgeLabel>
|
417
|
+
<y:BendStyle smoothed="false"/>
|
418
|
+
</y:PolyLineEdge>
|
419
|
+
</data>
|
420
|
+
</edge>
|
421
|
+
<edge id="e11" source="n3" target="n9">
|
422
|
+
<data key="d10">
|
423
|
+
<y:PolyLineEdge>
|
424
|
+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
|
425
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
426
|
+
<y:Arrows source="none" target="standard"/>
|
427
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="2.3075510318139436" y="-40.118853313188254">
|
428
|
+
<y:LabelModel>
|
429
|
+
<y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/>
|
430
|
+
</y:LabelModel>
|
431
|
+
<y:ModelParameter>
|
432
|
+
<y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="right" ratio="0.5" segment="0"/>
|
433
|
+
</y:ModelParameter>
|
434
|
+
</y:EdgeLabel>
|
435
|
+
<y:BendStyle smoothed="false"/>
|
436
|
+
</y:PolyLineEdge>
|
437
|
+
</data>
|
438
|
+
</edge>
|
439
|
+
<edge id="e12" source="n2" target="n3">
|
440
|
+
<data key="d10">
|
441
|
+
<y:PolyLineEdge>
|
442
|
+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
|
443
|
+
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
444
|
+
<y:Arrows source="none" target="standard"/>
|
445
|
+
<y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="-4.330910567640871" y="-33.682853462567834">
|
446
|
+
<y:LabelModel>
|
447
|
+
<y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/>
|
448
|
+
</y:LabelModel>
|
449
|
+
<y:ModelParameter>
|
450
|
+
<y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="right" ratio="0.5" segment="0"/>
|
451
|
+
</y:ModelParameter>
|
452
|
+
</y:EdgeLabel>
|
453
|
+
<y:BendStyle smoothed="false"/>
|
454
|
+
</y:PolyLineEdge>
|
455
|
+
</data>
|
456
|
+
</edge>
|
457
|
+
</graph>
|
458
|
+
<data key="d0">
|
459
|
+
<y:Resources/>
|
460
|
+
</data>
|
461
|
+
</graphml>
|
data/examples/rgv/rgv.ps
ADDED
@@ -0,0 +1,125 @@
|
|
1
|
+
%! Greg shapes for GraphViz/DOT
|
2
|
+
|
3
|
+
% input format :
|
4
|
+
% [ 54 36 0 36 0 0 54 0 54 36 ] 4 false yourshape
|
5
|
+
% or
|
6
|
+
% [ 54 36 0 36 0 0 54 0 54 36 ] 4 true yourshape
|
7
|
+
% [ 150 150 100 150 100 100 150 100 150 150 ] 4 true yourshape
|
8
|
+
%
|
9
|
+
% [upper right (y, x), lower right (y, x), lower left (y, x), upper left (y, x), upper right (y, x)]
|
10
|
+
|
11
|
+
/xdef {exch def} bind def
|
12
|
+
|
13
|
+
/rgv_box {
|
14
|
+
10 dict begin
|
15
|
+
/fflag xdef
|
16
|
+
/sides xdef
|
17
|
+
|
18
|
+
4 sides ne { stop } if
|
19
|
+
|
20
|
+
aload pop
|
21
|
+
|
22
|
+
newpath
|
23
|
+
moveto
|
24
|
+
lineto
|
25
|
+
lineto
|
26
|
+
lineto
|
27
|
+
closepath
|
28
|
+
|
29
|
+
pop pop
|
30
|
+
|
31
|
+
fflag { fill } { stroke } ifelse
|
32
|
+
end
|
33
|
+
} bind def
|
34
|
+
|
35
|
+
/rgv_cloud {
|
36
|
+
10 dict begin
|
37
|
+
/fflag xdef
|
38
|
+
/sides xdef
|
39
|
+
|
40
|
+
% Check if we have 4 sides. Else stop
|
41
|
+
4 sides ne { stop } if
|
42
|
+
|
43
|
+
% (aload) takes an array as its argument and places the individual elements
|
44
|
+
% of that array, and then the array itself, on the stack. Then (pop) remove
|
45
|
+
% the top element from the stack (the array)
|
46
|
+
aload pop
|
47
|
+
|
48
|
+
/ury xdef /urx xdef
|
49
|
+
/lry xdef /lrx xdef
|
50
|
+
/lly xdef /llx xdef
|
51
|
+
/uly xdef /ulx xdef
|
52
|
+
pop pop
|
53
|
+
|
54
|
+
/mx lrx llx neg add 2 div def
|
55
|
+
/my uly lly neg add 2 div def
|
56
|
+
|
57
|
+
% empty the current path and declares we are starting a new path
|
58
|
+
newpath
|
59
|
+
|
60
|
+
urx ury my neg add my 270 90 arc
|
61
|
+
ulx mx add uly mx 0 180 arc
|
62
|
+
llx lly my add my 90 270 arc
|
63
|
+
lrx lry lineto
|
64
|
+
|
65
|
+
closepath
|
66
|
+
|
67
|
+
% The stroke operator on line four causes the path we have constructed to be
|
68
|
+
% painted onto the current page.
|
69
|
+
% The fill operator fills the current path with ink.
|
70
|
+
fflag { fill } { stroke } ifelse
|
71
|
+
end
|
72
|
+
} bind def
|
73
|
+
|
74
|
+
/rgv_flower {
|
75
|
+
10 dict begin
|
76
|
+
/fflag xdef
|
77
|
+
/sides xdef
|
78
|
+
|
79
|
+
% Check if we have 4 sides. Else stop
|
80
|
+
4 sides ne { stop } if
|
81
|
+
|
82
|
+
% (aload) takes an array as its argument and places the individual elements
|
83
|
+
% of that array, and then the array itself, on the stack. Then (pop) remove
|
84
|
+
% the top element from the stack (the array)
|
85
|
+
aload pop
|
86
|
+
|
87
|
+
/ury xdef /urx xdef
|
88
|
+
/lry xdef /lrx xdef
|
89
|
+
/lly xdef /llx xdef
|
90
|
+
/uly xdef /ulx xdef
|
91
|
+
pop pop
|
92
|
+
|
93
|
+
/mx lrx llx neg add 2 div def
|
94
|
+
/my uly lly neg add 2 div def
|
95
|
+
|
96
|
+
% empty the current path and declares we are starting a new path
|
97
|
+
newpath
|
98
|
+
|
99
|
+
% Arcs
|
100
|
+
urx ury my neg add my 270 90 arc
|
101
|
+
ulx mx add uly mx 0 180 arc
|
102
|
+
llx lly my add my 90 270 arc
|
103
|
+
lrx mx neg add lry mx 180 0 arc
|
104
|
+
|
105
|
+
closepath
|
106
|
+
|
107
|
+
% The stroke operator on line four causes the path we have constructed to be
|
108
|
+
% painted onto the current page.
|
109
|
+
% The fill operator fills the current path with ink.
|
110
|
+
fflag { fill } { stroke } ifelse
|
111
|
+
end
|
112
|
+
} bind def
|
113
|
+
|
114
|
+
%[ 150 150 50 150 50 100 150 100 150 150 ] 4 false rgv_box
|
115
|
+
%[ 250 250 150 250 150 200 250 200 250 250 ] 4 false rgv_flower
|
116
|
+
%[ 350 350 250 350 250 300 350 300 350 350 ] 4 false rgv_cloud
|
117
|
+
%
|
118
|
+
%.5 setgray
|
119
|
+
%[ 150 450 50 450 50 400 150 400 150 450 ] 4 true rgv_box
|
120
|
+
%.5 setgray
|
121
|
+
%[ 250 550 150 550 150 500 250 500 250 550 ] 4 true rgv_flower
|
122
|
+
%.5 setgray
|
123
|
+
%[ 350 650 250 650 250 600 350 600 350 650 ] 4 true rgv_cloud
|
124
|
+
%
|
125
|
+
%showpage
|