From 48583c75c51f124fc8d12ad2b5b70ac3ef1b79ef Mon Sep 17 00:00:00 2001 From: Paolo Cignoni cignoni Date: Wed, 4 Jul 2012 15:26:02 +0000 Subject: [PATCH] used a number of UpdateBoxAndNormals method of the meshmodel class --- .../filter_meshing/meshfilter.cpp | 46 +++++-------------- 1 file changed, 12 insertions(+), 34 deletions(-) diff --git a/src/meshlabplugins/filter_meshing/meshfilter.cpp b/src/meshlabplugins/filter_meshing/meshfilter.cpp index e3efe5e76..bbe8ae6f3 100644 --- a/src/meshlabplugins/filter_meshing/meshfilter.cpp +++ b/src/meshlabplugins/filter_meshing/meshfilter.cpp @@ -716,8 +716,7 @@ case FP_QUADRIC_SIMPLIFICATION: tri::Allocator::CompactFaceVector(m.cm); } - tri::UpdateNormals::PerVertexNormalizedPerFace(m.cm); - tri::UpdateBounding::Box(m.cm); + m.UpdateBoxAndNormals(); } break; case FP_QUADRIC_TEXCOORD_SIMPLIFICATION: @@ -751,8 +750,7 @@ case FP_QUADRIC_TEXCOORD_SIMPLIFICATION: lastq_Selected = par.getBool("Selected"); QuadricTexSimplification(m.cm,TargetFaceNum,lastq_Selected, pp, cb); - tri::UpdateNormals::PerVertexNormalizedPerFace(m.cm); - tri::UpdateBounding::Box(m.cm); + m.UpdateBoxAndNormals(); } break; case FP_RESET_TRANSFORM : @@ -804,9 +802,7 @@ case FP_ROTATE_FIT: m.cm.Tr = rt*tr1; } if(par.getBool("Freeze")&& !par.getBool("ToAll")){ - tri::UpdatePosition::Matrix(m.cm, m.cm.Tr); - tri::UpdateNormals::PerVertexMatrix(m.cm,m.cm.Tr); - tri::UpdateNormals::PerFaceMatrix(m.cm,m.cm.Tr); + tri::UpdatePosition::Matrix(m.cm, m.cm.Tr,true); tri::UpdateBounding::Box(m.cm); m.cm.Tr.SetIdentity(); } @@ -815,9 +811,7 @@ case FP_ROTATE_FIT: for (int i=0; icm.Tr=transf; - tri::UpdatePosition::Matrix(md.meshList[i]->cm, md.meshList[i]->cm.Tr); - tri::UpdateNormals::PerVertexMatrix(md.meshList[i]->cm,md.meshList[i]->cm.Tr); - tri::UpdateNormals::PerFaceMatrix(md.meshList[i]->cm,md.meshList[i]->cm.Tr); + tri::UpdatePosition::Matrix(md.meshList[i]->cm, md.meshList[i]->cm.Tr,true); tri::UpdateBounding::Box(md.meshList[i]->cm); md.meshList[i]->cm.Tr.SetIdentity(); md.meshList[i]->cm.shot.ApplyRigidTransformation(transf); @@ -870,9 +864,7 @@ case FP_ROTATE : m.cm.Tr=trTran*trRot*trTranInv; if(par.getBool("Freeze")&& !par.getBool("ToAll")){ - tri::UpdatePosition::Matrix(m.cm, m.cm.Tr,false); - tri::UpdateNormals::PerVertexMatrix(m.cm,m.cm.Tr); - tri::UpdateNormals::PerFaceMatrix(m.cm,m.cm.Tr); + tri::UpdatePosition::Matrix(m.cm, m.cm.Tr,true); tri::UpdateBounding::Box(m.cm); m.cm.Tr.SetIdentity(); } @@ -881,9 +873,7 @@ case FP_ROTATE : for (int i=0; icm.Tr=transf; - tri::UpdatePosition::Matrix(md.meshList[i]->cm, md.meshList[i]->cm.Tr,false); - tri::UpdateNormals::PerVertexMatrix(md.meshList[i]->cm,md.meshList[i]->cm.Tr); - tri::UpdateNormals::PerFaceMatrix(md.meshList[i]->cm,md.meshList[i]->cm.Tr); + tri::UpdatePosition::Matrix(md.meshList[i]->cm, md.meshList[i]->cm.Tr,true); tri::UpdateBounding::Box(md.meshList[i]->cm); md.meshList[i]->cm.Tr.SetIdentity(); md.meshList[i]->cm.shot.ApplyRigidTransformation(transf); @@ -954,9 +944,7 @@ case FP_PRINCIPAL_AXIS: } if (par.getBool("Freeze") && !par.getBool("ToAll")) { - tri::UpdatePosition::Matrix(m.cm, m.cm.Tr); - tri::UpdateNormals::PerVertexMatrix(m.cm,m.cm.Tr); - tri::UpdateNormals::PerFaceMatrix(m.cm,m.cm.Tr); + tri::UpdatePosition::Matrix(m.cm, m.cm.Tr,true); tri::UpdateBounding::Box(m.cm); m.cm.shot.ApplyRigidTransformation(m.cm.Tr); m.cm.Tr.SetIdentity(); @@ -967,9 +955,7 @@ case FP_PRINCIPAL_AXIS: for (int i=0; icm.Tr=transf; - tri::UpdatePosition::Matrix(md.meshList[i]->cm, md.meshList[i]->cm.Tr); - tri::UpdateNormals::PerVertexMatrix(md.meshList[i]->cm,md.meshList[i]->cm.Tr); - tri::UpdateNormals::PerFaceMatrix(md.meshList[i]->cm,md.meshList[i]->cm.Tr); + tri::UpdatePosition::Matrix(md.meshList[i]->cm, md.meshList[i]->cm.Tr,true); tri::UpdateBounding::Box(md.meshList[i]->cm); md.meshList[i]->cm.Tr.SetIdentity(); md.meshList[i]->cm.shot.ApplyRigidTransformation(transf); @@ -1009,9 +995,7 @@ case FP_CENTER: m.cm.Tr=trTran; if(par.getBool("Freeze") && !par.getBool("ToAll")){ - tri::UpdatePosition::Matrix(m.cm, m.cm.Tr); - tri::UpdateNormals::PerVertexMatrix(m.cm,m.cm.Tr); - tri::UpdateNormals::PerFaceMatrix(m.cm,m.cm.Tr); + tri::UpdatePosition::Matrix(m.cm, m.cm.Tr,true); tri::UpdateBounding::Box(m.cm); m.cm.Tr.SetIdentity(); } @@ -1021,9 +1005,7 @@ case FP_CENTER: for (int i=0; icm.Tr=transf; - tri::UpdatePosition::Matrix(md.meshList[i]->cm, md.meshList[i]->cm.Tr); - tri::UpdateNormals::PerVertexMatrix(md.meshList[i]->cm,md.meshList[i]->cm.Tr); - tri::UpdateNormals::PerFaceMatrix(md.meshList[i]->cm,md.meshList[i]->cm.Tr); + tri::UpdatePosition::Matrix(md.meshList[i]->cm, md.meshList[i]->cm.Tr,true); tri::UpdateBounding::Box(md.meshList[i]->cm); md.meshList[i]->cm.Tr.SetIdentity(); md.meshList[i]->cm.shot.ApplyRigidTransformation(transf); @@ -1124,9 +1106,7 @@ case FP_SCALE: m.cm.Tr=trTran*trScale*trTranInv; if(par.getBool("Freeze")){ - tri::UpdatePosition::Matrix(m.cm, m.cm.Tr); - tri::UpdateNormals::PerVertexMatrix(m.cm,m.cm.Tr); - tri::UpdateNormals::PerFaceMatrix(m.cm,m.cm.Tr); + tri::UpdatePosition::Matrix(m.cm, m.cm.Tr,true); tri::UpdateBounding::Box(m.cm); m.cm.Tr.SetIdentity(); } @@ -1156,9 +1136,7 @@ case FP_FLIP_AND_SWAP: m.cm.Tr=tr; if(par.getBool("Freeze")){ - tri::UpdatePosition::Matrix(m.cm, m.cm.Tr); - tri::UpdateNormals::PerVertexMatrix(m.cm,m.cm.Tr); - tri::UpdateNormals::PerFaceMatrix(m.cm,m.cm.Tr); + tri::UpdatePosition::Matrix(m.cm, m.cm.Tr,true); tri::UpdateBounding::Box(m.cm); m.cm.Tr.SetIdentity(); }