rh->SetKeepExistingEdges ( h_data.myKeepExistingEdges );
rh->SetMakeGroupsOfSurfaces ( h_data.myMakeGroupsOfSurfaces );
- rh->SetFixedEdgeGroup ( 0 );
+ //rh->SetFixedEdgeGroup ( -1 );
}
}
for ( QMapIterator<QString,QString> i(myLocalSizeMap); i.hasNext(); )
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
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