[brlcad-commits] SF.net SVN: brlcad:[32866] brlcad/trunk/src/librt/primitives/revolve/ revolve.c
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <br...@us...> - 2008-10-07 23:12:39
|
Revision: 32866 http://brlcad.svn.sourceforge.net/brlcad/?rev=32866&view=rev Author: brlcad Date: 2008-10-07 23:12:24 +0000 (Tue, 07 Oct 2008) Log Message: ----------- ws, indent Modified Paths: -------------- brlcad/trunk/src/librt/primitives/revolve/revolve.c Modified: brlcad/trunk/src/librt/primitives/revolve/revolve.c =================================================================== --- brlcad/trunk/src/librt/primitives/revolve/revolve.c 2008-10-07 23:05:07 UTC (rev 32865) +++ brlcad/trunk/src/librt/primitives/revolve/revolve.c 2008-10-07 23:12:24 UTC (rev 32866) @@ -66,7 +66,7 @@ * in stp->st_specific for use by revolve_shot(). */ int -rt_revolve_prep( struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip ) +rt_revolve_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip) { struct rt_revolve_internal *rip; register struct revolve_specific *rev; @@ -86,27 +86,27 @@ stp->st_id = ID_REVOLVE; stp->st_meth = &rt_functab[ID_REVOLVE]; - BU_GETSTRUCT( rev, revolve_specific ); + BU_GETSTRUCT(rev, revolve_specific); stp->st_specific = (genptr_t)rev; - VMOVE( rev->v3d, rip->v3d ); - VMOVE( rev->zUnit, rip->axis3d ); - VMOVE( rev->xUnit, rip->r ); - VCROSS( rev->yUnit, rev->zUnit, rev->xUnit ); + VMOVE(rev->v3d, rip->v3d); + VMOVE(rev->zUnit, rip->axis3d); + VMOVE(rev->xUnit, rip->r); + VCROSS(rev->yUnit, rev->zUnit, rev->xUnit); - VUNITIZE( rev->xUnit ); - VUNITIZE( rev->yUnit ); - VUNITIZE( rev->zUnit ); + VUNITIZE(rev->xUnit); + VUNITIZE(rev->yUnit); + VUNITIZE(rev->zUnit); rev->ang = rip->ang; rev->sketch_name = bu_vls_addr(&rip->sketch_name); rev->sk = rip->sk; /* calculate end plane */ - VSCALE( xEnd, rev->xUnit, cos(rev->ang) ); - VSCALE( yEnd, rev->yUnit, sin(rev->ang) ); - VADD2( rev->rEnd, xEnd, yEnd ); - VUNITIZE( rev->rEnd ); + VSCALE(xEnd, rev->xUnit, cos(rev->ang)); + VSCALE(yEnd, rev->yUnit, sin(rev->ang)); + VADD2(rev->rEnd, xEnd, yEnd); + VUNITIZE(rev->rEnd); /* check the sketch - degree & closed/open */ @@ -114,11 +114,11 @@ * if even, the point is ok * if odd, the point is at the end of a path */ - endcount = (int *)bu_calloc( rev->sk->vert_count, sizeof(int), "endcount" ); - for ( i=0; i<rev->sk->vert_count; i++ ) endcount[i] = 0; + endcount = (int *)bu_calloc(rev->sk->vert_count, sizeof(int), "endcount"); + for (i=0; i<rev->sk->vert_count; i++) endcount[i] = 0; nseg = rev->sk->skt_curve.seg_count; - for ( i=0; i<nseg; i++ ) { + for (i=0; i<nseg; i++) { long *lng; struct line_seg *lsg; struct carc_seg *csg; @@ -127,7 +127,7 @@ lng = (long *)rev->sk->skt_curve.segments[i]; - switch ( *lng ) { + switch (*lng) { case CURVE_LSEG_MAGIC: lsg = (struct line_seg *)lng; endcount[lsg->start]++; @@ -135,7 +135,7 @@ break; case CURVE_CARC_MAGIC: csg = (struct carc_seg *)lng; - if ( csg->radius <= 0.0 ) break; + if (csg->radius <= 0.0) break; endcount[csg->start]++; endcount[csg->end]++; break; @@ -150,20 +150,20 @@ endcount[nsg->ctl_points[nsg->c_size-1]]++; break; default: - bu_log( "rt_revolve_prep: ERROR: unrecognized segment type!\n" ); + bu_log("rt_revolve_prep: ERROR: unrecognized segment type!\n"); break; } } /* convert endcounts to store which endpoints are odd */ - for ( i=0, j=0; i<rip->sk->vert_count; i++ ) { - if ( endcount[i] % 2 != 0 ) { + for (i=0, j=0; i<rip->sk->vert_count; i++) { + if (endcount[i] % 2 != 0) { /* add 'i' to list, insertion sort by vert[i][Y] */ - for( k=j; k>0; k-- ) { - if ( ( NEAR_ZERO( rip->sk->verts[i][Y] - rip->sk->verts[endcount[k-1]][Y], SMALL_FASTF ) - && rip->sk->verts[i][X] > rip->sk->verts[endcount[k-1]][X] ) - || ( !NEAR_ZERO( rip->sk->verts[i][Y] - rip->sk->verts[endcount[k-1]][Y], SMALL_FASTF ) - && rip->sk->verts[i][Y] < rip->sk->verts[endcount[k-1]][Y] ) ) { + for(k=j; k>0; k--) { + if ((NEAR_ZERO(rip->sk->verts[i][Y] - rip->sk->verts[endcount[k-1]][Y], SMALL_FASTF) + && rip->sk->verts[i][X] > rip->sk->verts[endcount[k-1]][X]) + || (!NEAR_ZERO(rip->sk->verts[i][Y] - rip->sk->verts[endcount[k-1]][Y], SMALL_FASTF) + && rip->sk->verts[i][Y] < rip->sk->verts[endcount[k-1]][Y])) { endcount[k] = endcount[k-1]; } else { break; @@ -173,15 +173,15 @@ j++; } } - while ( j < rev->sk->vert_count ) endcount[j++] = -1; + while (j < rev->sk->vert_count) endcount[j++] = -1; rev->ends = endcount; /* bounding volume */ - rt_sketch_bounds( rev->sk, rev->bounds ); - if ( endcount[0] != -1 && rev->bounds[0] > 0 ) rev->bounds[0] = 0; - VJOIN1( stp->st_center, rev->v3d, 0.5*(rev->bounds[2]+rev->bounds[3]), rev->zUnit ); - stp->st_aradius = sqrt( 0.25*(rev->bounds[3]-rev->bounds[2])*(rev->bounds[3]-rev->bounds[2]) + FMAX( rev->bounds[0]*rev->bounds[0], rev->bounds[1]*rev->bounds[1] ) ); + rt_sketch_bounds(rev->sk, rev->bounds); + if (endcount[0] != -1 && rev->bounds[0] > 0) rev->bounds[0] = 0; + VJOIN1(stp->st_center, rev->v3d, 0.5*(rev->bounds[2]+rev->bounds[3]), rev->zUnit); + stp->st_aradius = sqrt(0.25*(rev->bounds[3]-rev->bounds[2])*(rev->bounds[3]-rev->bounds[2]) + FMAX(rev->bounds[0]*rev->bounds[0], rev->bounds[1]*rev->bounds[1])); stp->st_bradius = stp->st_aradius; /* cheat, make bounding RPP by enclosing bounding sphere (copied from g_ehy.c) */ @@ -199,17 +199,17 @@ * R T _ R E V O L V E _ P R I N T */ void -rt_revolve_print( const struct soltab *stp ) +rt_revolve_print(const struct soltab *stp) { register const struct revolve_specific *rev = (struct revolve_specific *)stp->st_specific; - VPRINT( "V", rev->v3d ); - VPRINT( "Axis", rev->zUnit ); - VPRINT( "Start", rev->xUnit ); - VPRINT( "End", rev->rEnd ); - fprintf( stderr, "angle = %g\n", rev->ang ); - fprintf( stderr, "sketch = %s\n", rev->sketch_name ); + VPRINT("V", rev->v3d); + VPRINT("Axis", rev->zUnit); + VPRINT("Start", rev->xUnit); + VPRINT("End", rev->rEnd); + fprintf(stderr, "angle = %g\n", rev->ang); + fprintf(stderr, "sketch = %s\n", rev->sketch_name); } /** @@ -223,7 +223,7 @@ * >0 HIT */ int -rt_revolve_shot( struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead ) +rt_revolve_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead) { register struct revolve_specific *rev = (struct revolve_specific *)stp->st_specific; @@ -254,72 +254,72 @@ nhits = 0; - for ( i=0; i<MAX_HITS; i++ ) hits[i] = &hit[i]; + for (i=0; i<MAX_HITS; i++) hits[i] = &hit[i]; - vr[X] = VDOT( rev->xUnit, rp->r_dir ); - vr[Y] = VDOT( rev->yUnit, rp->r_dir ); - vr[Z] = VDOT( rev->zUnit, rp->r_dir ); + vr[X] = VDOT(rev->xUnit, rp->r_dir); + vr[Y] = VDOT(rev->yUnit, rp->r_dir); + vr[Z] = VDOT(rev->zUnit, rp->r_dir); - VSUB2( xlated, rp->r_pt, rev->v3d ); - pr[X] = VDOT( rev->xUnit, xlated ); - pr[Y] = VDOT( rev->yUnit, xlated ); - pr[Z] = VDOT( rev->zUnit, xlated ); + VSUB2(xlated, rp->r_pt, rev->v3d); + pr[X] = VDOT(rev->xUnit, xlated); + pr[Y] = VDOT(rev->yUnit, xlated); + pr[Z] = VDOT(rev->zUnit, xlated); - VMOVE( ur, vr ); - VUNITIZE( ur ); + VMOVE(ur, vr); + VUNITIZE(ur); - if ( rev->ang < 2*M_PI ) { - VREVERSE( normS, rev->yUnit ); /* start normal */ - start = ( VDOT( normS, rev->v3d ) - VDOT( normS, rp->r_pt ) ) / VDOT( normS, rp->r_dir ); - - VCROSS( normE, rev->zUnit, rev->rEnd ); /* end normal */ - end = ( VDOT( normE, rev->v3d ) - VDOT( normE, rp->r_pt ) ) / VDOT( normE, rp->r_dir ); - - VJOIN1( hit1, pr, start, vr ); + if (rev->ang < 2*M_PI) { + VREVERSE(normS, rev->yUnit); /* start normal */ + start = (VDOT(normS, rev->v3d) - VDOT(normS, rp->r_pt)) / VDOT(normS, rp->r_dir); + + VCROSS(normE, rev->zUnit, rev->rEnd); /* end normal */ + end = (VDOT(normE, rev->v3d) - VDOT(normE, rp->r_pt)) / VDOT(normE, rp->r_dir); + + VJOIN1(hit1, pr, start, vr); hit2d[Y] = hit1[Z]; - hit2d[X] = sqrt( hit1[X]*hit1[X] + hit1[Y]*hit1[Y] ); - - VJOIN1( hit2, xlated, start, rp->r_dir ); - if ( VDOT( rev->xUnit, hit2 ) < 0 ) { + hit2d[X] = sqrt(hit1[X]*hit1[X] + hit1[Y]*hit1[Y]); + + VJOIN1(hit2, xlated, start, rp->r_dir); + if (VDOT(rev->xUnit, hit2) < 0) { /* set the sign of the 2D point's x coord */ hit2d[X] = -hit2d[X]; } - - if ( rt_sketch_contains( rev->sk, hit2d ) ) { + + if (rt_sketch_contains(rev->sk, hit2d)) { hit2d[X] = -hit2d[X]; - if ( rev->ang > M_PI && rt_sketch_contains( rev->sk, hit2d ) ) { + if (rev->ang > M_PI && rt_sketch_contains(rev->sk, hit2d)) { /* skip it */ } else { - if ( nhits >= MAX_HITS ) return -1; /* too many hits */ + if (nhits >= MAX_HITS) return -1; /* too many hits */ hitp = hits[nhits++]; hitp->hit_magic = RT_HIT_MAGIC; hitp->hit_dist = start; hitp->hit_surfno = (hit2d[X]>0) ? START_FACE_NEG : START_FACE_POS; - VSET( hitp->hit_vpriv, -hit2d[X], hit2d[Y], 0 ); + VSET(hitp->hit_vpriv, -hit2d[X], hit2d[Y], 0); } } - - VJOIN1( hit1, pr, end, vr ); + + VJOIN1(hit1, pr, end, vr); hit2d[Y] = hit1[Z]; - hit2d[X] = sqrt( hit1[X]*hit1[X] + hit1[Y]*hit1[Y] ); - - VJOIN1( hit2, xlated, end, rp->r_dir ); - if ( VDOT( rev->rEnd, hit2) < 0 ) { + hit2d[X] = sqrt(hit1[X]*hit1[X] + hit1[Y]*hit1[Y]); + + VJOIN1(hit2, xlated, end, rp->r_dir); + if (VDOT(rev->rEnd, hit2) < 0) { /* set the sign of the 2D point's x coord */ hit2d[X] = -hit2d[X]; } - - if ( rt_sketch_contains( rev->sk, hit2d ) ) { + + if (rt_sketch_contains(rev->sk, hit2d)) { hit2d[X] = -hit2d[X]; - if ( rev->ang > M_PI && rt_sketch_contains( rev->sk, hit2d ) ) { + if (rev->ang > M_PI && rt_sketch_contains(rev->sk, hit2d)) { /* skip it */ } else { - if ( nhits >= MAX_HITS ) return -1; /* too many hits */ + if (nhits >= MAX_HITS) return -1; /* too many hits */ hitp = hits[nhits++]; hitp->hit_magic = RT_HIT_MAGIC; hitp->hit_dist = end; hitp->hit_surfno = (hit2d[X]>0) ? END_FACE_NEG : END_FACE_POS; - VSET( hitp->hit_vpriv, -hit2d[X], hit2d[Y], 0 ); + VSET(hitp->hit_vpriv, -hit2d[X], hit2d[Y], 0); } } } @@ -329,22 +329,22 @@ * * [ (x*x) / aa^2 ] - [ (y-h)^2 / bb^2 ] = 1 * - * x = aa cosh( t - k ); - * y = h + bb sinh( t - k ); + * x = aa cosh(t - k); + * y = h + bb sinh(t - k); */ - VREVERSE( dp, pr); - VSET( norm, ur[X], ur[Y], 0 ); + VREVERSE(dp, pr); + VSET(norm, ur[X], ur[Y], 0); - k = VDOT( dp, norm ) / VDOT( ur, norm ); + k = VDOT(dp, norm) / VDOT(ur, norm); h = pr[Z] + k*vr[Z]; - if ( NEAR_ZERO( fabs(ur[Z]) - 1.0, RT_DOT_TOL ) ) { - aa = sqrt( pr[X]*pr[X] + pr[Y]*pr[Y] ); + if (NEAR_ZERO(fabs(ur[Z]) - 1.0, RT_DOT_TOL)) { + aa = sqrt(pr[X]*pr[X] + pr[Y]*pr[Y]); bb = MAX_FASTF; } else { - aa = sqrt( (pr[X] + k*vr[X])*(pr[X] + k*vr[X]) + (pr[Y] + k*vr[Y])*(pr[Y] + k*vr[Y]) ); - bb = sqrt( aa*aa * ( 1.0/(1 - ur[Z]*ur[Z]) - 1.0 ) ); + aa = sqrt((pr[X] + k*vr[X])*(pr[X] + k*vr[X]) + (pr[Y] + k*vr[Y])*(pr[Y] + k*vr[Y])); + bb = sqrt(aa*aa * (1.0/(1 - ur[Z]*ur[Z]) - 1.0)); } /** @@ -360,52 +360,52 @@ */ /* handle open sketches */ - if ( !NEAR_ZERO( ur[Z], RT_DOT_TOL ) ) { - for ( i=0; i<rev->sk->vert_count && rev->ends[i] != -1; i++ ) { - V2MOVE( pt1, rev->sk->verts[rev->ends[i]] ); + if (!NEAR_ZERO(ur[Z], RT_DOT_TOL)) { + for (i=0; i<rev->sk->vert_count && rev->ends[i] != -1; i++) { + V2MOVE(pt1, rev->sk->verts[rev->ends[i]]); hit2d[Y] = pt1[Y]; - if ( NEAR_ZERO( fabs(ur[Z])-1.0, RT_DOT_TOL ) ) { /* ur[Z] == 1 */ + if (NEAR_ZERO(fabs(ur[Z])-1.0, RT_DOT_TOL)) { /* ur[Z] == 1 */ hit2d[X] = aa; } else { - hit2d[X] = aa*sqrt( (hit2d[Y]-h)*(hit2d[Y]-h)/(bb*bb) + 1 ); + hit2d[X] = aa*sqrt((hit2d[Y]-h)*(hit2d[Y]-h)/(bb*bb) + 1); } - if ( pt1[X] < 0 ) hit2d[X] = -fabs(hit2d[X]); - if ( fabs( hit2d[X] ) < fabs( pt1[X] ) ) { /* valid hit */ - if ( nhits >= MAX_HITS ) return -1; /* too many hits */ + if (pt1[X] < 0) hit2d[X] = -fabs(hit2d[X]); + if (fabs(hit2d[X]) < fabs(pt1[X])) { /* valid hit */ + if (nhits >= MAX_HITS) return -1; /* too many hits */ hitp = hits[nhits++]; hitp->hit_magic = RT_HIT_MAGIC; hitp->hit_dist = (hit2d[Y] - pr[Z]) / vr[Z]; hitp->hit_surfno = HORIZ_SURF; - VJOIN1( hitp->hit_vpriv, pr, hitp->hit_dist, vr ); + VJOIN1(hitp->hit_vpriv, pr, hitp->hit_dist, vr); hitp->hit_point[X] = hit2d[X]; hitp->hit_point[Y] = hit2d[Y]; hitp->hit_point[Z] = 0; - angle = atan2( hitp->hit_vpriv[Y], hitp->hit_vpriv[X] ); - if ( pt1[X] < 0 ) { + angle = atan2(hitp->hit_vpriv[Y], hitp->hit_vpriv[X]); + if (pt1[X] < 0) { angle += M_PI; - } else if ( angle < 0 ) { + } else if (angle < 0) { angle += 2*M_PI; } hit2d[X] = -hit2d[X]; - if ( angle > rev->ang ) { + if (angle > rev->ang) { nhits--; continue; - } else if ( ( angle + M_PI < rev->ang || angle - M_PI > 0 ) - && rt_sketch_contains( rev->sk, hit2d ) - && hit2d[X] > 0 ) { + } else if ((angle + M_PI < rev->ang || angle - M_PI > 0) + && rt_sketch_contains(rev->sk, hit2d) + && hit2d[X] > 0) { nhits--; continue; } /* X and Y are used for uv(), Z is used for norm() */ hitp->hit_vpriv[X] = pt1[X]; hitp->hit_vpriv[Y] = angle; - if ( i+1 < rev->sk->vert_count && rev->ends[i+1] != -1 && - NEAR_ZERO( rev->sk->verts[rev->ends[i]][Y] - - rev->sk->verts[rev->ends[i+1]][Y], SMALL ) ) { + if (i+1 < rev->sk->vert_count && rev->ends[i+1] != -1 && + NEAR_ZERO(rev->sk->verts[rev->ends[i]][Y] + - rev->sk->verts[rev->ends[i+1]][Y], SMALL)) { hitp->hit_vpriv[Z] = rev->sk->verts[rev->ends[i+1]][X]; i++; - if ( fabs( hit2d[X] ) < fabs( hitp->hit_vpriv[Z] ) ) { + if (fabs(hit2d[X]) < fabs(hitp->hit_vpriv[Z])) { nhits--; } } else { @@ -417,42 +417,42 @@ /* find hyperbola intersection with each sketch segment */ nseg = rev->sk->skt_curve.seg_count; - for ( i=0; i<nseg; i++ ) { + for (i=0; i<nseg; i++) { lng = (long *)rev->sk->skt_curve.segments[i]; - switch ( *lng ) { + switch (*lng) { case CURVE_LSEG_MAGIC: lsg = (struct line_seg *)lng; - V2MOVE( pt1, rev->sk->verts[lsg->start] ); - V2MOVE( pt2, rev->sk->verts[lsg->end] ); - V2SUB2( dir, pt2, pt1 ); + V2MOVE(pt1, rev->sk->verts[lsg->start]); + V2MOVE(pt2, rev->sk->verts[lsg->end]); + V2SUB2(dir, pt2, pt1); if (NEAR_ZERO(dir[X], SMALL_FASTF)) { m = 1.0; } else { m = dir[Y] / dir[X]; } - if ( NEAR_ZERO( fabs(ur[Z]) - 1.0, RT_DOT_TOL ) ) { + if (NEAR_ZERO(fabs(ur[Z]) - 1.0, RT_DOT_TOL)) { /* ray is vertical line at x=aa */ - if ( FMIN( pt1[X], pt2[X] ) < aa && aa < FMAX( pt1[X], pt2[X] ) ) { - /* check the positive side of the sketch ( x > 0 ) */ - k1 = ( m * (aa - pt1[X]) + pt1[Y] - pr[Z] ) / vr[Z]; - VJOIN1( hit1, pr, k1, vr ); - angle = atan2( hit1[Y], hit1[X] ); + if (FMIN(pt1[X], pt2[X]) < aa && aa < FMAX(pt1[X], pt2[X])) { + /* check the positive side of the sketch (x > 0) */ + k1 = (m * (aa - pt1[X]) + pt1[Y] - pr[Z]) / vr[Z]; + VJOIN1(hit1, pr, k1, vr); + angle = atan2(hit1[Y], hit1[X]); hit2d[X] = -aa; /* use neg to check for overlap in contains() */ hit2d[Y] = hit1[Z]; - if ( angle < 0 ) { + if (angle < 0) { angle += 2*M_PI; } - if ( angle < rev->ang && - !( (angle + M_PI < rev->ang || angle - M_PI > 0) - && rt_sketch_contains( rev->sk, hit2d ) ) ){ - if ( nhits >= MAX_HITS ) return -1; /* too many hits */ + if (angle < rev->ang && + !((angle + M_PI < rev->ang || angle - M_PI > 0) + && rt_sketch_contains(rev->sk, hit2d))){ + if (nhits >= MAX_HITS) return -1; /* too many hits */ hitp = hits[nhits++]; hitp->hit_point[X] = -hit2d[X]; hitp->hit_point[Y] = hit2d[Y]; hitp->hit_point[Z] = 0; - VMOVE( hitp->hit_vpriv, hit1 ); + VMOVE(hitp->hit_vpriv, hit1); if (NEAR_ZERO(m, SMALL_FASTF)) { hitp->hit_vpriv[Z] = 0.0; } else { @@ -463,25 +463,25 @@ hitp->hit_surfno = i; } } - if ( FMIN( pt1[X], pt2[X] ) < -aa && -aa < FMAX( pt1[X], pt2[X] ) ) { - /* check negative side of the sketch ( x < 0 ) */ - k1 = ( m * (-aa - pt1[X]) + pt1[Y] - pr[Z] ) / vr[Z]; - VJOIN1( hit1, pr, k1, vr ); - angle = atan2( hit1[Y], hit1[X] ); + if (FMIN(pt1[X], pt2[X]) < -aa && -aa < FMAX(pt1[X], pt2[X])) { + /* check negative side of the sketch (x < 0) */ + k1 = (m * (-aa - pt1[X]) + pt1[Y] - pr[Z]) / vr[Z]; + VJOIN1(hit1, pr, k1, vr); + angle = atan2(hit1[Y], hit1[X]); hit2d[X] = aa; /* use neg to check for overlap in contains() */ hit2d[Y] = hit1[Z]; - if ( angle < 0 ) { + if (angle < 0) { angle += M_PI; } - if ( angle < rev->ang && - !( (angle + M_PI < rev->ang || angle - M_PI > 0) - && rt_sketch_contains( rev->sk, hit2d ) ) ){ - if ( nhits >= MAX_HITS ) return -1; /* too many hits */ + if (angle < rev->ang && + !((angle + M_PI < rev->ang || angle - M_PI > 0) + && rt_sketch_contains(rev->sk, hit2d))){ + if (nhits >= MAX_HITS) return -1; /* too many hits */ hitp = hits[nhits++]; hitp->hit_point[X] = -hit2d[X]; hitp->hit_point[Y] = hit2d[Y]; hitp->hit_point[Z] = 0; - VMOVE( hitp->hit_vpriv, hit1 ); + VMOVE(hitp->hit_vpriv, hit1); if (NEAR_ZERO(m, SMALL_FASTF)) { hitp->hit_vpriv[Z] = 0.0; } else { @@ -492,36 +492,36 @@ hitp->hit_surfno = i; } } - } else if ( NEAR_ZERO( ur[Z], RT_DOT_TOL ) ) { + } else if (NEAR_ZERO(ur[Z], RT_DOT_TOL)) { /* ray is horizontal line at y = h; hit2d[X] > aa */ - if ( FMIN( pt1[Y], pt2[Y] ) < h && h < FMAX( pt1[Y], pt2[Y] ) ) { + if (FMIN(pt1[Y], pt2[Y]) < h && h < FMAX(pt1[Y], pt2[Y])) { if (NEAR_ZERO(m, SMALL_FASTF)) { hit2d[X] = pt1[X]; } else { hit2d[X] = pt1[X] + (h-pt1[Y])/m; } hit2d[Y] = h; - if ( fabs( hit2d[X] ) > aa ) { - k1 = k + sqrt( hit2d[X]*hit2d[X] - aa*aa ); - k2 = k - sqrt( hit2d[X]*hit2d[X] - aa*aa ); - - VJOIN1( hit1, pr, k1, vr ); - angle = atan2( hit1[Y], hit1[X] ); - if ( hit2d[X] < 0 ) { + if (fabs(hit2d[X]) > aa) { + k1 = k + sqrt(hit2d[X]*hit2d[X] - aa*aa); + k2 = k - sqrt(hit2d[X]*hit2d[X] - aa*aa); + + VJOIN1(hit1, pr, k1, vr); + angle = atan2(hit1[Y], hit1[X]); + if (hit2d[X] < 0) { angle += M_PI; - } else if ( angle < 0 ) { + } else if (angle < 0) { angle += 2*M_PI; } hit2d[X] = -hit2d[X]; - if ( angle < rev->ang && - !( (angle + M_PI < rev->ang || angle - M_PI > 0) - && rt_sketch_contains( rev->sk, hit2d ) ) ){ - if ( nhits >= MAX_HITS ) return -1; /* too many hits */ + if (angle < rev->ang && + !((angle + M_PI < rev->ang || angle - M_PI > 0) + && rt_sketch_contains(rev->sk, hit2d))){ + if (nhits >= MAX_HITS) return -1; /* too many hits */ hitp = hits[nhits++]; hitp->hit_point[X] = -hit2d[X]; hitp->hit_point[Y] = hit2d[Y]; hitp->hit_point[Z] = 0; - VMOVE( hitp->hit_vpriv, hit1 ); + VMOVE(hitp->hit_vpriv, hit1); if (NEAR_ZERO(m, SMALL_FASTF)) { hitp->hit_vpriv[Z] = 0.0; } else { @@ -531,23 +531,23 @@ hitp->hit_dist = k1; hitp->hit_surfno = i; } - - VJOIN1( hit2, pr, k2, vr ); - angle = atan2( hit2[Y], hit2[X] ); - if ( -hit2d[X] < 0 ) { + + VJOIN1(hit2, pr, k2, vr); + angle = atan2(hit2[Y], hit2[X]); + if (-hit2d[X] < 0) { angle += M_PI; - } else if ( angle < 0 ) { + } else if (angle < 0) { angle += 2*M_PI; } - if ( angle < rev->ang && - !( (angle + M_PI < rev->ang || angle - M_PI > 0) - && rt_sketch_contains( rev->sk, hit2d ) ) ){ - if ( nhits >= MAX_HITS ) return -1; /* too many hits */ + if (angle < rev->ang && + !((angle + M_PI < rev->ang || angle - M_PI > 0) + && rt_sketch_contains(rev->sk, hit2d))){ + if (nhits >= MAX_HITS) return -1; /* too many hits */ hitp = hits[nhits++]; hitp->hit_point[X] = -hit2d[X]; hitp->hit_point[Y] = hit2d[Y]; hitp->hit_point[Z] = 0; - VMOVE( hitp->hit_vpriv, hit2 ); + VMOVE(hitp->hit_vpriv, hit2); if (NEAR_ZERO(m, SMALL_FASTF)) { hitp->hit_vpriv[Z] = 0.0; } else { @@ -561,121 +561,121 @@ } } else { - a = dir[X]*dir[X]/(aa*aa) - dir[Y]*dir[Y]/(bb*bb); - b = 2*(dir[X]*pt1[X]/(aa*aa) - dir[Y]*(pt1[Y]-h)/(bb*bb)); - c = pt1[X]*pt1[X]/(aa*aa) - (pt1[Y]-h)*(pt1[Y]-h)/(bb*bb) - 1; - disc = b*b - ( 4.0 * a * c ); - if ( !NEAR_ZERO( a, RT_PCOEF_TOL ) ) { - if ( disc > 0 ) { - disc = sqrt( disc ); - t1 = (-b + disc) / (2.0 * a); - t2 = (-b - disc) / (2.0 * a); - k1 = (pt1[Y]-pr[Z] + t1*dir[Y])/vr[Z]; - k2 = (pt1[Y]-pr[Z] + t2*dir[Y])/vr[Z]; + a = dir[X]*dir[X]/(aa*aa) - dir[Y]*dir[Y]/(bb*bb); + b = 2*(dir[X]*pt1[X]/(aa*aa) - dir[Y]*(pt1[Y]-h)/(bb*bb)); + c = pt1[X]*pt1[X]/(aa*aa) - (pt1[Y]-h)*(pt1[Y]-h)/(bb*bb) - 1; + disc = b*b - (4.0 * a * c); + if (!NEAR_ZERO(a, RT_PCOEF_TOL)) { + if (disc > 0) { + disc = sqrt(disc); + t1 = (-b + disc) / (2.0 * a); + t2 = (-b - disc) / (2.0 * a); + k1 = (pt1[Y]-pr[Z] + t1*dir[Y])/vr[Z]; + k2 = (pt1[Y]-pr[Z] + t2*dir[Y])/vr[Z]; - if ( t1 > 0 && t1 < 1 ) { - if ( nhits >= MAX_HITS ) return -1; /* too many hits */ - VJOIN1( hit1, pr, k1, vr ); - angle = atan2( hit1[Y], hit1[X] ); - V2JOIN1( hit2d, pt1, t1, dir ); - if ( hit2d[X] < 0 ) { - angle += M_PI; - } else if ( angle < 0 ) { - angle += 2*M_PI; + if (t1 > 0 && t1 < 1) { + if (nhits >= MAX_HITS) return -1; /* too many hits */ + VJOIN1(hit1, pr, k1, vr); + angle = atan2(hit1[Y], hit1[X]); + V2JOIN1(hit2d, pt1, t1, dir); + if (hit2d[X] < 0) { + angle += M_PI; + } else if (angle < 0) { + angle += 2*M_PI; + } + hit2d[X] = -hit2d[X]; + if (angle < rev->ang) { + if ((angle + M_PI < rev->ang || angle - M_PI > 0) + && rt_sketch_contains(rev->sk, hit2d)) { + /* overlap, so ignore it */ + } else { + hitp = hits[nhits++]; + hitp->hit_point[X] = -hit2d[X]; + hitp->hit_point[Y] = hit2d[Y]; + hitp->hit_point[Z] = 0; + VMOVE(hitp->hit_vpriv, hit1); + if (NEAR_ZERO(m, SMALL_FASTF)) { + hitp->hit_vpriv[Z] = 0.0; + } else { + hitp->hit_vpriv[Z] = (hit2d[X]>0) ? 1.0/m : -1.0/m; + } + hitp->hit_magic = RT_HIT_MAGIC; + hitp->hit_dist = k1; + hitp->hit_surfno = i; + } + } } - hit2d[X] = -hit2d[X]; - if ( angle < rev->ang ) { - if ( ( angle + M_PI < rev->ang || angle - M_PI > 0 ) - && rt_sketch_contains( rev->sk, hit2d ) ) { - /* overlap, so ignore it */ - } else { - hitp = hits[nhits++]; - hitp->hit_point[X] = -hit2d[X]; - hitp->hit_point[Y] = hit2d[Y]; - hitp->hit_point[Z] = 0; - VMOVE( hitp->hit_vpriv, hit1 ); - if (NEAR_ZERO(m, SMALL_FASTF)) { - hitp->hit_vpriv[Z] = 0.0; + if (t2 > 0 && t2 < 1) { + if (nhits >= MAX_HITS) return -1; /* too many hits */ + VJOIN1(hit2, pr, k2, vr); + angle = atan2(hit2[Y], hit2[X]); + V2JOIN1(hit2d, pt1, t2, dir); + if (hit2d[X] < 0) { + angle += M_PI; + } else if (angle < 0) { + angle += 2*M_PI; + } + hit2d[X] = -hit2d[X]; + if (angle < rev->ang) { + if ((angle + M_PI < rev->ang || angle - M_PI > 0) + && rt_sketch_contains(rev->sk, hit2d)) { + /* overlap, so ignore it */ } else { - hitp->hit_vpriv[Z] = (hit2d[X]>0) ? 1.0/m : -1.0/m; + hitp = hits[nhits++]; + hitp->hit_point[X] = -hit2d[X]; + hitp->hit_point[Y] = hit2d[Y]; + hitp->hit_point[Z] = 0; + VMOVE(hitp->hit_vpriv, hit2); + if (NEAR_ZERO(m, SMALL_FASTF)) { + hitp->hit_vpriv[Z] = 0.0; + } else { + hitp->hit_vpriv[Z] = (hit2d[X]>0) ? 1.0/m : -1.0/m; + } + hitp->hit_magic = RT_HIT_MAGIC; + hitp->hit_dist = k2; + hitp->hit_surfno = i; } - hitp->hit_magic = RT_HIT_MAGIC; - hitp->hit_dist = k1; - hitp->hit_surfno = i; } } } - if ( t2 > 0 && t2 < 1 ) { - if ( nhits >= MAX_HITS ) return -1; /* too many hits */ - VJOIN1( hit2, pr, k2, vr ); - angle = atan2( hit2[Y], hit2[X] ); - V2JOIN1( hit2d, pt1, t2, dir ); - if ( hit2d[X] < 0 ) { + } else if (!NEAR_ZERO(b, RT_PCOEF_TOL)) { + t1 = -c / b; + k1 = (pt1[Y]-pr[Z] + t1*dir[Y])/vr[Z]; + if (t1 > 0 && t1 < 1) { + if (nhits >= MAX_HITS) return -1; /* too many hits */ + + VJOIN1(hit1, pr, k1, vr); + angle = atan2(hit1[Y], hit1[X]); + V2JOIN1(hit2d, pt1, t1, dir); + if (hit2d[X] < 0) { angle += M_PI; - } else if ( angle < 0 ) { + } else if (angle < 0) { angle += 2*M_PI; - } - hit2d[X] = -hit2d[X]; - if ( angle < rev->ang ) { - if ( ( angle + M_PI < rev->ang || angle - M_PI > 0 ) - && rt_sketch_contains( rev->sk, hit2d ) ) { + } + hit2d[X] = -hit2d[X]; + if (angle < rev->ang) { + if ((angle + M_PI < rev->ang || angle - M_PI > 0) + && rt_sketch_contains(rev->sk, hit2d)) { /* overlap, so ignore it */ } else { hitp = hits[nhits++]; hitp->hit_point[X] = -hit2d[X]; hitp->hit_point[Y] = hit2d[Y]; hitp->hit_point[Z] = 0; - VMOVE( hitp->hit_vpriv, hit2 ); + VMOVE(hitp->hit_vpriv, hit1); if (NEAR_ZERO(m, SMALL_FASTF)) { hitp->hit_vpriv[Z] = 0.0; } else { - hitp->hit_vpriv[Z] = (hit2d[X]>0) ? 1.0/m : -1.0/m; + hitp->hit_vpriv[Z] = (hit2d[X]>0) ? 1.0/m : -1.0/m;; } hitp->hit_magic = RT_HIT_MAGIC; - hitp->hit_dist = k2; + hitp->hit_dist = k1; hitp->hit_surfno = i; } } } } - } else if ( !NEAR_ZERO( b, RT_PCOEF_TOL ) ) { - t1 = -c / b; - k1 = (pt1[Y]-pr[Z] + t1*dir[Y])/vr[Z]; - if ( t1 > 0 && t1 < 1 ) { - if ( nhits >= MAX_HITS ) return -1; /* too many hits */ - - VJOIN1( hit1, pr, k1, vr ); - angle = atan2( hit1[Y], hit1[X] ); - V2JOIN1( hit2d, pt1, t1, dir ); - if ( hit2d[X] < 0 ) { - angle += M_PI; - } else if ( angle < 0 ) { - angle += 2*M_PI; - } - hit2d[X] = -hit2d[X]; - if ( angle < rev->ang ) { - if ( ( angle + M_PI < rev->ang || angle - M_PI > 0 ) - && rt_sketch_contains( rev->sk, hit2d ) ) { - /* overlap, so ignore it */ - } else { - hitp = hits[nhits++]; - hitp->hit_point[X] = -hit2d[X]; - hitp->hit_point[Y] = hit2d[Y]; - hitp->hit_point[Z] = 0; - VMOVE( hitp->hit_vpriv, hit1 ); - if (NEAR_ZERO(m, SMALL_FASTF)) { - hitp->hit_vpriv[Z] = 0.0; - } else { - hitp->hit_vpriv[Z] = (hit2d[X]>0) ? 1.0/m : -1.0/m;; - } - hitp->hit_magic = RT_HIT_MAGIC; - hitp->hit_dist = k1; - hitp->hit_surfno = i; - } - } - } } - } break; case CURVE_CARC_MAGIC: break; @@ -684,44 +684,44 @@ case CURVE_NURB_MAGIC: break; default: - bu_log( "rt_revolve_prep: ERROR: unrecognized segment type!\n" ); + bu_log("rt_revolve_prep: ERROR: unrecognized segment type!\n"); break; } } - if ( nhits%2 != 0 ) { - bu_log( "odd number of hits: %d\n", nhits ); - for ( i=0; i<nhits; i++ ) { - bu_log("\t( %6.2f, %6.2f )\t%6.2f\t%2d\n", - hits[i]->hit_point[X], hits[i]->hit_point[Y], hits[i]->hit_dist, hits[i]->hit_surfno ); + if (nhits%2 != 0) { + bu_log("odd number of hits: %d\n", nhits); + for (i=0; i<nhits; i++) { + bu_log("\t(%6.2f, %6.2f)\t%6.2f\t%2d\n", + hits[i]->hit_point[X], hits[i]->hit_point[Y], hits[i]->hit_dist, hits[i]->hit_surfno); } return -1; } /* sort hitpoints (an arbitrary number of hits depending on sketch) */ - for ( i=0; i<nhits; i+=2 ) { + for (i=0; i<nhits; i+=2) { in = out = -1; - for ( j=0; j<nhits; j++ ) { - if ( hits[j] == NULL ) continue; - if ( in == -1 ) { + for (j=0; j<nhits; j++) { + if (hits[j] == NULL) continue; + if (in == -1) { in = j; continue; } /* store shortest dist as 'in', second shortest as 'out' */ - if ( hits[j]->hit_dist <= hits[in]->hit_dist ) { + if (hits[j]->hit_dist <= hits[in]->hit_dist) { out = in; in = j; - } else if ( out == -1 || hits[j]->hit_dist <= hits[out]->hit_dist ) { + } else if (out == -1 || hits[j]->hit_dist <= hits[out]->hit_dist) { out = j; } } - if ( in == -1 || out == -1 ) { - bu_log( "failed to find valid segment. nhits: %d\n", nhits ); + if (in == -1 || out == -1) { + bu_log("failed to find valid segment. nhits: %d\n", nhits); break; } - if ( NEAR_ZERO( hits[in]->hit_dist - hits[out]->hit_dist, SMALL_FASTF ) ) { + if (NEAR_ZERO(hits[in]->hit_dist - hits[out]->hit_dist, SMALL_FASTF)) { hits[in] = NULL; hits[out] = NULL; continue; @@ -734,7 +734,7 @@ hits[in] = NULL; segp->seg_out = *hits[out]; hits[out] = NULL; - BU_LIST_INSERT( &(seghead->l), &(segp->l) ); + BU_LIST_INSERT(&(seghead->l), &(segp->l)); } return nhits; @@ -755,7 +755,7 @@ int n, /* Number of ray/object pairs */ struct application *ap) { - rt_vstub( stp, rp, segp, n, ap ); + rt_vstub(stp, rp, segp, n, ap); } /** @@ -764,68 +764,68 @@ * Given ONE ray distance, return the normal and entry/exit point. */ void -rt_revolve_norm( struct hit *hitp, struct soltab *stp, struct xray *rp ) +rt_revolve_norm(struct hit *hitp, struct soltab *stp, struct xray *rp) { register struct revolve_specific *rev = (struct revolve_specific *)stp->st_specific; vect_t n, nT, xv, yv; fastf_t angle; - VJOIN1( hitp->hit_point, rp->r_pt, hitp->hit_dist, rp->r_dir ); + VJOIN1(hitp->hit_point, rp->r_pt, hitp->hit_dist, rp->r_dir); /* XXX debug printing - VPRINT("hitp", hitp->hit_point); - VPRINT("vpriv", hitp->hit_vpriv); + VPRINT("hitp", hitp->hit_point); + VPRINT("vpriv", hitp->hit_vpriv); */ - switch ( hitp->hit_surfno ) { + switch (hitp->hit_surfno) { case START_FACE_POS: - VREVERSE( hitp->hit_normal, rev->yUnit ); + VREVERSE(hitp->hit_normal, rev->yUnit); break; case START_FACE_NEG: - VMOVE( hitp->hit_normal, rev->yUnit ); + VMOVE(hitp->hit_normal, rev->yUnit); break; case END_FACE_POS: - VCROSS( hitp->hit_normal, rev->zUnit, rev->rEnd ); - VUNITIZE( hitp->hit_normal ); + VCROSS(hitp->hit_normal, rev->zUnit, rev->rEnd); + VUNITIZE(hitp->hit_normal); break; case END_FACE_NEG: - VCROSS( hitp->hit_normal, rev->rEnd, rev->zUnit ); - VUNITIZE( hitp->hit_normal ); + VCROSS(hitp->hit_normal, rev->rEnd, rev->zUnit); + VUNITIZE(hitp->hit_normal); break; default: VMOVE(n, hitp->hit_vpriv); n[Z] *= sqrt((hitp->hit_vpriv[X] * hitp->hit_vpriv[X]) + (hitp->hit_vpriv[Y] * hitp->hit_vpriv[Y])); - if ( hitp->hit_surfno == HORIZ_SURF ) { - VSET( n, 0, 0, 1 ); + if (hitp->hit_surfno == HORIZ_SURF) { + VSET(n, 0, 0, 1); } - nT[X] = ( rev->xUnit[X] * n[X] ) - + ( rev->yUnit[X] * n[Y] ) - + ( rev->zUnit[X] * n[Z] ); - nT[Y] = ( rev->xUnit[Y] * n[X] ) - + ( rev->yUnit[Y] * n[Y] ) - + ( rev->zUnit[Y] * n[Z] ); - nT[Z] = ( rev->xUnit[Z] * n[X] ) - + ( rev->yUnit[Z] * n[Y] ) - + ( rev->zUnit[Z] * n[Z] ); + nT[X] = (rev->xUnit[X] * n[X]) + + (rev->yUnit[X] * n[Y]) + + (rev->zUnit[X] * n[Z]); + nT[Y] = (rev->xUnit[Y] * n[X]) + + (rev->yUnit[Y] * n[Y]) + + (rev->zUnit[Y] * n[Z]); + nT[Z] = (rev->xUnit[Z] * n[X]) + + (rev->yUnit[Z] * n[Y]) + + (rev->zUnit[Z] * n[Z]); - VUNITIZE( nT ); + VUNITIZE(nT); /* XXX Debug printing - VPRINT("xUnit", rev->xUnit); - VPRINT("yUnit", rev->yUnit); - VPRINT("zUnit", rev->zUnit); - VPRINT("n", n); - VPRINT("nT", nT); + VPRINT("xUnit", rev->xUnit); + VPRINT("yUnit", rev->yUnit); + VPRINT("zUnit", rev->zUnit); + VPRINT("n", n); + VPRINT("nT", nT); */ - if ( VDOT( nT, rp->r_dir) < 0 ) { - VMOVE( hitp->hit_normal, nT ); + if (VDOT(nT, rp->r_dir) < 0) { + VMOVE(hitp->hit_normal, nT); } else { - VREVERSE( hitp->hit_normal, nT ); + VREVERSE(hitp->hit_normal, nT); } break; } @@ -837,7 +837,7 @@ * Return the curvature of the revolve. */ void -rt_revolve_curve( struct curvature *cvp, struct hit *hitp, struct soltab *stp ) +rt_revolve_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp) { register struct revolve_specific *revolve = (struct revolve_specific *)stp->st_specific; @@ -845,7 +845,7 @@ cvp->crv_c1 = cvp->crv_c2 = 0; /* any tangent direction */ - bn_vec_ortho( cvp->crv_pdir, hitp->hit_normal ); + bn_vec_ortho(cvp->crv_pdir, hitp->hit_normal); } /** @@ -857,7 +857,7 @@ * u = azimuth, v = elevation */ void -rt_revolve_uv( struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp ) +rt_revolve_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp) { register struct revolve_specific *rev = (struct revolve_specific *)stp->st_specific; @@ -870,15 +870,15 @@ struct nurb_seg *nsg; struct bezier_seg *bsg; - VJOIN1( hitpoint, hitp->hit_rayp->r_pt, hitp->hit_dist, hitp->hit_rayp->r_dir ); + VJOIN1(hitpoint, hitp->hit_rayp->r_pt, hitp->hit_dist, hitp->hit_rayp->r_dir); - switch ( hitp->hit_surfno ) { + switch (hitp->hit_surfno) { case START_FACE_POS: case START_FACE_NEG: case END_FACE_POS: case END_FACE_NEG: - uvp->uv_u = fabs( (hitp->hit_vpriv[X] - rev->bounds[0]) / (rev->bounds[1] - rev->bounds[0]) ); - uvp->uv_v = fabs( (hitp->hit_vpriv[Y] - rev->bounds[2]) / (rev->bounds[3] - rev->bounds[2]) ); + uvp->uv_u = fabs((hitp->hit_vpriv[X] - rev->bounds[0]) / (rev->bounds[1] - rev->bounds[0])); + uvp->uv_v = fabs((hitp->hit_vpriv[Y] - rev->bounds[2]) / (rev->bounds[3] - rev->bounds[2])); break; case HORIZ_SURF: hitpoint[Z] = 0; @@ -887,29 +887,29 @@ uvp->uv_u = hitp->hit_vpriv[Y] / rev->ang; /* X is the coord of the endpoint that we're connecting to the revolve axis */ - uvp->uv_v = fabs( (MAGNITUDE( hitpoint ) - hitp->hit_vpriv[Z]) - / ( hitp->hit_vpriv[X]- hitp->hit_vpriv[Z]) ); - /* bu_log( "\tmin: %3.2f\tmax: %3.2f\n", hitp->hit_vpriv[Z], hitp->hit_vpriv[X] ); */ + uvp->uv_v = fabs((MAGNITUDE(hitpoint) - hitp->hit_vpriv[Z]) + / (hitp->hit_vpriv[X]- hitp->hit_vpriv[Z])); + /* bu_log("\tmin: %3.2f\tmax: %3.2f\n", hitp->hit_vpriv[Z], hitp->hit_vpriv[X]); */ break; default: - angle = atan2( hitp->hit_vpriv[Y], hitp->hit_vpriv[X] ); - if ( angle < 0 ) angle += 2*M_PI; + angle = atan2(hitp->hit_vpriv[Y], hitp->hit_vpriv[X]); + if (angle < 0) angle += 2*M_PI; uvp->uv_u = angle / rev->ang; lng = (long *)rev->sk->skt_curve.segments[hitp->hit_surfno]; - switch ( *lng ) { + switch (*lng) { case CURVE_LSEG_MAGIC: lsg = (struct line_seg *)lng; - if ( NEAR_ZERO( 1.0/hitp->hit_vpriv[Z], SMALL_FASTF ) ) { + if (NEAR_ZERO(1.0/hitp->hit_vpriv[Z], SMALL_FASTF)) { /* use hitpoint radius and sketch's X values */ hitpoint[Z] = 0; - uvp->uv_v = (MAGNITUDE( hitpoint) - rev->sk->verts[lsg->end][X]) / - (rev->sk->verts[lsg->start][X] - rev->sk->verts[lsg->end][X]); + uvp->uv_v = (MAGNITUDE(hitpoint) - rev->sk->verts[lsg->end][X]) / + (rev->sk->verts[lsg->start][X] - rev->sk->verts[lsg->end][X]); } else { /* use hitpoint Z and sketch's Y values */ uvp->uv_v = (hitpoint[Z] - rev->sk->verts[lsg->end][Y]) / - (rev->sk->verts[lsg->start][Y] - rev->sk->verts[lsg->end][Y]); + (rev->sk->verts[lsg->start][Y] - rev->sk->verts[lsg->end][Y]); } break; case CURVE_CARC_MAGIC: @@ -922,24 +922,24 @@ nsg = (struct nurb_seg *)lng; break; default: - bu_log( "rt_revolve_prep: ERROR: unrecognized segment type!\n" ); + bu_log("rt_revolve_prep: ERROR: unrecognized segment type!\n"); break; } break; } - if ( uvp->uv_v > 1 || uvp->uv_v < 0 || uvp->uv_u > 1 || uvp->uv_u < 0 ) { - bu_log( "UV error:\t%d\t%2.2f\t%2.2f\t", hitp->hit_surfno, uvp->uv_u, uvp->uv_v ); - bu_log( "\tX: (%3.2f, %3.2f)\tY: (%3.2f, %3.2f)\n", rev->bounds[0], rev->bounds[1], rev->bounds[2], rev->bounds[3] ); + if (uvp->uv_v > 1 || uvp->uv_v < 0 || uvp->uv_u > 1 || uvp->uv_u < 0) { + bu_log("UV error:\t%d\t%2.2f\t%2.2f\t", hitp->hit_surfno, uvp->uv_u, uvp->uv_v); + bu_log("\tX: (%3.2f, %3.2f)\tY: (%3.2f, %3.2f)\n", rev->bounds[0], rev->bounds[1], rev->bounds[2], rev->bounds[3]); } /* sanity checks */ - if ( uvp->uv_u < 0.0 ) + if (uvp->uv_u < 0.0) uvp->uv_u = 0.0; - else if ( uvp->uv_u > 1.0 ) + else if (uvp->uv_u > 1.0) uvp->uv_u = 1.0; - if ( uvp->uv_v < 0.0 ) + if (uvp->uv_v < 0.0) uvp->uv_v = 0.0; - else if ( uvp->uv_v > 1.0 ) + else if (uvp->uv_v > 1.0) uvp->uv_v = 1.0; } @@ -947,19 +947,19 @@ * R T _ R E V O L V E _ F R E E */ void -rt_revolve_free( struct soltab *stp ) +rt_revolve_free(struct soltab *stp) { register struct revolve_specific *revolve = (struct revolve_specific *)stp->st_specific; - bu_free( revolve->ends, "endcount" ); - bu_free( (char *)revolve, "revolve_specific" ); + bu_free(revolve->ends, "endcount"); + bu_free((char *)revolve, "revolve_specific"); } /** * R T _ R E V O L V E _ C L A S S */ int -rt_revolve_class( const struct soltab *stp, const vect_t min, const vect_t max, const struct bn_tol *tol ) +rt_revolve_class(const struct soltab *stp, const vect_t min, const vect_t max, const struct bn_tol *tol) { return 0; } @@ -968,7 +968,7 @@ * R T _ R E V O L V E _ P L O T */ int -rt_revolve_plot( struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol ) +rt_revolve_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) { struct rt_revolve_internal *rip; @@ -978,7 +978,7 @@ vect_t ell[16], cir[16], ucir[16], height, xdir, ydir, ux, uy, uz, rEnd, xEnd, yEnd; fastf_t cos22_5 = 0.9238795325112867385, - cos67_5 = 0.3826834323650898373; + cos67_5 = 0.3826834323650898373; int *endcount; point_t add, add2, add3; @@ -990,64 +990,64 @@ verts = rip->sk->verts; crv = &rip->sk->skt_curve; - if ( rip->ang < 2*M_PI ) { - narc = ceil( rip->ang * 8 * M_1_PI ); + if (rip->ang < 2*M_PI) { + narc = ceil(rip->ang * 8 * M_1_PI); } else { narc = 16; } - VSCALE( xEnd, rip->r, cos(rip->ang) ); - VCROSS( rEnd, rip->axis3d, rip->r ); /* using rEnd for temp storage */ - VSCALE( yEnd, rEnd, sin(rip->ang) ); - VADD2( rEnd, xEnd, yEnd ); + VSCALE(xEnd, rip->r, cos(rip->ang)); + VCROSS(rEnd, rip->axis3d, rip->r); /* using rEnd for temp storage */ + VSCALE(yEnd, rEnd, sin(rip->ang)); + VADD2(rEnd, xEnd, yEnd); - VMOVE( uz, rip->axis3d ); - VMOVE( ux, rip->r ); - VCROSS( uy, uz, ux ); + VMOVE(uz, rip->axis3d); + VMOVE(ux, rip->r); + VCROSS(uy, uz, ux); - VUNITIZE( ux ); - VUNITIZE( uy ); - VUNITIZE( uz ); + VUNITIZE(ux); + VUNITIZE(uy); + VUNITIZE(uz); /* setup unit circle to be scaled */ - VMOVE( ucir[ 0], ux ); - VREVERSE( ucir[ 8], ucir[0] ); + VMOVE( ucir[ 0], ux); + VREVERSE( ucir[ 8], ucir[0]); - VSCALE( xdir, ux, cos22_5); - VSCALE( ydir, uy, cos67_5); - VADD2( ucir[ 1], xdir, ydir ); - VREVERSE( ucir[ 9], ucir[1] ); - VREVERSE( xdir, xdir ); - VADD2( ucir[ 7], xdir, ydir ); - VREVERSE( ucir[15], ucir[7] ); + VSCALE(xdir, ux, cos22_5); + VSCALE(ydir, uy, cos67_5); + VADD2( ucir[ 1], xdir, ydir); + VREVERSE( ucir[ 9], ucir[1]); + VREVERSE(xdir, xdir); + VADD2( ucir[ 7], xdir, ydir); + VREVERSE( ucir[15], ucir[7]); - VSCALE( xdir, ux, M_SQRT1_2 ); - VSCALE( ydir, uy, M_SQRT1_2 ); - VADD2( ucir[ 2], xdir, ydir ); - VREVERSE( ucir[10], ucir[2] ); - VREVERSE( xdir, xdir ); - VADD2( ucir[ 6], xdir, ydir ); - VREVERSE( ucir[14], ucir[6] ); + VSCALE(xdir, ux, M_SQRT1_2); + VSCALE(ydir, uy, M_SQRT1_2); + VADD2( ucir[ 2], xdir, ydir); + VREVERSE( ucir[10], ucir[2]); + VREVERSE(xdir, xdir); + VADD2( ucir[ 6], xdir, ydir); + VREVERSE( ucir[14], ucir[6]); - VSCALE( xdir, ux, cos67_5 ); - VSCALE( ydir, uy, cos22_5 ); - VADD2( ucir[ 3], xdir, ydir ); - VREVERSE( ucir[11], ucir[3] ); - VREVERSE( xdir, xdir ); - VADD2( ucir[ 5], xdir, ydir ); - VREVERSE( ucir[13], ucir[5] ); + VSCALE(xdir, ux, cos67_5); + VSCALE(ydir, uy, cos22_5); + VADD2( ucir[ 3], xdir, ydir); + VREVERSE( ucir[11], ucir[3]); + VREVERSE(xdir, xdir); + VADD2( ucir[ 5], xdir, ydir); + VREVERSE( ucir[13], ucir[5]); - VMOVE( ucir[ 4], uy ); - VREVERSE( ucir[12], ucir[4] ); + VMOVE( ucir[ 4], uy); + VREVERSE( ucir[12], ucir[4]); /* find open endpoints, and determine which points are used */ - endcount = (int *)bu_calloc( rip->sk->vert_count, sizeof(int), "endcount" ); - for ( i=0; i<rip->sk->vert_count; i++ ) { + endcount = (int *)bu_calloc(rip->sk->vert_count, sizeof(int), "endcount"); + for (i=0; i<rip->sk->vert_count; i++) { endcount[i] = 0; } nseg = rip->sk->skt_curve.seg_count; - for ( i=0; i<nseg; i++ ) { + for (i=0; i<nseg; i++) { long *lng; struct line_seg *lsg; struct carc_seg *csg; @@ -1056,7 +1056,7 @@ lng = (long *)rip->sk->skt_curve.segments[i]; - switch ( *lng ) { + switch (*lng) { case CURVE_LSEG_MAGIC: lsg = (struct line_seg *)lng; endcount[lsg->start]++; @@ -1064,7 +1064,7 @@ break; case CURVE_CARC_MAGIC: csg = (struct carc_seg *)lng; - if ( csg->radius <= 0.0 ) break; + if (csg->radius <= 0.0) break; endcount[csg->start]++; endcount[csg->end]++; break; @@ -1079,41 +1079,41 @@ endcount[nsg->ctl_points[nsg->c_size-1]]++; break; default: - bu_log( "rt_revolve_prep: ERROR: unrecognized segment type!\n" ); + bu_log("rt_revolve_prep: ERROR: unrecognized segment type!\n"); break; } } /* draw circles */ - for ( i=0; i<nvert; i++ ) { - if ( endcount[i] == 0 ) continue; - VSCALE( height, uz, verts[i][Y] ); - for ( j=0; j<narc; j++ ) { - VSCALE( cir[j], ucir[j], verts[i][X] ); - VADD3( ell[j], rip->v3d, cir[j], height ); + for (i=0; i<nvert; i++) { + if (endcount[i] == 0) continue; + VSCALE(height, uz, verts[i][Y]); + for (j=0; j<narc; j++) { + VSCALE(cir[j], ucir[j], verts[i][X]); + VADD3(ell[j], rip->v3d, cir[j], height); } - RT_ADD_VLIST( vhead, ell[0], BN_VLIST_LINE_MOVE ); - for ( j=1; j<narc; j++ ) { - RT_ADD_VLIST( vhead, ell[j], BN_VLIST_LINE_DRAW ); + RT_ADD_VLIST(vhead, ell[0], BN_VLIST_LINE_MOVE); + for (j=1; j<narc; j++) { + RT_ADD_VLIST(vhead, ell[j], BN_VLIST_LINE_DRAW); } - if ( narc < 16 ) { - VSCALE( cir[narc], rEnd, verts[i][X] ); - VADD3( ell[narc], rip->v3d, cir[narc], height ); - RT_ADD_VLIST( vhead, ell[narc], BN_VLIST_LINE_DRAW ); + if (narc < 16) { + VSCALE(cir[narc], rEnd, verts[i][X]); + VADD3(ell[narc], rip->v3d, cir[narc], height); + RT_ADD_VLIST(vhead, ell[narc], BN_VLIST_LINE_DRAW); } else { - RT_ADD_VLIST( vhead, ell[0], BN_VLIST_LINE_DRAW ); + RT_ADD_VLIST(vhead, ell[0], BN_VLIST_LINE_DRAW); } } /* convert endcounts to store which endpoints are odd */ - for ( i=0, j=0; i<rip->sk->vert_count; i++ ) { - if ( endcount[i] % 2 != 0 ) { + for (i=0, j=0; i<rip->sk->vert_count; i++) { + if (endcount[i] % 2 != 0) { /* add 'i' to list, insertion sort by vert[i][Y] */ - for( k=j; k>0; k-- ) { - if ( ( NEAR_ZERO( verts[i][Y] - verts[endcount[k-1]][Y], SMALL_FASTF ) - && verts[i][X] > verts[endcount[k-1]][X] ) - || ( !NEAR_ZERO( verts[i][Y] - verts[endcount[k-1]][Y], SMALL_FASTF ) - && verts[i][Y] < verts[endcount[k-1]][Y] ) ) { + for(k=j; k>0; k--) { + if ((NEAR_ZERO(verts[i][Y] - verts[endcount[k-1]][Y], SMALL_FASTF) + && verts[i][X] > verts[endcount[k-1]][X]) + || (!NEAR_ZERO(verts[i][Y] - verts[endcount[k-1]][Y], SMALL_FASTF) + && verts[i][Y] < verts[endcount[k-1]][Y])) { endcount[k] = endcount[k-1]; } else { break; @@ -1124,57 +1124,57 @@ } } nadd = j; - while ( j < rip->sk->vert_count ) endcount[j++] = -1; + while (j < rip->sk->vert_count) endcount[j++] = -1; /* draw sketch outlines */ - for ( i=0; i<narc; i++ ) { - curve_to_vlist( vhead, ttol, rip->v3d, ucir[i], uz, rip->sk, crv ); - for ( j=0; j<nadd; j++ ) { - if ( j+1 < nadd && - NEAR_ZERO(verts[endcount[j]][Y] - verts[endcount[j+1]][Y], SMALL_FASTF) ) { - VJOIN1( add, rip->v3d, verts[endcount[j]][Y], rip->axis3d ); - VJOIN1( add2, add, verts[endcount[j]][X], ucir[i] ); - VJOIN1( add3, add, verts[endcount[j+1]][X], ucir[i] ); - RT_ADD_VLIST( vhead, add2, BN_VLIST_LINE_MOVE ); - RT_ADD_VLIST( vhead, add3, BN_VLIST_LINE_DRAW ); + for (i=0; i<narc; i++) { + curve_to_vlist(vhead, ttol, rip->v3d, ucir[i], uz, rip->sk, crv); + for (j=0; j<nadd; j++) { + if (j+1 < nadd && + NEAR_ZERO(verts[endcount[j]][Y] - verts[endcount[j+1]][Y], SMALL_FASTF)) { + VJOIN1(add, rip->v3d, verts[endcount[j]][Y], rip->axis3d); + VJOIN1(add2, add, verts[endcount[j]][X], ucir[i]); + VJOIN1(add3, add, verts[endcount[j+1]][X], ucir[i]); + RT_ADD_VLIST(vhead, add2, BN_VLIST_LINE_MOVE); + RT_ADD_VLIST(vhead, add3, BN_VLIST_LINE_DRAW); j++; } else { - VJOIN1( add, rip->v3d, verts[endcount[j]][Y], rip->axis3d ); - VJOIN1( add2, add, verts[endcount[j]][X], ucir[i] ); - RT_ADD_VLIST( vhead, add, BN_VLIST_LINE_MOVE ); - RT_ADD_VLIST( vhead, add2, BN_VLIST_LINE_DRAW ); + VJOIN1(add, rip->v3d, verts[endcount[j]][Y], rip->axis3d); + VJOIN1(add2, add, verts[endcount[j]][X], ucir[i]); + RT_ADD_VLIST(vhead, add, BN_VLIST_LINE_MOVE); + RT_ADD_VLIST(vhead, add2, BN_VLIST_LINE_DRAW); } } } - if ( narc < 16 ) { - curve_to_vlist( vhead, ttol, rip->v3d, rEnd, uz, rip->sk, crv ); - for ( j=0; j<nadd; j++ ) { - if ( j+1 < nadd && - NEAR_ZERO(verts[endcount[j]][Y] - verts[endcount[j+1]][Y], SMALL_FASTF) ) { - VJOIN1( add, rip->v3d, verts[endcount[j]][Y], rip->axis3d ); - VJOIN1( add2, add, verts[endcount[j]][X], rEnd ); - VJOIN1( add3, add, verts[endcount[j+1]][X], rEnd ); - RT_ADD_VLIST( vhead, add2, BN_VLIST_LINE_MOVE ); - RT_ADD_VLIST( vhead, add3, BN_VLIST_LINE_DRAW ); + if (narc < 16) { + curve_to_vlist(vhead, ttol, rip->v3d, rEnd, uz, rip->sk, crv); + for (j=0; j<nadd; j++) { + if (j+1 < nadd && + NEAR_ZERO(verts[endcount[j]][Y] - verts[endcount[j+1]][Y], SMALL_FASTF)) { + VJOIN1(add, rip->v3d, verts[endcount[j]][Y], rip->axis3d); + VJOIN1(add2, add, verts[endcount[j]][X], rEnd); + VJOIN1(add3, add, verts[endcount[j+1]][X], rEnd); + RT_ADD_VLIST(vhead, add2, BN_VLIST_LINE_MOVE); + RT_ADD_VLIST(vhead, add3, BN_VLIST_LINE_DRAW); j++; } else { - VJOIN1( add, rip->v3d, verts[endcount[j]][Y], rip->axis3d ); - VJOIN1( add2, add, verts[endcount[j]][X], rEnd ); - RT_ADD_VLIST( vhead, add, BN_VLIST_LINE_MOVE ); - RT_ADD_VLIST( vhead, add2, BN_VLIST_LINE_DRAW ); + VJOIN1(add, rip->v3d, verts[endcount[j]][Y], rip->axis3d); + VJOIN1(add2, add, verts[endcount[j]][X], rEnd); + RT_ADD_VLIST(vhead, add, BN_VLIST_LINE_MOVE); + RT_ADD_VLIST(vhead, add2, BN_VLIST_LINE_DRAW); } } - for ( j=0; j<nadd; j+=2 ) { - if ( !NEAR_ZERO( verts[endcount[j]][Y] - verts[endcount[j+1]][Y], SMALL_FASTF ) ) { - VJOIN1( add, rip->v3d, verts[endcount[j]][Y], rip->axis3d ); - VJOIN1( add2, rip->v3d, verts[endcount[j+1]][Y], rip->axis3d ); - RT_ADD_VLIST( vhead, add, BN_VLIST_LINE_MOVE ); - RT_ADD_VLIST( vhead, add2, BN_VLIST_LINE_DRAW ); + for (j=0; j<nadd; j+=2) { + if (!NEAR_ZERO(verts[endcount[j]][Y] - verts[endcount[j+1]][Y], SMALL_FASTF)) { + VJOIN1(add, rip->v3d, verts[endcount[j]][Y], rip->axis3d); + VJOIN1(add2, rip->v3d, verts[endcount[j+1]][Y], rip->axis3d); + RT_ADD_VLIST(vhead, add, BN_VLIST_LINE_MOVE); + RT_ADD_VLIST(vhead, add2, BN_VLIST_LINE_DRAW); } } } - bu_free( endcount, "endcount" ); + bu_free(endcount, "endcount"); return(0); } @@ -1186,7 +1186,7 @@ * 0 OK. *r points to nmgregion that holds this tessellation. */ int -rt_revolve_tess( struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol ) +rt_revolve_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) { struct rt_revolve_internal *rip; @@ -1207,7 +1207,7 @@ * Apply modeling transformations as well. */ int -rt_revolve_import5( struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp, const int minor_type ) +rt_revolve_import5(struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp, const int minor_type) { struct rt_revolve_internal *rip; fastf_t vv[ELEMENTS_PER_VECT*3 + 1]; @@ -1218,13 +1218,13 @@ struct rt_db_internal tmp_ip; RT_CK_DB_INTERNAL(ip) - BU_CK_EXTERNAL( ep ); + BU_CK_EXTERNAL(ep); /* set up the internal structure */ ip->idb_major_type = DB5_MAJORTYPE_BRLCAD; ip->idb_type = ID_REVOLVE; ip->idb_meth = &rt_functab[ID_REVOLVE]; - ip->idb_ptr = bu_malloc( sizeof(struct rt_revolve_internal), "rt_revolve_internal"); + ip->idb_ptr = bu_malloc(sizeof(struct rt_revolve_internal), "rt_revolve_internal"); rip = (struct rt_revolve_internal *)ip->idb_ptr; rip->magic = RT_REVOLVE_INTERNAL_MAGIC; @@ -1235,34 +1235,34 @@ ptr = (unsigned char *)ep->ext_buf; sketch_name = (char *)ptr + (ELEMENTS_PER_VECT*3 + 1)*SIZEOF_NETWORK_DOUBLE; - if ( !dbip ) + if (!dbip) rip->sk = (struct rt_sketch_internal *)NULL; - else if ( (dp=db_lookup( dbip, sketch_name, LOOKUP_NOISY)) == DIR_NULL ) + else if ((dp=db_lookup(dbip, sketch_name, LOOKUP_NOISY)) == DIR_NULL) { - bu_log( "rt_revolve_import: ERROR: Cannot find sketch (%s) for extrusion\n", - sketch_name ); + bu_log("rt_revolve_import: ERROR: Cannot find sketch (%s) for extrusion\n", + sketch_name); rip->sk = (struct rt_sketch_internal *)NULL; } else { - if ( rt_db_get_internal( &tmp_ip, dp, dbip, bn_mat_identity, resp ) != ID_SKETCH ) + if (rt_db_get_internal(&tmp_ip, dp, dbip, bn_mat_identity, resp) != ID_SKETCH) { - bu_log( "rt_revolve_import: ERROR: Cannot import sketch (%s) for extrusion\n", - sketch_name ); - bu_free( ip->idb_ptr, "extrusion" ); - return( -1 ); + bu_log("rt_revolve_import: ERROR: Cannot import sketch (%s) for extrusion\n", + sketch_name); + bu_free(ip->idb_ptr, "extrusion"); + return(-1); } else rip->sk = (struct rt_sketch_internal *)tmp_ip.idb_ptr; } - ntohd( (unsigned char *)&vv, (unsigned char *)ep->ext_buf, ELEMENTS_PER_VECT*3 + 1 ); + ntohd((unsigned char *)&vv, (unsigned char *)ep->ext_buf, ELEMENTS_PER_VECT*3 + 1); /* Apply the modeling transformation */ if (mat == NULL) mat = bn_mat_identity; - MAT4X3PNT( rip->v3d, mat, &vv[0*3] ); - MAT4X3PNT( rip->axis3d, mat, &vv[1*3] ); - MAT4X3PNT( rip->r, mat, &vv[2*3] ); + MAT4X3PNT(rip->v3d, mat, &vv[0*3]); + MAT4X3PNT(rip->axis3d, mat, &vv[1*3]); + MAT4X3PNT(rip->r, mat, &vv[2*3]); rip->ang = vv[9]; /* convert name of data location */ @@ -1282,20 +1282,20 @@ * Apply the transformation to mm units as well. */ int -rt_revolve_export5( struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip ) +rt_revolve_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) { struct rt_revolve_internal *rip; fastf_t vec[ELEMENTS_PER_VECT*3 + 1]; unsigned char *ptr; RT_CK_DB_INTERNAL(ip); - if ( ip->idb_type != ID_REVOLVE ) return(-1); + if (ip->idb_type != ID_REVOLVE) return(-1); rip = (struct rt_revolve_internal *)ip->idb_ptr; RT_REVOLVE_CK_MAGIC(rip); BU_CK_EXTERNAL(ep); ep->ext_nbytes = SIZEOF_NETWORK_DOUBLE * (ELEMENTS_PER_VECT*3 + 1) + bu_vls_strlen(&rip->sketch_name) + 1; - ep->ext_buf = (genptr_t)bu_calloc( 1, ep->ext_nbytes, "revolve external"); + ep->ext_buf = (genptr_t)bu_calloc(1, ep->ext_nbytes, "revolve external"); ptr = (unsigned char *)ep->ext_buf; @@ -1303,12 +1303,12 @@ * we offer the opportunity to scale the solid (to get it into mm) * on the way out. */ - VSCALE( &vec[0*3], rip->v3d, local2mm ); - VSCALE( &vec[1*3], rip->axis3d, local2mm ); - VSCALE( &vec[2*3], rip->r, local2mm ); + VSCALE(&vec[0*3], rip->v3d, local2mm); + VSCALE(&vec[1*3], rip->axis3d, local2mm); + VSCALE(&vec[2*3], rip->r, local2mm); vec[9] = rip->ang; - htond( ptr, (unsigned char *)vec, ELEMENTS_PER_VECT*3 + 1 ); + htond(ptr, (unsigned char *)vec, ELEMENTS_PER_VECT*3 + 1); ptr += (ELEMENTS_PER_VECT*3 + 1) * SIZEOF_NETWORK_DOUBLE; bu_strlcpy((char *)ptr, bu_vls_addr(&rip->sketch_name), bu_vls_strlen(&rip->sketch_name) + 1); @@ -1324,39 +1324,39 @@ * tab, and give parameter values. */ int -rt_revolve_describe( struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local ) +rt_revolve_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local) { register struct rt_revolve_internal *rip = (struct rt_revolve_internal *)ip->idb_ptr; char buf[256]; RT_REVOLVE_CK_MAGIC(rip); - bu_vls_strcat( str, "truncated general revolve (REVOLVE)\n"); + bu_vls_strcat(str, "truncated general revolve (REVOLVE)\n"); sprintf(buf, "\tV (%g, %g, %g)\n", INTCLAMP(rip->v3d[X] * mm2local), INTCLAMP(rip->v3d[Y] * mm2local), - INTCLAMP(rip->v3d[Z] * mm2local) ); - bu_vls_strcat( str, buf ); + INTCLAMP(rip->v3d[Z] * mm2local)); + bu_vls_strcat(str, buf); sprintf(buf, "\tAxis (%g, %g, %g)\n", INTCLAMP(rip->axis3d[X] * mm2local), INTCLAMP(rip->axis3d[Y] * mm2local), - INTCLAMP(rip->axis3d[Z] * mm2local) ); - bu_vls_strcat( str, buf ); + INTCLAMP(rip->axis3d[Z] * mm2local)); + bu_vls_strcat(str, buf); sprintf(buf, "\tR (%g, %g, %g)\n", INTCLAMP(rip->r[X] * mm2local), INTCLAMP(rip->r[Y] * mm2local), - INTCLAMP(rip->r[Z] * mm2local) ); - bu_vls_strcat( str, buf ); + INTCLAMP(rip->r[Z] * mm2local)); + bu_vls_strcat(str, buf); - sprintf(buf, "\tAngle=%g\n", INTCLAMP(rip->ang * RAD2DEG) ); - bu_vls_strcat( str, buf ); + sprintf(buf, "\tAngle=%g\n", INTCLAMP(rip->ang * RAD2DEG)); + bu_vls_strcat(str, buf); - sprintf( buf, "\tsketch name: " ); - bu_vls_strcat( str, buf ); - bu_vls_vlscat( str, &rip->sketch_name ); + sprintf(buf, "\tsketch name: "); + bu_vls_strcat(str, buf); + bu_vls_vlscat(str, &rip->sketch_name); return(0); } @@ -1368,7 +1368,7 @@ * solid. */ void -rt_revolve_ifree( struct rt_db_internal *ip ) +rt_revolve_ifree(struct rt_db_internal *ip) { register struct rt_revolve_internal *revolve_ip; @@ -1378,11 +1378,11 @@ revolve_ip->magic = 0; /* sanity */ if (BU_VLS_IS_INITIALIZED(&revolve_ip->sketch_name)) - bu_vls_free( &revolve_ip->sketch_name); + bu_vls_free(&revolve_ip->sketch_name); else bu_log("Freeing bogus revolve, VLS string not initialized\n"); - bu_free( (char *)revolve_ip, "revolve ifree" ); + bu_free((char *)revolve_ip, "revolve ifree"); ip->idb_ptr = GENPTR_NULL; /* sanity */ } @@ -1394,7 +1394,7 @@ * export/import cycle. */ int -rt_revolve_xform( struct rt_db_internal *op, const mat_t mat, struct rt_db_internal *ip, int free ) +rt_revolve_xform(struct rt_db_internal *op, const mat_t mat, struct rt_db_internal *ip, int free) { } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |