From: Christopher S M. <br...@ma...> - 2006-03-09 20:14:30
|
Tom and I went over this issue off-line but just in case anyone is reading, following, and wondering yourself this particular issue involved a primitive that was shared by r1.r and r2.r such that you seemingly can't perform a matrix push: mged> l all all: -- u r1.r u r2.r [0.429643,-0.613594,-2.85987e-16] mged> l r1.r r1.r: REGION id=1000 (air=0, los=100, GIFTmater=1) -- u r1.s u u.s mged> l r2.r r2.r: REGION id=1001 (air=0, los=100, GIFTmater=1) -- u r2.s - u.s As can be seen, u.s is referenced by both r1.r and r2.r, and there is a matrix manipulation sitting on the r2.r region. If we attempt to perform a push, we get an error: mged> push all Error: wdb_push_leaf: matrix mismatch between '/all/r2.r/u.s' and prior reference. push: db_walk_tree failed or there was a solid moving in two or more directions If you only apply a matrix manipulation to one of the regions and not the other, you are basically telling the primitive to be in two places at once when you issue the push. The push command recognizes this and halts instead of only performing one or the other since it can't discern how to resolve the issue. That said, the xpush command exists to alleviate this problem by automatically creating duplicates of the solids that need to be duplciated to perform the operation: mged> xpush all mged> l all all: -- u r1.r u r2.r mged> l r2.r r2.r: REGION id=1001 (air=0, los=100, GIFTmater=1) -- u r2.s - u.s_01 Cheers! Sean On Thursday, March 09, 2006, at 07:18AM, Browder, Tom <Tom...@fw...> wrote: >Sean, we need help. The command 'push' seems not to be working in >certain situations where we believe it was before in earlier version of >BRL-CAD (this example is using 7.6.6). > >Take the attached t.g and translate region r1.r by -1 inch in x. > >Then > push r1.r > push r2.r > push all > >Or > push all > >List group 'all' and you see a matrix move still hanging. > >Are we doing something stupid? > >Thanks. > >-Tom |