[brlcad-commits] SF.net SVN: brlcad:[43374] brlcad/branches/cmake
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <sta...@us...> - 2011-02-16 21:22:10
|
Revision: 43374 http://brlcad.svn.sourceforge.net/brlcad/?rev=43374&view=rev Author: starseeker Date: 2011-02-16 21:22:00 +0000 (Wed, 16 Feb 2011) Log Message: ----------- MFC r43373 Modified Paths: -------------- brlcad/branches/cmake/TODO brlcad/branches/cmake/include/raytrace.h brlcad/branches/cmake/misc/debian/control brlcad/branches/cmake/sh/make_deb.sh brlcad/branches/cmake/sh/make_rpm.sh brlcad/branches/cmake/src/archer/archer.bat brlcad/branches/cmake/src/irprep/firpass.c brlcad/branches/cmake/src/irprep/ir-X.c brlcad/branches/cmake/src/irprep/ir-sgi.c brlcad/branches/cmake/src/irprep/secpass.c brlcad/branches/cmake/src/irprep/shapefact.c brlcad/branches/cmake/src/lgt/do_options.c brlcad/branches/cmake/src/lgt/execshell.c brlcad/branches/cmake/src/libbn/bntester.c brlcad/branches/cmake/src/libged/Makefile.am brlcad/branches/cmake/src/libged/search.c brlcad/branches/cmake/src/librt/Makefile.am brlcad/branches/cmake/src/mged/mged.bat brlcad/branches/cmake/src/nirt/command.c brlcad/branches/cmake/src/nirt/interact.c brlcad/branches/cmake/src/nirt/nirt.c brlcad/branches/cmake/src/nirt/nirt.h brlcad/branches/cmake/src/nirt/parse_fmt.c brlcad/branches/cmake/src/nirt/read_mat.c brlcad/branches/cmake/src/nirt/showshot.c brlcad/branches/cmake/src/proc-db/brepintersect.cpp brlcad/branches/cmake/src/proc-db/breplicator.cpp brlcad/branches/cmake/src/proc-db/brickwall.c brlcad/branches/cmake/src/proc-db/clutter.c brlcad/branches/cmake/src/proc-db/contours.c brlcad/branches/cmake/src/proc-db/csgbrep.cpp brlcad/branches/cmake/src/proc-db/kurt.c brlcad/branches/cmake/src/proc-db/masonry.c brlcad/branches/cmake/src/proc-db/pipe.c brlcad/branches/cmake/src/proc-db/pipetest.c brlcad/branches/cmake/src/proc-db/pix2g.c brlcad/branches/cmake/src/proc-db/room.c brlcad/branches/cmake/src/proc-db/sketch.c brlcad/branches/cmake/src/proc-db/sphflake.c brlcad/branches/cmake/src/proc-db/surfaceintersect.cpp brlcad/branches/cmake/src/proc-db/torii.c brlcad/branches/cmake/src/proc-db/tube.c brlcad/branches/cmake/src/proc-db/vegetation.c brlcad/branches/cmake/src/proc-db/vegetation.h brlcad/branches/cmake/src/remrt/ihost.c brlcad/branches/cmake/src/remrt/ihost.h brlcad/branches/cmake/src/remrt/remrt.c brlcad/branches/cmake/src/remrt/rtsrv.c brlcad/branches/cmake/src/rt/heatgraph.c brlcad/branches/cmake/src/sig/dmod.c brlcad/branches/cmake/src/sig/dpeak.c brlcad/branches/cmake/src/tclscripts/rtwizard/rtwizard.bat Added Paths: ----------- brlcad/branches/cmake/src/librt/search.c brlcad/branches/cmake/src/librt/search.h Removed Paths: ------------- brlcad/branches/cmake/src/libged/search.h brlcad/branches/cmake/src/other/step/include/conf/ Modified: brlcad/branches/cmake/TODO =================================================================== --- brlcad/branches/cmake/TODO 2011-02-16 21:01:42 UTC (rev 43373) +++ brlcad/branches/cmake/TODO 2011-02-16 21:22:00 UTC (rev 43374) @@ -292,9 +292,6 @@ obtain a bu_log()-style callback function returned from a logger registration function. -* finish obj-g importer. need to test more inputs and make sure all - geometry is preserved on import in some form. - * deprecate dbfind - ensure functionality is fully captured by the search command, make it report a deprecation statement on use and utilize search under the hood. @@ -536,8 +533,6 @@ they want v2 (default) or previous v1 output format via a command-line switch. see http://brlcad.svn.sf.net/viewvc/brlcad/brlcad/trunk/conv/g-vrml.c?view=diff&pathrev=22798&r1=16900&r2=16901 -* X3D/VRML importer - * make Mac OS X universal binaries actually work. * implement analyze for all primitives lacking an implementation @@ -789,10 +784,6 @@ of these primitives, provided their continuity at the ends ensures continuity all along "seams" - something to consider. -* implement a g-gcode exporter. ideally this converts geometry to - NURBS format, trims surfaces, evaluates boolean expressions, and - then generates tool paths on resulting surfaces and interior paths. - * incorporate some variety of spatial partitioning into the facetize command (may involve just rewriting it) to try and realize MUCH faster tessellation of CSG geometry. Current routines are doing a lot of unnecessary work that @@ -802,6 +793,46 @@ and convertors/other commands retargted to use it. +CONVERTERS +---------- + +* finish obj-g importer. need to test more inputs and make sure all + geometry is preserved on import in some form. make sure new libobj + parser works and is integrated with new front-end. + +* implement a g-step exporter (with NURBS, implicit CSG, and NMG/BoT options) + +* implement a g-dae (Collada) exporter and dae-g importer + http://en.wikipedia.org/wiki/Collada + +* implement an x3d-g (Web3D, VRML successor) importer + http://en.wikipedia.org/wiki/X3D + +* implement a g-nc (g-code) exporter. ideally this converts geometry + to NURBS format, trims surfaces, evaluates boolean expressions, and + then generates tool paths on resulting surfaces and interior paths. + http://en.wikipedia.org/wiki/G-code + +* implement a u3d-g importer + http://en.wikipedia.org/wiki/Universal_3D + http://libharu.org/wiki/Main_Page + +* implement a g-pdf exporter and/or open source 3D PDF library + http://developer.techsoft3d.com/adobePDF/index.html + +* implement a g-sat (Solidworks) exporter and sat-g importer + http://local.wasp.uwa.edu.au/~pbourke/dataformats/sat/sat.pdf + +* implement a g-ply exporter + http://en.wikipedia.org/wiki/PLY_(file_format) + +* implement a g-json exporter + http://www.json.org/ + +* implement a g-xml exporter + http://en.wikipedia.org/wiki/XML + + STEP ---- @@ -811,7 +842,7 @@ * document step-g -* implement g-step exporter +* implement g-step exporter (see above) BREP/NURBS Modified: brlcad/branches/cmake/include/raytrace.h =================================================================== --- brlcad/branches/cmake/include/raytrace.h 2011-02-16 21:01:42 UTC (rev 43373) +++ brlcad/branches/cmake/include/raytrace.h 2011-02-16 21:22:00 UTC (rev 43374) @@ -6000,6 +6000,34 @@ (struct db_i *dbip, struct directory *dp, const struct rt_comb_internal *comb)); + +/** + * S E A R C H + * + * Structures and functions related to searching geometry + */ + +struct rt_search_dbinfo { + struct db_i *dbip; + struct rt_wdb *wdbp; +}; + +struct rt_search_dir_list { + struct bu_list l; + struct directory *dp; +}; + +struct rt_search_results { + struct bu_vls result_str; + struct rt_search_dir_list dir_list; +}; + +RT_EXPORT BU_EXTERN(int rt_search, + (struct rt_search_dbinfo *dbinfo, + struct rt_search_results *results, + int argc, + const char *argv_orig[])); + /* * Constants provided and used by the RT library. */ Modified: brlcad/branches/cmake/misc/debian/control =================================================================== --- brlcad/branches/cmake/misc/debian/control 2011-02-16 21:01:42 UTC (rev 43373) +++ brlcad/branches/cmake/misc/debian/control 2011-02-16 21:22:00 UTC (rev 43374) @@ -2,7 +2,7 @@ Section: graphics Priority: extra Maintainer: Jordi Sayol <g....@ya...> -Build-Depends: build-essential, fakeroot, debhelper (>= 7.0.0), make (>= 3.8.0), bison, flex, libxi-dev, xsltproc, libgl1-mesa-dev, libpango1.0-dev, libncurses5-dev, libpng12-dev, zlib1g-dev +Build-Depends: build-essential, fakeroot, debhelper (>= 7.0.0), make (>= 3.8.0), bison, flex, libxi-dev, xsltproc, libgl1-mesa-dev, libpango1.0-dev Standards-Version: 3.9.1 Homepage: http://brlcad.org/ Vcs-Svn: https://brlcad.svn.sourceforge.net/svnroot/brlcad/ Modified: brlcad/branches/cmake/sh/make_deb.sh =================================================================== --- brlcad/branches/cmake/sh/make_deb.sh 2011-02-16 21:01:42 UTC (rev 43373) +++ brlcad/branches/cmake/sh/make_deb.sh 2011-02-16 21:22:00 UTC (rev 43374) @@ -102,6 +102,7 @@ if test "$1" = "-b" ;then fcheck build-essential + fcheck make fcheck bison fcheck flex fcheck libxi-dev Modified: brlcad/branches/cmake/sh/make_rpm.sh =================================================================== --- brlcad/branches/cmake/sh/make_rpm.sh 2011-02-16 21:01:42 UTC (rev 43373) +++ brlcad/branches/cmake/sh/make_rpm.sh 2011-02-16 21:22:00 UTC (rev 43374) @@ -179,7 +179,7 @@ cp -f $TMPDIR/brlcad-doc.directory $TMPDIR/tmp/usr/share/desktop-directories mkdir -p $TMPDIR/tmp/usr/share/icons/hicolor/48x48/apps -cp -f $TMPDIR/brlcad.png $TMPDIR/tmp/usr/share/icons/hicolor/48x48/apps +cp -f $TMPDIR/brlcad-mged.png $TMPDIR/tmp/usr/share/icons/hicolor/48x48/apps cp -f $TMPDIR/brlcad-archer.png $TMPDIR/tmp/usr/share/icons/hicolor/48x48/apps cp -f $TMPDIR/brlcad-db.png $TMPDIR/tmp/usr/share/icons/hicolor/48x48/apps cp -f $TMPDIR/brlcad-doc.png $TMPDIR/tmp/usr/share/icons/hicolor/48x48/apps @@ -226,9 +226,10 @@ echo "[Default Applications]" > $F fi -sed -i "/application\/x-brlcad-extension=/d" $F +sed -i "/application\/x-brlcad-/d" $F -echo "application/x-brlcad-extension=brlcad-archer.desktop" >> $F +echo "application/x-brlcad-v4=brlcad-mged.desktop" >> $F +echo "application/x-brlcad-v5=brlcad-mged.desktop" >> $F source /etc/profile.d/brlcad.sh Modified: brlcad/branches/cmake/src/archer/archer.bat =================================================================== --- brlcad/branches/cmake/src/archer/archer.bat 2011-02-16 21:01:42 UTC (rev 43373) +++ brlcad/branches/cmake/src/archer/archer.bat 2011-02-16 21:22:00 UTC (rev 43374) @@ -22,8 +22,11 @@ SETLOCAL -"%~dp0\"bwish.exe "%~dp0\"archer %1 +SET BWISH=%~dp0bwish +SET ARCHER=%~dp0archer +START /B "" "%BWISH%" "%ARCHER%" %1 + CLS EXIT Modified: brlcad/branches/cmake/src/irprep/firpass.c =================================================================== --- brlcad/branches/cmake/src/irprep/firpass.c 2011-02-16 21:01:42 UTC (rev 43373) +++ brlcad/branches/cmake/src/irprep/firpass.c 2011-02-16 21:22:00 UTC (rev 43374) @@ -246,15 +246,10 @@ double diff; /* Difference, used in finding variance. */ /* Check to see if arguments implimented correctly. */ - if (argv[1]==NULL || argv[2]==NULL) - { + if (argc < 3 || argv[1]==NULL || argv[2]==NULL) { (void)fprintf(stderr, "\nusage: firpass file.g objects\n\n"); - } + } else { - else - { - - /* Ask if output goes to standard out or a file. */ (void)printf("Write output to standard out (0) or a file (1) or "); (void)printf("not at all (2)? "); @@ -303,7 +298,7 @@ (void)scanf("%d", &typeout); /* Get facet file name. */ - if ( typeout == 0 ) + if (typeout == 0) { (void)printf("Enter name of facet file to be created. "); (void)printf("(15 char max) "); @@ -322,7 +317,7 @@ } /* Get generic file name. */ - if ( typeout == 1 ) + if (typeout == 1) { (void)printf("Enter name of generic file to be created. "); (void)printf("(15 char max) "); @@ -331,7 +326,7 @@ } /* Get geometric file name. */ - if ( typeout == 2 ) + if (typeout == 2) { (void)printf("Do you want a readable (0) or non-readable (1) "); (void)printf("geometric file? "); @@ -464,18 +459,18 @@ (void)printf("Mallocing arrays.\n"); (void)fflush(stdout); - region = (struct table *)bu_malloc(num * sizeof (*region), "region" ); - overlaps = (struct structovr *)bu_malloc(num * sizeof (*overlaps), "overlaps" ); + region = (struct table *)bu_malloc(num * sizeof (*region), "region"); + overlaps = (struct structovr *)bu_malloc(num * sizeof (*overlaps), "overlaps"); for (i=0; i<num; i++) { - region[i].adjreg = (int *)bu_malloc(num * sizeof (int), "region[i]adjreg" ); - region[i].ssurarea[0] = (double *)bu_malloc(num * sizeof (double), "region[i].ssurarea[0]" ); - region[i].ssurarea[1] = (double *)bu_malloc(num * sizeof (double), "region[i].ssurarea[1]" ); - region[i].ssurarea[2] = (double *)bu_malloc(num * sizeof (double), "region[i].ssurarea[2]" ); + region[i].adjreg = (int *)bu_malloc(num * sizeof (int), "region[i]adjreg"); + region[i].ssurarea[0] = (double *)bu_malloc(num * sizeof (double), "region[i].ssurarea[0]"); + region[i].ssurarea[1] = (double *)bu_malloc(num * sizeof (double), "region[i].ssurarea[1]"); + region[i].ssurarea[2] = (double *)bu_malloc(num * sizeof (double), "region[i].ssurarea[2]"); - overlaps[i].ovrreg = (int *)bu_malloc(num * sizeof (int), "overlaps[i].ovrreg" ); - overlaps[i].ovrdep = (double *)bu_malloc(num * sizeof (double), "overlaps[i].ovrdep" ); + overlaps[i].ovrreg = (int *)bu_malloc(num * sizeof (int), "overlaps[i].ovrreg"); + overlaps[i].ovrdep = (double *)bu_malloc(num * sizeof (double), "overlaps[i].ovrdep"); } /* Now that the arrays are 'dimensioned' zero ALL variables. */ @@ -553,7 +548,7 @@ /* Print center of bounding rpp, diagonal, maximum, & */ /* minimum. */ - (void)printf("Center of bounding rpp ( %f, %f, %f )\n", + (void)printf("Center of bounding rpp (%f, %f, %f)\n", center[X], center[Y], center[Z]); (void)printf("Length of diagonal of bounding rpp: %f\n", diagonal); @@ -635,7 +630,7 @@ strtpt[X] = xmax; strtpt[Y] = ymin + gridspace / 2.; strtpt[Z] = zmin + gridspace / 2.; - strtdir[X] = (-1.); + strtdir[X] = (-1.0); strtdir[Y] = 0.; strtdir[Z] = 0.; @@ -663,7 +658,7 @@ ap.a_ray.r_dir[Y] = r[Y]; ap.a_ray.r_dir[Z] = r[Z]; - while ( strtpt[Z] <= zmax ) + while (strtpt[Z] <= zmax) { /* Set to show no previous shots. */ @@ -693,10 +688,10 @@ lnormal[Z]=0.; /* Call rt_shootray. */ - (void)rt_shootray( &ap ); + (void)rt_shootray(&ap); strtpt[Y] += gridspace; - if ( strtpt[Y] > ymax ) + if (strtpt[Y] > ymax) { strtpt[Y] = ymin + gridspace / 2.; strtpt[Z] += gridspace; @@ -729,7 +724,7 @@ strtpt[Y] = ymax; strtpt[Z] = xmin + gridspace / 2.; strtdir[X] = 0.; - strtdir[Y] = (-1.); + strtdir[Y] = (-1.0); strtdir[Z] = 0.; /* Angle already in radians. */ @@ -802,7 +797,7 @@ strtpt[Z] = zmax; strtdir[X] = 0.; strtdir[Y] = 0.; - strtdir[Z] = (-1.); + strtdir[Z] = (-1.0); /* Angle already in radians. */ @@ -879,7 +874,7 @@ /* Compute the volume & surface area of each region. */ i=0; - while ( i < num ) + while (i < num) { /* Finish computing centroids. */ /* @@ -897,7 +892,7 @@ * (void)printf("\tcummulative volume: %f", total); * (void)fflush(stdout); */ - if ( (total < -ZEROTOL) || (ZEROTOL < total) ) + if ((total < -ZEROTOL) || (ZEROTOL < total)) { region[i].centroid[X] = region[i].centroid[X]/total; region[i].centroid[Y] = region[i].centroid[Y]/total; @@ -915,30 +910,30 @@ if (ifire == 0) { /* START # 1040 */ - if ( (region[i].cumvol[0] != 0.) && - (region[i].cumvol[1] != 0.) && - (region[i].cumvol[2] != 0.) ) + if ((!ZERO(region[i].cumvol[0])) && + (!ZERO(region[i].cumvol[1])) && + (!ZERO(region[i].cumvol[2]))) { /* START # 1045 */ diff = region[i].cumvol[0] - region[i].cumvol[1]; - if (diff < 0.) diff = (-diff); - if ( (diff / region[i].cumvol[0]) > VOLVAR) flag = 1; - if ( (diff / region[i].cumvol[1]) > VOLVAR) flag = 1; + if (diff < 0.0) diff = (-diff); + if ((diff / region[i].cumvol[0]) > VOLVAR) flag = 1; + if ((diff / region[i].cumvol[1]) > VOLVAR) flag = 1; diff = region[i].cumvol[0] - region[i].cumvol[2]; - if (diff < 0.) diff = (-diff); - if ( (diff / region[i].cumvol[0]) > VOLVAR) flag = 1; - if ( (diff / region[i].cumvol[2]) > VOLVAR) flag = 1; + if (diff < 0.0) diff = (-diff); + if ((diff / region[i].cumvol[0]) > VOLVAR) flag = 1; + if ((diff / region[i].cumvol[2]) > VOLVAR) flag = 1; diff = region[i].cumvol[1] - region[i].cumvol[2]; - if (diff < 0.) diff = (-diff); - if ( (diff / region[i].cumvol[1]) > VOLVAR) flag = 1; - if ( (diff / region[i].cumvol[2]) > VOLVAR) flag = 1; + if (diff < 0.0) diff = (-diff); + if ((diff / region[i].cumvol[1]) > VOLVAR) flag = 1; + if ((diff / region[i].cumvol[2]) > VOLVAR) flag = 1; } /* END # 1045 */ - else if ( (region[i].cumvol[0] == 0.) || - (region[i].cumvol[1] == 0.) || - (region[i].cumvol[2] == 0.) ) + else if ((ZERO(region[i].cumvol[0])) || + (ZERO(region[i].cumvol[1])) || + (ZERO(region[i].cumvol[2]))) { flag = 2; } @@ -978,30 +973,30 @@ if (ifire == 0) { /* START # 1050 */ - if ( (region[i].surarea[0] != 0.) && - (region[i].surarea[1] != 0.) && - (region[i].surarea[2] != 0.) ) + if ((!ZERO(region[i].surarea[0])) && + (!ZERO(region[i].surarea[1])) && + (!ZERO(region[i].surarea[2]))) { /* START # 1055 */ diff = region[i].surarea[0] - region[i].surarea[1]; - if (diff < 0.) diff = (-diff); - if ( (diff / region[i].surarea[0]) > VOLVAR) flag = 1; - if ( (diff / region[i].surarea[1]) > VOLVAR) flag = 1; + if (diff < 0.0) diff = (-diff); + if ((diff / region[i].surarea[0]) > VOLVAR) flag = 1; + if ((diff / region[i].surarea[1]) > VOLVAR) flag = 1; diff = region[i].surarea[0] - region[i].surarea[2]; - if (diff < 0.) diff = (-diff); - if ( (diff / region[i].surarea[0]) > VOLVAR) flag = 1; - if ( (diff / region[i].surarea[2]) > VOLVAR) flag = 1; + if (diff < 0.0) diff = (-diff); + if ((diff / region[i].surarea[0]) > VOLVAR) flag = 1; + if ((diff / region[i].surarea[2]) > VOLVAR) flag = 1; diff = region[i].surarea[1] - region[i].surarea[2]; - if (diff < 0.) diff = (-diff); - if ( (diff / region[i].surarea[1]) > VOLVAR) flag = 1; - if ( (diff / region[i].surarea[2]) > VOLVAR) flag = 1; + if (diff < 0.0) diff = (-diff); + if ((diff / region[i].surarea[1]) > VOLVAR) flag = 1; + if ((diff / region[i].surarea[2]) > VOLVAR) flag = 1; } /* END # 1055 */ - else if ( (region[i].surarea[0] == 0.) || - (region[i].surarea[1] == 0.) || - (region[i].surarea[2] == 0.) ) + else if ((ZERO(region[i].surarea[0])) || + (ZERO(region[i].surarea[1])) || + (ZERO(region[i].surarea[2]))) { flag = 2; } @@ -1053,39 +1048,39 @@ if (ifire == 0) { /* START # 1060 */ - if ( (region[i].ssurarea[0][j] != 0.) && - (region[i].ssurarea[1][j] != 0.) && - (region[i].ssurarea[2][j] != 0.) ) + if ((!ZERO(region[i].ssurarea[0][j])) && + (!ZERO(region[i].ssurarea[1][j])) && + (!ZERO(region[i].ssurarea[2][j]))) { /* START # 1065 */ diff = region[i].ssurarea[0][j] - region[i].ssurarea[1][j]; - if (diff < 0.) diff = (-diff); - if ( (diff / region[i].ssurarea[0][j]) > VOLVAR) + if (diff < 0.0) diff = (-diff); + if ((diff / region[i].ssurarea[0][j]) > VOLVAR) flag = 1; - if ( (diff / region[i].ssurarea[1][j]) > VOLVAR) + if ((diff / region[i].ssurarea[1][j]) > VOLVAR) flag = 1; diff = region[i].ssurarea[0][j] - region[i].ssurarea[2][j]; - if (diff < 0.) diff = (-diff); - if ( (diff / region[i].ssurarea[0][j]) > VOLVAR) + if (diff < 0.0) diff = (-diff); + if ((diff / region[i].ssurarea[0][j]) > VOLVAR) flag = 1; - if ( (diff / region[i].ssurarea[2][j]) > VOLVAR) + if ((diff / region[i].ssurarea[2][j]) > VOLVAR) flag = 1; diff = region[i].ssurarea[1][j] - region[i].ssurarea[2][j]; - if (diff < 0.) diff = (-diff); - if ( (diff / region[i].ssurarea[1][j]) > VOLVAR) + if (diff < 0.0) diff = (-diff); + if ((diff / region[i].ssurarea[1][j]) > VOLVAR) flag = 1; - if ( (diff / region[i].ssurarea[2][j]) > VOLVAR) + if ((diff / region[i].ssurarea[2][j]) > VOLVAR) flag = 1; } /* END # 1065 */ - else if ( (region[i].ssurarea[0][j] == 0.) || - (region[i].ssurarea[1][j] == 0.) || - (region[i].ssurarea[2][j] == 0.) ) + else if ((ZERO(region[i].ssurarea[0][j])) || + (ZERO(region[i].ssurarea[1][j])) || + (ZERO(region[i].ssurarea[2][j]))) { flag = 2; } @@ -1135,39 +1130,39 @@ if (ifire == 0) { /* START # 1080 */ - if ( (region[i].cumfs[k][0] != 0.) && - (region[i].cumfs[k][1] != 0.) && - (region[i].cumfs[k][2] != 0.) ) + if ((!ZERO(region[i].cumfs[k][0])) && + (!ZERO(region[i].cumfs[k][1])) && + (!ZERO(region[i].cumfs[k][2]))) { /* START # 1090 */ diff = region[i].cumfs[k][0] - region[i].cumfs[k][1]; - if (diff < 0.) diff = (-diff); - if ( (diff / region[i].cumfs[k][0]) > VOLVAR) + if (diff < 0.0) diff = (-diff); + if ((diff / region[i].cumfs[k][0]) > VOLVAR) flag = 1; - if ( (diff / region[i].cumfs[k][1]) > VOLVAR) + if ((diff / region[i].cumfs[k][1]) > VOLVAR) flag = 1; diff = region[i].cumfs[k][0] - region[i].cumfs[k][2]; - if (diff < 0.) diff = (-diff); - if ( (diff / region[i].cumfs[k][0]) > VOLVAR) + if (diff < 0.0) diff = (-diff); + if ((diff / region[i].cumfs[k][0]) > VOLVAR) flag = 1; - if ( (diff / region[i].cumfs[k][2]) > VOLVAR) + if ((diff / region[i].cumfs[k][2]) > VOLVAR) flag = 1; diff = region[i].cumfs[k][1] - region[i].cumfs[k][2]; - if (diff < 0.) diff = (-diff); - if ( (diff / region[i].cumfs[k][1]) > VOLVAR) + if (diff < 0.0) diff = (-diff); + if ((diff / region[i].cumfs[k][1]) > VOLVAR) flag = 1; - if ( (diff / region[i].cumfs[k][2]) > VOLVAR) + if ((diff / region[i].cumfs[k][2]) > VOLVAR) flag = 1; } /* END # 1090 */ - else if ( (region[i].cumfs[k][0] == 0.) || - (region[i].cumfs[k][1] == 0.) || - (region[i].cumfs[k][2] == 0.) ) + else if ((ZERO(region[i].cumfs[k][0])) || + (ZERO(region[i].cumfs[k][1])) || + (ZERO(region[i].cumfs[k][2]))) { flag = 2; } @@ -1195,12 +1190,12 @@ * (void)fflush(stdout); */ - if ( ( (-NORMTOL < region[i].cumnorm[X]) && - (region[i].cumnorm[X] < NORMTOL) ) && - ( (-NORMTOL < region[i].cumnorm[Y]) && - (region[i].cumnorm[Y] < NORMTOL) ) && - ( (-NORMTOL < region[i].cumnorm[Z]) && - (region[i].cumnorm[Z] < NORMTOL) ) ) + if (((-NORMTOL < region[i].cumnorm[X]) && + (region[i].cumnorm[X] < NORMTOL)) && + ((-NORMTOL < region[i].cumnorm[Y]) && + (region[i].cumnorm[Y] < NORMTOL)) && + ((-NORMTOL < region[i].cumnorm[Z]) && + (region[i].cumnorm[Z] < NORMTOL))) { region[i].cumnorm[X] = 0.; region[i].cumnorm[Y] = 0.; @@ -1209,7 +1204,7 @@ else { - denom = sqrt( region[i].cumnorm[X] * region[i].cumnorm[X] + + denom = sqrt(region[i].cumnorm[X] * region[i].cumnorm[X] + region[i].cumnorm[Y] * region[i].cumnorm[Y] + region[i].cumnorm[Z] * region[i].cumnorm[Z]); if (denom > ZEROTOL) @@ -1233,14 +1228,14 @@ { (void)printf("\n\n\nPRINT OUT STRUCTURE\n"); (void)fflush(stdout); i=0; - while ( i < num ) + while (i < num) { (void)printf("region #: %d, name: %s\n", (i+1), region[i].regname); (void)printf("\tmaterial code: %d\n", region[i].mat); (void)fflush(stdout); - if (region[i].cumvol[1] == 1.) + if (EQUAL(region[i].cumvol[1],1.0)) { (void)printf("\tvolume: %f - difference is above", region[i].cumvol[0]); @@ -1254,7 +1249,7 @@ (void)fflush(stdout); } - if (region[i].surarea[1] == 1.) + if (EQUAL(region[i].surarea[1],1.0)) { (void)printf("\tarea: %f - difference is above", region[i].surarea[0]); @@ -1276,36 +1271,44 @@ region[i].cumnorm[X], region[i].cumnorm[Y], region[i].cumnorm[Z]); (void)fflush(stdout); + (void)printf("\text sur air: %f", region[i].cumfs[0][0]); - if (region[i].cumfs[0][1] == 0.) (void)printf(" - ok\n"); - if (region[i].cumfs[0][1] == 1.) (void)printf(" - not ok\n"); - if (region[i].cumfs[0][1] == 2.) (void)printf(" - none\n"); + if (ZERO(region[i].cumfs[0][1])) (void)printf(" - ok\n"); + if (EQUAL(region[i].cumfs[0][1],1.0)) (void)printf(" - not ok\n"); + if (EQUAL(region[i].cumfs[0][1],2.0)) (void)printf(" - none\n"); + (void)printf("\tcrew comp air: %f", region[i].cumfs[1][0]); - if (region[i].cumfs[1][1] == 0.) (void)printf(" - ok\n"); - if (region[i].cumfs[1][1] == 1.) (void)printf(" - not ok\n"); - if (region[i].cumfs[1][1] == 2.) (void)printf(" - none\n"); + if (ZERO(region[i].cumfs[1][1])) (void)printf(" - ok\n"); + if (EQUAL(region[i].cumfs[1][1],1.0)) (void)printf(" - not ok\n"); + if (EQUAL(region[i].cumfs[1][1],2.0)) (void)printf(" - none\n"); + (void)printf("\teng comp air: %f", region[i].cumfs[2][0]); - if (region[i].cumfs[2][1] == 0.) (void)printf(" - ok\n"); - if (region[i].cumfs[2][1] == 1.) (void)printf(" - not ok\n"); - if (region[i].cumfs[2][1] == 2.) (void)printf(" - none\n"); + if (ZERO(region[i].cumfs[2][1])) (void)printf(" - ok\n"); + if (EQUAL(region[i].cumfs[2][1],1.0)) (void)printf(" - not ok\n"); + if (EQUAL(region[i].cumfs[2][1],2.0)) (void)printf(" - none\n"); + (void)printf("\tclosed comp air: %f", region[i].cumfs[3][0]); - if (region[i].cumfs[3][1] == 0.) (void)printf(" - ok\n"); - if (region[i].cumfs[3][1] == 1.) (void)printf(" - not ok\n"); - if (region[i].cumfs[3][1] == 2.) (void)printf(" - none\n"); + if (ZERO(region[i].cumfs[3][1])) (void)printf(" - ok\n"); + if (EQUAL(region[i].cumfs[3][1],1.0)) (void)printf(" - not ok\n"); + if (EQUAL(region[i].cumfs[3][1],2.0)) (void)printf(" - none\n"); + (void)printf("\texhaust air: %f", region[i].cumfs[4][0]); - if (region[i].cumfs[4][1] == 0.) (void)printf(" - ok\n"); - if (region[i].cumfs[4][1] == 1.) (void)printf(" - not ok\n"); - if (region[i].cumfs[4][1] == 2.) (void)printf(" - none\n"); + if (ZERO(region[i].cumfs[4][1])) (void)printf(" - ok\n"); + if (EQUAL(region[i].cumfs[4][1],1.0)) (void)printf(" - not ok\n"); + if (EQUAL(region[i].cumfs[4][1],2.0)) (void)printf(" - none\n"); + (void)printf("\tgen air 1: %f", region[i].cumfs[5][0]); - if (region[i].cumfs[5][1] == 0.) (void)printf(" - ok\n"); - if (region[i].cumfs[5][1] == 1.) (void)printf(" - not ok\n"); - if (region[i].cumfs[5][1] == 2.) (void)printf(" - none\n"); + if (ZERO(region[i].cumfs[5][1])) (void)printf(" - ok\n"); + if (EQUAL(region[i].cumfs[5][1],1.0)) (void)printf(" - not ok\n"); + if (EQUAL(region[i].cumfs[5][1],2.0)) (void)printf(" - none\n"); + (void)printf("\tgen air 2: %f", region[i].cumfs[6][0]); - if (region[i].cumfs[6][1] == 0.) (void)printf(" - ok\n"); - if (region[i].cumfs[6][1] == 1.) (void)printf(" - not ok\n"); - if (region[i].cumfs[6][1] == 2.) (void)printf(" - none\n"); + if (ZERO(region[i].cumfs[6][1])) (void)printf(" - ok\n"); + if (EQUAL(region[i].cumfs[6][1],1.0)) (void)printf(" - not ok\n"); + if (EQUAL(region[i].cumfs[6][1],2.0)) (void)printf(" - none\n"); + (void)fflush(stdout); - for (j=0; j<num; j++) + for (j = 0; j < num; j++) { if (region[i].adjreg[j] == 1) { @@ -1314,7 +1317,7 @@ (void)printf("shared surface area: %f\n", region[i].ssurarea[0][j]); (void)fflush(stdout); - if (region[i].ssurarea[1][j] == 1.) + if (EQUAL(region[i].ssurarea[1][j],1.0)) { (void)printf("\tdifference is above %f variance\n", VOLVAR); @@ -1332,13 +1335,13 @@ if (iwrite == 1) { i=0; - while ( i < num ) + while (i < num) { (void)fprintf(fp, "region #: %d, name: %s\n", (i+1), region[i].regname); (void)fprintf(fp, "\tmaterial code: %d\n", region[i].mat); - if (region[i].cumvol[1] == 1.) + if (EQUAL(region[i].cumvol[1],1.0)) { (void)fprintf(fp, "\tvolume: %f - difference is above", region[i].cumvol[0]); @@ -1352,7 +1355,7 @@ (void)fflush(fp); } - if (region[i].surarea[1] == 1.) + if (EQUAL(region[i].surarea[1],1.0)) { (void)fprintf(fp, "\tarea: %f - difference is above", region[i].surarea[0]); @@ -1375,36 +1378,44 @@ region[i].cumnorm[X], region[i].cumnorm[Y], region[i].cumnorm[Z]); (void)fflush(fp); + (void)fprintf(fp, "\text sur air: %f", region[i].cumfs[0][0]); - if (region[i].cumfs[0][1] == 0.) (void)fprintf(fp, " - ok\n"); - if (region[i].cumfs[0][1] == 1.) (void)fprintf(fp, " - not ok\n"); - if (region[i].cumfs[0][1] == 2.) (void)fprintf(fp, " - none\n"); + if (ZERO(region[i].cumfs[0][1])) (void)fprintf(fp, " - ok\n"); + if (EQUAL(region[i].cumfs[0][1],1.0)) (void)fprintf(fp, " - not ok\n"); + if (EQUAL(region[i].cumfs[0][1],2.0)) (void)fprintf(fp, " - none\n"); + (void)fprintf(fp, "\tcrew comp air: %f", region[i].cumfs[1][0]); - if (region[i].cumfs[1][1] == 0.) (void)fprintf(fp, " - ok\n"); - if (region[i].cumfs[1][1] == 1.) (void)fprintf(fp, " - not ok\n"); - if (region[i].cumfs[1][1] == 2.) (void)fprintf(fp, " - none\n"); + if (ZERO(region[i].cumfs[1][1])) (void)fprintf(fp, " - ok\n"); + if (EQUAL(region[i].cumfs[1][1],1.0)) (void)fprintf(fp, " - not ok\n"); + if (EQUAL(region[i].cumfs[1][1],2.0)) (void)fprintf(fp, " - none\n"); + (void)fprintf(fp, "\teng comp air: %f", region[i].cumfs[2][0]); - if (region[i].cumfs[2][1] == 0.) (void)fprintf(fp, " - ok\n"); - if (region[i].cumfs[2][1] == 1.) (void)fprintf(fp, " - not ok\n"); - if (region[i].cumfs[2][1] == 2.) (void)fprintf(fp, " - none\n"); + if (ZERO(region[i].cumfs[2][1])) (void)fprintf(fp, " - ok\n"); + if (EQUAL(region[i].cumfs[2][1],1.0)) (void)fprintf(fp, " - not ok\n"); + if (EQUAL(region[i].cumfs[2][1],2.0)) (void)fprintf(fp, " - none\n"); + (void)fprintf(fp, "\tclsd comp air: %f", region[i].cumfs[3][0]); - if (region[i].cumfs[3][1] == 0.) (void)fprintf(fp, " - ok\n"); - if (region[i].cumfs[3][1] == 1.) (void)fprintf(fp, " - not ok\n"); - if (region[i].cumfs[3][1] == 2.) (void)fprintf(fp, " - none\n"); + if (ZERO(region[i].cumfs[3][1])) (void)fprintf(fp, " - ok\n"); + if (EQUAL(region[i].cumfs[3][1],1.0)) (void)fprintf(fp, " - not ok\n"); + if (EQUAL(region[i].cumfs[3][1],2.0)) (void)fprintf(fp, " - none\n"); + (void)fprintf(fp, "\texhaust air: %f", region[i].cumfs[4][0]); - if (region[i].cumfs[4][1] == 0.) (void)fprintf(fp, " - ok\n"); - if (region[i].cumfs[4][1] == 1.) (void)fprintf(fp, " - not ok\n"); - if (region[i].cumfs[4][1] == 2.) (void)fprintf(fp, " - none\n"); + if (ZERO(region[i].cumfs[4][1])) (void)fprintf(fp, " - ok\n"); + if (EQUAL(region[i].cumfs[4][1],1.0)) (void)fprintf(fp, " - not ok\n"); + if (EQUAL(region[i].cumfs[4][1],2.0)) (void)fprintf(fp, " - none\n"); + (void)fprintf(fp, "\tgen air 1: %f", region[i].cumfs[5][0]); - if (region[i].cumfs[5][1] == 0.) (void)fprintf(fp, " - ok\n"); - if (region[i].cumfs[5][1] == 1.) (void)fprintf(fp, " - not ok\n"); - if (region[i].cumfs[5][1] == 2.) (void)fprintf(fp, " - none\n"); + if (ZERO(region[i].cumfs[5][1])) (void)fprintf(fp, " - ok\n"); + if (EQUAL(region[i].cumfs[5][1],1.0)) (void)fprintf(fp, " - not ok\n"); + if (EQUAL(region[i].cumfs[5][1],2.0)) (void)fprintf(fp, " - none\n"); + (void)fprintf(fp, "\tgen air 2: %f", region[i].cumfs[6][0]); - if (region[i].cumfs[6][1] == 0.) (void)fprintf(fp, " - ok\n"); - if (region[i].cumfs[6][1] == 1.) (void)fprintf(fp, " - not ok\n"); - if (region[i].cumfs[6][1] == 2.) (void)fprintf(fp, " - none\n"); + if (ZERO(region[i].cumfs[6][1])) (void)fprintf(fp, " - ok\n"); + if (EQUAL(region[i].cumfs[6][1],1.0)) (void)fprintf(fp, " - not ok\n"); + if (EQUAL(region[i].cumfs[6][1],2.0)) (void)fprintf(fp, " - none\n"); + (void)fflush(fp); - for (j=0; j<num; j++) + for (j = 0; j < num; j++) { if (region[i].adjreg[j] == 1) { @@ -1413,7 +1424,7 @@ (void)fprintf(fp, "shared surface area: %f;\n", region[i].ssurarea[0][j]); (void)fflush(fp); - if (region[i].ssurarea[1][j] == 1.) + if (EQUAL(region[i].ssurarea[1][j],1.0)) { (void)fprintf(fp, "\tdifference is above "); (void)fprintf(fp, "%f variance\n", @@ -1451,14 +1462,14 @@ (void)fprintf(fp, "\terror file created: %s\n", fileerr); (void)fprintf(fp, "\tregion # & name file created: %s\n", filernn); - if ( typeout == 0 ) + if (typeout == 0) { (void)fprintf(fp, "\tfacet file created: %s\n", facfile); (void)fprintf(fp, "\t (format is PRISM %d.0)\n", prmrel); } - if ( typeout == 1 ) (void)fprintf(fp, + if (typeout == 1) (void)fprintf(fp, "\tgeneric file created: %s\n", filegen); - if ( (typeout == 2) || (typeout == 3) ) (void)fprintf(fp, + if ((typeout == 2) || (typeout == 3)) (void)fprintf(fp, "\tgeometric file created: %s\n", filegeo); (void)fflush(fp); @@ -1467,14 +1478,14 @@ /****************************************************************************/ /* Write region # & name file, for use with shapefact. */ fp7 = fopen(filernn, "wb"); - for (i=0; i<num; i++) + for (i = 0; i < num; i++) { (void)fprintf(fp7, "%d\t%s\n", (i+1), region[i].regname); (void)fflush(fp7); } (void)fclose(fp7); /****************************************************************************/ - if ( typeout == 0 ) { + if (typeout == 0) { /* START # 11 */ /* Open facet file for writing to . */ @@ -1485,7 +1496,7 @@ (void)fflush(fp1); /* Print header information for facet file. (Note: header */ - /* info is the same for PRISM 2.0 & 3.0.) */ + /* info is the same for PRISM 2.0 & 3.0.0) */ (void)fprintf(fp1, " FN DESCRIPTION TY"); (void)fprintf(fp1, " AREA MASS SPHEAT E1"); (void)fprintf(fp1, " E2 ABSOR\n"); @@ -1551,9 +1562,9 @@ /* surface area is small (< .001) set the area of the */ /* facet to .001. This is done since PRISM will not */ /* accept a 0 surface area. */ - if ( (region[i].cumnorm[0] == 0.) && - (region[i].cumnorm[1] == 0.) && - (region[i].cumnorm[2] == 0.) ) + if ((ZERO(region[i].cumnorm[0])) && + (ZERO(region[i].cumnorm[1])) && + (ZERO(region[i].cumnorm[2]))) { facarea = region[i].surarea[0] * (1.e-6); (void)printf("There are no exterior surfaces on region "); @@ -1574,7 +1585,7 @@ */ /* Set material id number. */ - if (region[i].mat <= 40.) ia = (int)region[i].mat; + if (region[i].mat <= 40.0) ia = (int)region[i].mat; else ia = 0; /* Find the mass of the facet (kg). This is */ @@ -1828,7 +1839,7 @@ /* Open and write to geometric file if needed. */ - if ( (typeout == 2) || (typeout==3) ) + if ((typeout == 2) || (typeout==3)) { /* START # 13 */ @@ -2048,7 +2059,7 @@ ii = 0; for (j=0; j<num; j++) { - if ( (region[i].adjreg[j] == 1) && (ii < 20) ) + if ((region[i].adjreg[j] == 1) && (ii < 20)) { (void)fprintf(fp6, "%d,", (j+1)); (void)fflush(fp6); @@ -2126,9 +2137,9 @@ (void)fprintf(fp3, "Geometric file, %s, was created.\n\n", filegeo); } (void)fflush(fp3); - for (i=0; i<num; i++) + for (i = 0; i < num; i++) { - if (region[i].cumvol[1] == 1) + if (EQUAL(region[i].cumvol[1],1.0)) { (void)fprintf(fp3, "region %d: ", (i + 1)); (void)fprintf(fp3, "large variance on volume: %f\n", @@ -2136,7 +2147,7 @@ (void)fflush(fp3); } - if (region[i].surarea[1] == 1) + if (EQUAL(region[i].surarea[1],1.0)) { (void)fprintf(fp3, "region %d: large variance ", (i + 1)); (void)fprintf(fp3, "on surface area: %f\n", @@ -2144,9 +2155,9 @@ (void)fflush(fp3); } - for (j=0; j<num; j++) + for (j = 0; j < num; j++) { - if (region[i].ssurarea[1][j] == 1) + if (EQUAL(region[i].ssurarea[1][j],1.0)) { (void)fprintf(fp3, "region %d: adjacent region %d:\n", (i + 1), (j + 1)); @@ -2156,10 +2167,10 @@ } } - for (j=0; j<7; j++) + for (j = 0; j < 7; j++) { /* START # 2000 */ - if (region[i].cumfs[j][1] == 1.) + if (EQUAL(region[i].cumfs[j][1],1.0)) { /* START # 2010 */ if (j == 0) @@ -2205,9 +2216,9 @@ /* Write overlaps to error file. */ (void)fprintf(fp3, "\n\n\tOVERLAPS\n\n"); (void)fflush(fp3); - for (i=0; i<num; i++) + for (i = 0; i < num; i++) { - for (j=0; j<num; j++) + for (j = 0; j < num; j++) { if (overlaps[i].ovrreg[j] == 1) { @@ -2232,10 +2243,10 @@ /* Write number of adjacent regions to error file. */ (void)fprintf(fp3, "\n\nREGION NUMBER NUMBER OF ADJACENT REGIONS\n"); (void)fflush(fp3); - for (i=0; i<num; i++) + for (i = 0; i < num; i++) { numadjreg = 0; - for (j=0; j<num; j++) + for (j = 0; j < num; j++) { if (region[i].adjreg[j] == 1) numadjreg++; } @@ -2264,14 +2275,14 @@ (void)printf("\tsecond pass file created: %s\n", spfile); (void)printf("\terror file created: %s\n", fileerr); (void)printf("\tregion # & name file created: %s\n", filernn); - if ( typeout == 0 ) + if (typeout == 0) { (void)printf("\tfacet file created: %s\n", facfile); (void)printf("\t (format is PRISM %d.0)\n\n\n", prmrel); } - if ( typeout == 1 ) (void)printf( + if (typeout == 1) (void)printf( "\tgeneric file created: %s\n\n\n", filegen); - if ( (typeout == 2) || (typeout == 3) ) (void)printf( + if ((typeout == 2) || (typeout == 3)) (void)printf( "\tgeometric file created: %s\n\n\n", filegeo); (void)fflush(stdout); @@ -2283,7 +2294,7 @@ (void)printf("Freeing memory.\n"); (void)fflush(stdout); - for (i=0; i<num; i++) + for (i = 0; i < num; i++) { bu_free(region[i].adjreg, "region[i].adjreg"); bu_free(region[i].ssurarea[0], "region[i].ssurarea[0]"); @@ -2300,7 +2311,7 @@ } int -hit(struct application *ap_p, struct partition *PartHeadp, struct seg *segp) +hit(struct application *ap_p, struct partition *PartHeadp, struct seg *UNUSED(segp)) { struct partition *pp; struct hit *hitp; @@ -2378,7 +2389,7 @@ + hitp->hit_normal[Y] * ap_p->a_ray.r_dir[Y] + hitp->hit_normal[Z] * ap_p->a_ray.r_dir[Z]; if (costheta1 < 0) costheta1 = (-costheta1); - if ( costheta1 > COSTOL) + if (costheta1 > COSTOL) region[icur].surarea[whichview] += (area/costheta1); if ( @@ -2388,13 +2399,13 @@ ((hitp->hit_point[Y] - leavept[Y]) < ADJTOL) && (-ADJTOL < (hitp->hit_point[Z] - leavept[Z])) && ((hitp->hit_point[Z] - leavept[Z]) < ADJTOL) - ) + ) { /* Find adjacent regions. Occasionally a */ /* a region will seem to be adjacent to self, */ /* disreguard this. */ - if ( icur != iprev) + if (icur != iprev) { region[icur].adjreg[iprev]=1; region[iprev].adjreg[icur]=1; @@ -2404,8 +2415,8 @@ costheta = lnormal[X]*ap_p->a_ray.r_dir[X] + lnormal[Y]*ap_p->a_ray.r_dir[Y] + lnormal[Z]*ap_p->a_ray.r_dir[Z]; - if ( costheta < 0 ) costheta = (-costheta); - if ( costheta > COSTOL ) + if (costheta < 0) costheta = (-costheta); + if (costheta > COSTOL) { region[icur].ssurarea[whichview][iprev] += (area/costheta); @@ -2444,14 +2455,14 @@ ((hitp->hit_point[Y] - leavept[Y]) < ADJTOL) && (-ADJTOL < (hitp->hit_point[Z] - leavept[Z])) && ((hitp->hit_point[Z] - leavept[Z]) < ADJTOL) - ) + ) { if ((prevregid == 0) && (pp->pt_regionp->reg_regionid != 0)) { costheta2 = hitp->hit_normal[X] * ap_p->a_ray.r_dir[X] + hitp->hit_normal[Y] * ap_p->a_ray.r_dir[Y] + hitp->hit_normal[Z] * ap_p->a_ray.r_dir[Z]; - if (costheta2 < 0.) costheta2=(-costheta2); + if (costheta2 < 0.0) costheta2=(-costheta2); if (prevair == 1) { if (costheta2 > COSTOL) @@ -2515,7 +2526,7 @@ costheta2 = lnormal[X] * ap_p->a_ray.r_dir[X] + lnormal[Y] * ap_p->a_ray.r_dir[Y] + lnormal[Z] * ap_p->a_ray.r_dir[Z]; - if (costheta2 < 0.) costheta2 = (-costheta2); + if (costheta2 < 0.0) costheta2 = (-costheta2); if (costheta2 > COSTOL) { region[iprev].cumnorm[X] += lnormal[X] / costheta2; @@ -2529,7 +2540,7 @@ costheta2 = hitp->hit_normal[X] * ap_p->a_ray.r_dir[X] + hitp->hit_normal[Y] * ap_p->a_ray.r_dir[Y] + hitp->hit_normal[Z] * ap_p->a_ray.r_dir[Z]; - if (costheta2 < 0.) costheta2=(-costheta2); + if (costheta2 < 0.0) costheta2=(-costheta2); if (costheta2 > COSTOL) { region[icur].cumnorm[X] += hitp-> hit_normal[X] @@ -2547,7 +2558,7 @@ costheta2 = lnormal[X] * ap_p->a_ray.r_dir[X] + lnormal[Y] * ap_p->a_ray.r_dir[Y] + lnormal[Z] * ap_p->a_ray.r_dir[Z]; - if (costheta2 < 0.) costheta2=(-costheta2); + if (costheta2 < 0.0) costheta2=(-costheta2); if (pp->pt_regionp->reg_aircode == 1) { if (costheta2 > COSTOL) @@ -2626,8 +2637,8 @@ costheta1 = hitp->hit_normal[X] * ap_p->a_ray.r_dir[X] + hitp->hit_normal[Y] * ap_p->a_ray.r_dir[Y] + hitp->hit_normal[Z] * ap_p->a_ray.r_dir[Z]; - if ( costheta1 < 0 ) costheta1 = (-costheta1); - if ( costheta1 > COSTOL ) + if (costheta1 < 0) costheta1 = (-costheta1); + if (costheta1 > COSTOL) region[icur].surarea[whichview] += (area/costheta1); /* Save normal of leaving ray. */ @@ -2663,12 +2674,12 @@ region[icur].cumvol[whichview] + (distance * area); /* Find centroid. */ - region[icur].centroid[X] += ( distance * area * (enterpt[X] + - hitp->hit_point[X]) / 2.); - region[icur].centroid[Y] += ( distance * area * (enterpt[Y] + - hitp->hit_point[Y]) / 2.); - region[icur].centroid[Z] += ( distance * area * (enterpt[Z] + - hitp->hit_point[Z]) / 2.); + region[icur].centroid[X] += (distance * area * (enterpt[X] + + hitp->hit_point[X]) / 2.0); + region[icur].centroid[Y] += (distance * area * (enterpt[Y] + + hitp->hit_point[Y]) / 2.0); + region[icur].centroid[Z] += (distance * area * (enterpt[Z] + + hitp->hit_point[Z]) / 2.0); /* Find the cummulative normal & free surface area */ /* (exterior air) when a ray is leaving the bounding */ @@ -2679,7 +2690,7 @@ costheta2 = hitp->hit_normal[X] * ap_p->a_ray.r_dir[X] + hitp->hit_normal[Y] * ap_p->a_ray.r_dir[Y] + hitp->hit_normal[Z] * ap_p->a_ray.r_dir[Z]; - if (costheta2 < 0.) costheta2=(-costheta2); + if (costheta2 < 0.0) costheta2=(-costheta2); if (costheta2 > COSTOL) { region[icur].cumnorm[X] += hitp->hit_normal[X] @@ -2712,7 +2723,7 @@ /* User supplied miss function. */ int -miss(struct application *ap_p) +miss(struct application *UNUSED(ap_p)) { /* * (void)printf("It was a miss.\n"); @@ -2723,7 +2734,7 @@ /* User supplied overlap function. */ int -ovrlap(struct application *ap_p, struct partition *PartHeadp, struct region *reg1, struct region *reg2, struct partition *hp) +ovrlap(struct application *UNUSED(ap_p), struct partition *PartHeadp, struct region *reg1, struct region *reg2, struct partition *UNUSED(hp)) { int a, b; double depth; @@ -2735,8 +2746,8 @@ * (void)fflush(stdout); */ - a=(int)reg1->reg_bit; - b=(int)reg2->reg_bit; + a = (int)reg1->reg_bit; + b = (int)reg2->reg_bit; /* * (void)printf("a=%d, b=%d. ", a, b); Modified: brlcad/branches/cmake/src/irprep/ir-X.c =================================================================== --- brlcad/branches/cmake/src/irprep/ir-X.c 2011-02-16 21:01:42 UTC (rev 43373) +++ brlcad/branches/cmake/src/irprep/ir-X.c 2011-02-16 21:22:00 UTC (rev 43374) @@ -97,7 +97,7 @@ char **a=(char **)NULL; /* Place holder for XSetStandard */ /* Properties. */ char *winttl = "SEE"; /* Window title. */ - char *exit = "QUIT"; /* Exit label. */ + char *quit = "QUIT"; /* Exit label. */ Font font; /* Structure for setting font. */ /* Other variables. */ @@ -105,8 +105,8 @@ FILE *fpw; /* Used to write a file. */ char file[MAXFIL]; /* File to be read. */ char line[151]; /* Used to read one line of a file. */ - unsigned int main_w, main_h; /* Width & height of main window. */ - unsigned int wide, high; /* Width and height of picture window. */ + size_t main_w, main_h; /* Width & height of main window. */ + size_t wide, high; /* Width and height of picture window. */ double pixval[MAXPIX][MAXPIX];/* Pixel value (width, height). */ double min=0.0, max=0.0; /* Minimum & maximum pixel values. */ int i, j, k, m; /* Loop counters. */ @@ -366,20 +366,20 @@ /* Read width and height of window. */ (void)bu_fgets(line, 150, fpr); - (void)sscanf(line, "%u %u", &wide, &high); + (void)sscanf(line, "%lu %lu", &wide, &high); /* Check that width and height are not too big. */ - if (wide > MAXPIX) + if (wide > (size_t)MAXPIX) { - (void)printf("The width of the window, %d, is greater\n", wide); - (void)printf("than the maximum for width, %d. Press\n", MAXPIX); + (void)printf("The width of the window, %lu, is greater\n", wide); + (void)printf("than the maximum for width, %lu. Press\n", (unsigned long)MAXPIX); (void)printf("delete to end program.\n"); (void)fflush(stdout); } if (high > MAXPIX) { - (void)printf("The height of the window, %d, is greater\n", wide); - (void)printf("than the maximum for height, %d. Press\n", MAXPIX); + (void)printf("The height of the window, %lu, is greater\n", wide); + (void)printf("than the maximum for height, %lu. Press\n", (unsigned long)MAXPIX); (void)printf("delete to end program.\n"); (void)fflush(stdout); } @@ -401,8 +401,8 @@ (void)fflush(stdout); /* Print out width and height of window. */ - (void)printf("Width: %d\n", wide); - (void)printf("Height: %d\n", high); + (void)printf("Width: %lu\n", wide); + (void)printf("Height: %lu\n", high); (void)fflush(stdout); /* Print out the first ten values as check. */ @@ -428,9 +428,9 @@ (void)fflush(stdout); /* Find minimum and maximum of pixel values. */ - for (i=0; i<high; i++) + for (i=0; (size_t)i<high; i++) { - for (j=0; j<wide; j++) + for (j=0; (size_t)j<wide; j++) { if ( (j==0) && (i==0) ) { @@ -460,9 +460,9 @@ pixbin[MAXCOL] = max; /* Find the color for each pixel. */ - for (i=0; i<high; i++) + for (i=0; (size_t)i<high; i++) { - for (j=0; j<wide; j++) + for (j=0; (size_t)j<wide; j++) { /* Determine the color associated with pixval[j][i]. */ m = 0; @@ -488,9 +488,9 @@ (void)fflush(stdout); /* Put color info in arrays. */ - for (i=0; i<high; i++) + for (i=0; (size_t)i<high; i++) { - for (j=0; j<wide; j++) + for (j=0; (size_t)j<wide; j++) { if (array[color[j][i]].cnt < MAXARR) { @@ -680,8 +680,8 @@ XSetForeground(my_display, my_gc, white); font = XLoadFont(my_display, "8x13bold"); XSetFont(my_display, my_gc, font); - XDrawString(my_display, wind_exit, my_gc, 25, 20, exit, - strlen(exit)); + XDrawString(my_display, wind_exit, my_gc, 25, 20, quit, + strlen(quit)); } /* END # 2 */ /* If color scale window is exposed put up color scale. */ @@ -737,7 +737,7 @@ for (i=high; i>0; i--) { /* START # 2. */ - for (j=0; j<wide; j++) + for (j=0; (size_t)j<wide; j++) { /* START # 3. */ c = (unsigned char)( (int)(colval[color[j][i-1]].red Modified: brlcad/branches/cmake/src/irprep/ir-sgi.c =================================================================== --- brlcad/branches/cmake/src/irprep/ir-sgi.c 2011-02-16 21:01:42 UTC (rev 43373) +++ brlcad/branches/cmake/src/irprep/ir-sgi.c 2011-02-16 21:22:00 UTC (rev 43374) @@ -39,7 +39,7 @@ /* 30 September 1994- Change name from see2.c to ir-sgi.c & the one */ /* reference to see2 was changed. */ -#if HAS_SGIGL +#ifdef HAS_SGIGL /* Include files needed. */ #include <stdlib.h> @@ -589,7 +589,7 @@ main(void) { fprintf(stderr, "ir-sgi: This program only works on an SGI workstation\n"); - bu_exit(1, NULL); + return 1; } #endif /* !defined(IRIX) */ Modified: brlcad/branches/cmake/src/irprep/secpass.c =================================================================== --- brlcad/branches/cmake/src/irprep/secpass.c 2011-02-16 21:01:42 UTC (rev 43373) +++ brlcad/branches/cmake/src/irprep/secpass.c 2011-02-16 21:22:00 UTC (rev 43374) @@ -114,7 +114,7 @@ /* type rt_i */ char idbuf[132]; /* first ID record info, used in */ /* rt_dirbuild */ - int index; /* index for rt_dirbuild & rt_gettree */ + int idx; /* index for rt_dirbuild & rt_gettree */ FILE *fp; /* used in opening file for second pass */ char spfile[16]; /* second pass file name */ @@ -169,7 +169,7 @@ /* from 1 position. */ /* Check to see if arguments implimented correctly. */ - if (argv[1] == NULL || argv[2] == NULL) + if (argc < 2 || argv[1] == NULL || argv[2] == NULL) { (void)fprintf(stderr, "\nusage: secpass file.g objects\n\n"); } @@ -322,8 +322,8 @@ */ /* Build the directory. */ - index = 1; /* Set index for rt_dirbuild. */ - rtip=rt_dirbuild(argv[index], idbuf, sizeof(idbuf)); + idx = 1; /* Set index for rt_dirbuild. */ + rtip=rt_dirbuild(argv[idx], idbuf, sizeof(idbuf)); (void)fprintf(stdout, "Database title: %s\n", idbuf); (void)fflush(stdout); @@ -331,11 +331,11 @@ rtip->useair = 1; /* Load desired objects. */ - index = 2; /* Set index for rt_gettree. */ - while (argv[index] != NULL) + idx = 2; /* Set index for rt_gettree. */ + while (argv[idx] != NULL) { - rt_gettree(rtip, argv[index]); - index += 1; + rt_gettree(rtip, argv[idx]); + idx += 1; } /* Find total number of regions in mged file. */ @@ -833,7 +833,7 @@ { /* START # 7 */ - if ( (cond[i].avglen[j] != 0) ) + if (!ZERO(cond[i].avglen[j])) { /* START # 8 */ /* Find correct thermal conductivity. */ @@ -1045,7 +1045,7 @@ for (j=0; j<numreg; j++) { /* START # 10 */ - if (cond[i].shrarea[j] != 0) + if (!ZERO(cond[i].shrarea[j])) { /* START # 11 */ a1 = cond[i].shrarea[j] * 1.e-6; @@ -1169,7 +1169,7 @@ /* User supplied hit function. */ int -hit(struct application *ap_p, struct partition *PartHeadp, struct seg *segp) +hit(struct application *UNUSED(ap_p), struct partition *PartHeadp, struct seg *UNUSED(segp)) { /* START # 1H */ @@ -1321,7 +1321,7 @@ /* User supplied miss function. */ int -miss(struct application *ap_p) +miss(struct application *UNUSED(ap_p)) { /* START # 1M */ @@ -1335,7 +1335,7 @@ /* User supplied overlap function that does nothing. */ int -ovrlap(struct application *ap_p, struct partition *PartHeadp, struct region *reg1, struct region *reg2, struct partition *hp) +ovrlap(struct application *UNUSED(ap_p), struct partition *UNUSED(PartHeadp), struct region *UNUSED(reg1), struct region *UNUSED(reg2), struct partition *UNUSED(hp)) { return 1; } Modified: brlcad/branches/cmake/src/irprep/shapefact.c =================================================================== --- brlcad/branches/cmake/src/irprep/shapefact.c 2011-02-16 21:01:42 UTC (rev 43373) +++ brlcad/branches/cmake/src/irprep/shapefact.c 2011-02-16 21:22:00 UTC (rev 43374) @@ -110,7 +110,7 @@ struct application ap; /* Structure passed between functions. */ extern struct table info[]; /* Structure is external. */ struct rt_i *rtip; - int index; /* Index for rt_dirbuild & rt_gettree. */ + int idx; /* Index for rt_dirbuild & rt_gettree. */ char idbuf[32]; /* Contains database name. */ struct region *pr; /* Used in finding region names. */ double rho, phi, theta;/* Spherical coordinates for starting point. */ @@ -162,12 +162,9 @@ struct bn_unif *msr = NULL; /* Check to see if arguments are implimented correctly. */ - if ( (argv[1] == NULL) || (argv[2] == NULL) ) - { + if ( (argc < 3 || argv[1] == NULL) || (argv[2] == NULL) ) { (void)fprintf(stderr, "\nusage: %s file.g objects\n\n", *argv); - } - else - { + } else { /* START # 1 */ /* Ask what type of file is to be created - regualar */ @@ -278,8 +275,8 @@ */ /* Build directory. */ - index = 1; /* Set index for rt_dirbuild. */ - rtip = rt_dirbuild(argv[index], idbuf, sizeof(idbuf)); + idx = 1; /* Set index for rt_dirbuild. */ + rtip = rt_dirbuild(argv[idx], idbuf, sizeof(idbuf)); (void)printf("Database Title: %s\n", idbuf); (void)fflush(stdout); @@ -287,11 +284,11 @@ rtip->useair = 1; /* Load desired objects. */ - index = 2; /* Set index. */ - while (argv[index] != NULL) + idx = 2; /* Set index. */ + while (argv[idx] != NULL) { - rt_gettree(rtip, argv[index]); - index += 1; + rt_gettree(rtip, argv[idx]); + idx += 1; } /* Find number of regions. */ @@ -515,7 +512,7 @@ * (void)fflush(stdout); */ - if ( r == (dump - 1.) ) + if (EQUAL(r, (dump - 1.0))) { (void)printf("%f rays have been fired in forward direction.\n", (r+1)); @@ -752,7 +749,7 @@ /*****************************************************************************/ /* User supplied hit function. */ int -hit(struct application *ap_p, struct partition *PartHeadp, struct seg *segp) +hit(struct application *UNUSED(ap_p), struct partition *PartHeadp, struct seg *UNUSED(segp)) { /* START # 0H */ extern struct table info[]; /* Structure is external. */ @@ -965,7 +962,7 @@ /* User supplied miss function. */ int -miss(struct application *ap) +miss(struct application *UNUSED(ap)) { /* * (void)printf("In miss function.\n"); @@ -979,7 +976,7 @@ /* User supplied overlap function. */ int -overlap(struct application *ap, struct partition *pp, struct region *r1, struct region *r2, struct partition *hp) +overlap(struct application *UNUSED(ap), struct partition *UNUSED(pp), struct region *UNUSED(r1), struct region *UNUSED(r2), struct partition *UNUSED(hp)) { /* * (void)printf("In overlap function.\n"); Modified: brlcad/branches/cmake/src/lgt/do_options.c =================================================================== --- brlcad/branches/cmake/src/lgt/do_options.c 2011-02-16 21:01:42 UTC (rev 43373) +++ brlcad/branches/cmake/src/lgt/do_options.c 2011-02-16 21:22:00 UTC (rev 43374) @@ -30,6 +30,9 @@ #include <fcntl.h> #include <math.h> #include <signal.h> +#ifdef HAVE_UNISTD_H +# include <unistd.h> +#endif #include "bu.h" #include "fb.h" Modified: brlcad/branches/cmake/src/lgt/execshell.c =================================================================== --- brlcad/branches/cmake/src/lgt/execshell.c 2011-02-16 21:01:42 UTC (rev 43373) +++ brlcad/branches/cmake/src/lgt/execshell.c 2011-02-16 21:22:00 UTC (rev 43374) @@ -33,6 +33,9 @@ #ifdef HAVE_SYS_WAIT_H # include <sys/wait.h> #endif +#ifdef HAVE_UNISTD_H +# include <unistd.h> +#endif #include "vmath.h" #include "raytrace.h" Modified: brlcad/branches/cmake/src/libbn/bntester.c =================================================================== --- brlcad/branches/cmake/src/libbn/bntester.c 2011-02-16 21:01:42 UTC (rev 43373) +++ brlcad/branches/cmake/src/libbn/bntester.c 2011-02-16 21:22:00 UTC (rev 43374) @@ -449,7 +449,7 @@ (void)fprintf(stream, "Failed function %lu test case on line %lu expected = %d result = %d\n", u[0], line_num, i[0], result); } else if (result == 0) { - if (!NEAR_ZERO(t_out - d[0], VUNITIZE_TOL)) { + if (!NEAR_ZERO(t_out - d[0], tol.dist)) { ret = 1; failed_cnt++; (void)fprintf(stream, "Failed function %lu test case on line %lu expected t = %.15f result = %.15f\n", @@ -458,8 +458,8 @@ success_cnt++; } } else if (result == 1) { - t_fail = !NEAR_ZERO(t_out - d[0], VUNITIZE_TOL); - u_fail = !NEAR_ZERO(u_out - d[1], VUNITIZE_TOL); + t_fail = !NEAR_ZERO(t_out - d[0], tol.dist); + u_fail = !NEAR_ZERO(u_out - d[1], tol.dist); if (t_fail) { (void)fprintf(stream, "Failed function %lu test case on line %lu expected t = %.15f result = %.15f\n", u[0], line_num, t_out, d[0]); @@ -489,6 +489,71 @@ } BU_UNSETJUMP; } break; + case 4: /* function 'bn_isect_lseg3_lseg3' */ + (void)strcpy(dt_fmt, "dddddddddddddduddddi"); + if (parse_case(buf_p, i, l, d, u, dt_fmt, line_num, stream)) { + /* Parse failed, skipping test case */ + ret = 1; + } else { + int result; + double dist[2] = {0.0, 0.0}; + int d0_fail = 0; + int d1_fail = 0; + + if (!BU_SETJUMP) { + /* try */ + tol.magic = u[1]; + tol.dist = d[14]; + tol.dist_sq = d[15]; + tol.perp = d[16]; + tol.para = d[17]; + result = bn_isect_lseg3_lseg3(&dist[0], &d[2], &d[5], &d[8], &d[11], &tol); + if (result != i[0]) { + ret = 1; + failed_cnt++; + (void)fprintf(stream, "Failed function %lu test case on line %lu expected = %d result = %d\n", + u[0], line_num, i[0], result); + } else if (result == 0) { + if (!NEAR_ZERO(dist[0] - d[0], tol.dist)) { + ret = 1; + failed_cnt++; + (void)fprintf(stream, "Failed function %lu test case on line %lu expected t = %.15f result = %.15f\n", + u[0], line_num, dist[0], d[0]); + } else { + success_cnt++; + } + } else if (result == 1) { + d0_fail = !NEAR_ZERO(dist[0] - d[0], tol.dist); + d1_fail = !NEAR_ZERO(dist[1] - d[1], tol.dist); + if (d0_fail) { + (void)fprintf(stream, "Failed function %lu test case on line %lu expected t = %.15f result = %.15f\n", + u[0], line_num, dist[0], d[0]); + } + if (d1_fail) { + ... [truncated message content] |