mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-27 09:50: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;
|
if ( !_importMeshSubDS ) return;
|
||||||
SMDS_ElemIteratorPtr eIt = _importMeshSubDS->GetElements();
|
SMDS_ElemIteratorPtr eIt = _importMeshSubDS->GetElements();
|
||||||
while ( eIt->more() )
|
while ( eIt->more() )
|
||||||
meshDS->RemoveFreeElement( eIt->next(), _importMeshSubDS, /*fromGroups=*/false );
|
meshDS->RemoveFreeElement( eIt->next(), 0, /*fromGroups=*/false );
|
||||||
SMDS_NodeIteratorPtr nIt = _importMeshSubDS->GetNodes();
|
SMDS_NodeIteratorPtr nIt = _importMeshSubDS->GetNodes();
|
||||||
while ( nIt->more() )
|
while ( nIt->more() )
|
||||||
meshDS->RemoveFreeNode( nIt->next(), _importMeshSubDS, /*fromGroups=*/false );
|
meshDS->RemoveFreeNode( nIt->next(), 0, /*fromGroups=*/false );
|
||||||
|
_importMeshSubDS->Clear();
|
||||||
_n2n.clear();
|
_n2n.clear();
|
||||||
_e2e.clear();
|
_e2e.clear();
|
||||||
}
|
}
|
||||||
@ -266,6 +267,7 @@ namespace // INTERNAL STUFF
|
|||||||
const SMESH_Hypothesis* hyp);
|
const SMESH_Hypothesis* hyp);
|
||||||
void removeSubmesh( SMESH_subMesh* sm, _ListenerData* data );
|
void removeSubmesh( SMESH_subMesh* sm, _ListenerData* data );
|
||||||
void clearSubmesh ( SMESH_subMesh* sm, _ListenerData* data, bool clearAllSub );
|
void clearSubmesh ( SMESH_subMesh* sm, _ListenerData* data, bool clearAllSub );
|
||||||
|
void clearN2N ( SMESH_Mesh* tgtMesh );
|
||||||
|
|
||||||
// mark sm as missing src hyp with valid groups
|
// mark sm as missing src hyp with valid groups
|
||||||
static void waitHypModification(SMESH_subMesh* sm)
|
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
|
* \brief Clear submeshes and remove imported mesh and/or groups if necessary
|
||||||
* \param sm - cleared submesh
|
* \param sm - cleared submesh
|
||||||
@ -448,6 +462,8 @@ namespace // INTERNAL STUFF
|
|||||||
default:;
|
default:;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if ( !data->mySubMeshes.empty() )
|
||||||
|
clearN2N( data->mySubMeshes.front()->GetFather() );
|
||||||
}
|
}
|
||||||
else // event of Import submesh
|
else // event of Import submesh
|
||||||
{
|
{
|
||||||
@ -496,6 +512,10 @@ namespace // INTERNAL STUFF
|
|||||||
d->_computedSubM.insert( *smIt);
|
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