else
{
if ( SMDS_MeshFace* face = myHelper->AddFace(a, b, d, c))
+ {
meshDS->SetMeshElementOnShape(face, geomFaceID);
+ SMESH_ComputeErrorPtr& err = aMesh.GetSubMesh( aFace )->GetComputeError();
+ if ( !err || err->IsOK() || err->myName < COMPERR_WARNING )
+ {
+ err.reset( new SMESH_ComputeError( COMPERR_WARNING,
+ "Bad quality quad created"));
+ err->myBadElements.push_back( face );
+ }
+ }
--i;
}
}
else
{
if ( SMDS_MeshFace* face = myHelper->AddFace(a, b, d, c))
+ {
meshDS->SetMeshElementOnShape(face, geomFaceID);
+ SMESH_ComputeErrorPtr& err = aMesh.GetSubMesh( aFace )->GetComputeError();
+ if ( !err || err->IsOK() || err->myName < COMPERR_WARNING )
+ {
+ err.reset( new SMESH_ComputeError( COMPERR_WARNING,
+ "Bad quality quad created"));
+ err->myBadElements.push_back( face );
+ }
+ }
--i;
}
}
uv1.v = uv2.v = 0.5 * ( uv1.v + uv2.v );
}
- else if ( quad->side.size() == 4 && myQuadType == QUAD_STANDARD)
+ else if ( quad->side.size() == 4 /*&& myQuadType == QUAD_STANDARD*/)
// Set number of nodes on a degenerated side to be same as on an opposite side
// ----------------------------------------------------------------------------
const TopoDS_Edge& e1 = wire->Edge( iPrev );
const TopoDS_Edge& e2 = wire->Edge( i );
double angle = myHelper->GetAngle( e1, e2, geomFace );
- if ( maxAngle < angle && angle < 0.9 * M_PI )
+ if (( maxAngle < angle ) &&
+ ( 5.* M_PI/180 < angle && angle < 175.* M_PI/180 ))
{
maxAngle = angle;
iVertex = i;