Revision: 41360
http://brlcad.svn.sourceforge.net/brlcad/?rev=41360&view=rev
Author: brlcad
Date: 2010-11-15 22:07:42 +0000 (Mon, 15 Nov 2010)
Log Message:
-----------
rename rt_cmd_vec* to solids_on_ray_cmd_vec* and change the static array into a
dynamic one.
Modified Paths:
--------------
brlcad/trunk/src/libged/solids_on_ray.c
Modified: brlcad/trunk/src/libged/solids_on_ray.c
===================================================================
--- brlcad/trunk/src/libged/solids_on_ray.c 2010-11-15 21:30:46 UTC (rev
41359)
+++ brlcad/trunk/src/libged/solids_on_ray.c 2010-11-15 22:07:42 UTC (rev
41360)
@@ -40,12 +40,13 @@
static char **ged_skewer_solids(struct ged *gedp, int argc, const char **argv,
fastf_t *ray_orig, fastf_t *ray_dir, int full_path);
-static char *rt_cmd_vec[MAXARGS];
-static int rt_cmd_vec_len;
+static char **solids_on_ray_cmd_vec;
+static int solids_on_ray_cmd_vec_len;
int
ged_solids_on_ray(struct ged *gedp, int argc, const char *argv[])
{
+ size_t args;
char **snames;
int h = 0;
int v = 0;
@@ -131,19 +132,19 @@
VJOIN1(ray_orig, ray_orig, h * gedp->ged_gvp->gv_scale * INV_GED_V,
unit_H);
VJOIN1(ray_orig, ray_orig, v * gedp->ged_gvp->gv_scale * INV_GED_V,
unit_V);
+ /* allocate space for display top-levels */
+ args = 2 + ged_count_tops(gedp);
+ solids_on_ray_cmd_vec = bu_calloc(1, sizeof(char *) * args, "alloca
solids_on_ray_cmd_vec");
+
/*
* Build a list of all the top-level objects currently displayed
*/
- rt_cmd_vec_len = ged_build_tops(gedp, &rt_cmd_vec[0],
&rt_cmd_vec[MAXARGS]);
+ solids_on_ray_cmd_vec_len = ged_build_tops(gedp,
&solids_on_ray_cmd_vec[0], &solids_on_ray_cmd_vec[args]);
-#if 0
- start_catching_output(&gedp->ged_result_str);
-#endif
- snames = ged_skewer_solids(gedp, rt_cmd_vec_len, (const char
**)rt_cmd_vec, ray_orig, ray_dir, 1);
-#if 0
- stop_catching_output(&gedp->ged_result_str);
-#endif
+ snames = ged_skewer_solids(gedp, solids_on_ray_cmd_vec_len, (const char
**)solids_on_ray_cmd_vec, ray_orig, ray_dir, 1);
+ bu_free(solids_on_ray_cmd_vec, "free solids_on_ray_cmd_vec");
+
if (snames == 0) {
bu_vls_printf(&gedp->ged_result_str, "Error executing
ged_skewer_solids: ");
return GED_ERROR;
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Centralized Desktop Delivery: Dell and VMware Reference Architecture
Simplifying enterprise desktop deployment and management using
Dell EqualLogic storage and VMware View: A highly scalable, end-to-end
client virtualization framework. Read more!
http://p.sf.net/sfu/dell-eql-dev2dev
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits