private void drawLinkEndsAndSignals(GL2 gl, VisLinkWLanes link) {
if (link.getLaneData() != null) {
for (VisLane ld : link.getLaneData().values()){
if (ld.getSignals() != null){
this.drawSignals(gl, ld.getSignals(), ld.getEndPoint(), link.getLinkOrthogonalVector(), ld.getToLinks());
}
else {
this.setColor(gl, Color.LANECOLOR);
this.drawLaneEnd(gl, ld);
this.drawToLinks(gl, ld.getEndPoint(), ld.getToLinks());
}
}
}
else {
if (link.getSignals() != null){
this.drawSignals(gl, link.getSignals(), link.getLinkEndCenterPoint(), link.getLinkOrthogonalVector(), link.getToLinks());
}
else {
this.setColor(gl, Color.LANECOLOR);
this.drawQuad(gl, link.getLinkEndCenterPoint(), quadSizeLinkEnd);
this.drawToLinks(gl, link.getLinkEndCenterPoint(), link.getToLinks());
}
}
}