Thread: [brlcad-commits] SF.net SVN: brlcad:[33331] brlcad/trunk/src/librt/tcl.c
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <bo...@us...> - 2008-12-09 18:41:33
|
Revision: 33331 http://brlcad.svn.sourceforge.net/brlcad/?rev=33331&view=rev Author: bob1961 Date: 2008-12-09 18:41:19 +0000 (Tue, 09 Dec 2008) Log Message: ----------- Modified the rt_comb_get function (i.e. added braces around rgb and shader values when getting all attributes). Modified Paths: -------------- brlcad/trunk/src/librt/tcl.c Modified: brlcad/trunk/src/librt/tcl.c =================================================================== --- brlcad/trunk/src/librt/tcl.c 2008-12-09 18:02:00 UTC (rev 33330) +++ brlcad/trunk/src/librt/tcl.c 2008-12-09 18:41:19 UTC (rev 33331) @@ -950,11 +950,11 @@ } if (comb->rgb_valid) { - bu_vls_printf(log, "rgb %d %d %d ", V3ARGS(comb->rgb)); + bu_vls_printf(log, "rgb {%d %d %d} ", V3ARGS(comb->rgb)); } if (bu_vls_strlen(&comb->shader) > 0) { - bu_vls_printf(log, "shader %s ", bu_vls_addr(&comb->shader)); + bu_vls_printf(log, "shader {%s} ", bu_vls_addr(&comb->shader)); } if (bu_vls_strlen(&comb->material) > 0) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2009-12-28 15:27:56
|
Revision: 37040 http://brlcad.svn.sourceforge.net/brlcad/?rev=37040&view=rev Author: brlcad Date: 2009-12-28 15:27:49 +0000 (Mon, 28 Dec 2009) Log Message: ----------- make sure it's not a null resource pointer, and more log/logstr quellage Modified Paths: -------------- brlcad/trunk/src/librt/tcl.c Modified: brlcad/trunk/src/librt/tcl.c =================================================================== --- brlcad/trunk/src/librt/tcl.c 2009-12-28 15:19:20 UTC (rev 37039) +++ brlcad/trunk/src/librt/tcl.c 2009-12-28 15:27:49 UTC (rev 37040) @@ -734,12 +734,16 @@ * that tree. */ union tree * -db_tree_parse(struct bu_vls *log, const char *str, struct resource *resp) +db_tree_parse(struct bu_vls *logstr, const char *str, struct resource *resp) { int argc; char **argv; union tree *tp = TREE_NULL; + if (!resp) { + resp = &rt_uniresource; + } + /* Skip over leading spaces in input */ while (*str && isspace(*str)) str++; @@ -748,14 +752,14 @@ return TREE_NULL; if (argc <= 0 || argc > 3) { - bu_vls_printf(log, + bu_vls_printf(logstr, "db_tree_parse: tree node does not have 1, 2 or 2 elements: %s\n", str); goto out; } if (argv[0][1] != '\0') { - bu_vls_printf(log, "db_tree_parse() operator is not single character: %s", argv[0]); + bu_vls_printf(logstr, "db_tree_parse() operator is not single character: %s", argv[0]); goto out; } @@ -772,7 +776,7 @@ mat_t m; /* decode also recognizes "I" notation for identity */ if (bn_decode_mat(m, argv[2]) != 16) { - bu_vls_printf(log, + bu_vls_printf(logstr, "db_tree_parse: unable to parse matrix '%s' using identity", argv[2]); break; @@ -780,7 +784,7 @@ if (bn_mat_is_identity(m)) break; if (bn_mat_ck("db_tree_parse", m)) { - bu_vls_printf(log, + bu_vls_printf(logstr, "db_tree_parse: matrix '%s', does not preserve axis perpendicularity, using identity", argv[2]); break; } @@ -812,20 +816,20 @@ binary: tp->tr_b.magic = RT_TREE_MAGIC; if (argv[1] == (char *)NULL || argv[2] == (char *)NULL) { - bu_vls_printf(log, + bu_vls_printf(logstr, "db_tree_parse: binary operator %s has insufficient operands in %s", argv[0], str); RT_FREE_TREE(tp, resp); tp = TREE_NULL; goto out; } - tp->tr_b.tb_left = db_tree_parse(log, argv[1], resp); + tp->tr_b.tb_left = db_tree_parse(logstr, argv[1], resp); if (tp->tr_b.tb_left == TREE_NULL) { RT_FREE_TREE(tp, resp); tp = TREE_NULL; goto out; } - tp->tr_b.tb_right = db_tree_parse(log, argv[2], resp); + tp->tr_b.tb_right = db_tree_parse(logstr, argv[2], resp); if (tp->tr_b.tb_left == TREE_NULL) { db_free_tree(tp->tr_b.tb_left, resp); RT_FREE_TREE(tp, resp); @@ -852,14 +856,14 @@ unary: tp->tr_b.magic = RT_TREE_MAGIC; if (argv[1] == (char *)NULL) { - bu_vls_printf(log, + bu_vls_printf(logstr, "db_tree_parse: unary operator %s has insufficient operands in %s\n", argv[0], str); bu_free((char *)tp, "union tree"); tp = TREE_NULL; goto out; } - tp->tr_b.tb_left = db_tree_parse(log, argv[1], resp); + tp->tr_b.tb_left = db_tree_parse(logstr, argv[1], resp); if (tp->tr_b.tb_left == TREE_NULL) { bu_free((char *)tp, "union tree"); tp = TREE_NULL; @@ -875,7 +879,7 @@ break; default: - bu_vls_printf(log, "db_tree_parse: unable to interpret operator '%s'\n", argv[1]); + bu_vls_printf(logstr, "db_tree_parse: unable to interpret operator '%s'\n", argv[1]); } out: @@ -895,13 +899,13 @@ union tree * db_tcl_tree_parse(Tcl_Interp *interp, const char *str, struct resource *resp) { - struct bu_vls log; + struct bu_vls logstr; union tree *tp; - bu_vls_init(&log); - tp = db_tree_parse(&log, str, resp); - Tcl_AppendResult(interp, bu_vls_addr(&log), (char *)NULL); - bu_vls_free(&log); + bu_vls_init(&logstr); + tp = db_tree_parse(&logstr, str, resp); + Tcl_AppendResult(interp, bu_vls_addr(&logstr), (char *)NULL); + bu_vls_free(&logstr); return tp; } @@ -914,7 +918,7 @@ * Entered via rt_functab[].ft_get(). */ int -rt_comb_get(struct bu_vls *log, const struct rt_db_internal *intern, const char *item) +rt_comb_get(struct bu_vls *logstr, const struct rt_db_internal *intern, const char *item) { const struct rt_comb_internal *comb; char buf[128]; @@ -926,38 +930,38 @@ if (item==0) { /* Print out the whole combination. */ - bu_vls_printf(log, "comb region "); + bu_vls_printf(logstr, "comb region "); if (comb->region_flag) { - bu_vls_printf(log, "yes id %d ", comb->region_id); + bu_vls_printf(logstr, "yes id %d ", comb->region_id); if (comb->aircode) { - bu_vls_printf(log, "air %d ", comb->aircode); + bu_vls_printf(logstr, "air %d ", comb->aircode); } if (comb->los) { - bu_vls_printf(log, "los %d ", comb->los); + bu_vls_printf(logstr, "los %d ", comb->los); } if (comb->GIFTmater) { - bu_vls_printf(log, "GIFTmater %d ", comb->GIFTmater); + bu_vls_printf(logstr, "GIFTmater %d ", comb->GIFTmater); } } else { - bu_vls_printf(log, "no "); + bu_vls_printf(logstr, "no "); } if (comb->rgb_valid) { - bu_vls_printf(log, "rgb {%d %d %d} ", V3ARGS(comb->rgb)); + bu_vls_printf(logstr, "rgb {%d %d %d} ", V3ARGS(comb->rgb)); } if (bu_vls_strlen(&comb->shader) > 0) { - bu_vls_printf(log, "shader {%s} ", bu_vls_addr(&comb->shader)); + bu_vls_printf(logstr, "shader {%s} ", bu_vls_addr(&comb->shader)); } if (bu_vls_strlen(&comb->material) > 0) { - bu_vls_printf(log, "material %s ", bu_vls_addr(&comb->material)); + bu_vls_printf(logstr, "material %s ", bu_vls_addr(&comb->material)); } if (comb->inherit) { - bu_vls_printf(log, "inherit yes "); + bu_vls_printf(logstr, "inherit yes "); } { @@ -965,9 +969,9 @@ /*XXX Temporarily using Tcl until a replacement for db_tcl_tree_describe is written */ Tcl_DStringInit(&ds); - bu_vls_printf(log, "tree {"); + bu_vls_printf(logstr, "tree {"); db_tcl_tree_describe(&ds, comb->tree); - bu_vls_printf(log, "%s}", Tcl_DStringValue(&ds)); + bu_vls_printf(logstr, "%s}", Tcl_DStringValue(&ds)); Tcl_DStringFree(&ds); } @@ -1003,10 +1007,10 @@ else snprintf(buf, 128, "invalid"); } else if (strcmp(itemlwr, "shader")==0) { - bu_vls_printf(log, "%s", bu_vls_addr(&comb->shader)); + bu_vls_printf(logstr, "%s", bu_vls_addr(&comb->shader)); return BRLCAD_OK; } else if (strcmp(itemlwr, "material")==0) { - bu_vls_printf(log, "%s", bu_vls_addr(&comb->material)); + bu_vls_printf(logstr, "%s", bu_vls_addr(&comb->material)); return BRLCAD_OK; } else if (strcmp(itemlwr, "inherit")==0) { snprintf(buf, 128, "%s", comb->inherit ? "yes" : "no"); @@ -1015,20 +1019,20 @@ Tcl_DStringInit(&ds); db_tcl_tree_describe(&ds, comb->tree); - bu_vls_printf(log, "%s", Tcl_DStringValue(&ds)); + bu_vls_printf(logstr, "%s", Tcl_DStringValue(&ds)); Tcl_DStringFree(&ds); return BRLCAD_OK; } else { - bu_vls_printf(log, "no such attribute"); + bu_vls_printf(logstr, "no such attribute"); return BRLCAD_ERROR; } - bu_vls_printf(log, "%s", buf); + bu_vls_printf(logstr, "%s", buf); return BRLCAD_OK; not_region: - bu_vls_printf(log, "item not valid for non-region"); + bu_vls_printf(logstr, "item not valid for non-region"); return BRLCAD_ERROR; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2010-05-19 15:01:04
|
Revision: 39376 http://brlcad.svn.sourceforge.net/brlcad/?rev=39376&view=rev Author: brlcad Date: 2010-05-19 15:00:57 +0000 (Wed, 19 May 2010) Log Message: ----------- var init quellage Modified Paths: -------------- brlcad/trunk/src/librt/tcl.c Modified: brlcad/trunk/src/librt/tcl.c =================================================================== --- brlcad/trunk/src/librt/tcl.c 2010-05-19 14:57:32 UTC (rev 39375) +++ brlcad/trunk/src/librt/tcl.c 2010-05-19 15:00:57 UTC (rev 39376) @@ -263,7 +263,7 @@ vect_t norm; struct soltab *stp; const struct directory *dp; - struct curvature crv; + struct curvature crv = {{0.0, 0.0, 0.0}, 0.0, 0.0}; RT_CK_SEG(segp); stp = segp->seg_stp; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2011-09-26 20:54:43
|
Revision: 46910 http://brlcad.svn.sourceforge.net/brlcad/?rev=46910&view=rev Author: bob1961 Date: 2011-09-26 20:54:36 +0000 (Mon, 26 Sep 2011) Log Message: ----------- Added rt_tcl_rt_set to librt/tcl.c. This adds the ability to get/set the values of bot_reverse_normal_disabled, onehit and no_bool. Other variables could be exposed here and the onehit and no_bool subcommands could be deprecated. Modified Paths: -------------- brlcad/trunk/src/librt/tcl.c Modified: brlcad/trunk/src/librt/tcl.c =================================================================== --- brlcad/trunk/src/librt/tcl.c 2011-09-26 20:48:41 UTC (rev 46909) +++ brlcad/trunk/src/librt/tcl.c 2011-09-26 20:54:36 UTC (rev 46910) @@ -58,6 +58,7 @@ static int rt_tcl_rt_check(ClientData clientData, Tcl_Interp *interp, int argc, const char *const *argv); static int rt_tcl_rt_prep(ClientData clientData, Tcl_Interp *interp, int argc, const char *const *argv); static int rt_tcl_rt_cutter(ClientData clientData, Tcl_Interp *interp, int argc, const char *const*argv); +static int rt_tcl_rt_set(ClientData clientData, Tcl_Interp *interp, int argc, const char *const*argv); /************************************************************************ @@ -79,6 +80,7 @@ {"check", rt_tcl_rt_check}, {"prep", rt_tcl_rt_prep}, {"cutter", rt_tcl_rt_cutter}, + {"set", rt_tcl_rt_set}, {(char *)0, (int (*)())0} }; @@ -576,6 +578,91 @@ /** + * R T _ T C L _ R T _ S E T + * + * Set/get the rt object's settable variables. + * + * This replaces onehit and no_bool. + * + * Usage - + * procname set + * procname set vname + * procname set vname val + */ +int +rt_tcl_rt_set(ClientData clientData, Tcl_Interp *interp, int argc, const char *const *argv) +{ + struct application *ap = (struct application *)clientData; + struct rt_i *rtip; + struct bu_vls str; + int val; + const char *usage = "[vname [val]]"; + + bu_vls_init(&str); + + if (argc < 2 || argc > 4) { + bu_vls_printf(&str, "%s %s: %s", argv[0], argv[1], usage); + Tcl_AppendResult(interp, bu_vls_addr(&str), (char *)NULL); + bu_vls_free(&str); + + return TCL_ERROR; + } + + RT_CK_AP_TCL(interp, ap); + rtip = ap->a_rt_i; + RT_CK_RTI_TCL(interp, rtip); + + /* Return a list of the settable variables and their values */ + if (argc == 2) { + bu_vls_printf(&str, "{onehit %d} ", ap->a_onehit); + bu_vls_printf(&str, "{no_bool %d} ", ap->a_no_booleans); + bu_vls_printf(&str, "{bot_reverse_normal_disabled %d}", ap->a_bot_reverse_normal_disabled); + Tcl_AppendResult(interp, bu_vls_addr(&str), (char *)NULL); + bu_vls_free(&str); + + return TCL_OK; + } + + if (argc == 4 && sscanf(argv[3], "%d", &val) != 1) { + bu_vls_printf(&str, "%s %s: bad val - %s, must be an integer", argv[0], argv[1], argv[3]); + Tcl_AppendResult(interp, bu_vls_addr(&str), (char *)NULL); + bu_vls_free(&str); + + return TCL_ERROR; + } + + if (argv[2][0] == 'o' && !strncmp(argv[2], "onehit", 6)) { + if (argc == 3) + val = ap->a_onehit; + else + ap->a_onehit = val; + } else if (argv[2][0] == 'n' && !strncmp(argv[2], "no_bool", 7)) { + if (argc == 3) + val = ap->a_no_booleans; + else + ap->a_no_booleans = val; + } else if (argv[2][0] == 'b' && !strncmp(argv[2], "bot_reverse_normal_disabled", 27)) { + if (argc == 3) + val = ap->a_bot_reverse_normal_disabled; + else + ap->a_bot_reverse_normal_disabled = val; + } else { + bu_vls_printf(&str, "%s %s: bad val - %s, must be one of the following: onehit, no_bool, or bot_reverse_normal_disabled", + argv[0], argv[1], argv[2]); + Tcl_AppendResult(interp, bu_vls_addr(&str), (char *)NULL); + bu_vls_free(&str); + + return TCL_ERROR; + } + + bu_vls_printf(&str, "%d", val); + Tcl_AppendResult(interp, bu_vls_addr(&str), (char *)NULL); + bu_vls_free(&str); + return TCL_OK; +} + + +/** * R T _ T C L _ R T * * Generic interface for the LIBRT_class manipulation routines. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2012-10-12 21:32:19
|
Revision: 53019 http://brlcad.svn.sourceforge.net/brlcad/?rev=53019&view=rev Author: carlmoore Date: 2012-10-12 21:32:13 +0000 (Fri, 12 Oct 2012) Log Message: ----------- fix spellings Modified Paths: -------------- brlcad/trunk/src/librt/tcl.c Modified: brlcad/trunk/src/librt/tcl.c =================================================================== --- brlcad/trunk/src/librt/tcl.c 2012-10-12 21:27:57 UTC (rev 53018) +++ brlcad/trunk/src/librt/tcl.c 2012-10-12 21:32:13 UTC (rev 53019) @@ -332,7 +332,7 @@ /** * Usage - * procname shootray [-R] {P} dir|at {V} - * -R option specifries no overlap reporting + * -R option specifies no overlap reporting * * Example - * set glob_compat_mode 0 @@ -826,7 +826,7 @@ /** - * Allows LIBRT to be dynamically loade to a vanilla tclsh/wish with + * Allows LIBRT to be dynamically loaded to a vanilla tclsh/wish with * "load /usr/brlcad/lib/libbu.so" * "load /usr/brlcad/lib/libbn.so" * "load /usr/brlcad/lib/librt.so" @@ -880,7 +880,7 @@ * Expects the Tcl_obj argument (list) to be a Tcl list and extracts * list elements, converts them to int, and stores them in the passed * in array. If the array_len argument is zero, a new array of - * approriate length is allocated. The return value is the number of + * appropriate length is allocated. The return value is the number of * elements converted. */ int @@ -933,7 +933,7 @@ * Expects the Tcl_obj argument (list) to be a Tcl list and extracts * list elements, converts them to fastf_t, and stores them in the * passed in array. If the array_len argument is zero, a new array of - * approriate length is allocated. The return value is the number of + * appropriate length is allocated. The return value is the number of * elements converted. */ int This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tbr...@us...> - 2013-10-17 20:26:28
|
Revision: 58193 http://sourceforge.net/p/brlcad/code/58193 Author: tbrowder2 Date: 2013-10-17 20:26:21 +0000 (Thu, 17 Oct 2013) Log Message: ----------- vars are arrays, one element per axis Modified Paths: -------------- brlcad/trunk/src/librt/tcl.c Modified: brlcad/trunk/src/librt/tcl.c =================================================================== --- brlcad/trunk/src/librt/tcl.c 2013-10-17 20:13:07 UTC (rev 58192) +++ brlcad/trunk/src/librt/tcl.c 2013-10-17 20:26:21 UTC (rev 58193) @@ -154,9 +154,9 @@ cutp->nugn.nu_axis[i]->nu_epos, cutp->nugn.nu_axis[i]->nu_width); bu_vls_printf(&str, " cells_per_axis %ld", - cutp->nugn.nu_cells_per_axis); + cutp->nugn.nu_cells_per_axis[i]); bu_vls_printf(&str, " stepsize %ld}", - cutp->nugn.nu_stepsize); + cutp->nugn.nu_stepsize[i]); } break; default: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tbr...@us...> - 2013-12-19 19:35:23
|
Revision: 59054 http://sourceforge.net/p/brlcad/code/59054 Author: tbrowder2 Date: 2013-12-19 19:35:20 +0000 (Thu, 19 Dec 2013) Log Message: ----------- use explicit casts for both func pointers as args as well as actuall callers Modified Paths: -------------- brlcad/trunk/src/librt/tcl.c Modified: brlcad/trunk/src/librt/tcl.c =================================================================== --- brlcad/trunk/src/librt/tcl.c 2013-12-19 19:10:46 UTC (rev 59053) +++ brlcad/trunk/src/librt/tcl.c 2013-12-19 19:35:20 UTC (rev 59054) @@ -62,13 +62,13 @@ static struct dbcmdstruct rt_tcl_rt_cmds[] = { - {"shootray", rt_tcl_rt_shootray}, - {"onehit", rt_tcl_rt_onehit}, - {"no_bool", rt_tcl_rt_no_bool}, - {"check", rt_tcl_rt_check}, - {"prep", rt_tcl_rt_prep}, - {"cutter", rt_tcl_rt_cutter}, - {"set", rt_tcl_rt_set}, + {"shootray", (int (*)())rt_tcl_rt_shootray}, + {"onehit", (int (*)())rt_tcl_rt_onehit}, + {"no_bool", (int (*)())rt_tcl_rt_no_bool}, + {"check", (int (*)())rt_tcl_rt_check}, + {"prep", (int (*)())rt_tcl_rt_prep}, + {"cutter", (int (*)())rt_tcl_rt_cutter}, + {"set", (int (*)())rt_tcl_rt_set}, {(char *)0, (int (*)())0} }; @@ -613,8 +613,11 @@ for (dbcmd = rt_tcl_rt_cmds; dbcmd->cmdname != NULL; dbcmd++) { if (BU_STR_EQUAL(dbcmd->cmdname, argv[1])) { - return (*dbcmd->cmdfunc)(clientData, interp, - argc, argv); + /* need proper cmd func pointer for actual call */ + int (*_cmdfunc)(void*, Tcl_Interp*, int, const char* const*); + /* cast to the actual caller */ + _cmdfunc = (int (*)(void*, Tcl_Interp*, int, const char* const*))dbcmd; + return _cmdfunc(clientData, interp, argc, argv); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2013-12-19 22:18:26
|
Revision: 59079 http://sourceforge.net/p/brlcad/code/59079 Author: starseeker Date: 2013-12-19 22:18:24 +0000 (Thu, 19 Dec 2013) Log Message: ----------- Original cast was incorrect - I think this is it? Modified Paths: -------------- brlcad/trunk/src/librt/tcl.c Modified: brlcad/trunk/src/librt/tcl.c =================================================================== --- brlcad/trunk/src/librt/tcl.c 2013-12-19 22:13:56 UTC (rev 59078) +++ brlcad/trunk/src/librt/tcl.c 2013-12-19 22:18:24 UTC (rev 59079) @@ -616,7 +616,7 @@ /* need proper cmd func pointer for actual call */ int (*_cmdfunc)(void*, Tcl_Interp*, int, const char* const*); /* cast to the actual caller */ - _cmdfunc = (int (*)(void*, Tcl_Interp*, int, const char* const*))dbcmd; + _cmdfunc = (int (*)(void*, Tcl_Interp*, int, const char* const*))(*dbcmd->cmdfunc); return _cmdfunc(clientData, interp, argc, argv); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2014-09-06 03:41:41
|
Revision: 62549 http://sourceforge.net/p/brlcad/code/62549 Author: brlcad Date: 2014-09-06 03:41:33 +0000 (Sat, 06 Sep 2014) Log Message: ----------- don't blindly init the rt_uniresource Modified Paths: -------------- brlcad/trunk/src/librt/tcl.c Modified: brlcad/trunk/src/librt/tcl.c =================================================================== --- brlcad/trunk/src/librt/tcl.c 2014-09-06 03:41:11 UTC (rev 62548) +++ brlcad/trunk/src/librt/tcl.c 2014-09-06 03:41:33 UTC (rev 62549) @@ -754,7 +754,9 @@ /* initialize RT's global state */ BU_LIST_INIT(&RTG.rtg_vlfree); BU_LIST_INIT(&RTG.rtg_headwdb.l); - rt_init_resource(&rt_uniresource, 0, NULL); + if (rt_uniresource.re_magic != RESOURCE_MAGIC) { + rt_init_resource(&rt_uniresource, 0, NULL); + } } rt_tcl_setup(interp); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2014-09-15 23:46:56
|
Revision: 62741 http://sourceforge.net/p/brlcad/code/62741 Author: brlcad Date: 2014-09-15 23:46:52 +0000 (Mon, 15 Sep 2014) Log Message: ----------- db_tcl_tree_parse() appears to be undeclared and unused Modified Paths: -------------- brlcad/trunk/src/librt/tcl.c Modified: brlcad/trunk/src/librt/tcl.c =================================================================== --- brlcad/trunk/src/librt/tcl.c 2014-09-15 22:30:37 UTC (rev 62740) +++ brlcad/trunk/src/librt/tcl.c 2014-09-15 23:46:52 UTC (rev 62741) @@ -634,30 +634,6 @@ * * ************************************************************************/ -/** - * Take a TCL-style string description of a binary tree, as produced - * by db_tree_list(), and reconstruct the in-memory form of - * that tree. - */ -union tree * -db_tcl_tree_parse(Tcl_Interp *interp, const char *str, struct resource *resp) -{ - struct bu_vls logstr = BU_VLS_INIT_ZERO; - union tree *tp; - - if (!resp) { - resp = &rt_uniresource; - } - RT_CK_RESOURCE(resp); - - tp = db_tree_parse(&logstr, str, resp); - Tcl_AppendResult(interp, bu_vls_addr(&logstr), (char *)NULL); - bu_vls_free(&logstr); - - return tp; -} - - int rt_tcl_import_from_path(Tcl_Interp *interp, struct rt_db_internal *ip, const char *path, struct rt_wdb *wdb) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |