[brlcad-commits] SF.net SVN: brlcad:[54691] brlcad/trunk/src/conv/patch
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <br...@us...> - 2013-03-14 16:09:39
|
Revision: 54691 http://brlcad.svn.sourceforge.net/brlcad/?rev=54691&view=rev Author: brlcad Date: 2013-03-14 16:09:27 +0000 (Thu, 14 Mar 2013) Log Message: ----------- source style ws consistency cleanup Modified Paths: -------------- brlcad/trunk/src/conv/patch/patch-g.c brlcad/trunk/src/conv/patch/patch-g.h brlcad/trunk/src/conv/patch/pull_comp.sh brlcad/trunk/src/conv/patch/rpatch.c Modified: brlcad/trunk/src/conv/patch/patch-g.c =================================================================== --- brlcad/trunk/src/conv/patch/patch-g.c 2013-03-14 16:01:20 UTC (rev 54690) +++ brlcad/trunk/src/conv/patch/patch-g.c 2013-03-14 16:09:27 UTC (rev 54691) @@ -75,7 +75,7 @@ usage(int status, const char *argv0) { bu_log("Usage: %s [options] model.g\n", argv0); - bu_log(" -f fastgen.rp specify pre-processed fastgen file (default stdin)\n"); + bu_log(" -f fastgen.rp specify pre-processed FASTGEN file (default stdin)\n"); bu_log(" -a process phantom armor?\n"); bu_log(" -n process volume mode as plate mode?\n"); bu_log(" -u # number of union operations per region (default 5)\n"); @@ -92,7 +92,7 @@ bu_log(" -X # librt NMG debug flags\n"); bu_log(" -T # distance tolerance (inches) (two points within this distance are the same point)\n"); bu_log(" -A # parallel tolerance (if A dot B (unit vectors) is less than this value, they are perpendicular)\n"); - bu_log("Note: fastgen.rp is the pre-processed (through rpatch) fastgen file\n\n"); + bu_log("Note: fastgen.rp is the pre-processed (through rpatch) FASTGEN file\n\n"); if (status == 0) exit(0); bu_exit(status, "Exit status %d\n", status); @@ -290,10 +290,10 @@ for (BU_LIST_FOR (fu1, faceuse, &s->fu_hd)) { plane_t n1; - if (BU_LIST_NEXT_IS_HEAD(fu1, &s->fu_hd)) break; + if (BU_LIST_NEXT_IS_HEAD(fu1, &s->fu_hd)) break; f1 = fu1->f_p; NMG_CK_FACE(f1); - if (NMG_INDEX_TEST(flags1, f1)) continue; + if (NMG_INDEX_TEST(flags1, f1)) continue; NMG_INDEX_SET(flags1, f1); fg1 = f1->g.plane_p; @@ -323,7 +323,7 @@ f2 = fu2->f_p; NMG_CK_FACE(f2); - if (NMG_INDEX_TEST(flags2, f2)) continue; + if (NMG_INDEX_TEST(flags2, f2)) continue; NMG_INDEX_SET(flags2, f2); fg2 = f2->g.plane_p; @@ -336,7 +336,7 @@ /* Compare distances from origin */ dist = n1[W] - n2[W]; - if (!NEAR_ZERO(dist, tol->dist)) continue; + if (!NEAR_ZERO(dist, tol->dist)) continue; /* * Compare angle between normals. Can't just use @@ -344,7 +344,7 @@ * in the same direction. */ dist = VDOT(n1, n2); - if (!(dist >= tol->para)) continue; + if (!(dist >= tol->para)) continue; } /* Find the entry for fu2 in p_faces */ @@ -407,6 +407,7 @@ } } + int Build_solid(int l, char *name, char *mirror_name, int plate_mode, fastf_t *centroid, fastf_t thickness, fastf_t *pl1, struct bn_tol *tol) { @@ -1091,6 +1092,7 @@ last_cc = in[0].cc; } + /* * Process Volume Mode triangular facetted solids */ @@ -1222,6 +1224,7 @@ last_cc = in[cnt-1].cc; } + void Get_ave_plane(fastf_t *pl, int num_pts, fastf_t *x, fastf_t *y, fastf_t *z) { @@ -1341,6 +1344,7 @@ } } + /* * Process Plate Mode triangular surfaces */ @@ -1521,8 +1525,9 @@ last_cc = in[cnt-1].cc; } + /* - * Process fastgen wedge shape - also process hollow wedges. + * Process FASTGEN wedge shape - also process hollow wedges. */ void proc_wedge(int cnt) @@ -1662,7 +1667,7 @@ if ((count % num_unions) != 0) proc_region(name); - /* Mirror Processing - duplicates above code! */ + /* Mirror Processing - duplicates above code! */ ret = 0; for (k=0; k <= (cnt-1) && in[k].mirror != 0; k+=4) { @@ -1773,8 +1778,9 @@ last_cc = in[cnt-1].cc; } + /* - * Process fastgen spheres - can handle hollowness + * Process FASTGEN spheres - can handle hollowness */ void proc_sphere(int cnt) @@ -1896,8 +1902,9 @@ last_cc = in[cnt-1].cc; } + /* - * Process fastgen box code + * Process FASTGEN box code */ void proc_box(int cnt) @@ -2017,7 +2024,7 @@ proc_region(name); - /* Mirror Processing - duplicates above code! */ + /* Mirror Processing - duplicates above code! */ for (k=0; k <= (cnt-1) && in[k].mirror != 0; k+=4) { VSET(pt8[0], in[k].x, -in[k].y, in[k].z); @@ -2100,6 +2107,7 @@ last_cc = in[cnt-1].cc; } + /* * Donuts * @@ -2129,8 +2137,8 @@ char scratch_name3[NAMESIZE+1]; char scratch_name4[NAMESIZE+1]; - for (k=0; k<cnt-1; k += 6) /* for each donut */ - { + for (k=0; k<cnt-1; k += 6) { + /* for each donut */ if (EQUAL(in[k].x, in[k+1].x) && EQUAL(in[k].y, in[k+1].y) && EQUAL(in[k].z, in[k+1].z)) @@ -2217,8 +2225,8 @@ /* in some cases we won't even need the two basic TRC's */ make_basic_solids = 1; - if (in[k].surf_mode == '-') /* plate mode */ - { + if (in[k].surf_mode == '-') { + /* plate mode */ if (magh3 > 0.0 && end_code == 4) make_basic_solids = 0; else if (magh4 > 0.0 && end_code == 5) @@ -2257,8 +2265,8 @@ } } - if (in[k].surf_mode != '-') /* volume mode */ - { + if (in[k].surf_mode != '-') { + /* volume mode */ fastf_t dot3, dot4; dot3 = VDOT(h3, h1); @@ -2827,7 +2835,7 @@ if ((count % num_unions) != 0 && (BU_LIST_NEXT_NOT_HEAD(&head, &head.l))) proc_region(name); - /* Mirror Processing - duplicates above code! */ + /* Mirror Processing - duplicates above code! */ for (k=0; k < (cnt-1); k+=3) { @@ -2896,8 +2904,9 @@ last_cc = in[cnt-1].cc; } + /* - * Process fastgen rod mode + * Process FASTGEN rod mode */ void proc_rod(int cnt) @@ -3012,7 +3021,7 @@ proc_region(name); } - /* Mirror Processing - duplicates above code! */ + /* Mirror Processing - duplicates above code! */ for (k=1; k < (l-1); k++) { @@ -3215,8 +3224,7 @@ } -/* P T _ I N S I D E - * +/* * Returns 1 if point a is inside the cylinder defined by base, top, * rad1, rad2. Returns 0 if not. */ @@ -3263,8 +3271,7 @@ } -/* I N S I D E _ C Y L - * +/* * Returns 1 if the cylinder starting at in[j] is inside (for solid * subtraction) the cylinder described at in[i], 0 otherwise. * @@ -3343,8 +3350,6 @@ /** - * A D D _ T O _ L I S T - * * Add the inside, outside cylinder numbers to the subtraction list * slist. */ @@ -3365,9 +3370,6 @@ } -/** - * M A I N - */ int main(int argc, char **argv) { @@ -3459,7 +3461,7 @@ polysolid = 1; break; - case 'f': /* fastgen source file data */ + case 'f': /* FASTGEN source file data */ patchfile = bu_optarg; break; @@ -3578,12 +3580,12 @@ } } - /* This is the primary processing section to input fastgen data + /* This is the primary processing section to input FASTGEN data * and manufacture related mged elements. Previous editions of - * PATCH failed to process the final element after hitting EOF so - * I moved the read statement into the for loop and made a check - * flag "done" to verify that all elements are processed prior to - * falling out of the "for". + * patch-g failed to process the final element after hitting EOF + * so the read statement was moved into the for loop and made a + * check flag "done" to verify that all elements are processed + * prior to falling out of the "for". */ /* FASTGEN targets are always in inches */ @@ -3603,14 +3605,14 @@ if ((stop=fscanf(gfp, "%4d", &num)) == 1) { size_t ret; if (num < 0 || num >= MAX_INPUTS) { - bu_log("num value out of range!\n"); + bu_log("num value out of range!\n"); } else { - ret = fscanf(gfp, "%16s %16s", nm[num].ug, nm[num].lg); /* NAMESIZE */ - if (ret < 2) - bu_log("Unexpected error reading label file\n"); + ret = fscanf(gfp, "%16s %16s", nm[num].ug, nm[num].lg); /* NAMESIZE */ + if (ret < 2) + bu_log("Unexpected error reading label file\n"); - while ((fgetc(gfp)) != '\n') - ; + while ((fgetc(gfp)) != '\n') + ; } } else { if (stop == EOF) { Modified: brlcad/trunk/src/conv/patch/patch-g.h =================================================================== --- brlcad/trunk/src/conv/patch/patch-g.h 2013-03-14 16:01:20 UTC (rev 54690) +++ brlcad/trunk/src/conv/patch/patch-g.h 2013-03-14 16:09:27 UTC (rev 54691) @@ -45,12 +45,14 @@ point_t coord; }; + struct patch_faces { struct faceuse *fu; fastf_t thick; }; + struct patches{ fastf_t x; fastf_t y; @@ -61,6 +63,7 @@ fastf_t thick; }; + struct names{ char ug[NAMESIZE+1]; char lg[NAMESIZE+1]; @@ -75,6 +78,7 @@ struct subtract_list *next; }; + point_t pt[4]; fastf_t vertice[5][3]; fastf_t first[5][3]; Modified: brlcad/trunk/src/conv/patch/pull_comp.sh =================================================================== --- brlcad/trunk/src/conv/patch/pull_comp.sh 2013-03-14 16:01:20 UTC (rev 54690) +++ brlcad/trunk/src/conv/patch/pull_comp.sh 2013-03-14 16:09:27 UTC (rev 54691) @@ -41,9 +41,9 @@ nawk ' BEGIN { - while( getline < ARGV[1] ){ - for( i=2; i<ARGC; i++ ){ - if( (substr($0,32,4)+0) == ARGV[i] ) + while(getline < ARGV[1]) { + for(i=2; i<ARGC; i++) { + if((substr($0, 32, 4)+0) == ARGV[i]) print $0 } } Modified: brlcad/trunk/src/conv/patch/rpatch.c =================================================================== --- brlcad/trunk/src/conv/patch/rpatch.c 2013-03-14 16:01:20 UTC (rev 54690) +++ brlcad/trunk/src/conv/patch/rpatch.c 2013-03-14 16:09:27 UTC (rev 54691) @@ -37,7 +37,7 @@ #include "bu.h" -#define MAXLINELEN 256 +#define MAXLINELEN 256 static const char *usage="Usage:\n\trpatch [-D] [-3] < fastgen_input_file > file.rp\n\ where -D means that type 3 components are donuts (rather than triangles)\n\ @@ -56,51 +56,43 @@ /* Check that format is legal for floating point or double */ ptr = format; - if ( *ptr != 'F' && *ptr != 'f' && *ptr != 'E' && *ptr != 'e' && *ptr != 'D' && *ptr != 'd' ) - { - fprintf( stderr, "Get_ftn_float( str=%s\n, start_col=%d, format=%s )\n", - str, start_col, ptr ); - fprintf( stderr, "\tformat must be F, E, or D type\n" ); - bu_exit( 1, NULL ); + if (*ptr != 'F' && *ptr != 'f' && *ptr != 'E' && *ptr != 'e' && *ptr != 'D' && *ptr != 'd') { + fprintf(stderr, "Get_ftn_float(str=%s\n, start_col=%d, format=%s)\n", + str, start_col, ptr); + fprintf(stderr, "\tformat must be F, E, or D type\n"); + bu_exit(1, NULL); } /* if start column is beyond end of input string, return zero */ - if ( start_col >= strlen( str ) ) + if (start_col >= strlen(str)) return (double)0.0; /* get width from format spec */ ptr++; - width = atoi( ptr ); + width = atoi(ptr); /* make sure input string will fit in tmp_str (minus trailing NULL and a decimal point) */ - if ( width > MAXLINELEN-2 ) - { - fprintf( stderr, "Get_ftn_float( str=%s\n, start_col=%d, format=%s )\n", - str, start_col, ptr ); - fprintf( stderr, "\tfield width (%d) in format is too large. Max allowed is %d\n", - width, MAXLINELEN-2 ); - bu_exit( 1, NULL ); + if (width > MAXLINELEN-2) { + fprintf(stderr, "Get_ftn_float(str=%s\n, start_col=%d, format=%s)\n", + str, start_col, ptr); + fprintf(stderr, "\tfield width (%d) in format is too large. Max allowed is %d\n", + width, MAXLINELEN-2); + bu_exit(1, NULL); } /* copy the input string to tmp_str, converting * embedded blanks to zeros and 'D' or 'd' to 'e' */ - for ( i=0; i<width; i++ ) - { - if ( isspace( (int)str[start_col+i] ) ) - { - if ( leading_spaces ) + for (i=0; i<width; i++) { + if (isspace((int)str[start_col+i])) { + if (leading_spaces) tmp_str[i] = ' '; else tmp_str[i] = '0'; - } - else if ( str[start_col+i] == 'D' || str[start_col+i] == 'd' ) - { + } else if (str[start_col+i] == 'D' || str[start_col+i] == 'd') { leading_spaces = 0; tmp_str[i] = 'e'; - } - else - { + } else { leading_spaces = 0; tmp_str[i] = str[start_col+i]; } @@ -108,18 +100,17 @@ tmp_str[width] = '\0'; /* get precision from format spec */ - ptr = strchr( ptr, '.' ); - if ( ptr ) - precision = atoi( ++ptr ); + ptr = strchr(ptr, '.'); + if (ptr) + precision = atoi(++ptr); else precision = 0; /* if there is a decimal point, let atof handle the rest (including exponent) */ - if ( !strchr( tmp_str, '.' ) && precision > 0 ) - { + if (!strchr(tmp_str, '.') && precision > 0) { /* insert a decimal point where needed */ - for ( i=0; i<precision; i++ ) + for (i=0; i<precision; i++) tmp_str[width-i] = tmp_str[width-i-1]; tmp_str[width-precision] = '.'; tmp_str[width+1] = '\0'; @@ -127,9 +118,10 @@ /* and atof can handle it from here */ } - return atof( tmp_str ); + return atof(tmp_str); } + int get_ftn_int(char *str, unsigned int start_col, char *format) { @@ -141,54 +133,49 @@ /* check that format id for an integer */ ptr = format; - if ( *ptr != 'I' && *ptr != 'i' ) - { - fprintf( stderr, "Get_ftn_int( str=%s\n, start_col=%d, format=%s )\n", - str, start_col, ptr ); - fprintf( stderr, "\tformat must be I type\n" ); - bu_exit( 1, NULL ); + if (*ptr != 'I' && *ptr != 'i') { + fprintf(stderr, "Get_ftn_int(str=%s\n, start_col=%d, format=%s)\n", + str, start_col, ptr); + fprintf(stderr, "\tformat must be I type\n"); + bu_exit(1, NULL); } /* if start column is beyond end of input string, return zero */ - if ( start_col >= strlen( str ) ) + if (start_col >= strlen(str)) return 0; /* get width from format spec */ ptr++; - width = atoi( ptr ); + width = atoi(ptr); /* make sure input string will fit in tmp_str */ - if ( width > MAXLINELEN-1 ) - { - fprintf( stderr, "Get_ftn_int( str=%s\n, start_col=%d, format=%s )\n", - str, start_col, ptr ); - fprintf( stderr, "\tfield width (%d) in format is too large. Max allowed is %d\n", - width, MAXLINELEN-1 ); - bu_exit( 1, NULL ); + if (width > MAXLINELEN-1) { + fprintf(stderr, "Get_ftn_int(str=%s\n, start_col=%d, format=%s)\n", + str, start_col, ptr); + fprintf(stderr, "\tfield width (%d) in format is too large. Max allowed is %d\n", + width, MAXLINELEN-1); + bu_exit(1, NULL); } /* copy the input string to tmp_str, converting * embedded blanks to zeros */ - for ( i=0; i<width; i++ ) - { - if ( isspace( (int)str[start_col+i] ) ) - { - if ( leading_spaces ) + for (i=0; i<width; i++) { + if (isspace((int)str[start_col+i])) { + if (leading_spaces) tmp_str[i] = ' '; else tmp_str[i] = '0'; - } - else - { + } else { leading_spaces = 0; tmp_str[i] = str[start_col+i]; } } tmp_str[width] = '\0'; - return atoi( tmp_str ); + return atoi(tmp_str); } + int main(int argc, char **argv) { @@ -201,16 +188,13 @@ int c; fast3 = 0; - if ( argc > 2 ) - { - bu_exit(1, "%s", usage ); + if (argc > 2) { + bu_exit(1, "%s", usage); } /* Get command line arguments. */ - while ((c = bu_getopt(argc, argv, "D3")) != -1) - { - switch (c) - { + while ((c = bu_getopt(argc, argv, "D3")) != -1) { + switch (c) { case 'D': /* donuts */ type3_is_donut = 1; break; @@ -218,53 +202,48 @@ fast3 = 1; break; case '?': - bu_exit(1, "%s", usage ); + bu_exit(1, "%s", usage); default: - bu_exit(1, "Illegal option (%c)\n%s", c, usage ); + bu_exit(1, "Illegal option (%c)\n%s", c, usage); } } - while ( bu_fgets(line, sizeof(line), stdin) ) - { - if ( strlen( line ) <= 1 ) + while (bu_fgets(line, sizeof(line), stdin)) { + if (strlen(line) <= 1) continue; line[strlen(line)-1] = '\0'; /* eliminate \n */ - if ( fast3 ) - { - x = get_ftn_float( line, 0, "f10.3" ); - y = get_ftn_float( line, 10, "f10.3" ); - z = get_ftn_float( line, 20, "f10.3" ); - tmp = get_ftn_int( line, 30, "i6" ); - cc = get_ftn_int( line, 36, "i4" ); - isq[0] = get_ftn_int( line, 40, "i10" ); + if (fast3) { + x = get_ftn_float(line, 0, "f10.3"); + y = get_ftn_float(line, 10, "f10.3"); + z = get_ftn_float(line, 20, "f10.3"); + tmp = get_ftn_int(line, 30, "i6"); + cc = get_ftn_int(line, 36, "i4"); + isq[0] = get_ftn_int(line, 40, "i10"); - for ( i=1; i<8; i++ ) - isq[i] = get_ftn_int( line, 50 + (i-1)*4, "i4" ); + for (i=1; i<8; i++) + isq[i] = get_ftn_int(line, 50 + (i-1)*4, "i4"); - m = get_ftn_int( line, 74, "i3" ); - n = get_ftn_int( line, 77, "i3" ); - } - else - { - x = get_ftn_float( line, 0, "f8.3" ); - y = get_ftn_float( line, 8, "f8.3" ); - z = get_ftn_float( line, 16, "f9.3" ); - tmp = get_ftn_int( line, 25, "i6" ); - cc = get_ftn_int( line, 31, "i4" ); - isq[0] = get_ftn_int( line, 35, "i11" ); + m = get_ftn_int(line, 74, "i3"); + n = get_ftn_int(line, 77, "i3"); + } else { + x = get_ftn_float(line, 0, "f8.3"); + y = get_ftn_float(line, 8, "f8.3"); + z = get_ftn_float(line, 16, "f9.3"); + tmp = get_ftn_int(line, 25, "i6"); + cc = get_ftn_int(line, 31, "i4"); + isq[0] = get_ftn_int(line, 35, "i11"); - for ( i=1; i<8; i++ ) - isq[i] = get_ftn_int( line, 46 + (i-1)*4, "i4" ); + for (i=1; i<8; i++) + isq[i] = get_ftn_int(line, 46 + (i-1)*4, "i4"); - m = get_ftn_int( line, 74, "i3" ); - n = get_ftn_int( line, 77, "i3" ); + m = get_ftn_int(line, 74, "i3"); + n = get_ftn_int(line, 77, "i3"); } /* get plate mode flag */ minus = '+'; - if ( tmp < 0 ) - { + if (tmp < 0) { tmp = (-tmp); minus = '-'; } @@ -274,9 +253,9 @@ work = hold * 10.0; ity = work; hold = work - ity; - if ( ity == 4 ) + if (ity == 4) ity = 8; - else if ( ity == 3 && type3_is_donut ) + else if (ity == 3 && type3_is_donut) ity = 4; /* get thickness */ @@ -290,16 +269,17 @@ hold = work - ity1; /* write output */ - printf( "%8.3f %8.3f %9.3f %c %2d %2d %1d %4d %11d ", - x, y, z, minus, ity, ico, ity1, cc, isq[0] ); - for ( i=1; i<8; i++ ) - printf( "%5d", isq[i] ); - printf( " %3d %3d\n", m, n ); + printf("%8.3f %8.3f %9.3f %c %2d %2d %1d %4d %11d ", + x, y, z, minus, ity, ico, ity1, cc, isq[0]); + for (i=1; i<8; i++) + printf("%5d", isq[i]); + printf(" %3d %3d\n", m, n); } return 0; } + /* * Local Variables: * mode: C This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |