Coordinate system of Intergraph Links

Since an intergraph link has its origin and destination in different graphers, it may be difficult to determine the coordinate system in which 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 connection points by calling:
void getConnectionPoints(IlvPoint src, IlvPoint dst, IlvTransformer t)  
This method determines whether the link connector ( 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 t parameter 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)  
  • When the link is a regular link, the t parameter is the transformer used to draw the link. This is the same as the transformer used to draw the origin and destination.
  • When the link is an intergraph link, then the t parameter is the transformer used to draw the origin or destination.
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.