private void draw_line(float[] v1, float[] v2) {
      if (strokeWeight == 1) {
        if (line == null) line = new PLine(this);

        line.reset();
        line.setIntensities(v1[SR], v1[SG], v1[SB], v1[SA],
                            v2[SR], v2[SG], v2[SB], v2[SA]);
        line.setVertices(v1[TX], v1[TY], v1[TZ],
                         v2[TX], v2[TY], v2[TZ]);
        line.draw();

      } else {  // use old line code for thickness != 1
        thick_flat_line(v1[TX], v1[TY],  v1[SR], v1[SG], v1[SB], v1[SA],
                        v2[TX], v2[TY],  v2[SR], v2[SG], v2[SB], v2[SA]);
      }
    }