* @param offset is offset to the 'next' vertex
     * @param increment is how much to increment in the loop
     */
    private void draw_lines(float vertices[][], int max,
                            int offset, int increment, int skip) {

      if (strokeWeight == 1) {
        for (int i = 0; i < max; i += increment) {
          if ((skip != 0) && (((i+offset) % skip) == 0)) continue;

          float a[] = vertices[i];
          float b[] = vertices[i+offset];

          if (line == null) line = new PLine(this);

          line.reset();
          line.setIntensities(a[SR], a[SG], a[SB], a[SA],
                              b[SR], b[SG], b[SB], b[SA]);
          line.setVertices(a[TX], a[TY], a[TZ],
                           b[TX], b[TY], b[TZ]);
          line.draw();
        }

      } else {  // use old line code for thickness != 1
        for (int i = 0; i < max; i += increment) {
          if ((skip != 0) && (((i+offset) % skip) == 0)) continue;

          float v1[] = vertices[i];
          float v2[] = vertices[i+offset];
          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]);
        }
      }
    }