- removed crash and removed assert

This commit is contained in:
Guido Ranzuglia granzuglia 2012-07-18 07:39:21 +00:00
parent 2c4902f664
commit f7db6bfc18

View File

@ -1349,24 +1349,26 @@ case FP_COMPUTE_PRINC_CURV_DIR:
case FP_REFINE_HALF_CATMULL:
{
m.updateDataMask(MeshModel::MM_FACEQUALITY);
m.updateDataMask(MeshModel::MM_FACEQUALITY | MeshModel::MM_FACEFACETOPO);
tri::BitQuadCreation<CMeshO>::MakePureByRefine(m.cm);
tri::UpdateNormals<CMeshO>::PerBitQuadFaceNormalized(m.cm);
assert(tri::BitQuadCreation<CMeshO>::IsBitTriQuadConventional(m.cm));
m.updateDataMask(MeshModel::MM_FACEFACETOPO);
} break;
case FP_REFINE_CATMULL :
{ // in practice it is just a simple double application of the FP_REFINE_HALF_CATMULL.
m.updateDataMask(MeshModel::MM_FACEQUALITY);
m.updateDataMask(MeshModel::MM_FACEQUALITY | MeshModel::MM_FACEFACETOPO);
tri::BitQuadCreation<CMeshO>::MakePureByRefine(m.cm);
assert(tri::BitQuadCreation<CMeshO>::IsBitTriQuadConventional(m.cm));
tri::UpdateTopology<CMeshO>::FaceFace(m.cm);
if (!tri::BitQuadCreation<CMeshO>::IsBitTriQuadConventional(m.cm))
{
errorMessage = "The input mesh has not third edge faux for all triangles.";
return false;
}
tri::BitQuadCreation<CMeshO>::MakePureByRefine(m.cm);
tri::UpdateNormals<CMeshO>::PerBitQuadFaceNormalized(m.cm);
m.clearDataMask(MeshModel::MM_FACEFACETOPO);
m.updateDataMask(MeshModel::MM_POLYGONAL);
m.updateDataMask(MeshModel::MM_POLYGONAL);
} break;
case FP_QUAD_PAIRING :