def buildLine(mesh, matrix, vertex_colors, uv_textures, face_index, idx, verti):
  """ Returns a list containing a vertex (3 tuple of floats), normal (3 tuple of floats)
      vertex color (3 tuple of floats) and uv (2 tuple of floats).
  """
  line_data = []
  # Append vertex
  line_data.append((matrix * mesh.vertices[verti].co)[:])
  # Vertex normal
  line_data.append((matrix.to_quaternion() * mesh.vertices[verti].normal)[:])
  # Vertex color
  if vertex_colors == None:
    line_data.append([0.5, 0.5, 0.5])
  else:
    line_data.append(getattr(vertex_colors[face_index], 'color%d' % (idx + 1))[:])
  # UV
  if uv_textures == None:
    line_data.append([0, 0])
  else:
    line_data.append(uv_textures[face_index].uv_raw[idx*2:idx*2+2])
  return line_data