Revision: 45942
http://brlcad.svn.sourceforge.net/brlcad/?rev=45942&view=rev
Author: bhinesley
Date: 2011-08-12 17:44:55 +0000 (Fri, 12 Aug 2011)
Log Message:
-----------
Check for existence of matp_t before getting vector or applying deltas.
Modified Paths:
--------------
brlcad/trunk/src/libged/edit.c
Modified: brlcad/trunk/src/libged/edit.c
===================================================================
--- brlcad/trunk/src/libged/edit.c 2011-08-12 05:07:34 UTC (rev 45941)
+++ brlcad/trunk/src/libged/edit.c 2011-08-12 17:44:55 UTC (rev 45942)
@@ -1016,7 +1016,8 @@
comb_i = (struct rt_comb_internal *)intern.idb_ptr;
leaf = db_find_named_leaf(comb_i->tree, d_next->d_namep);
BU_ASSERT_PTR(leaf, !=, TREE_NULL); /* path is validated */
- MAT_DELTAS_GET(leaf_deltas, leaf->tr_l.tl_mat);
+ if (leaf->tr_l.tl_mat)
+ MAT_DELTAS_GET(leaf_deltas, leaf->tr_l.tl_mat);
VADD2(*coord, *coord, leaf_deltas);
rt_db_free_internal(&intern);
@@ -1528,6 +1529,7 @@
struct rt_db_internal intern;
VSUB2(delta, *to, *from);
+ VSCALE(delta, delta, gedp->ged_wdbp->dbip->dbi_local2base);
d_obj = DB_FULL_PATH_CUR_DIR(path);
if (ged_path_validate(gedp, path) == GED_ERROR) {
@@ -1551,8 +1553,13 @@
/* path is already validated */
BU_ASSERT_PTR(leaf_to_modify, !=, TREE_NULL);
-
- MAT_DELTAS_ADD_VEC(leaf_to_modify->tr_l.tl_mat, delta);
+ if (!leaf_to_modify->tr_l.tl_mat) {
+ leaf_to_modify->tr_l.tl_mat = (matp_t)bu_malloc(sizeof(mat_t),
+ "mat_t block for edit_translate()");
+ MAT_IDN(leaf_to_modify->tr_l.tl_mat);
+ MAT_DELTAS_VEC(leaf_to_modify->tr_l.tl_mat, delta);
+ } else
+ MAT_DELTAS_ADD_VEC(leaf_to_modify->tr_l.tl_mat, delta);
} else {
/* no path; move all obj instances (obj's entire tree
* modified)
@@ -1575,7 +1582,6 @@
return GED_ERROR;
MAT_IDN(dmat);
- VSCALE(delta, delta, gedp->ged_wdbp->dbip->dbi_local2base);
MAT_DELTAS_VEC(dmat, delta);
bn_mat_inv(invXform, gtd.gtd_xform);
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
FREE DOWNLOAD - uberSVN with Social Coding for Subversion.
Subversion made easy with a complete admin console. Easy
to use, easy to manage, easy to install, easy to extend.
Get a Free download of the new open ALM Subversion platform now.
http://p.sf.net/sfu/wandisco-dev2dev
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits