The reference transformer is the
transformer that is currently being used for the display of the
IlvGrapher. The IlvGrapherAdapter may need to compute the geometry
of the graph for this transformer.
How a reference transformer is used
For a simple example of how a reference transformer is used,
consider the boundingBox method. This abstract method
of the
IlvGraphModel
class is implemented in the
IlvGrapherAdapter
. To compute the bounding box, it calls the IlvGrapher method of the graphic object
that it receives as an argument. However, it does not handle
zoomable objects and nonzoomable objects in the same way.
If the graphic object is zoomable, the boundingBox
boundingBox(Object nodeOrLink)
method of the
IlvGrapherAdapter
returns the bounding box in manager coordinates by calling
IlvGraphic.boundingBox(null)
.
If the graphic object is nonzoomable, the boundingBox
boundingBox(Object nodeOrLink)
method computes the bounding box according to the reference
transformer and returns a rectangle obtained by applying the
inverse transformation to this rectangle, see the inverse
IlvTransformer.inverse(IlvRect rect)
method.
The geometry of the IlvGrapher is computed in such a manner
that the resulting drawing inside an IlvManagerView using the reference
transformer will look fine.
Reference views
Optionally, an IlvManagerView can be specified as a reference view for the IlvGrapherAdapter. If a reference view is
specified, its current transformer (at the moment when the
layout is started) is automatically used as the reference
transformer. Usually, applications use the same manager view
that is used for the display of the
IlvGrapher
as the reference view (but this is not mandatory).
To specify the reference view, use the
following method:
void setReferenceView(IlvManagerView view)
To get the current reference view, use
the method:
IlvManagerView getReferenceView()
If no view has been specified as the reference view, the method
returns
null
.