}
// look for a degenerated edge
- if ( BRep_Tool::Degenerated( edge )) {
+ if ( SMESH_Algo::isDegenerated( edge )) {
myDegenShapeIds.insert( meshDS->ShapeToIndex( edge ));
for ( TopExp_Explorer v( edge, TopAbs_VERTEX ); v.More(); v.Next() )
myDegenShapeIds.insert( meshDS->ShapeToIndex( v.Current() ));
for ( TopExp_Explorer vert(F,TopAbs_VERTEX); !uvOK && vert.More(); vert.Next() )
uvOK = ( V == vert.Current() );
if ( !uvOK ) {
-#ifdef _DEBUG_
MESSAGE ( "SMESH_MesherHelper::GetNodeUV(); Vertex " << vertexID
- << " not in face " << GetMeshDS()->ShapeToIndex( F ) );
-#endif
+ << " not in face " << GetMeshDS()->ShapeToIndex( F ) );
// get UV of a vertex closest to the node
double dist = 1e100;
gp_Pnt pn = XYZ( n );
{
double r = Max( 0.5, 1 - tol*n->GetID()); // to get a unique u on edge
u = f*r + l*(1-r);
- MESSAGE("curve.IsNull: " << u);
}
}
else
}
else if ( fabs( u ) > numeric_limits<double>::min() )
{
- MESSAGE("fabs( u ) > numeric_limits<double>::min() ; u " << u << " f " << f << " l " << l);
setPosOnShapeValidity( shapeID, true );
}
if (( u < f-tol || u > l+tol ) && force )
gp_XY uvAvg;
gp_Pnt P;
+ bool toCheck = true;
if ( !F.IsNull() && !force3d )
{
uvAvg = calcTFI (0.5, 0.5,
- GetNodeUV(F,n1,n3), GetNodeUV(F,n2,n4),
- GetNodeUV(F,n3,n1), GetNodeUV(F,n4,n2),
+ GetNodeUV(F,n1,n3,&toCheck), GetNodeUV(F,n2,n4,&toCheck),
+ GetNodeUV(F,n3,n1,&toCheck), GetNodeUV(F,n4,n2,&toCheck),
GetNodeUV(F,n12,n3), GetNodeUV(F,n23,n4),
GetNodeUV(F,n34,n2), GetNodeUV(F,n41,n2));
TopLoc_Location loc;
if ( !F.IsNull() ) // force3d
{
- uvAvg = (GetNodeUV(F,n1,n3) +
- GetNodeUV(F,n2,n4) +
- GetNodeUV(F,n3,n1) +
- GetNodeUV(F,n4,n2)) / 4;
+ uvAvg = (GetNodeUV(F,n1,n3,&toCheck) +
+ GetNodeUV(F,n2,n4,&toCheck) +
+ GetNodeUV(F,n3,n1,&toCheck) +
+ GetNodeUV(F,n4,n2,&toCheck)) / 4;
//CheckNodeUV( F, centralNode, uvAvg, 2*BRep_Tool::Tolerance( F ), /*force=*/true);
meshDS->SetNodeOnFace( centralNode, faceID, uvAvg.X(), uvAvg.Y() );
}
{
// check if the EDGE needs checking
const TopoDS_Edge& edge = TopoDS::Edge( edgeIt.Current() );
- if ( BRep_Tool::Degenerated( edge ) )
+ if ( SMESH_Algo::isDegenerated( edge ) )
continue;
if ( theHelper.IsRealSeam( edge ) &&
edge.Orientation() == TopAbs_REVERSED )
}
}
}
-