Why not just use functab?

On Nov 14, 2008, at 9:03, [EMAIL PROTECTED] 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
> [EMAIL PROTECTED]
> 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
brlcad-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-devel

Reply via email to