#16843 EDF 19340 - wrong quadratic mesh

This commit is contained in:
eap 2019-04-19 14:19:01 +03:00
parent b4604c35c9
commit 7a1c6f7661
2 changed files with 18 additions and 1 deletions

View File

@ -891,7 +891,7 @@ bool NETGENPluginGUI_HypothesisCreator::storeParamsToHypo( const NetgenHypothesi
rh->SetKeepExistingEdges ( h_data.myKeepExistingEdges );
rh->SetMakeGroupsOfSurfaces ( h_data.myMakeGroupsOfSurfaces );
rh->SetFixedEdgeGroup ( 0 );
//rh->SetFixedEdgeGroup ( -1 );
}
}
for ( QMapIterator<QString,QString> i(myLocalSizeMap); i.hasNext(); )

View File

@ -263,7 +263,17 @@ bool NETGENPlugin_NETGEN_3D::Compute(SMESH_Mesh& aMesh,
const SMESHDS_SubMesh * aSubMeshDSFace = proxyMesh->GetSubMesh( aShapeFace );
if ( !aSubMeshDSFace ) continue;
SMDS_ElemIteratorPtr iteratorElem = aSubMeshDSFace->GetElements();
if ( _quadraticMesh &&
dynamic_cast< const SMESH_ProxyMesh::SubMesh*>( aSubMeshDSFace ))
{
// add medium nodes of proxy triangles to helper (#16843)
while ( iteratorElem->more() )
helper.AddTLinks( static_cast< const SMDS_MeshFace* >( iteratorElem->next() ));
iteratorElem = aSubMeshDSFace->GetElements();
}
while ( iteratorElem->more() ) // loop on elements on a geom face
{
// check mesh face
@ -612,6 +622,13 @@ bool NETGENPlugin_NETGEN_3D::Compute(SMESH_Mesh& aMesh,
StdMeshers_QuadToTriaAdaptor* Adaptor = new StdMeshers_QuadToTriaAdaptor;
Adaptor->Compute(aMesh);
proxyMesh.reset( Adaptor );
if ( aHelper->IsQuadraticMesh() )
{
SMDS_ElemIteratorPtr fIt = proxyMesh->GetFaces();
while( fIt->more())
aHelper->AddTLinks( static_cast< const SMDS_MeshFace* >( fIt->next() ));
}
}
// maps nodes to ng ID