public void fire() throws IllegalActionException { if (_debugging) { _debug("Called fire()"); } ArrayToken lineStartToken = ((ArrayToken) lineStart.getToken()); ArrayToken lineEndToken = ((ArrayToken) lineEnd.getToken()); ArrayToken rgbColorValue = ((ArrayToken) rgbColor.getToken()); DoubleToken widthValue = (DoubleToken) width.getToken(); GL gl = ((GRODirector) getDirector()).getGL(); gl.glLineWidth((float) widthValue.doubleValue()); gl.glBegin(GL.GL_LINES); gl.glColor3d( ((DoubleToken) rgbColorValue.getElement(0)).doubleValue(), ((DoubleToken) rgbColorValue.getElement(1)).doubleValue(), ((DoubleToken) rgbColorValue.getElement(2)).doubleValue()); // origin of the line gl.glVertex3d( ((DoubleToken) lineStartToken.getElement(0)).doubleValue(), ((DoubleToken) lineStartToken.getElement(1)).doubleValue(), ((DoubleToken) lineStartToken.getElement(2)).doubleValue()); // ending point of the line gl.glVertex3d( ((DoubleToken) lineEndToken.getElement(0)).doubleValue(), ((DoubleToken) lineEndToken.getElement(1)).doubleValue(), ((DoubleToken) lineEndToken.getElement(2)).doubleValue()); gl.glEnd(); }