Show last authors
1 {{warning}}
2 This is preliminary documentation. You've been warned.
3 {{/warning}}
4
5 KLay Layered supports a whole bunch of layout options. Every single one of them is documented here.
6
7 **Contents**
8
9
10
11 {{toc/}}
12
13 = Overview =
14
15 Beside a human-readable name, layout options are defined by the following properties:
16
17 * An ID to identify them.
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
22 KLay Layered supports layout options defined by KIML and defines additional custom layout options.
23
24 == Supported KIML Layout Options ==
25
26 KLay Layered supports the following standard layout options defined by KIML. Note that the default value may be altered (highlighted yellow).
27
28 |=(((
29 Option
30 )))|=(((
31 ID
32 )))|=(((
33 Type
34 )))|=(((
35 Applies to
36 )))|=(((
37 Default
38 )))
39 |(((
40 Alignment
41 )))|(((
42 de.cau.cs.kieler.alignment
43 )))|(((
44 Enum
45 )))|(((
46 Nodes
47 )))|(((
48 AUTOMATIC
49 )))
50 |(((
51 Aspect Ratio
52 )))|(((
53 de.cau.cs.kieler.aspectRatio
54 )))|(((
55 Float
56 )))|(((
57 Parents
58 )))|(% class="highlight-yellow" data-highlight-colour="yellow" %)(% class="highlight-yellow" data-highlight-colour="yellow" %)
59 (((
60 1.6
61 )))
62 |(((
63 Border Spacing
64 )))|(((
65 de.cau.cs.kieler.borderSpacing
66 )))|(((
67 Float
68 )))|(((
69 Parents
70 )))|(% class="highlight-yellow" data-highlight-colour="yellow" %)(% class="highlight-yellow" data-highlight-colour="yellow" %)
71 (((
72 20
73 )))
74 |(% colspan="1" %)(% colspan="1" %)
75 (((
76 Comment Box XX
77 )))|(% colspan="1" %)(% colspan="1" %)
78 (((
79 de.cau.cs.kieler.commentBox
80 )))|(% colspan="1" %)(% colspan="1" %)
81 (((
82 Boolean
83 )))|(% colspan="1" %)(% colspan="1" %)
84 (((
85 Nodes
86 )))|(% colspan="1" %)(% colspan="1" %)
87 (((
88 false
89 )))
90 |(((
91 Debug Mode
92 )))|(((
93 de.cau.cs.kieler.debugMode
94 )))|(((
95 Boolean
96 )))|(((
97 Parents
98 )))|(((
99 false
100 )))
101 |(% colspan="1" %)(% colspan="1" %)
102 (((
103 Diagram Type
104 )))|(% colspan="1" %)(% colspan="1" %)
105 (((
106 de.cau.cs.kieler.diagramType
107 )))|(% colspan="1" %)(% colspan="1" %)
108 (((
109 String
110 )))|(% colspan="1" %)(% colspan="1" %)
111 (((
112
113 )))|(% colspan="1" %)(% colspan="1" %)
114 (((
115
116 )))
117 |(((
118 Direction
119 )))|(((
120 de.cau.cs.kieler.direction
121 )))|(((
122 Enum
123 )))|(((
124 Parents
125 )))|(% class="highlight-yellow" data-highlight-colour="yellow" %)(% class="highlight-yellow" data-highlight-colour="yellow" %)
126 (((
127 RIGHT
128 )))
129 |(% colspan="1" %)(% colspan="1" %)
130 (((
131 Edge Label Placement XX
132 )))|(% colspan="1" %)(% colspan="1" %)
133 (((
134 de.cau.cs.kieler.edgeLabelPlacement
135 )))|(% colspan="1" %)(% colspan="1" %)
136 (((
137 Enum
138 )))|(% colspan="1" %)(% colspan="1" %)
139 (((
140 Labels
141 )))|(% colspan="1" %)(% colspan="1" %)
142 (((
143 UNDEFINED
144 )))
145 |(((
146 Edge Routing
147 )))|(((
148 de.cau.cs.kieler.edgeRouting
149 )))|(((
150 Enum
151 )))|(((
152 Parents
153 )))|(% class="highlight-yellow" data-highlight-colour="yellow" %)(% class="highlight-yellow" data-highlight-colour="yellow" %)
154 (((
155 POLYLINE
156 )))
157 |(% colspan="1" %)(% colspan="1" %)
158 (((
159 Hypernode XX
160 )))|(% colspan="1" %)(% colspan="1" %)
161 (((
162 de.cau.cs.kieler.hypernode
163 )))|(% colspan="1" %)(% colspan="1" %)
164 (((
165 Boolean
166 )))|(% colspan="1" %)(% colspan="1" %)
167 (((
168 Nodes
169 )))|(% colspan="1" %)(% colspan="1" %)
170 (((
171 false
172 )))
173 |(((
174 Label Spacing XX
175 )))|(((
176 de.cau.cs.kieler.labelSpacing
177 )))|(((
178 Float
179 )))|(((
180 Edges
181 Nodes
182 )))|(((
183 -1.0
184 )))
185 |(((
186 Layout Hierarchy
187 )))|(((
188 de.cau.cs.kieler.layoutHierarchy
189 )))|(((
190 Boolean
191 )))|(((
192 Parents
193 )))|(((
194 false
195 )))
196 |(% colspan="1" %)(% colspan="1" %)
197 (((
198 Minimal Height XX
199 )))|(% colspan="1" %)(% colspan="1" %)
200 (((
201 de.cau.cs.kieler.minHeight
202 )))|(% colspan="1" %)(% colspan="1" %)
203 (((
204 Float
205 )))|(% colspan="1" %)(% colspan="1" %)
206 (((
207 Nodes
208 Parents
209 )))|(% colspan="1" %)(% colspan="1" %)
210 (((
211 0.0
212 )))
213 |(% colspan="1" %)(% colspan="1" %)
214 (((
215 Minimal Width XX
216 )))|(% colspan="1" %)(% colspan="1" %)
217 (((
218 de.cau.cs.kieler.minWidth
219 )))|(% colspan="1" %)(% colspan="1" %)
220 (((
221 Float
222 )))|(% colspan="1" %)(% colspan="1" %)
223 (((
224 Nodes
225 Parents
226 )))|(% colspan="1" %)(% colspan="1" %)
227 (((
228 0.0
229 )))
230 |(% colspan="1" %)(% colspan="1" %)
231 (((
232 No Layout XX
233 )))|(% colspan="1" %)(% colspan="1" %)
234 (((
235 de.cau.cs.kieler.noLayout
236 )))|(% colspan="1" %)(% colspan="1" %)
237 (((
238 Boolean
239 )))|(% colspan="1" %)(% colspan="1" %)
240 (((
241
242 )))|(% colspan="1" %)(% colspan="1" %)
243 (((
244 false
245 )))
246 |(% colspan="1" %)(% colspan="1" %)
247 (((
248 Node Label Placement
249 )))|(% colspan="1" %)(% colspan="1" %)
250 (((
251 de.cau.cs.kieler.nodeLabelPlacement
252 )))|(% colspan="1" %)(% colspan="1" %)
253 (((
254 EnumSet
255 )))|(% colspan="1" %)(% colspan="1" %)
256 (((
257 Nodes
258 )))|(% colspan="1" %)(% colspan="1" %)
259 (((
260
261 )))
262 |(((
263 Port Constraints
264 )))|(((
265 de.cau.cs.kieler.portConstraints
266 )))|(((
267 Enum
268 )))|(((
269 Nodes
270 )))|(((
271 UNDEFINED
272 )))
273 |(% colspan="1" %)(% colspan="1" %)
274 (((
275 Port Label Placement
276 )))|(% colspan="1" %)(% colspan="1" %)
277 (((
278 de.cau.cs.kieler.portLabelPlacement
279 )))|(% colspan="1" %)(% colspan="1" %)
280 (((
281 Enum
282 )))|(% colspan="1" %)(% colspan="1" %)
283 (((
284 Nodes
285 )))|(% colspan="1" %)(% colspan="1" %)
286 (((
287 OUTSIDE
288 )))
289 |(% colspan="1" %)(% colspan="1" %)
290 (((
291 Port Offset XX
292 )))|(% colspan="1" %)(% colspan="1" %)
293 (((
294 de.cau.cs.kieler.offset
295 )))|(% colspan="1" %)(% colspan="1" %)
296 (((
297 Float
298 )))|(% colspan="1" %)(% colspan="1" %)
299 (((
300 Ports
301 )))|(% colspan="1" %)(% colspan="1" %)
302 (((
303
304 )))
305 |(% colspan="1" %)(% colspan="1" %)
306 (((
307 Port Side XX
308 )))|(% colspan="1" %)(% colspan="1" %)
309 (((
310 de.cau.cs.kieler.portSide
311 )))|(% colspan="1" %)(% colspan="1" %)
312 (((
313 Enum
314 )))|(% colspan="1" %)(% colspan="1" %)
315 (((
316 Ports
317 )))|(% colspan="1" %)(% colspan="1" %)
318 (((
319 UNDEFINED
320 )))
321 |(((
322 Priority
323 )))|(((
324 de.cau.cs.kieler.priority
325 )))|(((
326 Int
327 )))|(((
328 Edges
329 Nodes
330 )))|(((
331
332 )))
333 |(% colspan="1" %)(% colspan="1" %)
334 (((
335 Randomization Seed
336 )))|(% colspan="1" %)(% colspan="1" %)
337 (((
338 de.cau.cs.kieler.randomSeed
339 )))|(% colspan="1" %)(% colspan="1" %)
340 (((
341 Int
342 )))|(% colspan="1" %)(% colspan="1" %)
343 (((
344 Parents
345 )))|(% class="highlight-yellow" colspan="1" data-highlight-colour="yellow" %)(% class="highlight-yellow" colspan="1" data-highlight-colour="yellow" %)
346 (((
347 1
348 )))
349 |(% colspan="1" %)(% colspan="1" %)
350 (((
351 Separate Connected Components
352 )))|(% colspan="1" %)(% colspan="1" %)
353 (((
354 de.cau.cs.kieler.separateConnComp
355 )))|(% colspan="1" %)(% colspan="1" %)
356 (((
357 Boolean
358 )))|(% colspan="1" %)(% colspan="1" %)
359 (((
360 Parents
361 )))|(% class="highlight-yellow" colspan="1" data-highlight-colour="yellow" %)(% class="highlight-yellow" colspan="1" data-highlight-colour="yellow" %)
362 (((
363 true
364 )))
365 |(% colspan="1" %)(% colspan="1" %)
366 (((
367 Size Constraint
368 )))|(% colspan="1" %)(% colspan="1" %)
369 (((
370 de.cau.cs.kieler.sizeConstraint
371 )))|(% colspan="1" %)(% colspan="1" %)
372 (((
373 EnumSet
374 )))|(% colspan="1" %)(% colspan="1" %)
375 (((
376 Nodes
377 )))|(% colspan="1" %)(% colspan="1" %)
378 (((
379
380 )))
381 |(% colspan="1" %)(% colspan="1" %)
382 (((
383 Size Options
384 )))|(% colspan="1" %)(% colspan="1" %)
385 (((
386 de.cau.cs.kieler.sizeOptions
387 )))|(% colspan="1" %)(% colspan="1" %)
388 (((
389 EnumSet
390 )))|(% colspan="1" %)(% colspan="1" %)
391 (((
392 Nodes
393 )))|(% colspan="1" %)(% colspan="1" %)
394 (((
395 DEFAULT_MINIMUM_SIZE
396 )))
397 |(% colspan="1" %)(% colspan="1" %)
398 (((
399 Spacing
400 )))|(% colspan="1" %)(% colspan="1" %)
401 (((
402 de.cau.cs.kieler.spacing
403 )))|(% colspan="1" %)(% colspan="1" %)
404 (((
405 Float
406 )))|(% colspan="1" %)(% colspan="1" %)
407 (((
408 Parents
409 )))|(% class="highlight-yellow" colspan="1" data-highlight-colour="yellow" %)(% class="highlight-yellow" colspan="1" data-highlight-colour="yellow" %)
410 (((
411 20
412 )))
413
414 == KLay Layered Layout Options ==
415
416 |=(((
417 Option
418 )))|=(((
419 ID
420 )))|=(((
421 Type
422 )))|=(((
423 Applies to
424 )))|=(((
425 Default
426 )))
427 |(((
428 Crossing Minimization
429 )))|(((
430 de.cau.cs.kieler.klay.layered.crossMin
431 )))|(((
432 Enum
433 )))|(((
434 Parents
435 )))|(((
436 LAYER_SWEEP
437 )))
438 |(((
439 Cycle Breaking
440 )))|(((
441 de.cau.cs.kieler.klay.layered.cycleBreaking
442 )))|(((
443 Enum
444 )))|(((
445 Parents
446 )))|(((
447 GREEDY
448 )))
449 |(((
450 Distribute Nodes
451 )))|(((
452 de.cau.cs.kieler.klay.layered.distributeNodes
453 )))|(((
454 Boolean
455 )))|(((
456 Parents
457 )))|(((
458 false
459 )))
460 |(((
461 Edge Spacing Factor
462 )))|(((
463 de.cau.cs.kieler.klay.layered.edgeSpacingFactor
464 )))|(((
465 Float
466 )))|(((
467 Parents
468 )))|(((
469 0.5
470 )))
471 |(% colspan="1" %)(% colspan="1" %)
472 (((
473 Feedback Edges
474 )))|(% colspan="1" %)(% colspan="1" %)
475 (((
476 de.cau.cs.kieler.klay.layered.feedBackEdges
477 )))|(% colspan="1" %)(% colspan="1" %)
478 (((
479 Boolean
480 )))|(% colspan="1" %)(% colspan="1" %)
481 (((
482 Parents
483 )))|(% colspan="1" %)(% colspan="1" %)
484 (((
485 false
486 )))
487 |(% colspan="1" %)(% colspan="1" %)
488 (((
489 Fixed Alignment
490 )))|(% colspan="1" %)(% colspan="1" %)
491 (((
492 de.cau.cs.kieler.klay.layered.fixedAlignment
493 )))|(% colspan="1" %)(% colspan="1" %)
494 (((
495 Enum
496 )))|(% colspan="1" %)(% colspan="1" %)
497 (((
498 Parents
499 )))|(% colspan="1" %)(% colspan="1" %)
500 (((
501 NONE
502 )))
503 |(% colspan="1" %)(% colspan="1" %)
504 (((
505 Interactive Reference Point
506 )))|(% colspan="1" %)(% colspan="1" %)
507 (((
508 de.cau.cs.kieler.klay.layered.interactiveReferencePoint
509 )))|(% colspan="1" %)(% colspan="1" %)
510 (((
511 Enum
512 )))|(% colspan="1" %)(% colspan="1" %)
513 (((
514 Parents
515 )))|(% colspan="1" %)(% colspan="1" %)
516 (((
517 CENTER
518 )))
519 |(% colspan="1" %)(% colspan="1" %)
520 (((
521 Label Side
522 )))|(% colspan="1" %)(% colspan="1" %)
523 (((
524 de.cau.cs.kieler.klay.layered.LabelSide
525 )))|(% colspan="1" %)(% colspan="1" %)
526 (((
527 Enum
528 )))|(% colspan="1" %)(% colspan="1" %)
529 (((
530 Parents
531 )))|(% colspan="1" %)(% colspan="1" %)
532 (((
533 SMART
534 )))
535 |(% colspan="1" %)(% colspan="1" %)
536 (((
537 Layer Constraint
538 )))|(% colspan="1" %)(% colspan="1" %)
539 (((
540 de.cau.cs.kieler.klay.layered.layerConstraint
541 )))|(% colspan="1" %)(% colspan="1" %)
542 (((
543 Enum
544 )))|(% colspan="1" %)(% colspan="1" %)
545 (((
546 Nodes
547 )))|(% colspan="1" %)(% colspan="1" %)
548 (((
549 NONE
550 )))
551 |(% colspan="1" %)(% colspan="1" %)
552 (((
553 Merge Edges
554 )))|(% colspan="1" %)(% colspan="1" %)
555 (((
556 de.cau.cs.kieler.klay.layered.mergePorts
557 )))|(% colspan="1" %)(% colspan="1" %)
558 (((
559 Boolean
560 )))|(% colspan="1" %)(% colspan="1" %)
561 (((
562 Parents
563 )))|(% colspan="1" %)(% colspan="1" %)
564 (((
565 false
566 )))
567 |(((
568 Node Layering
569 )))|(((
570 de.cau.cs.kieler.klay.layered.nodeLayering
571 )))|(((
572 Enum
573 )))|(((
574 Parents
575 )))|(((
576 NETWORK_SIMPLEX
577 )))
578 |(% colspan="1" %)(% colspan="1" %)
579 (((
580 Node Placement
581 )))|(% colspan="1" %)(% colspan="1" %)
582 (((
583 de.cau.cs.kieler.klay.layered.nodePlace
584 )))|(% colspan="1" %)(% colspan="1" %)
585 (((
586 Enum
587 )))|(% colspan="1" %)(% colspan="1" %)
588 (((
589 Parents
590 )))|(% colspan="1" %)(% colspan="1" %)
591 (((
592 BRANDES_KOEPF
593 )))
594 |(% colspan="1" %)(% colspan="1" %)
595 (((
596 Port Anchor Offset
597 )))|(% colspan="1" %)(% colspan="1" %)
598 (((
599 de.cau.cs.kieler.klay.layered.portAnchor
600 )))|(% colspan="1" %)(% colspan="1" %)
601 (((
602 Object
603 )))|(% colspan="1" %)(% colspan="1" %)
604 (((
605 Ports
606 )))|(% colspan="1" %)(% colspan="1" %)
607 (((
608
609 )))
610 |(((
611 Thoroughness
612 )))|(((
613 de.cau.cs.kieler.klay.layered.thoroughness
614 )))|(((
615 Int
616 )))|(((
617 Parents
618 )))|(((
619 7
620 )))
621
622 = The Most Important Options =
623
624 **TODO:** Write a bit of documentation about the most important layout options and how to use them, possibly with a simple example or something.
625
626 = Detailed Documentation =
627
628 This section explains every layout option in more detail. See [[the KIML documentation>>doc:KIML Layout Options]] for more information on KIML layout options. Those options are only mentioned here if KLay Layered adds some custom behavior.
629
630