mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-30 19:30:35 +05:00
Fix a bug reported in SALOME Forum
http://www.salome-platform.org/forum/forum_10/862626562 Fix LoadNodeColumns() for the base EDGE w/o viscous layers but on which the mesh is squeezed by viscous layers on adjacent EDGEs
This commit is contained in:
parent
19ddff45f9
commit
fd24bd006b
@ -2015,7 +2015,6 @@ bool SMESH_MesherHelper::LoadNodeColumns(TParam2ColumnMap & theParam2
|
|||||||
if ( theParam2ColumnMap.empty() )
|
if ( theParam2ColumnMap.empty() )
|
||||||
{
|
{
|
||||||
// get data of edges for normalization of params
|
// get data of edges for normalization of params
|
||||||
|
|
||||||
vector< double > length;
|
vector< double > length;
|
||||||
double fullLen = 0;
|
double fullLen = 0;
|
||||||
list<TopoDS_Edge>::const_iterator edge;
|
list<TopoDS_Edge>::const_iterator edge;
|
||||||
@ -2039,8 +2038,8 @@ bool SMESH_MesherHelper::LoadNodeColumns(TParam2ColumnMap & theParam2
|
|||||||
map< double, const SMDS_MeshNode*>::iterator u_n = sortedBaseNN.begin();
|
map< double, const SMDS_MeshNode*>::iterator u_n = sortedBaseNN.begin();
|
||||||
if ( theProxyMesh ) // from sortedBaseNN remove nodes not shared by faces of faceSubMesh
|
if ( theProxyMesh ) // from sortedBaseNN remove nodes not shared by faces of faceSubMesh
|
||||||
{
|
{
|
||||||
const SMDS_MeshNode* n1 = sortedBaseNN.begin()->second;
|
const SMDS_MeshNode* n1 = (++sortedBaseNN.begin())->second;
|
||||||
const SMDS_MeshNode* n2 = sortedBaseNN.rbegin()->second;
|
const SMDS_MeshNode* n2 = (++sortedBaseNN.rbegin())->second;
|
||||||
bool allNodesAreProxy = ( n1 != theProxyMesh->GetProxyNode( n1 ) &&
|
bool allNodesAreProxy = ( n1 != theProxyMesh->GetProxyNode( n1 ) &&
|
||||||
n2 != theProxyMesh->GetProxyNode( n2 ));
|
n2 != theProxyMesh->GetProxyNode( n2 ));
|
||||||
if ( allNodesAreProxy )
|
if ( allNodesAreProxy )
|
||||||
@ -2052,7 +2051,7 @@ bool SMESH_MesherHelper::LoadNodeColumns(TParam2ColumnMap & theParam2
|
|||||||
while ( ++u_n != sortedBaseNN.end() && !isNodeInSubMesh( u_n->second, faceSubMesh ));
|
while ( ++u_n != sortedBaseNN.end() && !isNodeInSubMesh( u_n->second, faceSubMesh ));
|
||||||
sortedBaseNN.erase( sortedBaseNN.begin(), u_n );
|
sortedBaseNN.erase( sortedBaseNN.begin(), u_n );
|
||||||
}
|
}
|
||||||
else if ( u_n = --sortedBaseNN.end(), !isNodeInSubMesh( u_n->second, faceSubMesh ))
|
if ( u_n = --sortedBaseNN.end(), !isNodeInSubMesh( u_n->second, faceSubMesh ))
|
||||||
{
|
{
|
||||||
while ( u_n != sortedBaseNN.begin() && !isNodeInSubMesh( (--u_n)->second, faceSubMesh ));
|
while ( u_n != sortedBaseNN.begin() && !isNodeInSubMesh( (--u_n)->second, faceSubMesh ));
|
||||||
sortedBaseNN.erase( ++u_n, sortedBaseNN.end() );
|
sortedBaseNN.erase( ++u_n, sortedBaseNN.end() );
|
||||||
|
Loading…
Reference in New Issue
Block a user