Re: [brlcad-devel] [brlcad-commits] SF.net SVN: brlcad:[33188] brlcad/trunk/src/libged/get_type.c (
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: Parker, R. (C. ARL/SLAD) <rob...@ar...> - 2008-11-14 19:36:33
|
Classification: UNCLASSIFIED Caveats: NONE This was simply a refit of code that exists in wdb_obj.c. At the moment, I'm more concerned with populating libged using existing functionality without great concern for rewriting things. -bob -----Original Message----- From: Christopher Sean Morrison [mailto:br...@ma...] Sent: Friday, November 14, 2008 9:27 AM To: brl...@li... Subject: Re: [brlcad-devel] [brlcad-commits] SF.net SVN: brlcad:[33188] brlcad/trunk/src/libged/get_type.c Why not just use functab? On Nov 14, 2008, at 9:03, bo...@us... wrote: > Revision: 33188 > http://brlcad.svn.sourceforge.net/brlcad/?rev=33188&view=rev > Author: bob1961 > Date: 2008-11-14 14:03:29 +0000 (Fri, 14 Nov 2008) > > Log Message: > ----------- > Fleshed out get_type > > Modified Paths: > -------------- > brlcad/trunk/src/libged/get_type.c > > Modified: brlcad/trunk/src/libged/get_type.c > =================================================================== > --- brlcad/trunk/src/libged/get_type.c 2008-11-14 13:36:18 UTC > (rev 33187) > +++ brlcad/trunk/src/libged/get_type.c 2008-11-14 14:03:29 UTC > (rev 33188) > @@ -34,6 +34,8 @@ > int > ged_get_type(struct ged *gedp, int argc, const char *argv[]) { > + struct rt_db_internal intern; > + int type; > static const char *usage = "object"; > > GED_CHECK_DATABASE_OPEN(gedp, BRLCAD_ERROR); @@ -48,11 +50,143 @@ > return BRLCAD_HELP; > } > > - if (MAXARGS < argc) { > + if (argc != 2) { > bu_vls_printf(&gedp->ged_result_str, "Usage: %s %s", argv[0], > usage); > return BRLCAD_ERROR; > } > > + if (wdb_import_from_path(&gedp->ged_result_str, &intern, > argv[1], gedp->ged_wdbp) == BRLCAD_ERROR) > + return BRLCAD_ERROR; > + > + if (intern.idb_major_type != DB5_MAJORTYPE_BRLCAD) { > + bu_vls_printf(&gedp->ged_result_str, "unknown"); > + rt_db_free_internal(&intern, &rt_uniresource); > + > + return BRLCAD_OK; > + } > + > + switch (intern.idb_minor_type) { > + case DB5_MINORTYPE_BRLCAD_TOR: > + bu_vls_printf(&gedp->ged_result_str, "tor"); > + break; > + case DB5_MINORTYPE_BRLCAD_TGC: > + bu_vls_printf(&gedp->ged_result_str, "tgc"); > + break; > + case DB5_MINORTYPE_BRLCAD_ELL: > + bu_vls_printf(&gedp->ged_result_str, "ell"); > + break; > + case DB5_MINORTYPE_BRLCAD_ARB8: > + type = rt_arb_std_type(&intern, &gedp->ged_wdbp->wdb_tol); > + > + switch (type) { > + case 4: > + bu_vls_printf(&gedp->ged_result_str, "arb4"); > + break; > + case 5: > + bu_vls_printf(&gedp->ged_result_str, "arb5"); > + break; > + case 6: > + bu_vls_printf(&gedp->ged_result_str, "arb6"); > + break; > + case 7: > + bu_vls_printf(&gedp->ged_result_str, "arb7"); > + break; > + case 8: > + bu_vls_printf(&gedp->ged_result_str, "arb8"); > + break; > + default: > + bu_vls_printf(&gedp->ged_result_str, "invalid"); > + break; > + } > + > + break; > + case DB5_MINORTYPE_BRLCAD_ARS: > + bu_vls_printf(&gedp->ged_result_str, "ars"); > + break; > + case DB5_MINORTYPE_BRLCAD_HALF: > + bu_vls_printf(&gedp->ged_result_str, "half"); > + break; > + case DB5_MINORTYPE_BRLCAD_REC: > + bu_vls_printf(&gedp->ged_result_str, "rec"); > + break; > + case DB5_MINORTYPE_BRLCAD_POLY: > + bu_vls_printf(&gedp->ged_result_str, "poly"); > + break; > + case DB5_MINORTYPE_BRLCAD_BSPLINE: > + bu_vls_printf(&gedp->ged_result_str, "spline"); > + break; > + case DB5_MINORTYPE_BRLCAD_SPH: > + bu_vls_printf(&gedp->ged_result_str, "sph"); > + break; > + case DB5_MINORTYPE_BRLCAD_NMG: > + bu_vls_printf(&gedp->ged_result_str, "nmg"); > + break; > + case DB5_MINORTYPE_BRLCAD_EBM: > + bu_vls_printf(&gedp->ged_result_str, "ebm"); > + break; > + case DB5_MINORTYPE_BRLCAD_VOL: > + bu_vls_printf(&gedp->ged_result_str, "vol"); > + break; > + case DB5_MINORTYPE_BRLCAD_ARBN: > + bu_vls_printf(&gedp->ged_result_str, "arbn"); > + break; > + case DB5_MINORTYPE_BRLCAD_PIPE: > + bu_vls_printf(&gedp->ged_result_str, "pipe"); > + break; > + case DB5_MINORTYPE_BRLCAD_PARTICLE: > + bu_vls_printf(&gedp->ged_result_str, "part"); > + break; > + case DB5_MINORTYPE_BRLCAD_RPC: > + bu_vls_printf(&gedp->ged_result_str, "rpc"); > + break; > + case DB5_MINORTYPE_BRLCAD_RHC: > + bu_vls_printf(&gedp->ged_result_str, "rhc"); > + break; > + case DB5_MINORTYPE_BRLCAD_EPA: > + bu_vls_printf(&gedp->ged_result_str, "epa"); > + break; > + case DB5_MINORTYPE_BRLCAD_EHY: > + bu_vls_printf(&gedp->ged_result_str, "ehy"); > + break; > + case DB5_MINORTYPE_BRLCAD_ETO: > + bu_vls_printf(&gedp->ged_result_str, "eto"); > + break; > + case DB5_MINORTYPE_BRLCAD_GRIP: > + bu_vls_printf(&gedp->ged_result_str, "grip"); > + break; > + case DB5_MINORTYPE_BRLCAD_JOINT: > + bu_vls_printf(&gedp->ged_result_str, "joint"); > + break; > + case DB5_MINORTYPE_BRLCAD_HF: > + bu_vls_printf(&gedp->ged_result_str, "hf"); > + break; > + case DB5_MINORTYPE_BRLCAD_DSP: > + bu_vls_printf(&gedp->ged_result_str, "dsp"); > + break; > + case DB5_MINORTYPE_BRLCAD_SKETCH: > + bu_vls_printf(&gedp->ged_result_str, "sketch"); > + break; > + case DB5_MINORTYPE_BRLCAD_EXTRUDE: > + bu_vls_printf(&gedp->ged_result_str, "extrude"); > + break; > + case DB5_MINORTYPE_BRLCAD_SUBMODEL: > + bu_vls_printf(&gedp->ged_result_str, "submodel"); > + break; > + case DB5_MINORTYPE_BRLCAD_CLINE: > + bu_vls_printf(&gedp->ged_result_str, "cline"); > + break; > + case DB5_MINORTYPE_BRLCAD_BOT: > + bu_vls_printf(&gedp->ged_result_str, "bot"); > + break; > + case DB5_MINORTYPE_BRLCAD_COMBINATION: > + bu_vls_printf(&gedp->ged_result_str, "comb"); > + break; > + default: > + bu_vls_printf(&gedp->ged_result_str, "other"); > + break; > + } > + > + rt_db_free_internal(&intern, &rt_uniresource); > return BRLCAD_OK; > } > > > > This was sent by the SourceForge.net collaborative development > platform, the world's largest Open Source development site. > > --- > ---------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge Build the coolest Linux based applications with Moblin SDK & > win great prizes Grand prize is a trip for two to an Open Source event > anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > BRL-CAD Source Commits mailing list > brl...@li... > https://lists.sourceforge.net/lists/listinfo/brlcad-commits ------------------------------------------------------------------------ - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ BRL-CAD Developer mailing list brl...@li... https://lists.sourceforge.net/lists/listinfo/brlcad-devel Classification: UNCLASSIFIED Caveats: NONE |