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

Reply via email to