dimension.maxUp(altDim.up);
dimension.maxDown(altDim.down);
state = alternativeEndState(state);
} else if(state.isSingle()) {
// Create the first node...
GNode n1 = createNode(state);
// ... and compute the size of the transition...
FATransition transition = state.getFirstTransition();
if(transition.isEpsilon()) {
n1.linkDimension.width = GContext.EPSILON_WIDTH;
n1.linkDimension.up = GContext.EPSILON_UP;
n1.linkDimension.down = GContext.EPSILON_DOWN;
} else {
n1.linkDimension.width = GContext.getBoxWidth(transition.label);
n1.linkDimension.up = GContext.BOX_UP;
n1.linkDimension.down = GContext.BOX_DOWN;
}
dimension.addWidth(GContext.NODE_WIDTH+n1.linkDimension.width);
dimension.maxUp(n1.linkDimension.up);
dimension.maxDown(n1.linkDimension.down);
// ... then create the target node...
state = transition.target;
GNode n2 = createNode(state);
// ... and create the link between these two states
GLink link = new GLink();
link.transition = transition;
link.target = n2;