mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-26 09:20:34 +05:00
22332: EDF 2725 SMESH: Convert to bi-quadratic failure after hexotic meshing
In GetCentralNode(), check UV of corner nodes
This commit is contained in:
parent
824f011cef
commit
0d3dd80ac2
@ -1172,11 +1172,12 @@ const SMDS_MeshNode* SMESH_MesherHelper::GetCentralNode(const SMDS_MeshNode* n1,
|
||||
|
||||
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;
|
||||
@ -1196,10 +1197,10 @@ const SMDS_MeshNode* SMESH_MesherHelper::GetCentralNode(const SMDS_MeshNode* n1,
|
||||
|
||||
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() );
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user