General considerations about layout and coordinates

Important
To understand this section better, read section Using the graph model first.
The distinction between zoomable and nonzoomable objects, and the notion of transformer ( IlvTransformer), are outside the level of the layout framework.
Graph layout algorithms have to deal with the geometry of the graph, that is, the position and shape of the nodes and links. They interact with the geometry of the graph using generic methods of the graph model ( IlvGraphModel), such as boundingBox(Object nodeOrLink) .
The layout algorithms consider the geometry of the graph exactly as it is provided by the graph model. From the point of view of the layout algorithms, the distinction between zoomable and nonzoomable objects is completely transparent. Therefore, when writing a layout algorithm, you do not need to be concerned with such issues.
However, graph layout algorithms must also deal with the layout of an IlvGrapher.
The nodes of an IlvGrapher object can be any graphic object, that is, any subclass of IlvGraphic. The position and size of the nodes are given by their boundingBox(IlvTransformer t) method and usually depend on the transformer used for their display. Therefore, when an IlvGrapher has to be laid out, the geometry of the grapher must be considered for a specific value of the transformer.
Instead of dealing with zoomable/nonzoomable objects and transformers at the level of the layout algorithms, the Rogue Wave®  JViews graph layout package delegates this task to the IlvGrapherAdapter object.