Graphers may be nested. In this case, links of different
subgraphers may cross each other. Calculating the crossings therefore
requires a complete traversal of the nested subgraphers. If the grapher
is not nested, or if crossings of links of different subgraphers should
not be displayed as tunnels or bridges, then it is useful to disable
the nesting traversal of the link shape policy. This also speeds up
the calculation of crossings.
To disable the nesting traversal, call
crossingPolicy.setNestingTraversal(false);
The nesting traversal is enabled by default.
To enable or disable the nesting traversal of all crossing
link shape policies that occur in a nested grapher, it is more convenient
to call:
IlvCrossingLinkShapePolicy.SetNestingTraversal(grapher, flag, traverse,
redraw);
If the traverse
parameter
is set to true
, this method iterates over
all links of all subgraphers and sets the flag at all crossing shape
policies of the links. If the redraw
parameter
is true
, a redraw is automatically performed
afterwards.
Tunnel and bridge crossing shapes can be horizontally
or vertically oriented. To enable a horizontal orientation, call:
crossingPolicy.setHorizontalPreferred(true);
To enable a vertical orientation, call:
crossingPolicy.setHorizontalPreferred(false);
The horizontal orientation is the default.
Crossing links only look nice if all link crossings are
the same. This can be achieved by making all links share the same
shape policy. Alternatively, you can also achieve this by calling
the following method on the grapher:
IlvCrossingLinkShapePolicy.SetHorizontalPreferred(grapher, flag, traverse,
redraw);
If the traverse
parameter
is true, the same preference is applied to all crossing shape policies
of all the links in all the nested subgraphers. Changing the preference
changes the shape of the links; therefore it may be necessary to redraw
the links. If the redraw
parameter is true,
the redraw is automatically performed.