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.

This commit is contained in:
Marco Callieri mcallieri 2016-09-13 09:54:47 +00:00
parent c5241bb739
commit abebf10dbf
3 changed files with 3 additions and 3 deletions

View File

@ -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());

View File

@ -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;i<freePnt.size();++i)
// meshTree.cb(0,qPrintable(buf.sprintf("%f %f %f -- %f %f %f \n",freePnt[i][0],freePnt[i][1],freePnt[i][2],gluedPnt[i][0],gluedPnt[i][1],gluedPnt[i][2])));

View File

@ -45,6 +45,7 @@ public:
MeshModel *m;
Matrix44m &tr() {return m->cm.Tr;}
const Box3m &bbox() const {return m->cm.bbox;}
const Box3m &trBbox() const { return m->cm.trBB(); }
int Id() {return m->id();}
};