[Brlcad-commits] CVS: brlcad/src/librt dg_obj.c,14.11,14.12
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: Bob P. <bo...@us...> - 2005-04-26 18:10:02
|
Update of /cvsroot/brlcad/brlcad/src/librt In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9280 Modified Files: dg_obj.c Log Message: Modified the dgo_bot_check_leaf function to call rt_bot_plot_poly or rt_pg_plot_poly if possible (for the unevaluated shaded mode hack) Index: dg_obj.c =================================================================== RCS file: /cvsroot/brlcad/brlcad/src/librt/dg_obj.c,v retrieving revision 14.11 retrieving revision 14.12 diff -w -u -r14.11 -r14.12 --- dg_obj.c 26 Apr 2005 00:59:11 -0000 14.11 +++ dg_obj.c 26 Apr 2005 18:09:52 -0000 14.12 @@ -4608,18 +4608,26 @@ /* * Use dgop->dgo_shaded_mode if set and not being overridden. Otherwise use dgcdp->shaded_mode_override. */ -#if 1 + switch (dgcdp->dmode) { -#else - switch (dgcdp->dgop->dgo_shaded_mode && dgcdp->shaded_mode_override < 0 - ? dgcdp->dgop->dgo_shaded_mode : dgcdp->shaded_mode_override) { -#endif case DGO_SHADED_MODE_BOTS: if (ip->idb_major_type == DB5_MAJORTYPE_BRLCAD && - (ip->idb_minor_type == DB5_MINORTYPE_BRLCAD_BOT || - ip->idb_minor_type == DB5_MINORTYPE_BRLCAD_POLY)) - dgo_drawtrees(dgcdp->dgop, dgcdp->interp, ac, av, 3, client_data); - else { + ip->idb_minor_type == DB5_MINORTYPE_BRLCAD_BOT) { + struct bu_list vhead; + + BU_LIST_INIT(&vhead); + + (void)rt_bot_plot_poly(&vhead, ip, tsp->ts_ttol, tsp->ts_tol); + dgo_drawH_part2(0, &vhead, pathp, tsp, SOLID_NULL, dgcdp); + } else if (ip->idb_major_type == DB5_MAJORTYPE_BRLCAD && + ip->idb_minor_type == DB5_MINORTYPE_BRLCAD_POLY) { + struct bu_list vhead; + + BU_LIST_INIT(&vhead); + + (void)rt_pg_plot_poly(&vhead, ip, tsp->ts_ttol, tsp->ts_tol); + dgo_drawH_part2(0, &vhead, pathp, tsp, SOLID_NULL, dgcdp); + } else { /* save shaded mode states */ int save_dgo_shaded_mode = dgcdp->dgop->dgo_shaded_mode; int save_shaded_mode_override = dgcdp->shaded_mode_override; @@ -4641,9 +4649,24 @@ break; case DGO_SHADED_MODE_ALL: if (ip->idb_major_type == DB5_MAJORTYPE_BRLCAD && - ip->idb_minor_type != DB5_MINORTYPE_BRLCAD_PIPE) + ip->idb_minor_type != DB5_MINORTYPE_BRLCAD_PIPE) { + if (ip->idb_minor_type == DB5_MINORTYPE_BRLCAD_BOT) { + struct bu_list vhead; + + BU_LIST_INIT(&vhead); + + (void)rt_bot_plot_poly(&vhead, ip, tsp->ts_ttol, tsp->ts_tol); + dgo_drawH_part2(0, &vhead, pathp, tsp, SOLID_NULL, dgcdp); + } else if (ip->idb_minor_type == DB5_MINORTYPE_BRLCAD_POLY) { + struct bu_list vhead; + + BU_LIST_INIT(&vhead); + + (void)rt_pg_plot_poly(&vhead, ip, tsp->ts_ttol, tsp->ts_tol); + dgo_drawH_part2(0, &vhead, pathp, tsp, SOLID_NULL, dgcdp); + } else dgo_drawtrees(dgcdp->dgop, dgcdp->interp, ac, av, 3, client_data); - else { + } else { /* save shaded mode states */ int save_dgo_shaded_mode = dgcdp->dgop->dgo_shaded_mode; int save_shaded_mode_override = dgcdp->shaded_mode_override; |