/** ** CSV2TABLE - template filter ** ** CREATED: 2014.02.01 ABS copied from CSV2TABLE ** **/ #include "csv2table.h" main(argc, argv) int argc; char** argv; { /* declare functions */ double atof(); /* declare local variables */ char input_line[4096]; char color_string[10]; char temp_char; char data_array[4096]; float input_var[94][8192]; int i, n, len, num_records; int d_col, i_col; /* initialize global variables (including parameters) */ defaultParms(); parseArgs(argc, argv); /* initialize local variables */ num_records = 0; /* read */ len = getl(stdin, &input_line, 4096); if (Debug != FALSE) { fprintf(stderr, "%s: DEBUG: #1 header length = %d\n", argv[0], len); fprintf(stderr, "%s: DEBUG: #1 header input_line = >%s<\n", argv[0], input_line); fprintf(stderr, "%s: DEBUG: #1 header input_line[0] = %d ASCII\n", argv[0], (int)input_line[0]); } if (len == 0 || len == 1 || len == 2 || input_line[0] == ' ') { len = getl(stdin, &input_line, 4096); if (Debug != FALSE) { fprintf(stderr, "%s: DEBUG: #2 header length = %d\n", argv[0], len); fprintf(stderr, "%s: DEBUG: #2 header input_line = >%s<\n", argv[0], input_line); fprintf(stderr, "%s: DEBUG: #2 header input_line[0] = %d ASCII\n", argv[0], (int)input_line[0]); } } #ifdef NEVER_DEFINED if (len == 0 || len == 1 || len == 2 || input_line[0] == ' ') { len = getl(stdin, &input_line, 4096); if (Debug != FALSE) { fprintf(stderr, "%s: DEBUG: #3 header length = %d\n", argv[0], len); fprintf(stderr, "%s: DEBUG: #3 header input_line = >%s<\n", argv[0], input_line); fprintf(stderr, "%s: DEBUG: #3 header input_line[0] = %d ASCII\n", argv[0], (int)input_line[0]); } } #endif while(!feof(stdin)) { len = getl(stdin, &input_line, 4096); if (len == 0) { fprintf(stderr, "%s: ERROR: zero length line number %d\n", argv[0], num_records); break; } if (Debug != FALSE) { fprintf(stderr, "%s: DEBUG: input_line number %d: >%s<\n", argv[0], num_records, input_line); } i_col = 0; for (i = 0; i < 93; i++) { d_col = 0; temp_char = input_line[i_col]; while (temp_char != ',') { temp_char = input_line[i_col++]; data_array[d_col++] = temp_char; } data_array[d_col - 1] = '\0'; sscanf(data_array, "%f", &input_var[i][num_records]); if (Debug != FALSE) { fprintf(stderr, "%s: DEBUG: data_array = %s\n", argv[0], data_array); fprintf(stderr, "%s: DEBUG: input_var[%d][%d] = %f\n", argv[0], i, num_records, input_var[i][num_records]); } } d_col = 0; temp_char = input_line[i_col]; while (temp_char != ',') { temp_char = input_line[i_col++]; data_array[d_col++] = temp_char; } data_array[d_col - 1] = '\0'; sscanf(data_array, "%f", &input_var[93][num_records]); #ifdef PICKY if (input_var[93][num_records] != 420.0) { fprintf(stderr, "%s: ERROR: record 93 was: %f, should be 420.0\n", argv[0], input_var[93][num_records]); usage(argv); exit(0); } #endif num_records++; } /* write */ fprintf(stderr, "num_records = %d\n", num_records); fprintf(stdout, "\n"); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, " "); fprintf(stdout, "\n"); for (n = 0; n < num_records; n++) { fprintf(stdout, " "); fprintf(stdout, " ", (int)input_var[0][n]); fprintf(stdout, " ", (int)input_var[1][n]); fprintf(stdout, " ", (int)input_var[2][n]); fprintf(stdout, " ", (int)input_var[4][n]); fprintf(stdout, " ", (int)input_var[5][n]); fprintf(stdout, " ", input_var[6][n]); fprintf(stdout, " ", input_var[7][n]); fprintf(stdout, " ", input_var[8][n]); fprintf(stdout, " ", input_var[13][n]); fprintf(stdout, " ", input_var[21][n]); fprintf(stdout, " ", input_var[22][n]); fprintf(stdout, " ", input_var[23][n]); fprintf(stdout, " ", input_var[24][n]); fprintf(stdout, " ", input_var[25][n]); fprintf(stdout, " ", input_var[26][n]); fprintf(stdout, " ", input_var[27][n]); fprintf(stdout, " ", input_var[28][n]); fprintf(stdout, " ", input_var[29][n]); fprintf(stdout, " ", input_var[30][n]); fprintf(stdout, " ", input_var[31][n]); fprintf(stdout, " ", input_var[32][n]); fprintf(stdout, " ", input_var[33][n]); fprintf(stdout, " ", input_var[37][n]); fprintf(stdout, " ", input_var[38][n]); fprintf(stdout, " ", input_var[39][n]); fprintf(stdout, " ", input_var[50][n]); fprintf(stdout, " ", input_var[53][n]); fprintf(stdout, " ", input_var[54][n]); if (Colors == FALSE) { fprintf(stdout, " ", (int)input_var[55][n]); fprintf(stdout, " ", (int)input_var[56][n]); fprintf(stdout, " ", (int)input_var[57][n]); } else { sprintf(color_string, "#%02x%02x%02x", (int)input_var[55][n], (int)input_var[56][n], (int)input_var[57][n]); fprintf(stdout, " ", color_string, (int)input_var[55][n]); fprintf(stdout, " ", color_string, (int)input_var[56][n]); fprintf(stdout, " ", color_string, (int)input_var[57][n]); } fprintf(stdout, " ", input_var[58][n]); fprintf(stdout, " ", input_var[86][n]); fprintf(stdout, " ", input_var[87][n]); fprintf(stdout, " ", input_var[88][n]); fprintf(stdout, "\n"); } } /* end main */ /* * defaultParms - initialize global variables */ defaultParms() { Debug = FALSE; Colors = FALSE; } /* end defaultParms() */ /* * parseArgs - parse arguments into global variables */ parseArgs(argc, argv) int argc; char** argv; { int i; for (i = 0; i < argc; i++) { if (argv[i][0] == '-') { switch (argv[i][1]) { case 'D' : Debug = TRUE; break; case 'C' : Colors = TRUE; break; case 'h' : help(argv); exit(0); break; case 'u' : usage(argv); exit(0); break; default: fprintf(stderr, "%s: ERROR: illegal flag: %s\n", argv[0], argv[i]); usage(argv); exit(0); break; } /* end switch */ } /* end if */ } /* end for(i) */ } /* end parseArgs() */ /* * getl - modified from Kernighan & Ritchie to take stream */ int getl(stream, s, lim) /* get line into s, return length */ FILE *stream; char s[]; int lim; { int c, i; i = 0; while (--lim > 0 && (c = getc(stream)) != EOF && c != '\n') s[i++] = c; if (c == '\n') s[i++] = c; s[i] = '\0'; return(i); } /* end getl() */
0
id
1
type
2
data
Level
4
parent_id
5
branch_level
6
child_id
7
child_index
8
chil_count
13
sample
21
rotate_vec_x
22
rotate_vec_y
23
rotate_vec_z
24
rotate_vec_s
25
scale_x
26
scale_y
27
scale_z
28
translate_x
29
translate_y
30
translate_z
31
tag_offset_x
32
tag_offset_y
33
tag_offset_z
37
rotate_x
38
rotate_y
39
rotate_z
50
geometry
53
ratio
54
color_index
55
color_r
56
color_g
57
color_b
58
color_a
86
segments_x
87
segments_y
88
segments_z
%d%d%d%d%d%.4f%.4f%.4f%.4f%.4f%.4f%.4f%.4f%.4f%.4f%.4f%.4f%.4f%.4f%.4f%.4f%.4f%.4f%.4f%.4f%.4f%.4f%.4f%d%d%d%d%d%d%.4f%.4f%.4f%.4f