0020982: EDF 1547 SMESH: Creation of non-conformal quadratic pyramids

Fix pb of intersecting triangles
   * re-check all adjacent pyramids if at least one merge occures
   * increase threshold of merge of adjacent pyramids up to 15 degrees to avoid
     bad (flat) tetrahedrons created by NETEGN
This commit is contained in:
eap 2010-10-08 10:02:38 +00:00
parent 263ccfa485
commit 1057b2c9fc

View File

@ -228,7 +228,7 @@ namespace
// Check angle between normals
double angle = nI.Angle( nJ );
bool tooClose = ( angle < 10 * PI180 );
bool tooClose = ( angle < 15 * PI180 );
// Check if pyramids collide
bool isOutI, isOutJ;
@ -315,9 +315,15 @@ namespace
}
}
if ( !mergedPyrams.empty() )
for (TIDSortedElemSet::iterator prm = mergedPyrams.begin(); prm != mergedPyrams.end(); ++prm)
{
TIDSortedElemSet::iterator prm;
// for (prm = mergedPyrams.begin(); prm != mergedPyrams.end(); ++prm)
// MergeAdjacent( *prm, mesh, nodesToMove );
for (prm = adjacentPyrams.begin(); prm != adjacentPyrams.end(); ++prm)
MergeAdjacent( *prm, mesh, nodesToMove );
}
}
}
//================================================================================