[brlcad-commits] SF.net SVN: brlcad:[38748] brlcad/trunk/src/libged/gqa.c
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <br...@us...> - 2010-04-22 18:49:57
|
Revision: 38748 http://brlcad.svn.sourceforge.net/brlcad/?rev=38748&view=rev Author: brlcad Date: 2010-04-22 18:49:50 +0000 (Thu, 22 Apr 2010) Log Message: ----------- quell all verbose compilation warnings including about a half dozen exact floating point comparisons (related to grid size). check params, remove unused. Modified Paths: -------------- brlcad/trunk/src/libged/gqa.c Modified: brlcad/trunk/src/libged/gqa.c =================================================================== --- brlcad/trunk/src/libged/gqa.c 2010-04-22 18:47:23 UTC (rev 38747) +++ brlcad/trunk/src/libged/gqa.c 2010-04-22 18:49:50 UTC (rev 38748) @@ -95,7 +95,7 @@ static double gridSpacing; static double gridSpacingLimit; static char makeOverlapAssemblies; -static int require_num_hits; +static size_t require_num_hits; static int ncpu; static double Samples_per_model_axis; static double overlap_tolerance; @@ -479,7 +479,6 @@ switch (c) { case 'A': { - char *p; analysis_flags = 0; multiple_analyses = 0; for (p = bu_optarg; *p; p++) { @@ -635,7 +634,7 @@ return -1; } - require_num_hits = c; + require_num_hits = (size_t)c; break; case 'N': @@ -858,6 +857,9 @@ point_t ohit; double depth; + if (!hp) /* unexpected */ + return 0; + /* if one of the regions is air, let it loose */ if (reg1->reg_aircode && ! reg2->reg_aircode) return 2; @@ -928,6 +930,11 @@ RT_CK_AP(ap); RT_CK_PT(pp); BU_CK_PTBL(regiontable); + if (!InputHdp) + return; + + /* do nothing */ + return; } @@ -976,6 +983,9 @@ double val; struct cstate *state = ap->A_STATE; + if (!segs) /* unexpected */ + return 0; + if (PartHeadp->pt_forw == PartHeadp) return 1; @@ -1208,8 +1218,6 @@ } if (plot_volume) { - point_t opt; - VJOIN1(opt, ap->a_ray.r_pt, pp->pt_outhit->hit_dist, ap->a_ray.r_dir); bu_semaphore_acquire(BU_SEM_SYSCALL); @@ -1279,6 +1287,8 @@ int miss(struct application *ap) { + RT_CK_APPLICATION(ap); + #if 0 bu_semaphore_acquire(GED_SEM_WORKER); bu_vls_printf(&_ged_current_gedp->ged_result_str, "missed\n"); @@ -1475,6 +1485,9 @@ int i; int m; + if (start > ac) /* what? */ + return; + state->m_lenDensity = bu_calloc(num_views, sizeof(double), "densityLen"); state->m_len = bu_calloc(num_views, sizeof(double), "volume"); state->m_volume = bu_calloc(num_views, sizeof(double), "volume"); @@ -1591,7 +1604,7 @@ } } - if (newGridSpacing != gridSpacing) { + if (!NEAR_ZERO(newGridSpacing - gridSpacing, SMALL_FASTF)) { bu_vls_printf(&_ged_current_gedp->ged_result_str, "Grid spacing %g %s is does not allow %g samples per axis\n", gridSpacing / units[LINE]->val, units[LINE]->name, Samples_per_model_axis - 1); @@ -1604,7 +1617,7 @@ /* if the vol/weight tolerances are not set, pick something */ if (analysis_flags & ANALYSIS_VOLUME) { char *name = "volume.pl"; - if (volume_tolerance == -1.0) { + if (NEAR_ZERO(volume_tolerance - 1.0, SMALL_FASTF)) { volume_tolerance = span[X] * span[Y] * span[Z] * 0.001; bu_vls_printf(&_ged_current_gedp->ged_result_str, "setting volume tolerance to %g %s\n", volume_tolerance / units[VOL]->val, units[VOL]->name); @@ -1616,7 +1629,7 @@ } } if (analysis_flags & ANALYSIS_WEIGHT) { - if (weight_tolerance == -1.0) { + if (NEAR_ZERO(weight_tolerance - 1.0, SMALL_FASTF)) { double max_den = 0.0; int i; for (i=0; i < num_densities; i++) { @@ -1640,7 +1653,7 @@ } } if (analysis_flags & ANALYSIS_OVERLAPS) { - if (overlap_tolerance != 0.0) + if (!NEAR_ZERO(overlap_tolerance, SMALL_FASTF)) bu_vls_printf(&_ged_current_gedp->ged_result_str, "overlap tolerance to %g\n", overlap_tolerance); if (plot_files) { char *name = "overlaps.pl"; @@ -1938,14 +1951,14 @@ } else { struct region *regp; int all_hit = 1; - unsigned long hits; + size_t hits; if (require_num_hits > 0) { /* check to make sure every region was hit at least once */ for (BU_LIST_FOR (regp, region, &(state->rtip->HeadRegion))) { RT_CK_REGION(regp); - hits = ((struct per_region_data *)regp->reg_udata)->hits; + hits = (size_t)((struct per_region_data *)regp->reg_udata)->hits; if (hits < require_num_hits) { all_hit = 0; if (verbose) { @@ -1992,7 +2005,7 @@ * summary_reports */ void -summary_reports(struct cstate *state, int start, int ac, const char *av[]) +summary_reports(struct cstate *state) { int view; int obj; @@ -2269,10 +2282,10 @@ if (analysis_flags & ANALYSIS_EXP_AIR) list_report(&exposedAirList); for (BU_LIST_FOR (regp, region, &(state->rtip->HeadRegion))) { - unsigned long hits; + size_t hits; RT_CK_REGION(regp); - hits = ((struct per_region_data *)regp->reg_udata)->hits; + hits = (size_t)((struct per_region_data *)regp->reg_udata)->hits; if (hits < require_num_hits) { if (hits == 0) { bu_vls_printf(&_ged_current_gedp->ged_result_str, "%s was not hit\n", regp->reg_name); @@ -2402,7 +2415,7 @@ /* if the user did not specify the initial grid spacing limit, we * need to compute a reasonable one for them. */ - if (gridSpacing == 0.0) { + if (NEAR_ZERO(gridSpacing, SMALL_FASTF)) { double min_span = MAX_FASTF; VPRINT("span", state.span); @@ -2489,7 +2502,7 @@ bu_vls_printf(&gedp->ged_result_str, "Computation Done\n"); if (!aborted) { - summary_reports(&state, start_objs, argc, argv); + summary_reports(&state); if (analysis_flags & ANALYSIS_PLOT_OVERLAPS) _ged_cvt_vlblock_to_solids(gedp, ged_gqa_plot.vbp, "OVERLAPS", 0); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |