added manifoldness check on crease cut filter

This commit is contained in:
Paolo Cignoni cignoni 2011-03-22 11:53:21 +00:00
parent 3b83ec8964
commit 30ef0f281d

View File

@ -365,6 +365,12 @@ bool FilterUnsharp::applyFilter(QAction *filter, MeshDocument &md, RichParameter
switch(ID(filter))
{
case FP_CREASE_CUT :{
if ( tri::Clean<CMeshO>::CountNonManifoldEdgeFF(m.cm,false) > 0 || tri::Clean<CMeshO>::CountNonManifoldVertexFF(m.cm,false) > 0)
{
errorMessage = "Mesh has some not 2 manifold faces, this filter require manifoldness";
return false; // can't continue, mesh can't be processed
}
float angleDeg = par.getFloat("angleDeg");
tri::CreaseCut(m.cm, math::ToRad(angleDeg));
m.clearDataMask(MeshModel::MM_FACEFACETOPO | MeshModel::MM_FACEFLAGBORDER);