mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-26 09:20:34 +05:00
Fix regression of SMESH_TEST/Grids/smesh/imps6/G0
Clear _ImportData::_n2n if it's no more useful
This commit is contained in:
parent
dac0310307
commit
4031dc9808
@ -182,10 +182,11 @@ namespace // INTERNAL STUFF
|
||||
if ( !_importMeshSubDS ) return;
|
||||
SMDS_ElemIteratorPtr eIt = _importMeshSubDS->GetElements();
|
||||
while ( eIt->more() )
|
||||
meshDS->RemoveFreeElement( eIt->next(), _importMeshSubDS, /*fromGroups=*/false );
|
||||
meshDS->RemoveFreeElement( eIt->next(), 0, /*fromGroups=*/false );
|
||||
SMDS_NodeIteratorPtr nIt = _importMeshSubDS->GetNodes();
|
||||
while ( nIt->more() )
|
||||
meshDS->RemoveFreeNode( nIt->next(), _importMeshSubDS, /*fromGroups=*/false );
|
||||
meshDS->RemoveFreeNode( nIt->next(), 0, /*fromGroups=*/false );
|
||||
_importMeshSubDS->Clear();
|
||||
_n2n.clear();
|
||||
_e2e.clear();
|
||||
}
|
||||
@ -266,6 +267,7 @@ namespace // INTERNAL STUFF
|
||||
const SMESH_Hypothesis* hyp);
|
||||
void removeSubmesh( SMESH_subMesh* sm, _ListenerData* data );
|
||||
void clearSubmesh ( SMESH_subMesh* sm, _ListenerData* data, bool clearAllSub );
|
||||
void clearN2N ( SMESH_Mesh* tgtMesh );
|
||||
|
||||
// mark sm as missing src hyp with valid groups
|
||||
static void waitHypModification(SMESH_subMesh* sm)
|
||||
@ -347,6 +349,18 @@ namespace // INTERNAL STUFF
|
||||
}
|
||||
}
|
||||
//--------------------------------------------------------------------------------
|
||||
/*!
|
||||
* \brief Clear _ImportData::_n2n.
|
||||
* _n2n is usefull within one mesh.Compute() only
|
||||
*/
|
||||
void _Listener::clearN2N( SMESH_Mesh* tgtMesh )
|
||||
{
|
||||
list< _ImportData >& dList = get()->_tgtMesh2ImportData[tgtMesh];
|
||||
list< _ImportData >::iterator d = dList.begin();
|
||||
for ( ; d != dList.end(); ++d )
|
||||
d->_n2n.clear();
|
||||
}
|
||||
//--------------------------------------------------------------------------------
|
||||
/*!
|
||||
* \brief Clear submeshes and remove imported mesh and/or groups if necessary
|
||||
* \param sm - cleared submesh
|
||||
@ -448,6 +462,8 @@ namespace // INTERNAL STUFF
|
||||
default:;
|
||||
}
|
||||
}
|
||||
if ( !data->mySubMeshes.empty() )
|
||||
clearN2N( data->mySubMeshes.front()->GetFather() );
|
||||
}
|
||||
else // event of Import submesh
|
||||
{
|
||||
@ -496,6 +512,10 @@ namespace // INTERNAL STUFF
|
||||
d->_computedSubM.insert( *smIt);
|
||||
}
|
||||
}
|
||||
// Clear _ImportData::_n2n if it's no more useful, i.e. when
|
||||
// the event is not within mesh.Compute()
|
||||
if ( SMESH_subMesh::ALGO_EVENT == eventType )
|
||||
clearN2N( subMesh->GetFather() );
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user