Advanced Features > Nested Managers and Nested Graphers > Nested Graphers > Coordinate System of Intergraph Links

Since an intergraph link has its origin and destination in different graphers, it may be difficult to determine in which coordinate system the bend points of an intergraph link are defined.

The coordinate system of the link and its bend points is always the coordinate system of the grapher to which the link has been added. The only difference compared to regular links is the way an intergraph link computes its end points: the connection points of the link to its origin and destination. The link itself, in fact the base class of the IlvLinkImage class, computes its correct connection points by calling:

void getConnectionPoints(IlvPoint src, IlvPoint dst, IlvTransformer t) 

This method determines if the link connector (ilog.views.IlvLinkConnector) is installed on the destination or origin node, by calling:

boolean getLinkConnectorConnectionPoint(boolean origin, IlvPoint p, IlvTransformer t) 

The getConnectionPoints method stores the result in the src and dst parameters. If the link is an intergraph link, this method will compute the connection points in the coordinate system of the origin and destination nodes.

In this method the origin parameter is true for computing the connection point at the origin of the link and false for the destination of the link, and the transformer is the transformer used to draw the link.

This method returns true if a link connector is installed. If no link connector is installed, a default connection point is computed. If a link connector is installed, the link connector then computes the connection point with the method:

IlvPoint getConnectionPoint(IlvLinkImage link, boolean origin,IlvTransformer t) 

So when developing a new class of links or link connectors, there is no special work to be done to take into account the specific case of intergraph links.