Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel
titleNode Sizing
borderStylesolid

Node sizing is the act of determining the size of a node. In KIML, a layout algorithm can be granted different kinds of freedom in calculating the size of a node. The different kinds are expressed through a subset of the following options, as defined (and documented) in the SizeConstraint enumeration:

  • PORTS
  • PORT_LABELS
  • NODE_LABELS
  • MINIMUM_SIZE
  • DEFAULT_MINIMUM_SIZE
  • MINIMUM_SIZE_ACCOUNTS_FOR_INSETS
  • CHILD_AREA

On the one extreme, the subset can be empty, thereby fixing the node size. On the other extreme, the set can contain all options, thereby giving the layout algorithm the maximum amount of flexibility.

The way the node size is determined can also be influenced by specifying a subset of the following options, as defined (and documented) in the SizeOptions enumeration:

  • DEFAULT_MINIMUM_SIZE
  • MINIMUM_SIZE_ACCOUNTS_FOR_INSETS
  • COMPUTE_INSETS

On to port placement:

Panel
titlePort Placement
borderStylesolid

Port placement is the act of determining the position of ports. This includes determining the side of their node where the port gets attached, determining an order between ports on the same side, and determining the final position of each port. There are different levels of constraints on placing ports, as defined (and documents) in the PortConstraints enumeration:

  • FREE
  • FIXED_SIDE
  • FIXED_ORDER
  • FIXED_RATIO
  • FIXED_POS

Port placement can take place after crossing minimization, since the order of ports must be known and port placements needs to be fixed before node placement.

...