A 'draw_undi_graph' represents an undi_graph with coordinates associated to nodes and bends,
more a series of graphical attributes for nodes and edges.
The basic idea of this class is that it has a constructor from each other class in which
coordinates (double in general) are assigned in order to produce an appropriate layout.
For instance, it is possible to make a draw_undi_graph object initializing it with an
orth_plan_undi_graph, and specifying one of the compaction algorithms provided in the library.
More details about the layout algorithms available for each constructor are provided directly
in the method documentation.
Technical details about node and bends coordinates:
NOTICE: features about node and edge shadows are experimental.
- Each node has a center point and an associated shape. You can also define width and
height of the bounding box including node; observe that these dimensions are absolute,
and do not depending on the scale of the drawing. At each moment you can decide
to automatically set the scale (rescale() method) in order to avoid node collisions due
to change of node dimensions.
- Each edge is represented as a polygonal-line and then it contains a list of points
(bends) defining such a polygonal-line. Also, at each edge are associated two extremal
points, called anchor_points. Namely, if v and w are the two extremal nodes of the
edge e, such that v = source(e) and w = target(e), anchor_source(e) and anchor_target(e)
represent the signed-distances (dx,dy) of the anchor_points from the center of v and w,
respectively. Then, if center of a node is moved, all anchor_points of the edges
incident on it are moved.
Page generated from source code by SCP Source Code Publisher.
SCP © INTEGRA Sistemi, www.IntegraSistemi.com