Revision: 76579
http://sourceforge.net/p/brlcad/code/76579
Author: starseeker
Date: 2020-07-29 19:09:20 +0000 (Wed, 29 Jul 2020)
Log Message:
-----------
Move the gdv_edit_motion_delta_callback string into a struct (prepaing for
other adjustments...)
Modified Paths:
--------------
brlcad/branches/bioh/include/tclcad.h
brlcad/branches/bioh/src/libtclcad/tclcad_mouse.c
brlcad/branches/bioh/src/libtclcad/tclcad_obj.c
Modified: brlcad/branches/bioh/include/tclcad.h
===================================================================
--- brlcad/branches/bioh/include/tclcad.h 2020-07-29 18:31:02 UTC (rev
76578)
+++ brlcad/branches/bioh/include/tclcad.h 2020-07-29 19:09:20 UTC (rev
76579)
@@ -132,15 +132,18 @@
DM_EXPORT extern int fbs_open(struct fbserv_obj *fbsp, int port);
DM_EXPORT extern int fbs_close(struct fbserv_obj *fbsp);
+struct tclcad_view_data {
+ struct bu_vls gdv_edit_motion_delta_callback;
+};
struct ged_dm_view {
struct bu_list l;
+ struct bview *gdv_view;
struct bu_vls gdv_callback;
- struct bu_vls gdv_edit_motion_delta_callback;
- struct bview *gdv_view;
struct dm *gdv_dmp;
struct fbserv_obj gdv_fbs;
struct ged_obj *gdv_gop;
+ void *gdv_data;
};
struct ged_obj {
Modified: brlcad/branches/bioh/src/libtclcad/tclcad_mouse.c
===================================================================
--- brlcad/branches/bioh/src/libtclcad/tclcad_mouse.c 2020-07-29 18:31:02 UTC
(rev 76578)
+++ brlcad/branches/bioh/src/libtclcad/tclcad_mouse.c 2020-07-29 19:09:20 UTC
(rev 76579)
@@ -1852,8 +1852,9 @@
gedp->ged_gvp = gdvp->gdv_view;
- if (0 < bu_vls_strlen(&gdvp->gdv_edit_motion_delta_callback)) {
- const char *command =
bu_vls_addr(&gdvp->gdv_edit_motion_delta_callback);
+ struct tclcad_view_data *tvd = (struct tclcad_view_data *)gdvp->gdv_data;
+ if (0 < bu_vls_strlen(&tvd->gdv_edit_motion_delta_callback)) {
+ const char *command = bu_vls_addr(&tvd->gdv_edit_motion_delta_callback);
const char *args[4];
args[0] = "orotate";
args[1] = bu_vls_addr(&rot_x_vls);
@@ -1964,11 +1965,12 @@
gedp->ged_gvp = gdvp->gdv_view;
- if (0 < bu_vls_strlen(&gdvp->gdv_edit_motion_delta_callback)) {
+ struct tclcad_view_data *tvd = (struct tclcad_view_data *)gdvp->gdv_data;
+ if (0 < bu_vls_strlen(&tvd->gdv_edit_motion_delta_callback)) {
struct bu_vls tcl_cmd;
bu_vls_init(&tcl_cmd);
- bu_vls_printf(&tcl_cmd, "%s oscale %s",
bu_vls_addr(&gdvp->gdv_edit_motion_delta_callback), bu_vls_addr(&sf_vls));
+ bu_vls_printf(&tcl_cmd, "%s oscale %s",
bu_vls_addr(&tvd->gdv_edit_motion_delta_callback), bu_vls_addr(&sf_vls));
Tcl_Eval(current_top->to_interp, bu_vls_addr(&tcl_cmd));
bu_vls_free(&tcl_cmd);
} else {
@@ -2074,7 +2076,8 @@
gedp->ged_gvp = gdvp->gdv_view;
- if (0 < bu_vls_strlen(&gdvp->gdv_edit_motion_delta_callback)) {
+ struct tclcad_view_data *tvd = (struct tclcad_view_data *)gdvp->gdv_data;
+ if (0 < bu_vls_strlen(&tvd->gdv_edit_motion_delta_callback)) {
const char *path_string = argv[2];
vect_t dvec;
struct path_edit_params *params = (struct path_edit_params
*)bu_hash_get(current_top->to_gop->go_edited_paths,
Modified: brlcad/branches/bioh/src/libtclcad/tclcad_obj.c
===================================================================
--- brlcad/branches/bioh/src/libtclcad/tclcad_obj.c 2020-07-29 18:31:02 UTC
(rev 76578)
+++ brlcad/branches/bioh/src/libtclcad/tclcad_obj.c 2020-07-29 19:09:20 UTC
(rev 76579)
@@ -2891,8 +2891,13 @@
BU_LIST_DEQUEUE(&(gdvp->l));
bu_vls_free(&gdvp->gdv_view->gv_name);
+
+
+ struct tclcad_view_data *tvd = (struct tclcad_view_data *)gdvp->gdv_data;
+ bu_vls_free(&tvd->gdv_edit_motion_delta_callback);
+ BU_PUT(tvd, struct tclcad_view_data);
bu_vls_free(&gdvp->gdv_callback);
- bu_vls_free(&gdvp->gdv_edit_motion_delta_callback);
+
(void)dm_close(gdvp->gdv_dmp);
bu_ptbl_free(gdvp->gdv_view->callbacks);
BU_PUT(gdvp->gdv_view->callbacks, struct bu_ptbl);
@@ -3573,8 +3578,9 @@
bu_vls_printf(&tran_z_vls, "%lf", dvec[Z]);
MAT_IDN(params->edit_mat);
+ struct tclcad_view_data *tvd = (struct tclcad_view_data
*)data->gdvp->gdv_data;
bu_vls_printf(&tcl_cmd, "%s otranslate %s %s %s",
-
bu_vls_addr(&data->gdvp->gdv_edit_motion_delta_callback),
+ bu_vls_addr(&tvd->gdv_edit_motion_delta_callback),
bu_vls_addr(&tran_x_vls), bu_vls_addr(&tran_y_vls),
bu_vls_addr(&tran_z_vls));
Tcl_Eval(current_top->to_interp, bu_vls_addr(&tcl_cmd));
@@ -3923,15 +3929,17 @@
/* get the callback string */
if (argc == 2) {
- bu_vls_printf(gedp->ged_result_str, "%s",
bu_vls_addr(&gdvp->gdv_edit_motion_delta_callback));
+ struct tclcad_view_data *tvd = (struct tclcad_view_data
*)gdvp->gdv_data;
+ bu_vls_printf(gedp->ged_result_str, "%s",
bu_vls_addr(&tvd->gdv_edit_motion_delta_callback));
return GED_OK;
}
/* set the callback string */
- bu_vls_trunc(&gdvp->gdv_edit_motion_delta_callback, 0);
+ struct tclcad_view_data *tvd = (struct tclcad_view_data *)gdvp->gdv_data;
+ bu_vls_trunc(&tvd->gdv_edit_motion_delta_callback, 0);
for (i = 2; i < argc; ++i)
- bu_vls_printf(&gdvp->gdv_edit_motion_delta_callback, "%s ", argv[i]);
+ bu_vls_printf(&tvd->gdv_edit_motion_delta_callback, "%s ", argv[i]);
return GED_OK;
}
@@ -4549,8 +4557,13 @@
new_gdvp->gdv_gop = current_top->to_gop;
bu_vls_init(&new_gdvp->gdv_view->gv_name);
+
+ struct tclcad_view_data *tvd;
+ BU_GET(tvd, struct tclcad_view_data);
+ bu_vls_init(&tvd->gdv_edit_motion_delta_callback);
+ new_gdvp->gdv_data = (void *)tvd;
bu_vls_init(&new_gdvp->gdv_callback);
- bu_vls_init(&new_gdvp->gdv_edit_motion_delta_callback);
+
bu_vls_printf(&new_gdvp->gdv_view->gv_name, "%s", argv[name_index]);
ged_view_init(new_gdvp->gdv_view);
BU_LIST_INSERT(¤t_top->to_gop->go_head_views.l, &new_gdvp->l);
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits