Changes for page KIML Layout Options

Last modified by Alexander Schulz-Rosengarten on 2023/09/11 16:17

From version 18.1
edited by msp
on 2014/03/07 17:04
Change comment: There is no comment for this version
To version 17.1
edited by msp
on 2014/03/07 16:46
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -2,29 +2,25 @@
2 2  This is preliminary and incomplete documentation. You've been warned.
3 3  {{/warning}}
4 4  
5 -KIML defines a whole set of standard layout options that many layout algorithms support. Whether an algorithm supports a layout option depends on the option and on the algorithm. When an option is supported by an algorithm, that algorithm may override the option's default value. Algorithms may also provide more specialized documentation for layout options.
5 +KIML defines a whole set of standard layout options that many layout algorithms support. Whether an algorithm supports a layout option depends on the option and on the algorithm. When an option is supported by an algorithm, it may change the option's default value. Algorithms may also provide more specialized documentation for a given layout option.
6 6  
7 7  **Contents**
8 8  
9 9  
10 10  
11 -{{toc maxLevel="2"/}}
11 +{{toc/}}
12 12  
13 13  = Overview =
14 14  
15 -Beside a user-friendly name, layout options are defined by the following properties:
15 +Beside a human-readable name, layout options are defined by the following properties:
16 16  
17 17  * An ID to identify them.
18 -* A type. One of Boolean, String, Int, Float, Enum, EnumSet (a s{{code language="none"}}et{{/code}} over a given enumeration), or Object (a non-primitive Java object). The types Enum and EnumSet have to be further defined by an enumeration class. The Object type can be constricted to a certain Java class.
19 -* The kinds of graph objects the option applies to. At least one of Parents (nodes that have children, including the diagram root node), Nodes, Edges, Ports, or Labels.
20 -* An optional default value. A default value may also be provided by the layout algorithm using the option, or by the modeling application you are using. In these cases the value given here is overridden.
18 +* A type. One of Boolean, String, Int, Float, Enum, EnumSet (a {{code language="none"}}Set{{/code}} over a given enumeration), or Object. The types Enum and EnumSet have to be further defined by an enumeration class. The Object type can be constricted to a certain class.
19 +* The kinds of graph objects the option applies to. At least one of Parents (nodes that have children, including the diagram root node), Nodes, Edges, Ports, and Labels.
20 +* An optional default value. If an option is not set on an object and if the option does not have a default value, {{code language="none"}}null{{/code}} is returned when it is accessed.
21 21  
22 -Layout options can be assigned to two main categories: user options and programmatic options.
22 +KIML defines the following set of layout options:
23 23  
24 -== User Options ==
25 -
26 -User options are those that you can see in the "//Layout View//" available in Eclipse if the KIML user interface is installed. That view is restricted to layout options that are supported by the currently active layout algorithm. Furthermore, some options are visible only when the //Show Advanced Properties// button is active in the view.
27 -
28 28  |=(((
29 29  Option
30 30  )))|=(((
... ... @@ -80,6 +80,22 @@
80 80  )))|(((
81 81  
82 82  )))
79 +|(% colspan="1" %)(% colspan="1" %)
80 +(((
81 +Comment Box
82 +)))|(% colspan="1" %)(% colspan="1" %)
83 +(((
84 +de.cau.cs.kieler.commentBox
85 +)))|(% colspan="1" %)(% colspan="1" %)
86 +(((
87 +Boolean
88 +)))|(% colspan="1" %)(% colspan="1" %)
89 +(((
90 +Nodes
91 +)))|(% colspan="1" %)(% colspan="1" %)
92 +(((
93 +false
94 +)))
83 83  |(((
84 84  Debug Mode
85 85  )))|(((
... ... @@ -91,6 +91,22 @@
91 91  )))|(((
92 92  false
93 93  )))
106 +|(% colspan="1" %)(% colspan="1" %)
107 +(((
108 +[[Diagram Type>>doc:||anchor="diagramType"]]
109 +)))|(% colspan="1" %)(% colspan="1" %)
110 +(((
111 +de.cau.cs.kieler.diagramType
112 +)))|(% colspan="1" %)(% colspan="1" %)
113 +(((
114 +String
115 +)))|(% colspan="1" %)(% colspan="1" %)
116 +(((
117 +
118 +)))|(% colspan="1" %)(% colspan="1" %)
119 +(((
120 +
121 +)))
94 94  |(((
95 95  Direction
96 96  )))|(((
... ... @@ -102,6 +102,22 @@
102 102  )))|(((
103 103  
104 104  )))
133 +|(% colspan="1" %)(% colspan="1" %)
134 +(((
135 +Edge Label Placement
136 +)))|(% colspan="1" %)(% colspan="1" %)
137 +(((
138 +de.cau.cs.kieler.edgeLabelPlacement
139 +)))|(% colspan="1" %)(% colspan="1" %)
140 +(((
141 +Enum
142 +)))|(% colspan="1" %)(% colspan="1" %)
143 +(((
144 +Labels
145 +)))|(% colspan="1" %)(% colspan="1" %)
146 +(((
147 +
148 +)))
105 105  |(((
106 106  [[Edge Routing>>doc:||anchor="edgeRouting"]]
107 107  )))|(((
... ... @@ -113,6 +113,22 @@
113 113  )))|(((
114 114  
115 115  )))
160 +|(% colspan="1" %)(% colspan="1" %)
161 +(((
162 +Edge Type
163 +)))|(% colspan="1" %)(% colspan="1" %)
164 +(((
165 +de.cau.cs.kieler.edgeType
166 +)))|(% colspan="1" %)(% colspan="1" %)
167 +(((
168 +Enum
169 +)))|(% colspan="1" %)(% colspan="1" %)
170 +(((
171 +Edges
172 +)))|(% colspan="1" %)(% colspan="1" %)
173 +(((
174 +NONE
175 +)))
116 116  |(((
117 117  Expand Nodes
118 118  )))|(((
... ... @@ -124,6 +124,54 @@
124 124  )))|(((
125 125  false
126 126  )))
187 +|(% colspan="1" %)(% colspan="1" %)
188 +(((
189 +Font Name
190 +)))|(% colspan="1" %)(% colspan="1" %)
191 +(((
192 +de.cau.cs.kieler.fontName
193 +)))|(% colspan="1" %)(% colspan="1" %)
194 +(((
195 +String
196 +)))|(% colspan="1" %)(% colspan="1" %)
197 +(((
198 +Labels
199 +)))|(% colspan="1" %)(% colspan="1" %)
200 +(((
201 +
202 +)))
203 +|(% colspan="1" %)(% colspan="1" %)
204 +(((
205 +Font Size
206 +)))|(% colspan="1" %)(% colspan="1" %)
207 +(((
208 +de.cau.cs.kieler.fontSize
209 +)))|(% colspan="1" %)(% colspan="1" %)
210 +(((
211 +Int
212 +)))|(% colspan="1" %)(% colspan="1" %)
213 +(((
214 +Labels
215 +)))|(% colspan="1" %)(% colspan="1" %)
216 +(((
217 +
218 +)))
219 +|(% colspan="1" %)(% colspan="1" %)
220 +(((
221 +Hypernode
222 +)))|(% colspan="1" %)(% colspan="1" %)
223 +(((
224 +de.cau.cs.kieler.hypernode
225 +)))|(% colspan="1" %)(% colspan="1" %)
226 +(((
227 +Boolean
228 +)))|(% colspan="1" %)(% colspan="1" %)
229 +(((
230 +Nodes
231 +)))|(% colspan="1" %)(% colspan="1" %)
232 +(((
233 +false
234 +)))
127 127  |(((
128 128  Interactive
129 129  )))|(((
... ... @@ -171,56 +171,63 @@
171 171  )))
172 172  |(% colspan="1" %)(% colspan="1" %)
173 173  (((
174 -Node Label Placement
282 +Minimal Height
175 175  )))|(% colspan="1" %)(% colspan="1" %)
176 176  (((
177 -de.cau.cs.kieler.nodeLabelPlacement
285 +de.cau.cs.kieler.minHeight
178 178  )))|(% colspan="1" %)(% colspan="1" %)
179 179  (((
180 -EnumSet
288 +Float
181 181  )))|(% colspan="1" %)(% colspan="1" %)
182 182  (((
183 183  Nodes
292 +Parents
184 184  )))|(% colspan="1" %)(% colspan="1" %)
185 185  (((
186 -
295 +0.0
187 187  )))
188 -|(((
189 -Port Constraints
190 -)))|(((
191 -de.cau.cs.kieler.portConstraints
192 -)))|(((
193 -Enum
194 -)))|(((
297 +|(% colspan="1" %)(% colspan="1" %)
298 +(((
299 +Minimal Width
300 +)))|(% colspan="1" %)(% colspan="1" %)
301 +(((
302 +de.cau.cs.kieler.minWidth
303 +)))|(% colspan="1" %)(% colspan="1" %)
304 +(((
305 +Float
306 +)))|(% colspan="1" %)(% colspan="1" %)
307 +(((
195 195  Nodes
196 -)))|(((
197 -
309 +Parents
310 +)))|(% colspan="1" %)(% colspan="1" %)
311 +(((
312 +0.0
198 198  )))
199 199  |(% colspan="1" %)(% colspan="1" %)
200 200  (((
201 -Port Label Placement
316 +No Layout
202 202  )))|(% colspan="1" %)(% colspan="1" %)
203 203  (((
204 -de.cau.cs.kieler.portLabelPlacement
319 +de.cau.cs.kieler.noLayout
205 205  )))|(% colspan="1" %)(% colspan="1" %)
206 206  (((
207 -Enum
322 +Boolean
208 208  )))|(% colspan="1" %)(% colspan="1" %)
209 209  (((
210 -Nodes
325 +
211 211  )))|(% colspan="1" %)(% colspan="1" %)
212 212  (((
213 -OUTSIDE
328 +false
214 214  )))
215 215  |(% colspan="1" %)(% colspan="1" %)
216 216  (((
217 -Port Spacing
332 +Node Label Placement
218 218  )))|(% colspan="1" %)(% colspan="1" %)
219 219  (((
220 -de.cau.cs.kieler.portSpacing
335 +de.cau.cs.kieler.nodeLabelPlacement
221 221  )))|(% colspan="1" %)(% colspan="1" %)
222 222  (((
223 -Float
338 +EnumSet
224 224  )))|(% colspan="1" %)(% colspan="1" %)
225 225  (((
226 226  Nodes
... ... @@ -229,58 +229,44 @@
229 229  
230 230  )))
231 231  |(((
232 -Position
347 +Port Constraints
233 233  )))|(((
234 -de.cau.cs.kieler.position
349 +de.cau.cs.kieler.portConstraints
235 235  )))|(((
236 -Object
351 +Enum
237 237  )))|(((
238 -Labels
239 239  Nodes
240 -Ports
241 241  )))|(((
242 242  
243 243  )))
244 -|(((
245 -Priority
246 -)))|(((
247 -de.cau.cs.kieler.priority
248 -)))|(((
249 -Int
250 -)))|(((
251 -Edges
252 -Nodes
253 -)))|(((
254 -
255 -)))
256 256  |(% colspan="1" %)(% colspan="1" %)
257 257  (((
258 -Randomization Seed
359 +Port Label Placement
259 259  )))|(% colspan="1" %)(% colspan="1" %)
260 260  (((
261 -de.cau.cs.kieler.randomSeed
362 +de.cau.cs.kieler.portLabelPlacement
262 262  )))|(% colspan="1" %)(% colspan="1" %)
263 263  (((
264 -Int
365 +Enum
265 265  )))|(% colspan="1" %)(% colspan="1" %)
266 266  (((
267 -Parents
368 +Nodes
268 268  )))|(% colspan="1" %)(% colspan="1" %)
269 269  (((
270 -
371 +OUTSIDE
271 271  )))
272 272  |(% colspan="1" %)(% colspan="1" %)
273 273  (((
274 -Separate Connected Components
375 +[[Port Offset>>doc:||anchor="portOffset"]]
275 275  )))|(% colspan="1" %)(% colspan="1" %)
276 276  (((
277 -de.cau.cs.kieler.separateConnComp
378 +de.cau.cs.kieler.offset
278 278  )))|(% colspan="1" %)(% colspan="1" %)
279 279  (((
280 -Boolean
381 +Float
281 281  )))|(% colspan="1" %)(% colspan="1" %)
282 282  (((
283 -Parents
384 +Ports
284 284  )))|(% colspan="1" %)(% colspan="1" %)
285 285  (((
286 286  
... ... @@ -287,16 +287,16 @@
287 287  )))
288 288  |(% colspan="1" %)(% colspan="1" %)
289 289  (((
290 -Size Constraint
391 +Port Side
291 291  )))|(% colspan="1" %)(% colspan="1" %)
292 292  (((
293 -de.cau.cs.kieler.sizeConstraint
394 +de.cau.cs.kieler.portSide
294 294  )))|(% colspan="1" %)(% colspan="1" %)
295 295  (((
296 -EnumSet
397 +Enum
297 297  )))|(% colspan="1" %)(% colspan="1" %)
298 298  (((
299 -Nodes
400 +Ports
300 300  )))|(% colspan="1" %)(% colspan="1" %)
301 301  (((
302 302  
... ... @@ -303,118 +303,73 @@
303 303  )))
304 304  |(% colspan="1" %)(% colspan="1" %)
305 305  (((
306 -Size Options
407 +Port Spacing
307 307  )))|(% colspan="1" %)(% colspan="1" %)
308 308  (((
309 -de.cau.cs.kieler.sizeOptions
410 +de.cau.cs.kieler.portSpacing
310 310  )))|(% colspan="1" %)(% colspan="1" %)
311 311  (((
312 -EnumSet
413 +Float
313 313  )))|(% colspan="1" %)(% colspan="1" %)
314 314  (((
315 315  Nodes
316 316  )))|(% colspan="1" %)(% colspan="1" %)
317 317  (((
318 -DEFAULT_MINIMUM_SIZE
319 -)))
320 -|(% colspan="1" %)(% colspan="1" %)
321 -(((
322 -Spacing
323 -)))|(% colspan="1" %)(% colspan="1" %)
324 -(((
325 -de.cau.cs.kieler.spacing
326 -)))|(% colspan="1" %)(% colspan="1" %)
327 -(((
328 -Float
329 -)))|(% colspan="1" %)(% colspan="1" %)
330 -(((
331 -Parents
332 -)))|(% colspan="1" %)(% colspan="1" %)
333 -(((
334 334  
335 335  )))
336 -
337 -== Programmatic Options ==
338 -
339 -Programmatic options are such that are meant to be configured exclusively through the KIML API. They should not be visible in the user interface.
340 -
341 -|=(((
342 -Option
343 -)))|=(((
344 -ID
345 -)))|=(((
346 -Type
347 -)))|=(((
348 -Applies to
349 -)))|=(((
350 -Default
351 -)))
352 352  |(((
353 -[[Diagram Type>>doc:||anchor="diagramType"]]
422 +Position
354 354  )))|(((
355 -de.cau.cs.kieler.diagramType
424 +de.cau.cs.kieler.position
356 356  )))|(((
357 -String
426 +Object
358 358  )))|(((
359 -Parents
428 +Labels
429 +Nodes
430 +Ports
360 360  )))|(((
361 361  
362 362  )))
363 363  |(((
364 -Edge Label Placement
435 +Priority
365 365  )))|(((
366 -de.cau.cs.kieler.edgeLabelPlacement
437 +de.cau.cs.kieler.priority
367 367  )))|(((
368 -Enum
439 +Int
369 369  )))|(((
370 -Labels
441 +Edges
442 +Nodes
371 371  )))|(((
372 372  
373 373  )))
374 374  |(% colspan="1" %)(% colspan="1" %)
375 375  (((
376 -Edge Type
448 +Randomization Seed
377 377  )))|(% colspan="1" %)(% colspan="1" %)
378 378  (((
379 -de.cau.cs.kieler.edgeType
451 +de.cau.cs.kieler.randomSeed
380 380  )))|(% colspan="1" %)(% colspan="1" %)
381 381  (((
382 -Enum
454 +Int
383 383  )))|(% colspan="1" %)(% colspan="1" %)
384 384  (((
385 -Edges
457 +Parents
386 386  )))|(% colspan="1" %)(% colspan="1" %)
387 387  (((
388 -NONE
389 -)))
390 -|(% colspan="1" %)(% colspan="1" %)
391 -(((
392 -Font Name
393 -)))|(% colspan="1" %)(% colspan="1" %)
394 -(((
395 -de.cau.cs.kieler.fontName
396 -)))|(% colspan="1" %)(% colspan="1" %)
397 -(((
398 -String
399 -)))|(% colspan="1" %)(% colspan="1" %)
400 -(((
401 -Labels
402 -)))|(% colspan="1" %)(% colspan="1" %)
403 -(((
404 404  
405 405  )))
406 406  |(% colspan="1" %)(% colspan="1" %)
407 407  (((
408 -Font Size
464 +Separate Connected Components
409 409  )))|(% colspan="1" %)(% colspan="1" %)
410 410  (((
411 -de.cau.cs.kieler.fontSize
467 +de.cau.cs.kieler.separateConnComp
412 412  )))|(% colspan="1" %)(% colspan="1" %)
413 413  (((
414 -Int
470 +Boolean
415 415  )))|(% colspan="1" %)(% colspan="1" %)
416 416  (((
417 -Labels
473 +Parents
418 418  )))|(% colspan="1" %)(% colspan="1" %)
419 419  (((
420 420  
... ... @@ -421,110 +421,58 @@
421 421  )))
422 422  |(% colspan="1" %)(% colspan="1" %)
423 423  (((
424 -Hypernode
480 +Size Constraint
425 425  )))|(% colspan="1" %)(% colspan="1" %)
426 426  (((
427 -de.cau.cs.kieler.hypernode
483 +de.cau.cs.kieler.sizeConstraint
428 428  )))|(% colspan="1" %)(% colspan="1" %)
429 429  (((
430 -Boolean
486 +EnumSet
431 431  )))|(% colspan="1" %)(% colspan="1" %)
432 432  (((
433 433  Nodes
434 434  )))|(% colspan="1" %)(% colspan="1" %)
435 435  (((
436 -false
492 +
437 437  )))
438 438  |(% colspan="1" %)(% colspan="1" %)
439 439  (((
440 -Minimal Height
496 +Size Options
441 441  )))|(% colspan="1" %)(% colspan="1" %)
442 442  (((
443 -de.cau.cs.kieler.minHeight
499 +de.cau.cs.kieler.sizeOptions
444 444  )))|(% colspan="1" %)(% colspan="1" %)
445 445  (((
446 -Float
502 +EnumSet
447 447  )))|(% colspan="1" %)(% colspan="1" %)
448 448  (((
449 449  Nodes
450 -Parents
451 451  )))|(% colspan="1" %)(% colspan="1" %)
452 452  (((
453 -0.0
508 +DEFAULT_MINIMUM_SIZE
454 454  )))
455 455  |(% colspan="1" %)(% colspan="1" %)
456 456  (((
457 -Minimal Width
512 +Spacing
458 458  )))|(% colspan="1" %)(% colspan="1" %)
459 459  (((
460 -de.cau.cs.kieler.minWidth
515 +de.cau.cs.kieler.spacing
461 461  )))|(% colspan="1" %)(% colspan="1" %)
462 462  (((
463 463  Float
464 464  )))|(% colspan="1" %)(% colspan="1" %)
465 465  (((
466 -Nodes
467 467  Parents
468 468  )))|(% colspan="1" %)(% colspan="1" %)
469 469  (((
470 -0.0
471 -)))
472 -|(% colspan="1" %)(% colspan="1" %)
473 -(((
474 -No Layout
475 -)))|(% colspan="1" %)(% colspan="1" %)
476 -(((
477 -de.cau.cs.kieler.noLayout
478 -)))|(% colspan="1" %)(% colspan="1" %)
479 -(((
480 -Boolean
481 -)))|(% colspan="1" %)(% colspan="1" %)
482 -(((
483 483  
484 -)))|(% colspan="1" %)(% colspan="1" %)
485 -(((
486 -false
487 487  )))
488 -|(% colspan="1" %)(% colspan="1" %)
489 -(((
490 -[[Port Offset>>doc:||anchor="portOffset"]]
491 -)))|(% colspan="1" %)(% colspan="1" %)
492 -(((
493 -de.cau.cs.kieler.offset
494 -)))|(% colspan="1" %)(% colspan="1" %)
495 -(((
496 -Float
497 -)))|(% colspan="1" %)(% colspan="1" %)
498 -(((
499 -Ports
500 -)))|(% colspan="1" %)(% colspan="1" %)
501 -(((
502 -
503 -)))
504 -|(% colspan="1" %)(% colspan="1" %)
505 -(((
506 -Port Side
507 -)))|(% colspan="1" %)(% colspan="1" %)
508 -(((
509 -de.cau.cs.kieler.portSide
510 -)))|(% colspan="1" %)(% colspan="1" %)
511 -(((
512 -Enum
513 -)))|(% colspan="1" %)(% colspan="1" %)
514 -(((
515 -Ports
516 -)))|(% colspan="1" %)(% colspan="1" %)
517 -(((
518 -
519 -)))
520 520  
521 -= Detailed Documentation =
527 += The Most Important Options =
522 522  
523 -== The Most Important Options ==
524 -
525 525  While most layout options are used to affect how the active layout algorithm computes concrete coordinates for the graph elements, there are some layout options that have a special role in KIML.
526 526  
527 -=== Layout Algorithm ===
531 +== Layout Algorithm ==
528 528  
529 529  {{id name="layoutAlgorithm"/}}
530 530  
... ... @@ -549,7 +549,7 @@
549 549  * **OGDF** ((% style="color: rgb(0,0,0);" %)[[www.ogdf.net>>url:http://www.ogdf.net/||shape="rect"]](%%)) - A self-contained C++ class library for the automatic layout of diagrams. The version that is shipped with KIELER is compiled as an executable that reads files in OGML format and outputs the computed concrete layout.
550 550  * **Graphviz** ([[www.graphviz.org>>url:http://www.graphviz.org/||shape="rect"]]) - An open source graph visualization tool with several graph layout programs, web and interactive graphical interfaces, auxiliary tools, libraries, and language bindings. Graphviz needs to be installed separately in order to be used within KIELER, since it is called in a separate process using the DOT language for communication.
551 551  
552 -=== Diagram Type ===
556 +== Diagram Type ==
553 553  
554 554  {{id name="diagramType"/}}
555 555  
... ... @@ -571,9 +571,11 @@
571 571  * **Comment Box** ({{code language="none"}}de.cau.cs.kieler.commentBox{{/code}}) - A node that is marked as comment box is treated as a label that needs to be placed somewhere. This is different to normal node labels, which are usually regarded as fixed.
572 572  * **No Layout** ({{code language="none"}}de.cau.cs.kieler.noLayout{{/code}}) - Elements that are marked with this option are excluded from layout. This is used to identify diagram objects that should not be regarded as graph elements.
573 573  
578 += Detailed Documentation =
579 +
574 574  This section explains every layout option in more detail.
575 575  
576 -=== Edge Routing ===
582 +== Edge Routing ==
577 577  
578 578  {{id name="edgeRouting"/}}
579 579  
... ... @@ -590,7 +590,7 @@
590 590  
591 591  (% style="color: rgb(153,51,0);" %)**TODO:** Add an image illustrating the different routing styles.
592 592  
593 -=== Port Offset ===
599 +== Port Offset ==
594 594  
595 595  {{id name="portOffset"/}}
596 596  
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -9470010
1 +9470006
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/9470010/KIML Layout Options
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/9470006/KIML Layout Options