From 2c08bd79eef83f3960f9d5eaa375eb9c45ea8b7b Mon Sep 17 00:00:00 2001 From: Paolo Cignoni cignoni Date: Tue, 7 Sep 2010 21:22:03 +0000 Subject: [PATCH] Reorganized quad filters into a subdir --- src/meshlabplugins/filter_meshing/meshfilter.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/meshlabplugins/filter_meshing/meshfilter.cpp b/src/meshlabplugins/filter_meshing/meshfilter.cpp index 6426bdcb0..40f84c7c8 100644 --- a/src/meshlabplugins/filter_meshing/meshfilter.cpp +++ b/src/meshlabplugins/filter_meshing/meshfilter.cpp @@ -111,12 +111,12 @@ ExtraMeshFilterPlugin::FilterClass ExtraMeshFilterPlugin::getClass(QAction * a) case FP_QUADRIC_TEXCOORD_SIMPLIFICATION : case FP_CLUSTERING : case FP_CLOSE_HOLES : - case FP_REFINE_CATMULL : - case FP_REFINE_HALF_CATMULL : - case FP_QUAD_PAIRING : - case FP_FAUX_CREASE : + case FP_FAUX_CREASE : case FP_VATTR_SEAM : case FP_REFINE_LS3_LOOP : return MeshFilterInterface::Remeshing; + case FP_REFINE_CATMULL : + case FP_REFINE_HALF_CATMULL : + case FP_QUAD_PAIRING :return MeshFilterInterface::FilterClass(MeshFilterInterface::Remeshing+MeshFilterInterface::Polygonal); case FP_NORMAL_EXTRAPOLATION : return MeshFilterInterface::FilterClass( MeshFilterInterface::Normal + MeshFilterInterface::PointSet ); @@ -1114,7 +1114,13 @@ case FP_COMPUTE_PRINC_CURV_DIR: case FP_QUAD_PAIRING : { - m.updateDataMask(MeshModel::MM_FACEQUALITY); + m.updateDataMask(MeshModel::MM_FACEQUALITY ); + m.updateDataMask(MeshModel::MM_FACEFACETOPO ); + if ( tri::Clean::CountNonManifoldEdgeFF(m.cm) > 0) + { + errorMessage = "Mesh has some not 2 manifoldfaces, filter require manifoldness"; // text + return false; + } tri::BitQuadCreation::MakeTriEvenBySplit(m.cm); bool ret = tri::BitQuadCreation::MakePureByFlip(m.cm,100); if(!ret) Log("Warning BitQuadCreation::MakePureByFlip failed.");