From abebf10dbf892c8280221a089e71b048654668d8 Mon Sep 17 00:00:00 2001 From: Marco Callieri mcallieri Date: Tue, 13 Sep 2016 09:54:47 +0000 Subject: [PATCH] corrected a bug: when a layer to be glued had a transformation, it was ignored, resulting in a wrong rendering in the point-picking interface, and in an incorrect transfrmation later on. --- src/meshlabplugins/edit_align/AlignPairWidget.cpp | 2 +- src/meshlabplugins/edit_align/edit_align.cpp | 3 +-- src/meshlabplugins/edit_align/meshtree.h | 1 + 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/meshlabplugins/edit_align/AlignPairWidget.cpp b/src/meshlabplugins/edit_align/AlignPairWidget.cpp index 7c1e8ef4d..9e9cc9cbd 100644 --- a/src/meshlabplugins/edit_align/AlignPairWidget.cpp +++ b/src/meshlabplugins/edit_align/AlignPairWidget.cpp @@ -119,7 +119,7 @@ void AlignPairWidget::paintEvent(QPaintEvent *) tt[i]->Apply(); vcg::Box3f bb; if (i == 0) - bb.Import(freeMesh->bbox()); + bb.Add(freeMesh->tr(), freeMesh->bbox()); //bb.Import(freeMesh->bbox()); else bb.Import(gluedTree->gluedBBox()); diff --git a/src/meshlabplugins/edit_align/edit_align.cpp b/src/meshlabplugins/edit_align/edit_align.cpp index d36fee940..d505101e1 100644 --- a/src/meshlabplugins/edit_align/edit_align.cpp +++ b/src/meshlabplugins/edit_align/edit_align.cpp @@ -250,7 +250,6 @@ void EditAlignPlugin::glueByPicking() } //Matrix44f oldTr = md->mm()->cm.Tr; - _md->mm()->cm.Tr.SetIdentity(); AlignPairDialog *dd=new AlignPairDialog(_gla,this->alignDialog); dd->aa->initMesh(currentNode(), &meshTree); dd->exec(); @@ -275,7 +274,7 @@ void EditAlignPlugin::glueByPicking() ComputeRigidMatchMatrix(gluedPnt,freePnt,res); //md->mm()->cm.Tr=res; - currentNode()->tr().Import(res); + currentNode()->tr() = currentNode()->tr() * res; QString buf; // for(size_t i=0;icm.Tr;} const Box3m &bbox() const {return m->cm.bbox;} + const Box3m &trBbox() const { return m->cm.trBB(); } int Id() {return m->id();} };