[brlcad-commits] SF.net SVN: brlcad:[33436] brlcad/trunk/src/libged/vutil.c

2008-12-31 Thread bob1961
Revision: 33436
  http://brlcad.svn.sourceforge.net/brlcad/?rev=33436view=rev
Author:   bob1961
Date: 2008-12-31 20:00:26 + (Wed, 31 Dec 2008)

Log Message:
---
Modified ged_view_update to call gv_callback.

Modified Paths:
--
brlcad/trunk/src/libged/vutil.c

Modified: brlcad/trunk/src/libged/vutil.c
===
--- brlcad/trunk/src/libged/vutil.c 2008-12-31 19:59:00 UTC (rev 33435)
+++ brlcad/trunk/src/libged/vutil.c 2008-12-31 20:00:26 UTC (rev 33436)
@@ -66,12 +66,8 @@
 /* apply the perspective angle to model2view */
 bn_mat_mul(gvp-gv_pmodel2view, gvp-gv_pmat, gvp-gv_model2view);
 
-#if 0
 if (gvp-gv_callback)
-   (*gvp-gv_callback)(gvp-gv_clientData, gvp);
-else if (oflag  interp != (Tcl_Interp *)NULL)
-   bu_observer_notify(interp, gvp-gv_observers, 
bu_vls_addr(gvp-gv_name));
-#endif
+   (*gvp-gv_callback)(gvp, gvp-gv_clientData);
 }
 
 void


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

--
___
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits


[brlcad-commits] SF.net SVN: brlcad:[33438] brlcad/trunk/src/libged

2008-12-31 Thread bob1961
Revision: 33438
  http://brlcad.svn.sourceforge.net/brlcad/?rev=33438view=rev
Author:   bob1961
Date: 2008-12-31 20:04:40 + (Wed, 31 Dec 2008)

Log Message:
---
Split out the arg parsing into separate functions.

Modified Paths:
--
brlcad/trunk/src/libged/arot.c
brlcad/trunk/src/libged/rot.c
brlcad/trunk/src/libged/scale.c
brlcad/trunk/src/libged/tra.c

Modified: brlcad/trunk/src/libged/arot.c
===
--- brlcad/trunk/src/libged/arot.c  2008-12-31 20:03:49 UTC (rev 33437)
+++ brlcad/trunk/src/libged/arot.c  2008-12-31 20:04:40 UTC (rev 33438)
@@ -33,9 +33,8 @@
 #include ged_private.h
 
 int
-ged_arot(struct ged *gedp, int argc, const char *argv[])
+ged_arot_args(struct ged *gedp, int argc, const char *argv[], mat_t rmat)
 {
-mat_t rmat;
 point_t pt;
 vect_t axis;
 fastf_t angle;
@@ -60,30 +59,41 @@
 }
 
 if (sscanf(argv[1], %lf, axis[X]) != 1) {
-   bu_vls_printf(gedp-ged_result_str, ged_arot: bad X value - %s\n, 
argv[1]);
+   bu_vls_printf(gedp-ged_result_str, %s: bad X value - %s\n, argv[0], 
argv[1]);
return BRLCAD_ERROR;
 }
 
 if (sscanf(argv[2], %lf, axis[Y]) != 1) {
-   bu_vls_printf(gedp-ged_result_str, ged_arot: bad Y value - %s\n, 
argv[2]);
+   bu_vls_printf(gedp-ged_result_str, %s: bad Y value - %s\n, argv[0], 
argv[2]);
return BRLCAD_ERROR;
 }
 
 if (sscanf(argv[3], %lf, axis[Z]) != 1) {
-   bu_vls_printf(gedp-ged_result_str, ged_arot: bad Z value - %s\n, 
argv[3]);
+   bu_vls_printf(gedp-ged_result_str, %s: bad Z value - %s\n, argv[0], 
argv[3]);
return BRLCAD_ERROR;
 }
 
 if (sscanf(argv[4], %lf, angle) != 1) {
-   bu_vls_printf(gedp-ged_result_str, ged_arot: bad angle - %s\n, 
argv[4]);
+   bu_vls_printf(gedp-ged_result_str, %s: bad angle - %s\n, argv[0], 
argv[4]);
return BRLCAD_ERROR;
 }
 
 VSETALL(pt, 0.0);
 VUNITIZE(axis);
