Page History
...
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.
Contents
Table of Contents |
---|
Overview
Beside a human-readable name, layout options are defined by the following properties:
...
Option | ID | Type | Applies to | Default |
---|---|---|---|---|
Alignment | de.cau.cs.kieler.alignment | Enum | Nodes | AUTOMATIC |
Aspect Ratio | de.cau.cs.kieler.aspectRatio | Float | Parents | 0.0 |
Bend Points | de.cau.cs.kieler.bendPoints | Object | Edges | |
Border Spacing | de.cau.cs.kieler.borderSpacing | Float | Parents | -1.0 |
Comment Box | de.cau.cs.kieler.commentBox | Boolean | Nodes | false |
Debug Mode | de.cau.cs.kieler.debugMode | Boolean | Parents | false |
Diagram Type | de.cau.cs.kieler.diagramType | String | ||
Direction | de.cau.cs.kieler.direction | Enum | Parents | UNDEFINED |
Edge Label Placement | de.cau.cs.kieler.edgeLabelPlacement | Enum | Labels | UNDEFINED |
Edge Routing | de.cau.cs.kieler.edgeRouting | Enum | Parents | UNDEFINED |
Edge Type | de.cau.cs.kieler.edgeType | Enum | Edges | NONE |
Expand Nodes | de.cau.cs.kieler.expandNodes | Boolean | Parents | false |
Font Name | de.cau.cs.kieler.fontName | String | Labels | |
Font Size | de.cau.cs.kieler.fontSize | Int | Labels | |
Hypernode | de.cau.cs.kieler.hypernode | Boolean | Nodes | false |
Interactive | de.cau.cs.kieler.interactive | Boolean | Parents | false |
Label Spacing | de.cau.cs.kieler.labelSpacing | Float | Edges Nodes | -1.0 |
Layout Hierarchy | de.cau.cs.kieler.layoutHierarchy | Boolean | Parents | false |
Layout Algorithm | de.cau.cs.kieler.algorithm | String | Parents | |
Minimal Height | de.cau.cs.kieler.minHeight | Float | Nodes | 0.0 |
Minimal Width | de.cau.cs.kieler.minWidth | Float | Nodes | 0.0 |
No Layout | de.cau.cs.kieler.noLayout | Boolean | false | |
Node Label Placement | de.cau.cs.kieler.nodeLabelPlacement | EnumSet | Nodes | |
Port Constraints | de.cau.cs.kieler.portConstraints | Enum | Nodes | UNDEFINED |
Port Label Placement | de.cau.cs.kieler.portLabelPlacement | Enum | Nodes | OUTSIDE |
Port Offset | de.cau.cs.kieler.offset | Float | Ports | |
Port Side | de.cau.cs.kieler.portSide | Enum | Ports | UNDEFINED |
Position | de.cau.cs.kieler.position | Object | Labels | |
Priority | de.cau.cs.kieler.priority | Int | Edges Nodes | |
Randomization Seed | de.cau.cs.kieler.randomSeed | Int | Parents | |
Separate Connected Components | de.cau.cs.kieler.separateConnComp | Boolean | Parents | |
Size Constraint | de.cau.cs.kieler.sizeConstraint | EnumSet | Nodes | |
Size Options | de.cau.cs.kieler.sizeOptions | EnumSet | Nodes | DEFAULT_MINIMUM_SIZE |
Spacing | de.cau.cs.kieler.spacing | Float | Parents | -1.0 |
The Most Important Options
TODO: Write a bit of documentation about the most important layout options and how to use them, possibly with a simple example or something.
Detailed Documentation
This section explains every layout option in more detail.
Port Offset
The port offset is used to specify how much space a layout algorithm should leave between a port and the border of its node. This is usually zero, but doesn't have to be. If the offset is not defined for a given port, a layout algorithm can try to infer the offset from the port's coordinates and its node's size in the input graph. This of course requires both properties to be set to sensible values.
...