def get_coords_from_line(line):
    """ Given a line, split it, and parse out the coordinates.

        Return:

             A tuple containing coords (position, color, normal)
    """
    values = line.split()

    pt = None
    pt_n = None
    pt_col = None

    # The first three are always the point coords
    if len(values) >= 3:
        pt = [float(values[0]), float(values[1]), float(values[2])]

    # Then if there are only 6 total, the next three are normal coords
    if len(values) == 6:
        pt_n = [float(values[3]), float(values[4]), float(values[5])]
    else:
        if len(values) >= 7:    # Otherwise the next 4 are colors
            pt_col = [float(values[3]), float(values[4]), float(values[5]), float(values[6])]
        if len(values) >= 10:   # And if there are more, those are the normals
            pt_n = [float(values[7]), float(values[8]), float(values[9])]

    return pt, pt_col, pt_n