-
 bn_mat_arb_rot(rmat, pt, axis, angle*bn_degtorad);
 
+return BRLCAD_OK;
+}
+
+int
+ged_arot(struct ged *gedp, int argc, const char *argv[])
+{
+int ret;
+mat_t rmat;
+
+if ((ret = ged_arot_args(gedp, argc, argv, rmat)) != BRLCAD_OK)
+   return ret;
+
 return ged_do_rot(gedp, gedp-ged_gvp-gv_coord, rmat, (int (*)())0);
 }
 

Modified: brlcad/trunk/src/libged/rot.c
===
--- brlcad/trunk/src/libged/rot.c   2008-12-31 20:03:49 UTC (rev 33437)
+++ brlcad/trunk/src/libged/rot.c   2008-12-31 20:04:40 UTC (rev 33438)
@@ -33,11 +33,9 @@
 #include ged_private.h
 
 int
-ged_rot(struct ged *gedp, int argc, const char *argv[])
+ged_rot_args(struct ged *gedp, int argc, const char *argv[], char *coord, 
mat_t rmat)
 {
 vect_t rvec;
-mat_t rmat;
-char coord;
 static const char *usage = [-m|-v] x y z;
 
 GED_CHECK_DATABASE_OPEN(gedp, BRLCAD_ERROR);
@@ -55,11 +53,11 @@
 
 /* process possible coord flag */
 if (argv[1][0] == '-'  (argv[1][1] == 'v' || argv[1][1] == 'm')  
argv[1][2] == '\0') {
-   coord = argv[1][1];
+   *coord = argv[1][1];
--argc;
++argv;
 } else
-   coord = gedp-ged_gvp-gv_coord;
+   *coord = gedp-ged_gvp-gv_coord;
 
 if (argc != 2  argc != 4) {
bu_vls_printf(gedp-ged_result_str, Usage: %s %s, argv[0], usage);
@@ -91,6 +89,19 @@
 VSCALE(rvec, rvec, -1.0);
 bn_mat_angles(rmat, rvec[X], rvec[Y], rvec[Z]);
 
+return BRLCAD_OK;
+}
+
+int
+ged_rot(struct ged *gedp, int argc, const char *argv[])
+{
+int ret;
+char coord;
+mat_t rmat;
+
+if ((ret = ged_rot_args(gedp, argc, argv, coord, rmat)) != BRLCAD_OK)
+   return ret;
+
 return ged_do_rot(gedp, coord, rmat, (int (*)())0);
 }
 

Modified: brlcad/trunk/src/libged/scale.c
===
--- brlcad/trunk/src/libged/scale.c 2008-12-31 20:03:49 UTC (rev 33437)
+++ brlcad/trunk/src/libged/scale.c 2008-12-31 20:04:40 UTC (rev 33438)
@@ -34,9 +34,8 @@
 
 
 int
-ged_scale(struct ged *gedp, int argc, const char *argv[])
+ged_scale_args(struct ged *gedp, int argc, const char *argv[], fastf_t *sf)
 {
-fastf_t sf;
 static const char *usage = sf;
 
 GED_CHECK_DATABASE_OPEN(gedp, BRLCAD_ERROR);
@@ -49,32 +48,44 @@
 /* must be wanting help */
 if (argc == 1) {
bu_vls_printf(gedp-ged_result_str, Usage: %s %s, argv[0], usage);
-   return BRLCAD_OK;
+   return BRLCAD_HELP;
 }
 
-/* scale the view */
-if (argc == 2) {
-   if (sscanf(argv[1], %lf, sf) != 1) {
-   bu_vls_printf(gedp-ged_result_str, bad scale factor - %s, 
argv[1]);
-   return BRLCAD_ERROR;
-   }
+if (argc != 2) {
+   bu_vls_printf(gedp-ged_result_str, Usage: %s %s, argv[0], usage);
+   return BRLCAD_ERROR;
+}
 
-   if (sf = SMALL_FASTF || INFINITY  sf)
-   return