#!/usr/bin/env python

######################################################################
# AUTHOR: Kurt Schwehr
#
# DESCRIPTION: convert utm zone 11 to lat lon
#
# Copyright (c) 2003 Kurt Schwehr
######################################################################

# FIX: write out a file with Text3 nodes with nav info.

import os, sys #, re

if (3 > len(sys.argv)):
    print "\nERROR: must specify any number of navigation files as args."
    print "  USAGE: ", sys.argv[0], " outfile.iv line001.nav line002.nav\n"
    print "  with one or more nave files\n"
    sys.exit(1)

# FIX: make sure we do not write over a data file!
# Use access to see if it exists.  If so, bail.

if (1 == os.access(sys.argv[1],os.F_OK)):
    print "ERROR: output file exists.  do not want to over write!!"
    print "  ", sys.argv[1]
    sys.exit(1)

outfile = open(sys.argv[1],"w")
outfile.write ("#Inventor V2.1 ascii\n\n")

outfile.write ("##################\n")
outfile.write ("#\n")
outfile.write ("# ungenerateLines2iv.py by Kurt Schwehr\n")
outfile.write ("#\n")
outfile.write ("# command: ")
outfile.write (sys.argv[0])
outfile.write ("# output file: ")
outfile.write (sys.argv[1])
outfile.write ("# with files...\n")
for i in range(len(sys.argv)-2):
    outfile.write ("#    ")
    outfile.write (sys.argv[i+2])
    outfile.write ("\n")
outfile.write ("#\n")
outfile.write ("##################\n")

for i in range(len(sys.argv)-2):
    index = i + 2
    print "# ", sys.argv[index]
    outfile.write ("\n  # FILE: ")
    outfile.write (sys.argv[index])
    outfile.write ("\n")

    # FIX: make a good def for each file name.
    #outfile.write ("DEF ")
    #outfile.write (line)
    outfile.write ("  Separator {\n")
    outfile.write ("\tCoordinate3 { point [\n")
    infile = open(sys.argv[index],"r")
    points=0
    for line in infile.xreadlines():
        items=line.split()
        outfile.write ("\t\t")
        outfile.write (items[2])
        outfile.write (" ")
        outfile.write (items[3])
        outfile.write (" 0,\n")
        points += 1
    infile.close()
    outfile.write ("\t] }\n")
    outfile.write ("\tLineSet { numVertices [ ")
    c = "\t\t%d, \n" % points
    outfile.write (c)
    outfile.write (" ]}\n")
    #outfile.write ("\tIndexedLineSet { coordIndex [\n")
    #for p in range(points):
    #    c = "\t\t%d, \n" % p
    #    outfile.write (c)
    #outfile.write ("\t]}\n")
    outfile.write ("  } # Separator DEF\n")
